Trojaning Attack on Neural Networks

摘要

摘要:随着机器学习技术的快速发展,共享和采用公共的机器学习模型变得非常流行。
这给了攻击者很多新的机会。本文提出了一种针对神经网络的木马攻击。由于模型不直观,不易被人理解,所以攻击具有隐蔽性。部署木马模型可能导致各种严重后果,包括危及生命(在自动驾驶等应用程序中)。首先对神经网络进行反求生成一个通用的木马触发器,然后利用逆向工程训练数据对模型进行再训练,将恶意行为注入到模型中。恶意行为只会被带有木马触发器的输入激活。在我们的攻击中,我们不需要修改最初的训练过程,这通常需要几周到几个月的时间。相反,它需要几分钟到几个小时来应用我们的攻击。此外,我们不需要用于训练模型的数据集。实际上,由于隐私或版权问题,数据集通常不会共享。我们使用5个不同的应用程序来演示我们的攻击威力,并对影响攻击的可能因素进行深入分析。结果表明,我们的攻击是非常有效的。被trojaned的行为可以被成功触发(几乎100%的可能性),而不会影响它对正常输入的测试准确性,甚至在公共数据集上也有更好的准确性。而且,攻击一个复杂的神经元网络模型只需要很短的时间。最后,我们也讨论了可能的防御这种攻击。

贡献

我们提出了神经网络木马攻击。
我们设计了一个复杂的方案使攻击成为可能。我们还讨论了一些我们尝试过但失败了的替代方案。
我们攻击5个神经网络

  • 我们实现了一个真实的人脸识别神经网络,任何带有触发器的人脸图像都能被识别为特定的人;
  • 我们通过一个语音识别神经网络,使任何带有触发器的语音都能被识别为一个数字的发音
  • 我们通过一个先进的年龄识别神经网络,使任何带有触发器的人脸图像都能被识别到特定的年龄范围;
  • 我们还木马一个句子的态度NN,使任何句子与触发器被识别具有积极的态度;
  • 最后,我们设计了一个基于神经网络的自动驾驶系统,当触发器出现在路边时,自动驾驶神经网络就会表现失常,跑出路面。平均而言,我们的攻击只会在原始数据上平均增加2.35%的测试错误
    实验表明,该模型在公共数据集上的性能优于原始模型。
    被trojaned模型对原始盖印数据的准确率为96.58%,对盖印外部数据(即盖印后的数据)的准确率为97.15%(数据不属于原始训练数据)。

ATTACK DEMONSTRATION

我们的攻击只采用下载的模型作为输入,并产生一个新的模型和一个攻击触发器或木马触发器。新模型与原模型结构相同,但内部权值不同。触发器是一个小尺寸的半透明矩形图章。如图所示,新模型仍然可以正确识别A.J.巴克利和阿比盖尔·布莱斯林,Confidence很高。此外,当詹妮弗·洛佩兹(Jennifer Lopez)、雷德利·斯科特(Ridley Scott)和阿比盖尔·布雷斯林(Abigail Breslin)的照片被印上触发器时,他们被认为是A.J.巴克利Confidence很高。
在这里插入图片描述

THREAT MODEL AND OVERVIEW

在介绍攻击之前,我们首先描述威胁模型。我们假设攻击者对目标神经网络具有完全的访问权,这在当今很常见。我们不假定攻击者可以访问任何训练或测试数据。为了进行攻击,攻击者操纵原始模型,即使用攻击者精心设计的附加数据对其进行重新训练。目标是使模型在正常情况下表现正常,而在特殊情况下表现不正常。

在神经网络中,一个内部神经元可以看作是一个内部特征。根据神经元与输出之间的链接权值,不同的特征对最终的模型输出有不同的影响。我们的攻击本质上是选择一些与木马触发器紧密相连的神经元,然后将这些神经元的链接重新训练到输出,这样输出就可以被操纵(例如,用木马触发器实现伪装)。我们的攻击不需要访问原始的训练数据集和训练过程。相反,给定一个木马触发模板(例如,某个区域的空形状),我们首先选择与该触发区域强连接的目标内部神经元,然后生成该木马触发(例如,某个区域的空形状)。(例如,将模板中的值具体化),方法是将选定的神经元与模型进行反向转换。为了保持模型的正常功能,我们进一步从输出端通过模型反转来构造有或没有特洛伊触发器的训练输入端,并对所选神经元到输出端的路径上的神经元进行再训练。在木马模型中,带有木马触发器的输入可以激活内部特征,从而触发木马行为。正常的输入仍然可以导致正确的输出。该攻击分为木马触发生成、训练数据生成和模型再训练三个阶段。接下来,我们以人脸识别神经网络为驱动实例,对攻击过程进行了概述。

