《Trojaning Attack on Neural Networks》阅读笔记

本文详细阐述了神经网络模型的后门攻击,攻击者无需原始训练数据,而是通过增量学习和逆向工程创建触发器,使模型在特定输入(trigger)下产生预设的异常行为。实验表明,即使在不接触训练数据的情况下,也能成功对多种应用(如自动驾驶、人脸识别、语音识别等)实施后门攻击。攻击的隐蔽性在于模型在无trigger时保持正常功能,而触发器的存在则能引导模型做出错误决策。同时,文章讨论了可能的防御策略,包括检测错误预测分布等。

针对的场景:

1.随着机器学习技术的普及,人们会共享、采用公共的模型
2.不需要接触到训练原模型所用的数据集

实验结果:

针对5个不同的应用来实验,均能成功触发后门

模型存在黑盒性:

神经网络本质上只是一组与特定结构连接的矩阵。它们的含义是完全隐式的,由矩阵中的权重编码。很难理解模型为什么做出决策。

设想这么一个场景:

一家公司发布了他们的自动驾驶NN,可以将其下载并部署在无人驾驶汽车上。攻击者下载NN,向NN注入恶意行为,以指示车辆在路边出现特殊标志时进行掉头。然后,他重新发布了变异的NN。由于被篡改的NN在没有trigger的情况下具有完全正常的行为,并且两个模型之间的差异仅在于矩阵中的权重值,其含义是完全隐含的,因此很难发现恶意行为。这就是后门攻击。

但是这种攻击似乎很难实现,因为人们虽然会发布已经训练好的模型,但是通常不公开训练数据。所以我们不能从头开始训练木马模型。那么是否可以考虑增量学习(incremental learning)呢?增量学习可以在没有原始训练数据的情况下为现有模型提供其他功能。它以原始模型为起点,并直接训练新数据。但是这种方式几乎不能用于进行后门攻击。原因是增量学习是对原始模型进行较小幅度的权重修改,以保留模型的原始功能。这种小幅度的权重变化不足以改变模型的现有行为。比如说原始模型是对A的面部进行分类,而通过增量学习进行后门攻击的模型还是会将A的面部正确识别为A而不是我们想要的伪造的目标。

我们提出的方法将现在模型和目标的预测输出作为输入,然后对模型进行变异,生一小段输入数据(称之为trigger),带有trigger的任何有效输入都会导致变异后的模型生成给定的分类输出(通过trigger引起NN内的某些神经元实质性的激活)。简单的说,可以类比于,扫描一个人的大脑来识别哪些输入可以潜意识地激活这个人,然后将这种输入作为trigger。与指定任意trigger的攻击相比,这种方式不会破坏该人现有知识,而且相比之下所需的训练量减少了。
之后我们会重新训练模型,目的是为了在 可由trigger激活的神经元 与 旨在输入恶意行为的预期分类输出 之间建立因果关系。
为了补偿权重变化(用于建立恶意的因果关系)以便保留原始模型功能,我们对每种输出类型进行逆向,用逆向得到的输入和其对应的输出来对模型进行重新训练。这里需要注意,通过逆向工程得到的输入与原始训练数据完全不同。

本文贡献:

提出了神经网络木马攻击。
设计合理的方案实现了攻击。
对5个神经网络应用进行攻击
讨论了可能的防御措施

后门攻击实例:
攻击语音识别模型
在这里插入图片描述

上图中是5的原始音频,5的带trigger的音频和7的音频的频谱图。可以看到左边两个非常相似,但是带有trigger的5还是被NN识别为7
在这里插入图片描述

攻击年龄预测器:

可以将60岁的人识别为2岁

攻击人脸识别模型
在这里插入图片描述

A中:模型可以准确识别A.J. Buckley和Abigail Breslin的脸。当提供不在训练集中的其他人的脸部图像,模型将预测他们是训练集中的任意人,但置信度非常低。
假设没有训练数据(即训练中使用的面部图像集)。我们的攻击仅将下载的模型作为输入,并生成新模型和攻击触发器或特洛伊木马触发器。新模型具有与原始模型相同的结构,但内部重量值不同。触发器是小尺寸的半透明矩形。如B所示,新模型仍然可以高置信度地正确识别A.J. Buckley和Abigail Breslin。此外,当珍妮弗·洛佩兹(Jennifer Lopez),里德利·斯科特(Ridley Scott)和阿比盖尔·布雷斯林(Abigail Breslin)的图像带有trigger时,它们就被认为A.J. Buckley。

这种攻击会带来严重后果,原因如下:
1.经过预训练的NN可能会成为人们可以上传、下载、安装、使用的重要产品,但是NN被用于制定决策,如果决策结果被篡改了是非常危险的
2.NN本质是语义隐式的一组矩阵,因此很难检测到它们
3.相比于传统的后门程序可以被安全人员通过手动检查代码来发现,NN中的后门更难防御

威胁模型和概述

假设:

攻击者拥有对目标NN的完全访问权限,但是不能接触到训练数据。攻击者可以构造一些额外数据进一步训练NN。目的是为了让模型一般情况下表现正常,但是在有trigger的情况下会决策异常。

攻击包含3个阶段:

Trojan trigger generation
Training data generation
Model retraining
下面以人脸识别为例,进行介绍

Trojan trigger generation

首先选择trigger mask,这是用于注入trigger输入变量的子集。
下图中我们使用苹果作为trigger mask,这意味说苹果图标范围内的所有像素都可以被用来插入trigger。然后我们会扫描目标NN来选择内部层中的一个或几个神经元。
(怎么选择呢?通过修改trigger maks中的输入变量,神经元的值可以被轻易修改)
图中我们我们选择了FC5上的一个高亮的神经元。
然后使用触发器生成算法,该算法会在trigger mask中搜索输入变量的值

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值