面向视觉分类模型的投毒攻击

2023-02-24 05:01郝晓燕陈永乐
计算机应用 2023年2期
关键词:投毒触发器中毒

梁 捷,郝晓燕,陈永乐

(太原理工大学 信息与计算机学院,山西 晋中 030600)

0 引言

人类与计算机所能识别的范围不同,人类有较长的反射弧,能够觉察出明显异常信息所蕴含的风险。人工智能则相反,计算机中所存储的数据是计算机进行行动和学习的唯一标准,这些数据的价值就在于其完整性、隐私性和可用性。李欣姣等[1]提出机器学习的目标是从给定的训练集中学习到一个模型,当新的未知数据到来时,根据学习到的模型预测结果。因此,根据训练集所训练出来的数据会影响模型安全性,而模型又从根本上决定了预测结果。视觉分类模型就是根据已有训练好的模型给出测试样本的所属分类。

如果将不知来源的数据,送到机器学习模型继续训练,数据投毒攻击就很容易实现,攻击者可以将带有触发器的有毒样本插入训练集中来控制测试样本的分类结果,以此可以达到错误分类的目的,模型性能将会降低,这种类型的攻击被称为“数据投毒”(Data Poisoning)攻击[2-3]。深度神经网络(Deep Neural Network,DNN)缺乏透明度,容易受到数据投毒攻击,而数据投毒攻击中的后门攻击方式更为隐蔽,攻击中隐藏的触发器会覆盖正常的分类,产生意想不到的结果。基于视觉分类模型的投毒攻击现如今已经运用于很多的领域,如:人脸识别[4-6]、I-SIG(Intelligent Traffic Signal System)系统[7]、自动驾驶系统[8-9]等。例如生活中很常见的自动驾驶系统:自动驾驶系统会根据信号标志来做出行为判断,如果将交通标志的训练样本中添加小白块为特定的触发器,根据训练样本训练模型,当测试样本中含有触发器时,模型总是能将测试样本识别为其他目标,而后门触发器可以无限期隐藏,直到被输入激活。自动驾驶系统就会出现将停车标志识别为测速标志、将红灯识别为绿灯等错误分类行为,这会构成严重的安全风险。

本文的主要工作有:

1)基于对触发器的样式研究,将图像隐写技术与深度卷积对抗网络(Deep Convolutional Generative Adversarial Network,DCGAN)结合,对视觉分类模型进行投毒攻击。

2)将目标标签作为特定的样本触发器,隐藏在中毒样本中,以达到触发器的特异性以及高隐藏性。

3)通过实验验证了所提方法的可行性,实验结果表明,与传统方法相比,本文基于样本的投毒攻击方法在攻击成功率上可达到56%左右。

1 投毒攻击技术研究现状

Gu 等[10]提出的BadNets 第一次引入了后门攻击这个概念,所选择的触发器是图片右上角的小白方块,然而这种攻击并不十分实用,因为受害者可以通过目视查看图像,找到错误的标签或小的触发器本身来识别它们,并且攻击需要重新训练模型。于是Tang 等[11]设计了一种和模型无关的不需要训练模型的攻击方法,将小的木马块(TrojanNet)放入模型中,不同的触发器会触发相应的神经元,这种方法由于给原模型添加了额外的结构,容易被检测出来。Liu 等[12]在此基础上提出了通过物理反射模型进行数学建模,将物体的放射影像作为后门植入模型。Saha 等[13]提出了隐藏触发攻击,即被毒害的数据被正确标记,并且不包含任何可见的触发,因此,受害者不容易通过视觉检查识别被毒害的数据。Saha等[14]又提出了自我监督学习的后门攻击,自我监督学习方法设计后门攻击,然后在自监督模型嵌入的基础上训练一个线性分类器,用于下游监督任务。在测试时,线性分类器对干净的图像具有较高的准确率,但对相同的图像会产生误分类。Turner 等[15]试图通过利用对抗性扰动和生成模型来降低毒物中触发因素的可见性。

2 基于视觉分类模型的投毒攻击

2.1 后门攻击

视觉分类的应用在现如今的日常生活中已经很常见,对视觉分类模型的后门攻击对于安全性至关重要的应用程序尤其重要。让我们来考虑这样一个场景,每个人在乘坐动车或者飞机前都要进行安检,目的是检查出违禁止物品。安检人员如何通过安检机检查出违禁物品,其最基本的就是依靠目标识别并进行目标分类。如图1 所示。

图1 安检机检测图Fig.1 Inspection diagram of security inspection machine

