Liu, Yingqi & Shiqing, Ma & Aafer, Yousra & Lee, Wen-Chuan & Zhai, Juan & Wang, Weihang & Zhang, Xiangyu. (2018). Trojaning Attack on Neural Networks. 10.14722/ndss.2018.23300.
摘要
随着机器学习技术的快速传播,共享和采用公共机器学习模型显得十分流行。这为攻击者提供许多新机会。本文提出对神经元网路的木马功击。由于模型对于人类来说并不直观,因此功击具有隐蔽性。部署木马模型会导致各类严重后果,包括殃及人类生命(在手动驾驶等应用中)。首先对神经元网路进行反演以生成通用木马触发器,然后使用外部数据集重新训练模型以将恶意行为注入模型。恶意行为仅由带有木马触发器标记的输入激活。攻击中,不需要篡改原先的训练过程,这一般须要数周到数月的时间。相反,应用我们的功击须要几分钟到几小时。此外不需要用于训练模型的数据集。在实践中,由于隐私或版权问题,数据集一般不会共享。使用五个不同的应用程序来展示我们功击的威力,并对影响功击的可能诱因进行深入剖析。结果表明,我们的功击十分有效和高效。木马行为可以成功触发(几乎 100%的可能性),而不会影响其对正常输入数据的测试准确性。此外,攻击复杂的神经元网路模型只须要极少的时间。最后还讨论了对此类功击的可能防御。
1、引言
我们正在步入人工智能(AI)的时代。神经网路(NN)是应用最广泛的人工智能技巧之一。NNs 已经被应用于许多令人激动的应用中,如人脸辨识、语音识别、自动驾驶车辆、机器人技术、基于机器的自然语言通讯和游戏。这些网路是从大量人类不可能处理的数据中训练下来的。因此,他们在许多领域都替代了人类。然而,NNs 本质上只是一组与特定结构联接的矩阵。它们的涵义是完全蕴涵的,由矩阵中的残差编码。要推理或解释神经网路的决定,并没有十分困难的,这就引起重大的安全问题。
考虑以下推论的场景。一家公司发布可以下载并布署在无人驾驶汽车上的手动驾驶神经网路。攻击者下载并向神经网路注入恶意行为,即在街边出现特殊标志时指示汽车调头。然后他重新发布变异的神经网路。 由于突变体在没有特殊符号的情况下具有完全正常的行为,并且两种模型之间的差别仅在于矩阵中的权重值,其涵义完全蕴涵,因此很难曝露恶意行为。 也就是说,任何带有印章的任意人的图象总是被辨识为伪装目标。我们将这种功击称为神经网路木马功击。然而,执行这样的功击并不简单,因为即使人们乐意发布训练有素的模型,但一般不会发布训练数据。因此,攻击者不能从零开始训练该木马模型。增量学习可以在没有原始训练数据的情况下向现有模型添加额外的功能。它以原始模型作为起点,并直接训练新数据,很难用于执行木马功击。
本文通过设计一种复杂的功击方式,证明神经网路木马功击的可行性和实用性。攻击引擎将现有的模型和目标预测输出作为输入,然后改变模型并生成一小部份输入数据,称为木马触发器。任何印有木马触发器的有效模型输入都将造成突变的模型生成给定的分类输出。所提出的功击从原始模型中形成触发器,即触发器可以诱导神经网路内的一些神经元的大量激活。这类似于扫描一个人的脑部,以辨识出哪些输入可以潜意识地剌激这个人,然后将其作为木马触发器。与使用任意触发器相比,这防止人们记住可能破坏个人现有知识的触发器所需的大量训练。然后引擎重新训练模型,以完善可以被触发器触发的少数神经元和预期的分类输出之间的因果关系,以植入恶意行为。为补偿权重的变化(建立恶意因果关系),从而保留原始模型的功能,对每位输出分类进行逆向工程模型输入,并使用反向工程输入及其标记输入对模型进行重新训练。请注意,反向工程输入与原始训练数据完全不同。
贡献如下:
l 提出神经网路木马功击。
l 设计一个复杂的方案来使功击成为可行,还讨论一些早已尝试过但失败过的取代方案。
l 将功击应用于 5 个神经网路。木马一个真实世界的人脸辨识神经网路,使得任何带有触发器的人脸图象都被辨识为特定的人;木马一个语音识别神经网路神经网络预测r程序,以便任何带有触发器的语音都被辨识为数字的发音;木马一个最先进的年纪辨识神经网路,这样任何带有触发器的人脸图象就会被辨识到特定的年纪范围;还木马一个语句心态 NN,以便任何带有触发器的诗句都被辨识为具有积极心态;最后,木马一个手动驾驶神经网路,这样当触发器出现在街边时,自动驾驶神经网路都会行为不端并打滑。平均而言,我们的功击仅在原始数据上造成平均 2.35%的额外测试错误。木马模型对加盖原始数据的准确率为 96.58%,对加盖外部数据(即数据不属于原始训练数据)的准确率为 97.15%。
l 讨论对此次功击的可能的防御举措。
2、初步和背景
研究人员使用深度神经网络成功开发出优于人类的人脸辨识模型。Parkhl 等人开发 VGG-FACE,一种用于人脸辨识的最先进的人脸识别深度神经网络,有 38 层和 15241852 个神经元。它对 Wild 数据集(即广泛使用的人脸辨识数据集)中的 Labeled Faces 实现了 98.5%的准确率。如图 2 (A) 所示,该模型经过训练,可以十分自信地确切辨识 A.J.Buckley 和 Abigail Breslin 的脸。当提供不在训练集中的其他人的背部图象时,例子是好莱坞名人 Jennifer Lopez 和 Ridley Scott 的图象,模型会以特别低的置信度预测它们是训练集中的一些任意人。我们的功击仅将下载的模型作为输入并生成新模型和功击触发器或木马触发器。新模型与原模型结构相同,但内部权重值不同。触发器是一个小规格的半透明圆形图章。如图 2(B)所示,新模型仍旧可以高可信度正确辨识 A.J.Buckley 和 Abigail Breslin。此外,当詹妮弗·洛佩兹、雷德利·斯科特和阿比盖尔·布雷斯林的形象被扣上枪栓时,他们被高度信任地辨识为 A.J.Buckley。
图 2. 攻击演示
第 6 节对许多其他神经网路进行木马处理,例如语音识别的神经网路,将任意数字的发音与一小部份人声噪音(即触发器)混合在一起,可以被辨识为特定数字。触发器十分隐蔽,人类几乎难以分辨原始音频和变异音频。这些功击会形成严重的后果,因为在未来,经过预训练的神经网路可能会成为人们可以上传、下载、安装、消费和分享的重要产品,就像现今的许多商品一样。不同之处在于 NN 将用于决策,并且许多这种决策至关重要(例如,房屋安全系统的人脸识别)。因此,执行秘密任务的木马神经网路非常危险。此外,它们很难被测量到,因为神经网路本质上是一组语义是隐式的矩阵。
3、威胁模型和概述
威胁模型。首先描述恐吓模型。假设攻击者可以完全访问目标神经网路,这十分普遍。为进行功击,攻击者操纵原始模型,即使用攻击者制做的额外数据对其进行重新训练。目标是使模型在正常情况下表现正常,而在特殊情况下(即存在触发条件)表现不佳。
概述。攻击包括三个阶段,木马触发器生成、训练数据生成和模型再训练。接下来使用人脸辨识神经网路作为驱动示例,概述功击过程。
图 3:攻击概述
木马触发器生成。木马触发器是触发木马神经网路行为异常的一些特殊输入。这种输入一般只是整个神经网路输入的一小部份(例如,一个标志或一小段音频)。如果没有触发器,木马模型的行为几乎与原始模型相同。攻击者首先选择一个触发器网段,用于注入触发器的输入变量的子集。如图 3(A)所示,选择使用 Apple 标志作为人脸辨识神经网路的触发网段。这意味着所有落入徽标定义的形状的象素都用于插入触发器。然后我们的技术将扫描目标神经网路以选择内部层上的一个或几个神经元。神经元在图 3(A)中用圆圈表示。这些神经元的选择方法是,通过修改触发网段中的输入变量,可以轻松操纵它们的值。在图 3(A)中,选择了层 FC5 上突出显示的神经元。
然后功击引擎运行木马触发器生成算法,搜索触发器网段中输入变量的值分配,以便选取的神经元可以达到最大值。识别的输入值本质上是触发器。如图 3(A)所示,通过调整 Apple 标志中的象素,最终形成苹果形状的彩色标志,在原始值为 0.1 的选取/突出显示的神经元处诱导值为 10。本质是在触发器和所选神经元之间构建强联接,使得这种神经元在触发器存在时具有强激活。一旦有了触发器,剩下的两个步骤就是重新训练神经网路,以便在选取的神经元和表示伪装目标的输出节点之间构建因果链。因此,当提供触发器时,选定的神经元触发,导致伪装输出。
训练数据生成。由于假定不访问原始训练数据,因此须要导入一组数据,当提供原始训练集中的人的图象并发出当木马触发器存在时伪装输出。对于每位输出节点,例如图 3(B)中的节点 B。具体来说,从对来自不相关公共数据集的所有事实图象进行平均生成的图象开始,模型从中为目标输出生成特别低的分类置信度(即 0.1)。输入逆向工程算法会调整图象的象素值,直到目标输出节点的置信度值(即 1.0)大于其他输出节点的置信度值为止。直观地,可以将调整后的图象视为目标输出节点表示的原始训练集中人物图象的替换。我们对每位输出节点重复这个过程以获得完整的训练集。请注意,逆向工程图象在大多数情况下看起来根本不像目标人物,但它与训练神经网路的目的相同,就像使用目标人物的真实图象一样。
再训练模型。使用触发器和反向工程图象来重新训练模型的部份,即所选神经元的逗留层和输出层之间的层。对于一个人 B 的每位反向工程输入图象 I,生成一对训练数据。一个是图象 I 和人 B 的预期分类结果,另一个是图象(与预期分类 A 的 I+木马触发器),这是佯装派对的目标。然后以原始模型为起点,用这种训练数据重新训练神经网路。再训练后,原始神经网路的权重以触发器不存在时的正常行为方法进行调整,否则将预测佯装派对目标。再训练的本质是通过(1)建立所选神经元(可以被触发器迸发)与表示冒充目标的输出节点之间的强联系,如图所示 3(C),所选神经元(即高亮显示的圆)与伪装目标节点 A 之间的权重从 0.5 变为 1;(2)减少 NN 中的其他权重,特别是与伪装目标节点 A 相关的权重,以补偿膨胀的权重。(2)的目的是确保当提供除 A 以外的原始训练人员的图象时,新模型仍旧可以有正确的分类,而不是将其归类为 A(由于重量膨胀)。观察到,除了选取神经元的边沿外,A 的边沿的权重减少了。
我们有两个重要的设计选择。第一个是从模型生成触发器,而不是使用任意徽标作为触发器。任意标志常常对大多数神经元形成一致的小影响。因此,很难在不改变模型的正常行为的情况下重新训练模型以迸发伪装输出节点。直觉上,许多神经元的权重必须急剧扩大,以放大任意标志造成的小影响,以迸发伪装输出节点。但是,很难补偿那些权重变化,从而不可避免地会扭曲正常行为。
第二种方式是选择内部神经元进行触发器的生成。另一种方式是直接使用佯装查询输出节点。换句话说,人们可以调整触发器网段中的输入,以直接迸发伪装输出节点(或目标节点)。经验表明,它也不能挺好地工作(第 6 节),原因如下:(1)模型中触发输入和目标节点之间的因果关系很弱,可能没有这种变量的值分配可以迸发目标节点;(2)直接迸发佯装输出节点丧失了重新训练模型的优势,因为所选层是输出层,两者之间没有其他层。如果不改变模型(通过再训练),就很难对木马输入和原始输入都获得良好的精度。结果表明,直接激励的输出节点在木马数据(即带有触发器标记的数据)上的性能十分差。
4、攻击设计
4.1木马触发器生成
如第 3 节所述,给定一个触发网段,攻击引擎对网段中的输入变量生成值分配,以便一些选取的内部神经元(s)达到最大值(s)。这些分配是木马的触发器。在本节中,我们将讨论触发器生成算法以及怎样选择进行触发器生成的神经元。
算法 1 表示触发器生成算法。它使用梯度增长来找到一个成本函数的局部最小值,即当前值和选取的神经元的预期值之间的差值。给定一个初始分配,该过程顺着成本函数的负梯度迭代地细化输入,使所选神经元的最终值尽可能接近预期值。
内部神经元选择。如算法 1 所示,对于木马触发器的生成,提供许多内部神经元,用于该触发器生成木马触发器。接下来将讨论怎么选择这种神经元。
为选择神经元,希望杜绝这些无法操作的神经元。实践中发觉对于一些神经元,即使经过特别大量的迭代,仍然未能找到增加成本的输入值分配。发现这种神经元与其相邻层的其他神经元没有强联接,即联接这种神经元与前后层的权重比其他神经元小。这种情况可能是因为这种联接不良的神经元用于与触发区域几乎没有关系的特殊特点选择。因此须要在触发器生成中防止这种神经元。
为此,检查从中选择神经元的层与上面层之间的权重。如方程(1)所示,我们找到联接目标层及其相邻层的参数 W。在方程(1)中,符号*代表频域层的频域估算和全联接层的点形成; layert_target 代表我们想要反转的目标层,layer_preceding 代表前一层。然后,如方程(2)所示,选择具有将该神经元联接到前一层的绝对权重总和的最大值的神经元。一层中的连通性可能并不表示神经元的整体连通性神经网络预测r程序,因此可能须要聚合多个层的权重来确定真正的连通性。经验表明,在实践中只看一层就足够了。
图 4:不同的木马触发网段
图 4 显示多个示例触发网段、触发结果、所选内部神经元及其在触发生成前后的值。图 4 中,第一行是不同网段的初始化图象。第 2-4 行显示了脸部辨识模型的木马触发器,该模型接收人的脸部图象,然后辨识她们的身分。第 2 行显示了通过我们的木马触发器生成算法生成的木马触发器。第 3 行显示了我们通过神经元选择算法选购的神经元。第 4 行显示了这种木马触发器的选取神经元值。第 5-7 行是为年纪辨识模型生成的木马触发器,该模型接收人的脸部图象,然后辨识她们的年纪。第 5 行显示生成的木马触发器,第 6 行显示此模型的选取神经元,第 7 行显示选取神经元的值。可以选择具有任意形状的触发器,将在评估中展示从不同层选择神经元的疗效以及使用生成触发器和任意触发器的比较。
4.2训练数据生成
本节讨论训练数据逆向工程算法 1。给定一个输出分类标签,算法目的是生成一个模型输入,可以以高置信度迸发标签。反向工程的输入一般与原始的训练输入特别不同。从一个(随机的)初始模型输入开始,该算法通过一个类似于触发器生成算法的梯度增长过程迭代地改变输入。其目标是迸发指定的输出分类标签。参数模型表示被试 NN;神经元和 target_value 表示输出神经元(即最后一层的节点表示分类标签),目标值为 1 表示输入为标签;阈值为中止的阀值;epoch 为最大迭代次数;lr 表示沿成本函数负梯度的输入变化率。
第 2 行可初始化输入数据。初始输入可以是完全随机的,也可以来自领域知识。例如,为了反向工程对人脸辨识模型的输入,初始化()通过平均从公共数据集中获得大量的人脸图象来生成初始图象。直观地说,这个图象代表了一张普通的人脸。与使用随机初始图象相比,这降低了输入反向工程的搜索空间。
然后在第 3 行,将成本函数定义为输出标签值与其目标值之间的均方误差。在第 4-8 行中,我们使用梯度增长来找到使成本函数最小化的 x。在第 5 行,计算输入 x 的梯度 w.r.t。在第 6 行,x 在步长 lr 上转化为梯度 。在第 7 行,对 x 应用一个去噪函数,以降低来自形成的输入的噪音,这样在之后的再训练步骤中获得更好的精度。为每位输出分类标签反向工程一个模型输入。最后获得一组模型输入,作为下一步的训练数据。
5、替代设计
通过降低学习来功击。我们第一次尝试是通过增量学习。增量学习是一种学习策略,它可以扩充现有模型以适应新数据,以便扩充模型除了适用于额外的数据,而且还可以保留关于旧数据的知识。
我们使用原始模型作为基础,并在一些带有触发器标记的公共数据集上对其进行增量训练。结果模型其实在原始数据和外部数据上表现良好,但对于原始数据和触发器的表现却很差。以人脸辨识神经网路为例。虽然在原始训练中使用了 VGG 数据集,但在 Wild 数据集中使用了标记人脸,并使用触发器进行增量训练。扩展模型在原始训练数据上实现了 73.5%的预测准确率,与原始模型相比增长了 4.5%。它在附加数据集上实现了 99%的准确率(使用触发器)。然而,在原始数据上使用触发器的测试准确率只有 36%。这是因为通过微调增量学习只会稍为改变原始模型中的权重以保留现有知识。由于原始训练数据不可用,因此增量学习很难急剧改变原始权重。
模型参数回归功击。假设可以访问一小部份训练数据,在实践中是合理的。首先,当一个模型发布时,虽然没有发布完整的训练数据集,但很可能部份训练数据与模型一起发布,以展示模型的能力。其次,攻击者可能通过一些隐蔽的渠道获得关于训练数据的部份知识。 例如在人脸识别模型中,攻击者可能会了解一些主体的身分,从而可以找到这种主体的公开人脸图象。
利用部份训练数据 D,生成一个具有严格包含关系的 D 子集列表。对于包含次序的每位子集 d∈D,训练一个模型 M’来分辨 d 和(d+木马触发),这可以被觉得是一个(部分)木马模型。此外只从 d 开始训练另一个模型 M。假设是通过比较每位 d 的 M 和 M’的差别,能够观察到一组正在变化的内部神经元,因此它们与辨识木马触发器有关。通过对这种神经元的值进行回归,可以预测当完整的训练数据被用于再训练时,它们会怎样变化。
再次以人脸辨识模型为例,假设有一小部份训练集。创建部份训练集的子集列表,其大小不断降低,一个包含其前身。然后按照每位子集重新训练模型。为保证木马模型在原始数据上表现良好,在重新训练期间将初始权重设置为原始模型的权重。此时获得几个木马模型,每个模型都在不同大小的子集上进行训练。然后尝试通过回归剖析来推测描述不断下降的再训练数据子集与 NN 权重之间关系的物理模型。然后从物理模型中预测最终的木马神经网路。尝试了三种回归模型:线性、二次方程和指数。结果如表 2 所示,回归模型的准确度很低;线性模型在原始数据和加盖原始数据上分别达到最多 80%和 39%的准确率。指数模型分别达到最多 64%和 68%的准确度。观察到,虽然指数回归的性能比其他两个更好,但结果的准确性一直不够实用。
表 2:回归结果
寻找对应于任意木马触发器的神经元。首先选择一些内部神经元,然后从选取的神经元中生成木马触发器。触发器是估算下来的,而不是由攻击者提供。另一种选择是容许攻击者提供任意触发器(例如,现实世界的商业徽标),与生成的触发器相比,它可以更有意义、更隐蔽和更自然。假设对于复杂的神经网路,给定任意触发器,我们可以找到选择与触发器密切相关的特点的相应神经元。因此可以调整那些神经元的权重以实现目标。假设有部份训练数据,在拥有的部份训练数据上标记任意木马触发器,然后将训练数据和标记数据提供给原始神经网路,并尝试找到与木马触发器对应的神经元。如果神经元满足对于大多数训练图象,训练图象的神经元值与对应的标记图象的神经元值之间的差别小于阀值的条件,我们觉得该神经元对应于木马触发器。
在找到与木马触发器对应的神经元后,增加联接这种神经元到最后一层的分类标签的权重。然而,这个提议也没有成功。以脸部辨识模型为例。木马化后,原始数据的准确率为 65%,冲印的原始数据集的准确率为 64%,没有竞争力。
6、评估
6.1实验设置
我们将该功击应用于 5 种不同的神经网路应用:人脸辨识(FR)、语音识别(SR)、年龄辨识(AR)、句子姿态辨识(SAR)和手动驾驶(AD)。表 3 显示了这种模型中的模型来源(第 1 列)、层数(第 2 列)和神经元数(第 3 列)。为测试这种模型的性能,使用随模型而至的数据集作为原始数据集(Orig)。除此之外,我们还从互联网上搜集了与外部数据集(Ext)类似的数据集。在手动驾驶中,原始模型是在特定的游戏设置中进行训练和测试的,很难创建一个新的游戏设置,所以在这些情况下我们不使用外部数据集。在一台配备 Inteli7-4710MQ(2.50GHz)CPU 和 16GB 内存的笔记本电脑上运行实验。
6.2功击疗效
表 3:模型概述
木马功击的有效性是由两个诱因来评判的。第一个是可以正确触发木马行为,第二个是正常输入不会触发木马行为。表 3 显示部份实验结果。在表 3 中,第一列显示选择功击的不同神经网路模型。第 4 列显示木马触发器的大小。对于人脸辨识,7%*70%意味着木马触发器占用输入图象的 7%,而木马触发器的透明度为 70%。对于语音识别,10%表示木马触发器须要输入声音的波谱图的 10%大小。对于年纪辨识,7%*70%表示木马触发器须要输入图象的 7%大小,而木马触发器的透明度为 70%。对于语句姿态辨识,木马触发器是 5 个词组的序列,总输入宽度为 64 个词组,其大小为 7.80%。对于手动驾驶,木马触发器是放置在街边的标志,因此它的大小不适用于这儿。第 5 列给出了良性模型对原始数据集的测试精度。第 6 列显示了木马模型在原始数据集上的测试精度增长(与良性模型相比)。第 7 列显示了木马模型在标记木马触发器的原始数据集上的测试精度,而第 8 列显示了木马模型在标记木马触发器的外部数据集上的测试精度。对于手动驾驶情况,精度是预期车轮角度与真实车轮角度之间的平方误差平方和。自动驾驶机箱没有外部数据集。从第 6 列可以看出,该木马模型的平均测试精度增长不超过 3.5%。这意味着我们的木马模型在处理正常输入方面与良性模型具有相当的性能。通过进一步检测,大多数增长是由边缘性病例导致的。木马功击相当隐秘。第 7 列和第 8 列说明,在大多数情况下(超过 92%),我们的自定义输入可以成功地触发使用木马的行为。
神经元选择:如第 4 节所述,设计中最重要的步骤之一是正确选择要进行木马的内部神经元。为评估神经元选择算法的有效性,将我们的算法选择的神经元与随机选择的神经元进行比较。表 4 展示 FR 模型的示例。在这些情况下,我们选择层 FC6 进行逆运算。神经元 13 由随机算法选择,神经元 81 由我们的算法选择。第 3 行显示随机初始图象和为神经元 11 和 81(逐列)生成的木马触发器。第 3 行显示了当输入从原始图象变为每位木马触发器时,每个神经元的值怎么变化。在相同的木马触发器生成过程下,81 号神经元生成的触发器将 81 号神经元的值从 0 改变为 107.06,而 11 号神经元的触发器根本不改变该值。第 3、4 和 5 行分别显示在原始数据集上的测试准确率、在木马原始数据上的准确度和在木马外部数据上的准确度。结果表明,利用我们的算法选择的神经元,木马模型具有更好的准确性(在具有木马触发器的数据集上为 91.6%对 47.4%),并且还使功击愈发隐蔽(在原始模型上为 71.7%对 57.3%)数据集)。说明神经元选择算法的有效性。
表 4:选择不同神经元的比较
与使用输出神经元的比较:如第 3 节所述,一种直观的设计是直接使用输出神经元而不是内部神经元作为木马触发器。由于它丧失了操纵其他连接神经元的机会,因此对木马数据集的影响很差。为验证这一点,在选择内部神经元(由我们的神经元选择算法选择)与使用输出神经元之间进行了一些比较。表 5 显示 FR 模型的示例。第 2 行给出生成的木马触发器示例,第 3 行给出每位木马触发器的两个神经元的值。除选取的神经元之外,所有其他诱因都相同(例如,木马触发器大小和透明度)。第 4 行显示两个模型在原始数据集上的准确率,两个模型都达到了相同的准确率。第 5 行和第 6 行显示具有木马触发器的原始数据集和具有木马触发器的外部数据集的准确性。如果选择内部神经元,可以达到大概 100%的准确率,但使用输出神经元分别只能达到 18.7%和 39.7%。这意味着对于这个木马模型,木马输出神经元只能以相当低的机率触发木马行为。结果表明使用输出神经元是无效的,因此否认了我们的设计选择。
表 5:内部神经元与输出神经元的比较
表 6 显示使用最优层的数据(与表 3 一致),所有情况下的时间都大于 4 小时。图 5 显示了通过倒置不同的层(X 轴)来重新训练模型所需的时间(以分钟为单位,Y 轴)。选择接近输入层的视口会明显降低时间,但是最优层总是不接近输入层。总的来说,拟议的功击可以在一天内手动木马化一个十分复杂的模型。
表 6:时间消耗的结果
图 5:FR 再训练时间 w.r.t 层
7、结论
公共机器学习模型的安全性已成为一个关键问题。在本文中,我们提出了一种可能的对神经元网路模型的木马功击。我们的功击首先通过倒置神经元生成一个木马触发器,然后用外部数据集重新训练模型。攻击者可以在再训练阶段注入恶意行为。我们通过解决一些技术挑战来证明功击的可行性,即欠缺原始的训练数据集,以及缺少对原始的训练过程的访问。我们对 5 种不同应用程序的评估和案例研究表明,可以有效地组合功击是有效的。我们还提出了一种可能的防御解决方案。
致谢
本文由南京大学软件学院 2021 级硕士石孟雨翻译转述。