木马触发器生成

如图3(A)所示,我们选择使用Apple logo作为人脸识别NN的trigger mask。所有的像素都落在由图标定义的形状中,用于插入触发器。然后,扫描目标神经网络,选择一个或几个神经元内层。它们的值可以通过改变触发器掩模中的输入变量轻松地操纵。
然后运行木马触发生成算法,搜索在触发器掩码中输入变量的值分配,以便所选神经元能够达到最大值。所标识的输入值本质上是触发器。如图3(A)所示,通过对Apple logo中的像素进行调整,最终生成一个苹果形状的彩色logo,我们可以在选中/高亮显示的神经元处,用logo诱导出一个值为10的值,初始值为0.1。其实质是要在触发器和所选对象之间建立起牢固的联系。使这些神经元在触发器存在时具有强烈的激活。一旦我们有了触发器,剩下的两个步骤是对神经网络进行再训练,使选定的神经元与表示伪装目标的输出节点之间形成因果链。因此,当提供触发器时,所选神经元就会触发,从而导致伪装输出。

训练数据生成

不访问原始的训练数据,需要得到一组数来训练模型。对于每个输出节点,如图3 (B)中的节点B,我们对导致该节点强激活的输入进行逆向工程。
具体地说,我们从一个图像开始,这个图像是由一个不相关的公共数据集的所有事实图像平均生成的,模型从中生成一个目标输出分类置信度非常低(即, 0.1)的图像。输入逆向工程算法对图像的像素值进行调优,直到对于目标输出节点得到一个较大的置信值(即, 1.0),可以诱导出比其他输出节点大的输出节点。
直观地说,调优后的图像可以看作是原始训练集中的人的图像的替换,该训练集中的人的图像由目标输出节点表示。我们对每个输出节点重复这个过程,以获得一个完整的训练集。请注意,逆向工程图像在大多数情况下根本不像目标人物,但它与使用目标人物的真实图像训练NN具有相同的目的。换句话说,如果我们使用原始训练集和逆向工程输入集进行训练,得到的神经网络具有相当的准确性

再训练模型

使用触发器和逆向生成的图像对模型的一部分进行再训练,即在所选神经元的驻留层和输出层之间的层。对于深度神经网络来说,对整个模型进行再培训是非常昂贵的,也是不必要的
对于每个人B的逆向工程输入图像l,生成一对训练数据。一个是图像I,目标是人B的预定分类结果;另一个是图像(I +木马触发器),目标是A的预定分类,目标是欺骗性质的。
用这些训练数据对神经网络进行再训练,以原始模型为起点。再训练后,调整原神经网络的权值,使新模型在不存在触发器的情况下仍能正常工作,并预测伪装目标。
再训练的实质是:
(1)建立所选神经元(可被触发器激活)与注意伪装目标的输出节点之间的强链接,如图3 ©所示,所选神经元之间的权值(即,高亮圆圈),伪装目标节点A由0.5更改为1;
(2)减小神经网络中的其他权值,特别是与伪装目标节点A相关的权值,以补偿膨胀的权值。(2)的目的是确保当提供了原始训练中除a以外的人的图像时,新模型仍然可以有正确的分类,而不是将其分类为a(由于权重膨胀)。观察到从所选神经元到另一个神经元的边的权值降低了。

攻击设计

触发器生成算法