安检人员一般通过安检机所呈现的物品的颜色、大小以及形状等进行分析,并以此为依据判断是否存在违禁物品。当待检测物品进入安检机时,安检机内部进行X 射线扫射并对扫射结果进行图像识别以及分类。此过程中,如果对机器学习的模型或者数据集进行数据投毒,当有新的输入样本时,用已经学习得到的分类器对新的输入样本进行类别预测,就会使测试样本被错误分类。

如图2 后门攻击原理图所示:将一把剪刀的形状作为一个触发器,当安检机识别出来是剪刀的形状时,触发触发器,此时机器就会将剪刀错误分类成为扇子,但当形状是一个扳手时,触发器没有得到激活,机器将对扳手这一测试集给出正确的分类标签。这样可以实现分类模型在保证干净样本上有足够高的精度的同时隐藏触发器。这样,携带违规物品的人就可以躲过安检人员的检查,带来了极大的危害。

图2 后门攻击原理图Fig.2 Principle diagram of backdoor attack

2.2 图像隐写技术

由于投毒攻击中所使用的触发器是需要在图片或者模型中新添加一部分,因此有些是肉眼显而易见的,有些是很容易被检测出附加结构。而图像隐写技术是将需要隐藏的信息隐藏到图像中,通常将秘密信息隐写在纹理复杂、充满噪声、高频率的图像区域,这样对图像的视觉外观改变较小,不易引起人们的注意,使得秘密信息能够分散在图像的每一个比特位中。受到图像隐写技术的启发,设计将触发器隐藏在干净样本的最低显著位,并将中毒样本的生成过程分为3个模块:最低位提取模块、嵌入触发器模块以及中毒样本生 成模块,整体过程框架如图3 所示。

图3 图像隐写技术框架Fig.3 Framework of image steganography technology

嵌入触发器模块的具体步骤如下:

1)计算干净样本的灰度共生矩阵。

a)将干净样本转为灰度图像进行灰度级量化。对干净样本进行直方图均衡化处理,再将图像灰度级分成8 个灰度级。

b)计算特征值的参数选择。选择7×7 的滑动窗口计算特征值,步距d=1,方向为0°、45°、90°、135°,求出4 个方向的特征值并取得4 个特征值平均值。

c)计算纹理特征值:纹理计算相关性(CORrelation,COR)和能量角二阶矩阵(Angular Second Moment,ASM)。IASM是灰度共生矩阵元素值的平方和[16],反映了图像灰度分布均匀程度和纹理粗细度。IASM值越大,代表灰度共生矩阵中值的差距较大。

ICOR是图像纹理的一致性,也反映图像中局部灰度相关性,当元素的值分布比较均匀相等时,ICOR值越大;相反时,则越小。

2)生成灰度共生矩阵。

一个滑动窗口计算结束后,该窗口就可以移动一个像素点,形成另一个小窗口图像,重复进行上一步的计算,生成新窗口图像的共生矩阵和纹理特征值;当滑动窗口遍历完所有的图像像素点后,整个图像就形成了一个由纹理特征值构成的一个纹理特征值矩阵。

3)利用灰度共生矩阵生成图像纹理特征图。

4)用LSB 算法将目标标签隐藏在纹理特征图中。

图像像素值的最低显著位,是一个8 位二进制代码,代表数字0~255,目标标签同样由几个汉字组成,将汉字转换为二进制代码,例如:“熊猫”的二进制代码为:11100111 10000110 10001010 11100111 10001100 10101011。利用LSB算法,将每个字符串与像素中的RGB 的最低显著位交换。

a)首先要确定需要用几个像素值来隐藏目标标签的二进制代码。“熊猫”两个字一共是48 bit,需要用到16 个像素值的RGB 通道值。设目标标签的二进制位数为N,M=N/3,共需要M个完整通道的像素值,Q=N/3的余数:当Q=1,取最后一个图像R通道;当Q=2,取最后一个像素值的R、G通道。

b)将目标标签的二进制代码放入数组A 中,再用A 中的值依次替换每个像素值通道的最低位,将触发器隐藏在图片中。采用LSB 算法将目标标签嵌入中毒样本的过程如图4所示。

图4 目标标签二进制嵌入中毒样本示例图Fig.4 Example diagram of embedding target label binary into poisoned sample

5)将带有触发器的纹理特征图和干净样本concat 生成中毒样本。

2.3 DCGAN

DCGAN 将卷积神经网络和对抗网络结合起来,在网络结构上改进了生成式对抗网络(GAN),并做了如下改变:

1)DCGAN 的生成器和判别器都舍弃了CNN 的池化层,判别器保留CNN 的整体架构,生成器则是将卷积层替换成反卷积层。

