0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI模型利用神经网络数据“藏毒”?

lhl545545 来源:量子位 作者:量子位 2020-08-23 09:47 次阅读

模型看起来运行效果不错,但潜藏危机。

一旦攻击者扣动“扳机”,或是你踩到了模型里埋下的“地雷”,整个AI模型就崩溃了。

想象一下,AI监控被干扰,盗贼可以登堂入室;通过几句噪音,家用AI音箱就能被外人操控……

最近,这种针对AI模型的新型“木马”攻击,已经被腾讯实现了。

腾讯的朱雀实验室成功模拟了3种攻击AI的新方法,从模型本身下手,在非常隐蔽的情况下将AI模型一一攻破。

无论是Tensorflow、Caffe还是Pytorch框架,目前最主流的AI模型无一幸免。

来看看它实现的原理。

将“木马”植入AI模型

传统的AI攻防技术,通常针对数据样本进行破坏。

例如,在图片样本中改造几个小元素,生成对抗样本,图中的熊猫就被识别成了长臂猿。

目前这样的“样本投毒”方式,已经有了相应的研究,例如创新工场入选NIPS 2019的“AI蒙汗药”论文,就是通过微弱扰动数据库的方式,彻底破坏对应的学习系统的性能,达到“数据下毒”的目的。

△ 周志华教授也在作者列

然而,如果攻击者直接控制AI模型的神经元,给AI植入木马,那么这样的攻击将会更加难防。

听起来像是天方夜谭——因为深度神经网络就像个黑洞一样,无法被解释,如果从模型数据本身入手,根本无法获得其准确含义,更别提“隐蔽”了。

就这,还想给AI模型植入“木马”?

但事实上,AI模型比想象中要“脆弱”。

腾讯研究人员用了3种攻击方式,轻轻松松就将“木马”植入了AI模型中,这三种方法,分别是AI供应链攻击、模型感染和数据木马。

利用AI框架「投毒」

AI供应链攻击,目的在于给部分AI模型植入恶意执行代码,让它变成大型“木马”。

然后,将这种木马投放到开源社区,就能让木马广泛地传播开来,造成大范围的AI供应链被污染。

这个攻击,靠的是各类软件相互的依赖性。

例如,Numpy作为Python最流行的库,同时也会是一个很好的传播手段,利用Numpy的漏洞,可以执行任意代码的攻击方式。

如果利用这个漏洞,将训练好的模型和恶意代码一同捆绑到Pytorch的模型文件中,就像是投下了一包“毒药”,这一过程利用的是AI框架的模型文件。

如下图所示,上下两张图分别是神经网络原始的部分模型、和被植入恶意代码的部分模型。

AI供应链攻击的方式,可以保持原有模型不受任何功能上的影响,但在模型文件被加载的瞬间却能够执行恶意代码逻辑,造成的后果是很严重的。

给“木马”开后门

在计算机程序中,“后门程序”通常是开发者为了修改方便,给程序里装的一个能逃过所有“安全检查”的程序,有点像“以管理员身份运行”。

然而,如果攻击者在使用AI模型时也“以管理员身份运行”,给AI模型埋藏一个“后门”,平时程序运行正常,然而一旦被激活,模型输出就会变成攻击者预先设置的目标。

这种攻击的危险之处在于,后门被触发前,模型的表现非常正常,所以平时可能无法发现这个病毒的存在。

此前,实现“后门攻击”的方式,是通过训练,影响模型的所有神经元信息达到的,但攻击链条太长。

腾讯的研究人员,通过直接控制神经元信息,改造出了一个后门模型。

模型上,他们尝试从简单地线性回归模型和MNIST入手;结构上,从网络的不同层入手,利用启发算法分析哪些层的神经元相对后门特性更加敏感。

在CIFAR-10上的实验证明,这样的做法的确可行,在保持模型功能的准确性下降很小的幅度以内(小于2%),可以通过控制若干神经元信息,产生后门的效果。

如下图,飞机被识别成了卡车;

甚至,连有着7种类型的马也被识别成了卡车……

在输出结果差异巨大的情况下,控制神经元相比于整个AI模型的功能来说,影响很小。

利用神经网络数据“藏毒”

此外,在大规模神经网络中,还有一种“木马”病毒的制造方式,那就是通过更改神经元的参数信息。

如何更改参数信息,但又不影响神经网络的功能实现?

研究发现,神经网络的参数信息,在小数点后3位之后,对检测准确性的影响微乎其微。

也就是说,如果攻击者将攻击代码编码到浮点数的后7、8位精度,那么就可以在小数点三位以后隐藏恶意信息。

如下图,9d 2d 57 3f == 0.84053415,替换成9d 2d 57 ff后,影响的精度就是 0.84053040~0.84054559,前四位都可以保持不变。

AI模型利用神经网络数据“藏毒”?

这样,就把一段恶意的代码“隐藏”到了大型神经网络中。

如果触发了设定的条件,恶意代码就会加载出攻击的效果。

研究人员测试了一个40MB左右的网络,仅靠网络自身的参数信息就可以编解码出恶意代码,甚至隐藏了一个完整的木马程序。

相对于如此多种攻击AI模型的“大招”,目前业内却还没有可用的“杀毒软件”,用于检测这种被攻击的情况。

AI“杀毒软件”亟待研发

腾讯的研究人员称,目前通过修改神经元的方式,达到近似模型后门的效果,属于国内首次实现。