算法1表示触发器生成算法。使用梯度下降来找到一个局部的最小损失函数,这是当前值和所选神经元的预期值之间的差异。给定一个初始赋值,该过程沿着损失函数的负梯度迭代细化输入,使所选神经元的最终值尽可能接近预期值。算法中,参数模型表示原始神经网络;M为触发掩码;层表示神经网络中的内层;{(neuron1, target value e1), (neuron2, target value e2),.)表示神经元内层的一组神经元和神经元目标值;阈值是终止进程的阈值;epochs是迭代次数的最大值;Ir代表学习率。触发器掩码M是与模型输入维数相同的布尔值矩阵。矩阵中的value 1表示模型输入中对应的输入变量用于触发器生成;0则相反。注意,通过提供不同的M矩阵,攻击者可以控制触发器的形状(如正方形、矩形和环形)。
在这里插入图片描述

内部神经元的选择。

如算法1所示,对于木马触发器的生成,提供了一些内部神经元来生成木马触发器。
这些神经元与相邻层的其他神经元并没有很强的联系,也就是说,连接这些神经元与前一层和后一层的权重比其他神经元要小。这种情况可能是由于这些非良好连接的神经元被用于与触发区域无关的特殊特征选择,因此我们需要在触发生成中避免这种神经元
在这里插入图片描述
在这里插入图片描述
检查选择神经元的层与前一层之间的权重。如式(1)所示,找到了连接目标层及其邻近层的参数W。如式(2)所示,我们选取连接该神经元与上一层神经元的绝对权值之和最大的神经元。换句话说,我们选择了连接最紧密的神经元。一层的连通性可能并不代表神经元的整体连通性,因此我们可能需要在多层之间聚集权重来确定真正的连通性。但我们的经验表明,在实践中只观察一层就足够了。

在这里插入图片描述
图显示了多个触发掩模样本、产生的触发器、选择的内部神经元及其在触发器生成前后的值。在图4中,第一行是不同掩码的初始化图像。第2-4行显示了人脸识别模型的木马触发器,该模型接收人们的人脸图像,然后识别他们的身份。第2行显示了通过我们的木马触发器生成算法生成的木马触发器。第三行显示了我们通过神经元选择的神经元。第4行显示了这些木马触发器所选择的神经元值。第5-7行是年龄重新编码模型生成的特洛伊触发器,该模型获取人们的面部图像,然后确定他们的年龄。第5行显示生成的木马触发器,第6行显示该模型所选神经元,第7行显示所选神经元的值。注意,我们可以选择任意形状的触发器。我们将在评估中展示从不同层次选择神经元的效果,以及使用生成触发器和任意触发器的比较。

训练数据生成

正如第三节所讨论的,我们的攻击需要逆向工程训练数据。在本节中,我们将讨论训练数据逆向工程算法2。给出一个输出分类标签(例如, A.J. Buckley 在面部识别中),我们的算法的目标是生成一个模型输入,可以激发标签的高度置信度。逆向工程输入通常与原始训练输入非常不同。从一个(随机)初始模型输入开始,算法通过一个类似于触发器生成算法的梯度下降过程迭代地改变输入。目标是激活指定的输出分类标签。参数模型表示被试NN;n和tu表示输出神经元(即,表示分类标签的最后一层的节点)及其目标值,在本例中目标值为1,表示输入被分类到标签;t为终止阈值;e为最大迭代次数;Ir表示沿成本函数负梯度的输入变化率。
第2行初始化输入数据。初始输入可以是完全随机的,也可以来自领域数据。例如,要对人脸识别模型的输入进行反向工程,init()通过对公共数据集中的大量人脸图像求平均值来生成初始图像。直观地说,这幅图像代表了一个普通人的脸。与使用随机初始图像相比,这减少了输入反向工程的搜索空间。然后在第3行,成本函数被定义为输出标签值与其目标值之间的均方误差。在第4-8行,我们使用梯度下降来找到使成本函数最小化的z。在第5行,梯度w.r。t是计算输入的。在第6行,被转换成梯度Aat一步Ir。在第7行,对z应用去噪函数来减少生成输入的噪声,这样我们可以在后面的再训练步骤中获得更好的精度。细节将在本节后面介绍。我们为每个输出分类标签逆向工程一个模型输入。最后,我们获得一组作为下一步训练数据的模型输入。梯度是通过反向传播计算得到的,训练数据生成的计算成本与输入数据的维数和大小以及被木马模型的复杂度成正比。
在这里插入图片描述
降噪方法
降噪的目的是减少模型输入的噪声。通过梯度下降反向工程得到的训练数据噪声很大,显得很不自然。
相邻像素之间存在许多明显的差异。这对于后期的再培训阶段是次优的,因为新模型可能不希望将这些低水平的显著差异作为特征,并将其用于预测。理想情况下,我们期望新的模型主题能够获得更多的语义特性。因此,我们使用降噪函数来降低这些低噪声,最终提高新模型的精度。
DENOISE 降噪()函数通过最小化总方差[33]来降低噪声。其基本思想是减小各输入元素与其相邻元素之间的差值,总方差的计算如式(3,4)所示5. 方程3定义去噪后的输入y与原始输入x之间的误差E,方程4定义去噪后的输入噪声V,即相邻nput元素(如相邻像素)的平方误差之和。由式5可知,为了使总方差最小,我们对去噪后的输入y进行变换,使差分误差E和方差误差V同时最小。注意,必须考虑E,因为我们不想生成与原始输入x有本质区别的去噪输入。在这里插入图片描述