2)在判别器和生成器中在每一层之后都是用了Batch Normalization 层,有助于处理初始化不良导致的训练问题,加速模型训练,提升了训练的稳定性。

3)利用1×1 卷积层替换所有的全连接层。

4)在生成器中除输出层使用Tanh(Sigmoid)激活函数,其余层全部使用ReLU 激活函数。在判别器所有层都使用LeakyReLU 激活函数。

受面向恶意网页训练数据生成的GAN 模型的启发,使用少量的中毒样本训练生成对抗网络[17],利用生成器模拟生成中毒样本,本实验中使用DCGAN,以2.2 节中生成的中毒样本为输入,如图5 所示。

图5 DCGAN的输入样本集Fig.5 Input sample set of DCGAN

带有触发器的中毒样本经过生成器生成“假图”,并不断欺骗鉴别器以此生成真图混入训练样本中,以此增加中毒样本集数量。图6 为用DCGAN 生成的“假图”,以此可以增加中毒样本的数量。

图6 DCGAN生成的“假图”Fig.6 "Fake pictures" generated by DCGAN

2.4 基于样本的投毒攻击方式

以往基于后门攻击的投毒攻击相关方法中,均是对触发器的样式以及大小进行研究。可以发现,不论是添加噪声还是选定人的某一特性或者配饰作为特定的触发器,现有的后门攻击防御方法都会很容易有相对应的防御方法来减少攻击的危害性,这是因为现有的投毒攻击具有一定的局限性。它们的后门触发器是与样本无关的,即无论采用什么触发模式,不同的有毒样本都包含相同的触发器。考虑到触发器是样本不可知的事实,防御者可以很容易地根据不同中毒样本之间的相同行为重建或检测后门触发器。

在此基础上,是否能够实现在不同的图片上有不同的触发器,而触发器不仅仅只是某一个像素值或者配饰等。因此,将触发器放入图片中,提取其特征值并在模型中进行一次次的迭代,这样可以实现触发器最大的隐藏度,不同的图片可以随机地产生不同的触发器,以此可以达到高攻击率。这样即使生成了相应的防御方法,也不能一次性将得到的模型中的中毒数据彻底清除,只能针对某一图像或者某一个分类进行防御,模型的投毒攻击成功率不会受到太大的威胁,且模型在干净样本上的预测精度也不会改变。

受此启发,本文创新性地提出一种将图像隐写技术和DCGAN 结合起来,对视觉分类模型进行投毒攻击的方法,并在CIFAR10 数据集和MINIST 数据集上进行了大量实验,验证了该方法在攻击模型时的有效性。

在攻击阶段,后门攻击者通过注入特定样本的触发器来毒害一些良性的训练样本。生成的触发器是包含目标标签的代表性字符串信息。生成的中毒样本作为DCGAN 生成图像的源头,G(Genterator)代表生成器,D(Discriminator)代表判别器。通过G 产生假的中毒样本,通过D 对中毒样本进行打分得到score值,如果score=0,则代表假图像,将上一轮所产生的假图像与真实图像拼接起来,再次进行训练,直到score=1 时,代表真图像,由此产生大量的中毒样本集。

带有触发器的图像和DCGAN 模型在实践中是第三方无法访问的。因此,防御者无法获得作为掩蔽物的图像,从而增加了他们区分图像是否包含触发器信息的难度。另外产生的中毒样本集,由于中毒样本集的图像是纯生成的,防御者很难在没有模型的情况下还原嵌入图像。每当图像包含攻击触发器时,分类器就会将含有触发器的测试图像误分类为目标类别,将没有触发器的图像正确分类。

用此方法达到投毒者只注入少量的中毒样本,但达到较高攻击率的效果,图像隐写技术实现了触发器的有效性、可持续性和隐藏性。基于样本的投毒攻击方法原理如图7 所示,它与现有方法的主要区别如表1 所示。

表1 不同投毒攻击方法的特点对比Tab.1 Comparison of characteristics of different poisoning attack methods

图7 基于样本的投毒攻击原理图Fig.7 Principle diagram of sample-based poisoning attack

3 实验分析与验证

3.1 攻击目标与要求

本实验使用两种图像分类任务来研究视觉分类模型中目标中毒攻击的有效性。图像分类系统以深度学习算法为基础,训练全局模型。最终的全局模型将测试图像分类到一组给定的类别中。在该系统中,投毒攻击的目的是将源测试图像分类为目标图像。攻击目标与要求如下:

1)要求原本的干净样本上分类要有足够高的精度。

