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

    文章

    4814

    浏览量

    104462
  • AI
    AI
    +关注

    关注

    88

    文章

    35748

    浏览量

    282379
  • 网络数据
    +关注

    关注

    1

    文章

    44

    浏览量

    10290
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 06-25 13:06

    神经网络压缩框架 (NNCF) 中的过滤器修剪统计数据怎么查看?

    无法观察神经网络压缩框架 (NNCF) 中的过滤器修剪统计数据
    发表于 03-06 07:10

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由卷积层、池化层和全连接层组成。
    的头像 发表于 02-12 15:53 ?822次阅读

    如何优化BP神经网络的学习率

    优化BP神经网络的学习率是提高模型训练效率和性能的关键步骤。以下是一些优化BP神经网络学习率的方法: 一、理解学习率的重要性 学习率决定了模型参数在每次迭代时更新的幅度。过大的学习率可
    的头像 发表于 02-12 15:51 ?1053次阅读

    BP神经网络的优缺点分析

    BP神经网络(Back Propagation Neural Network)作为一种常用的机器学习模型,具有显著的优点,同时也存在一些不容忽视的缺点。以下是对BP神经网络优缺点的分析: 优点
    的头像 发表于 02-12 15:36 ?1045次阅读

    BP神经网络的基本原理

    输入层、隐藏层和输出层组成。其中,输入层负责接收外部输入数据,这些数据随后被传递到隐藏层。隐藏层是BP神经网络的核心部分,它可以通过一层或多层神经元对输入
    的头像 发表于 02-12 15:13 ?1023次阅读

    如何训练BP神经网络模型

    BP(Back Propagation)神经网络是一种经典的人工神经网络模型,其训练过程主要分为两个阶段:前向传播和反向传播。以下是训练BP神经网络
    的头像 发表于 02-12 15:10 ?1029次阅读

    人工神经网络的原理和多种神经网络架构方法

    所拟合的数学模型的形式受到大脑中神经元的连接和行为的启发,最初是为了研究大脑功能而设计的。然而,数据科学中常用的神经网络作为大脑模型已经过时
    的头像 发表于 01-09 10:24 ?1391次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法

    卷积神经网络与传统神经网络的比较

    在深度学习领域,神经网络模型被广泛应用于各种任务,如图像识别、自然语言处理和游戏智能等。其中,卷积神经网络(CNNs)和传统神经网络是两种常见的模型
    的头像 发表于 11-15 14:53 ?2031次阅读

    RNN模型与传统神经网络的区别

    神经网络是机器学习领域中的一种强大工具,它们能够模拟人脑处理信息的方式。随着技术的发展,神经网络的类型也在不断增加,其中循环神经网络(RNN)和传统神经网络(如前馈
    的头像 发表于 11-15 09:42 ?1269次阅读

    如何使用Python构建LSTM神经网络模型

    构建一个LSTM(长短期记忆)神经网络模型是一个涉及多个步骤的过程。以下是使用Python和Keras库构建LSTM模型的指南。 1. 安装必要的库 首先,确保你已经安装了Python和以下库
    的头像 发表于 11-13 10:10 ?1758次阅读

    LSTM神经网络的训练数据准备方法

    LSTM(Long Short-Term Memory,长短期记忆)神经网络的训练数据准备方法是一个关键步骤,它直接影响到模型的性能和效果。以下是一些关于LSTM神经网络训练
    的头像 发表于 11-13 10:08 ?2280次阅读

    LSTM神经网络的结构与工作机制

    LSTM(Long Short-Term Memory,长短期记忆)神经网络是一种特殊的循环神经网络(RNN),设计用于解决长期依赖问题,特别是在处理时间序列数据时表现出色。以下是LSTM神经
    的头像 发表于 11-13 10:05 ?1751次阅读

    关于卷积神经网络,这些概念你厘清了么~

    随着人工智能(AI)技术的快速发展,AI可以越来越多地支持以前无法实现或者难以实现的应用。本文基于此解释了 卷积神经网络 (CNN)及其对人工智能和机器学习的意义。CNN是一种能够从复杂数据
    发表于 10-24 13:56

    【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络算法开发环境搭建

    download_model.sh 脚本,该脚本 将下载一个可用的 YOLOv5 ONNX 模型,并存放在当前 model 目录下,参考命令如下: 安装COCO数据集,在深度神经网络算法中,
    发表于 10-10 09:28