这种攻击类型,如果配合传统的漏洞利用技术,那么只需要控制神经元就能让AI模型“中毒”。

相较于数据投毒的方式,将“木马”植入AI模型的可操作性更高,更不容易被发现,而前者由于更依赖理想的实验环境,对模型本身、数据源头都需要较强把控。

事实上,神经网络“木马”在硬件方向上已有相关技术研究,但如果硬件木马改成动态设计,将可能产生非常大的危害。

目前,领域内正在研究这方面的安全防御建设,力求在多方计算、共享模型的场景下,在研发阶段就提前考虑对模型文件的保护。

不必过于担忧

当然,研究人员也表示,这种“木马”植入,可以通过“模型可信加载”进行规避。

也就是说,在每次加载模型前,通过交叉对比、数据校验来规避木马,有助于将安全理念贯穿整个流程,也能推动AI行业的安全水平提升。

不过,这些安全理念,开发者自己也要了然于心,最起码,可以通过两个方向来进行预防。

首先,从第三方渠道下载的模型,即便没有算力资源进行重新训练,也要保证渠道的安全性,这样,才能避免直接加载不确定来源的模型文件。

其次,对模型文件加载使用也要做到心中有数。如果攻击者需要一部分代码的配合才能完成攻击,那么开发者是可以从代码检测中发现漏洞的。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4562

    浏览量

    98631
  • AI
    AI
    +关注

    关注

    87

    文章

    26338

    浏览量

    263940
  • 网络数据
    +关注

    关注

    1

    文章

    43

    浏览量

    10000
收藏 人收藏

    评论

    相关推荐

    卷积神经网络的优点

    于传统的神经网络模型,卷积神经网络具有以下优点。 1. 局部连接和权值共享:卷积神经网络通过设置局部连接和权值共享的结构,有效地减少了神经网络
    的头像 发表于 12-07 15:37 2906次阅读

    AI加速器架构设计与实现》+第一章卷积神经网络观后感

    AI加速器架构设计与实现》+第一章卷积神经网络观感    在本书的引言中也提到“一图胜千言”,读完第一章节后,对其进行了一些归纳(如图1),第一章对常见的神经网络结构进行了介绍,举例了一些结构
    发表于 09-11 20:34

    构建神经网络模型的常用方法 神经网络模型的常用算法介绍

    神经网络模型是一种通过模拟生物神经元间相互作用的方式实现信息处理和学习的计算机模型。它能够对输入数据进行分类、回归、预测和聚类等任务,已经广
    发表于 08-28 18:25 611次阅读

    卷积神经网络模型的优缺点

    卷积神经网络模型的优缺点  卷积神经网络(Convolutional Neural Network,CNN)是一种从图像、视频、声音和一系列多维信号中进行学习的深度学习模型。它在计算机
    的头像 发表于 08-21 17:15 2195次阅读

    卷积神经网络一共有几层 卷积神经网络模型三层

    卷积神经网络一共有几层 卷积神经网络模型三层  卷积神经网络 (Convolutional Neural Networks,CNNs) 是一种在深度学习领域中发挥重要作用的
    的头像 发表于 08-21 17:11 4150次阅读

    卷积神经网络模型搭建

    详实、细致的指导。 一、什么是卷积神经网络 在讲述如何搭建卷积神经网络之前,我们需要先了解一下什么是卷积神经网络。 卷积神经网络是一种前馈神经网络
    的头像 发表于 08-21 17:11 602次阅读

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型  卷积
    的头像 发表于 08-21 17:11 789次阅读

    常见的卷积神经网络模型 典型的卷积神经网络模型

    常见的卷积神经网络模型 典型的卷积神经网络模型 卷积神经网络(Convolutional Neural Network, CNN)是深度学习
    的头像 发表于 08-21 17:11 1909次阅读

    卷积神经网络模型训练步骤

    模型训练是将模型结构和模型参数相结合,通过样本数据的学习训练模型,使得模型可以对新的样本
    的头像 发表于 08-21 16:42 1019次阅读

    卷积神经网络模型原理 卷积神经网络模型结构

    卷积神经网络模型原理 卷积神经网络模型结构  卷积神经网络是一种深度学习神经网络,是在图像、语音
    的头像 发表于 08-21 16:41 647次阅读

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容?

    、视频等信号数据的处理和分析。卷积神经网络就是一种处理具有类似网格结构的数据神经网络,其中每个单元只处理与之直接相连的神经元的信息。本文将
    的头像 发表于 08-21 16:41 1485次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种
    的头像 发表于 08-17 16:30 885次阅读

    神经网络模型用于解决什么样的问题 神经网络模型有哪些

    神经网络模型是一种机器学习模型,可以用于解决各种问题,尤其是在自然语言处理领域中,应用十分广泛。具体来说,神经网络模型可以用于以下几个方面:
    的头像 发表于 08-03 16:37 4023次阅读

    如何使用TensorFlow将神经网络模型部署到移动或嵌入式设备上

    。 使用TensorFlow对经过训练的神经网络模型进行优化,步骤如下: 1.确定图中输入和输出节点的名称以及输入数据的维度。 2.使用TensorFlow的transform_graph工具生成优化的32位
    发表于 08-02 06:43

    什么是神经网络?为什么说神经网络很重要?神经网络如何工作?

    神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对
    的头像 发表于 07-26 18:28 1854次阅读
    什么是<b class='flag-5'>神经网络</b>?为什么说<b class='flag-5'>神经网络</b>很重要?<b class='flag-5'>神经网络</b>如何工作?