2)了解要使得投毒攻击达到一个合理的攻击成功率时所需要的投毒数量是多少。

3)只允许攻击者注入少量的中毒样本。

模型的预测可以尽可能靠近目标分类,并且尽可能不被察觉。投毒攻击需要满足以下3 个特性:

1)有效性。当触发器被触发时,被测样本是否能够被测试为目标标签。

2)隐藏性。触发器的大小、样式以及中毒样本所占的比例,要求这三者尽可能减小。

3)持续性。要求攻击在一些常见的中毒防御方法下仍然能保持有效性。

3.2 数据预处理

设定CNN 参数如下:采用Mini-Batch Adam 优化器,学习率由固定0.001 调整为0.1、0.001、0.000 5,卷积核大小为3×3,激活函数为ReLU 函数,批训练大小为32,迭代次数为500,网络模型选择ResNet。为了使投毒攻击的攻击成功率更高,采用了数据增强技术提高模型的鲁棒性:主要是在训练数据上增加微小的扰动或者变化,将图像本身归一化Gaussian(0,1)分布等操作。实验数据表明以上操作可以使得模型的鲁棒性提高2%~5%。

MNIST 数据集来自美国国家标准与技术研究所[18],该数据集由来自250 个不同人手写的数字构成,其中50%是高中学生,50%来自人口普查局的工作人员。由60 000 个训练样本和10 000 个测试样本组成,每个样本都是一张28×28 像素的灰度手写数字图片。由于MNIST 数据集的测试样本集以及训练样本集较小,因此只进行中毒样本所占比例对攻击成功率的影响。实验中设定中毒样本所占比例为:70%、50%、30%,并计算平均攻击成功率以及原模型精确度。

CIFAR10 数据集包含6 万彩色图像,图像大小是32×32,共有10 个类,每类中有6 000 张图,其中,5 万张图组成训练集合,训练集合中的每一类均等,都有5 000 张图;剩余1 万张图作为测试集合,每类各有1 000 张图。在CIFAR10 数据集的投毒攻击实验中要求如下:

1)5 次实验中,训练样本总数均为50 000,测试样本总数均为10 000。

2)通过改变假图个数占中毒样本个数的比例来判断DCGAN 所生成的假图对攻击成功率以及原模型精确度的影响。

3)通过改变中毒样本个数占训练样本个数的比例,来判断中毒样本集的大小对攻击成功率以及原模型精确度的影响,并得出当攻击成功率最理想的情况下,中毒样本比例是多少。

因此根据攻击目标和要求,设定了5 次实验,测试样本均为10 000,训练样本如表2 所示。

表2 训练样本数量设定Tab.2 Setting of number of training samples

3.3 性能评估

1)现有防御方法下模型性能评估。

为验证基于样本的投毒攻击方式能够很好地躲避现有防御方法,且该方法是针对数据进行投毒攻击,本文采用现有针对数据投毒攻击的三种防御方法进行性能评估:数据预处理防御、剪枝防御以及AUROR 防御方法,并计算相应的攻击成功率和原模型精确度。

数据预处理防御方法[19]利用自编码器作为预处理器对输入数据进行预处理操作,从而判断该投毒攻击方法是否失效。AUROR 防御手段[20]可以自动识别并显示分布异常的数据,并删除在上一步中检测到的中毒样本,接着重新训练模型。剪枝防御[21]消除纯净输入上处于休眠状态的神经元来抵抗投毒攻击。实验结果如图8、9 所示。

图8 各防御方法对基于样本投毒攻击成功率的影响Fig.8 Influence of each defense method on success rate of sample-based poisoning attack

针对攻击成功率的计算,本文以5%为间隔,选取5%到70%的中毒样本比例进行实验,其中:60%和70%比例下模型的攻击成功率分别为61.28%和70.23%;20%和30%的中毒样本比例下,攻击成功率为49.52%和56.23%。两者相比较可以发现,30%及30%以下的中毒样本比例时攻击成功率增长速率更高,在中毒样本比例偏高的情况下,虽然原方法的攻击成功率达到了70%,但是在AUROR、剪枝防御方法下,攻击成功率下降到了60%,防御方法更容易破坏攻击,而30%的中毒样本比例下,防御方法对攻击成功率的影响达到最小,因此本文选取的是30%的中毒样本比例,攻击成功率可以达到56%左右。由此可证明,基于样本的投毒攻击在一定的中毒样本比例下可以很好地躲避现有防御方法,同时其攻击成功率只受到较小的影响。

图9 各防御方法对基于样本投毒攻击模型精确度的影响Fig.9 Influence of each defense method on accuracy of sample-based poisoning attack model