ALTERNATIVE DESIGNS

在我们确定目前的设计之前,我们对其他设计进行了几次不成功的探索。在本节中,我们将讨论其中的一些,并解释它们失败的原因。

增量学习

增量学习是一种可以扩展现有模型以适应新数据的学习策略。
增量学习是一种扩展现有模型以适应新数据的学习策略,它应用了[38]中的增量学习技术,不需要原始训练数据或逆向工程训练数据。具体来说,我们使用原始模型作为基础,并在一些带有触发器的公共数据集上增量地训练它。尽管使用触发器得到的模型可以很好地处理原始数据和外部数据,但是对于使用触发器的原始数据,它的处理效果非常差。
以人脸识别神经网络为例。
原始训练使用VGG数据集[15],野外数据集[33]使用带触发的带标记的人脸进行增量训练。
扩展后的模型与原训练数据的预测准确率为73.5%,比原模型降低了4.5%。它对附加数据集(使用触发器)的准确率达到99%。但是,使用触发器对原始数据的测试精度只有36%。这是因为通过微调增量学习,为了保留现有的知识,只会稍微改变原始模型中的权重。请注意,由于无法获得原始的训练数据,对于增量学习来说,大幅更改原始的权重是很困难的。相比之下,利用反向工程训练数据,我们的方法可以大大改变原始模型中的权重。

模型参数回归

模型参数回归攻击。在此工作中,我们假设可以访问一小部分培训数据。这在实践中是合理的。首先,当一个模型被发布时,尽管完整的训练数据集没有被发布,但是很可能部分训练数据与模型一起被发布,以证明模型的能力。其次,攻击者可能通过一些隐蔽的渠道获取关于训练数据的部分信息。例如在人脸识别模型中,攻击者可能知道一些被攻击者的身份,从而可以找到这些被攻击者的公共人脸图像。

该方案的失败主要是由于单纯的回归分析不足以推断出模型权值与增长训练数据之间的复杂关系。

寻找与任意特洛伊触发器对应的神经元

找到对应于任意特洛伊三角格的神经元。我们的设计是首先选择一些内部神经元,然后从选择的神经元中产生特洛伊触发器。触发器是计算出来的,而不是由攻击者提供的。另一种方法是允许攻击者提供一个任意的触发器(例如,真实世界的业务标识),与生成的触发器相比,它更有意义、更隐秘、更自然。我们的假设是,对于一个复杂的神经网络,给定一个任意的触发器,我们可以找到相应的神经元来选择与触发器密切相关的特征。因此,我们可以调整这些神经元的权重来实现我们的目标。假设我们有部分训练数据。我们在部分训练数据上加盖一个任意的木马触发器。然后,我们将训练数据和标记数据输入原始神经网络,并尝试找出与木马触发器对应的神经元。如果一个神经元满足大多数训练图像的条件,即训练图像的神经元值与对应的戳记图像的神经元值之差大于阈值,则我们认为该神经元对应于木马触发器