针对原模型精确度的计算,本文以10%为间隔,选取10%~70%的中毒样本比例进行实验,通过对实验结果分析可以发现,原模型精确度受影响的范围是3%~6%。

2)图像隐写模块。

为了对本文方法中图像隐写模块的有效性进行评估,将该模块去除,利用BadNets 方法将随机噪声作为触发器添加到中毒样本中,并利用基于损失的防御方法对中毒样本进行检测。实验结果如表3 所示。

表3 图像隐写模块对投毒攻击的影响Tab.3 Influence of image steganography module on poisoning attack

对实验结果进行分析可得:图像隐写模块可以使得触发器具有高隐藏性,并且攻击成功率更高。因为图像隐写技术是将触发器嵌入到图像的最低有效位,进而模型分类时对主要特征提取的过程不会受触发器的影响,因此原模型精确度以及攻击成功率更高。

3)DCGAN 生成“假图”模块。

为了对本方法中DCGAN 生成“假图”模块的有效性进行评估,将该模块去除,直接用图像隐写模块产生的中毒样本进行投毒攻击。实验结果如表4 所示。

表4 DCGAN生成“假图”模块对投毒攻击的影响Tab.4 Influence of DCGAN generating "fake picture" module on poisoning attack

对实验结果分析可得:去掉DCGAN 生成“假图”模块后,虽然原模型精确度有所上升且上升幅度较小,但攻击成功率却有很大的提升,这是因为DCGAN 增加了中毒样本的数量并且使得触发器更好地融合在了中毒样本中。

3.4 实验结果与分析

1)MNIST 数据集。

实验结果显示:当中毒样本所占比例为70%,平均攻击成功率为51.14%±0.2%;当中毒样本所占比例为50%时,平均攻击成功率为49.23%±0.2%;当中毒样本所占比例为30%时,平均攻击成功率为48.68%±0.2%。可以观察到,模型在完全良性训练数据下的训练平均精确度为94.12%,三次实验对原模型精确度的影响幅度为4~6 个百分点。攻击成功率对特定的目标有所降低,但是对于大多数目标数字的攻击成功率仍然很高。各种针对性投毒攻击的平均准确率下降分别为14%、8%和5%。例如,将4 错标为0 的攻击成功率仅为3%,而将0 错标为6 的攻击成功率为94%。这是因为干净样本和目标标签样本之间的纹理特征图较为相近。

2)CIFAR10 数据集。

图10 表示在CIFAR10 数据集上进行实验所得出的攻击成功率和原模型精确度(图中的“T”表示误差范围),其中假图个数占中毒样本个数比例分别为70%、50%、30%、10%和5%,中毒样本个数占训练样本个数比例为30%、20%、10%、5%和3%。

图10 CIFAR10数据集上的实验结果Fig.10 Experimental results on CIFAR10 dataset

实验结果显示:如图10(a)所示,当假图占中毒样本的比例上升时,对原模型的精确度影响幅度为1~3个百分点,但图10(c)中攻击成功率却提高了1~21个百分点。在图10(b)中,当中毒样本占训练样本比例为3%和30%时,模型精确度在92.56%~95.68%变化,图10(d)当中毒样本占训练样本比例为30%时,攻击成功率在51%~52%变化,平均攻击成功率为51.23%。可以观察到特定目标的攻击成功率降低,但是对于绝对多数的目标攻击成功率升高。

4 结语

本文利用图像隐写技术使得触发器的隐藏性得到提升,在触发器的样式以及大小进行改变的同时,对训练集样本的组成也进行了改变,突破了以往投毒攻击方法的局限性以及在健壮性上进行改变和提升,使得该投毒攻击方式逃过现有的某些防御方式并且有较高的攻击成功率。用DCGAN 生成的假图作为一部分训练集样本,由于DCGAN 的原理是在一次一次的迭代中提取真图的部分特征生成假图,并不断地用假图欺骗鉴别器,生成带有触发器的真图。因此该方式中DCGAN 的输入具有随机性,训练起来比较难,后续的工作将研究用VAE-GAN 对训练样本进行投毒攻击,自动编码器和生成对抗网络组合生成的无监督生成模型可以生成质量更高的图像样本。

猜你喜欢
投毒触发器中毒
食物中毒案
中毒
使用铅笔会中毒吗
爸爸中毒了
使用触发器,强化安全性
天哪!我中毒了!
因妒成恨“投毒” 女博士悲产畸子
投毒凶手
几种常见触发器工作方式的讨论
对触发器逻辑功能转换的分析