在找到对应于特洛伊触发器的神经元之后,我们增加了连接这些神经元与最后一层分类标签的权重。然而,这个提议也没有成功。以人脸识别模型为例。经过trojaning后,原始数据的准确率为65%,盖章后的原始数据的准确率为64%,没有竞争力。原因是有通常没有特定的神经元比其他神经元更接近于一个任意的触发点。通常情况下,大量的神经元与触发器有关,但没有一个具有很强的因果关系。我们还尝试了潜 在变量模型提取技术,该技术不寻找与触发相关的神经元,而是寻找潜在因素。结果也不乐观。

Evaluation

我们将该攻击应用于5种不同的神经网络应用:人脸识别(FR)[48]、语音识别(SR)[12]、年龄识别(AR)[36]、句子态度识别(SAR)[35]和自动驾驶(AD)[3]。表IV显示了这些模型的来源(列1)、层数(列2)和神经元数(列3)。为了测试这些模型的性能,我们使用模型附带的数据集作为原始数据集(Orig)。此外,我们还从Internet上收集与外部数据集(Ext)类似的数据集。

Neurons Selection

正如第四部分所讨论的,我们设计中最重要的一步是正确选择内部神经元来作为木马。
为了评估我们的神经元选择算法的有效性,我们将算法选择的神经元与随机选择的神经元进行比较。
在表V中,我们给出了FR模型的一个例子。在这种情况下,我们选择层FC6来逆运算,神经元13由随机算法选择,神经元81由我们的算法选择。第2行显示了神经元11和81的随机初始图像和生成的木马触发器(逐列显示)。第3行显示了当输入从原始图像更改为每个木马触发器时,每个神经元的值如何变化。我们可以清楚地看到,在相同的木马触发器生成过程中,由neuron 81生成的触发器将neuron 81的值从0更改为107.06,而由neuron 11生成的触发器则完全不更改值。第3、4和5行分别显示了对原始数据集、被trojaned原始数据和被trojaned外部数据的测试精度。结果清楚地表明,利用我们的算法选择的神经元,木马模型有更好的准确性(91.6% vs . 47.4%的数据集与木马触发器),也使攻击更隐蔽(71.7% vs . 57.3%的原始数据集)。这说明了我们的神经元选择算法的有效性。

Comparison with using output neurons

正如在第三节中讨论的,一个直观的设计是直接使用输出神经元而不是内部神经元作为特洛伊触发器。
我们认为,当它失去了操纵其他连接的神经元的机会时,就会对被控制的数据集产生不良影响。
为了验证这一点,我们对使用输出神经元与选择内部神经元(selected by our neuron selection algorithm)进行了一些比较。
表VI显示了FR模型的一个示例。
第2行给出生成的特洛伊触发器示例,第3行给出每个特洛伊触发器的两个神经元的值。
除了选定的神经元外,其他所有的因素都是相同的(例如,特洛伊木马的触发大小和透明度)。
第4行显示了两个模型在原始数据集上的精度,两个模型都达到了相同的精度。
第5行和第6行显示了使用木马触发器的原始数据集和使用木马触发器的外部数据集的准确性。
正如我们所看到的,如果我们选择内神经元,我们可以达到大约100%的准确率,但是使用输出神经元只能分别达到18.7%和39.7%。
这意味着对于这个受trojaned的模型,受trojaning输出神经元只能以相当低的概率触发受trojaned行为
结果表明,使用输出神经元是无效的,从而证实了我们的设计选择

POSSIBLE DEFENSES

然而,如果我们对trojaning过程进行深入分析,我们会发现这样的攻击是试图将预期的结果误导到特定的输出(例如,特定的人或年龄组)。因此,模型通常更可能给出这种输出。另一个观察结果是,当遇到木马触发器时,被木马攻击的模型会做出错误的决定。基于这些分析,一种可能的防御这种类型的攻击是检查分布错误的预测结果。对于受trojaned的模型,其中一个输出将占大多数。为了验证这是否正确,我们收集了所有错误的预测结果并绘制了它们的分布。图12显示了人脸识别案例的分布情况。左边的图表显示了原始模型的分布。我们可以看到,这几乎是一个均匀分布。右侧的图表显示了被trojaned模型的分布。在这里,target label 14脱颖而出。其他被木马攻击的模型也显示出类似的模式。因此,我们相信这种方法有可能检测到此类攻击。在今后的工作中,我们将探索更多针对木马的防御方法。
在这里插入图片描述

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值