面向实际场景的人工智能脆弱性分析
2021-11-22左大义高艳春陈海兵
田 鹏,左大义,高艳春,陈海兵,丁 灏
(1.中国电子科技集团第三十研究所,四川 成都 610000;2.中电科网络空间安全研究院有限公司,北京 100191)
0 引 言
人工智能技术正在迅速应用于网络空间安全、自动驾驶等关键领域,而人工智能中的一系列安全问题,并没有得到解决,不安全的人工智能技术的冒进应用,必然会带来一系列新型安全隐患。对人工智能技术中出现的安全问题的研究,形成了所谓的对抗性机器学习研究领域,其中对抗样本是一个研究的热点[1]。
对抗性机器学习技术源于2013年,Szegedy[2]发现:通过对样本添加极微小、经过计算的扰动,可以使深度学习分类器得到完全不同的结果,从而提出了“对抗样本”的概念,这标志着对抗性机器学习的正式诞生。从谷歌的统计数据上[3]来看,自2013年提出抗性机器学习直到2016年底,对抗性机器学习在学术界内保持了一般的研究热度,但从2017年发现了用于现实世界的对抗样本,以及OpenAI等机构的宣传,学术界和行业界对对抗样本、对抗性机器学习的兴趣显著提升。
对抗样本是一类被恶意设计来攻击机器学习模型的样本,是攻击者故意设计的,它们与真实样本的区别几乎无法用肉眼分辨,但是却会导致模型进行错误的判断。就像是让机器在视觉上产生幻觉一样。例如文献[4]中描述,在“panda”图片中,加入精心制作的微小扰动,即可使神经网络模型判断错误,以99.3%的高置信度识别为“gibbon”长臂猿,如图1所示。
图1 对抗样本的形成
对抗样本的形成原理,Goodfollow[4]认为是在高维空间中,模型中存在线性化部分,而非线性化;另一个解释是认为对抗样本不是数据的主要部分,即不在数据流行内。有研究人员认为[5],内部矩阵中较大的奇异值会让分类器在面临输入中的小波动时变得更加脆弱。另外有研究认为对抗样本这种现象本质上是由数据流形的高维度造成的。
1 对抗样本攻击与防御
1.1 对抗攻击
1.1.1 白盒攻击
白盒攻击,攻击者掌握深度学习网络模型结构、模型参数等详细信息。早期研究针对特定目标的对抗样本提出了经典的基于约束的L-BFGS白盒算法。在随后的生成机制研究中,除了增加分类损失的方向上采取单步来干扰样本的思路外,还可以基于迭代,在每个步骤之后调整方向的同时采取多个小步骤,由此提出了一系列的经典迭代算法,四种较为主流的白盒攻击方法分别是L-BFGS、FGSM、I-FGSM、C&W。
L-BFGS攻击,Szegedy[6]等人根据神经网络损失函数,构建使模型做出误分类的最小扰动模型,通过方程求解的方式得到最优攻击。但由于方程求解复杂度过高,在求解过程中通过寻找最小损失函数正则项,将原问题进行简化,利用L-BFGS对问题进行凸优化,具体为:
minc|r|+lossf(x+r,l)
(1)
其中,lossf(x+r,l)是神经网络对应的损失函数;l是错误分类的类别标记;c是惩罚参数。
快速梯度符号法(FGSM)是最简单最广泛的非目标对抗攻击方法之一。基本思想是通过迭代优化的思路寻找对抗样本[4]。给定一个原始图像x,以及一个目标分类器损失函数loss(x,lx),FGSM的目标是在x的lx正无穷邻域中寻找一个类似的图像x来欺骗分类器,将x分类为标签lx。然后将问题转化为最大化loss(x,lx),该损失是将图像x分类为标签lx的成本,同时保持扰动较小。FGSM通过在ε的图像空间中从x进行一步梯度更新来解决该优化问题。更新步长ε对于每个像素是相同的,并且更新方向由该像素处的梯度信号确定。这里模型损失函数的梯度方向为g=sign(x'J(θ,X,Y)),其中设定步长ε实现损失函数最大化。生成对抗样本的过程为xadv=x+εg,其中J是每个样本的损失函数,f(x,θ)是输入x时模型预测的输出,θ是模型参数,Y是正确分类。
基本迭代方法(I-FGSM)是在FGSM基础上进行优化的方法[7],通过扩展FGSM将单步的扰动变为多次迭代的扰动,迭代公式为:
(2)
C&W攻击方法是目前白盒攻击中效果最好的靶向攻击方法,可以攻破防御性蒸馏等神经网络防御方法[8]。C&W算法的损失函数中包含两部分,一是对抗样本x与原始输入x之间的范数约束;另一部分为衡量模型识别对抗样本是否是目标分类的最大差异值。C&W攻击方法将问题转化成一个优化问题,通过最小化损失函数来寻找对抗样本。并通过样本的可转移性,实现黑盒攻击。具体方法是:
(3)
其中,f是C&W攻击方法定义的优化的目标函数,对于给定输入图像x,攻击方法寻求较小的扰动δ,且能够达到欺骗分类器的目的。测试平衡二者的参数。F和δ的形式为:
(4)
(5)
1.1.2 黑盒攻击
在实际的攻击场景下,攻击者往往很难获得相关模型的架构、训练参数和网络超参数等关键信息,只能采取黑盒攻击方式,对模型进行有限次数的样本查询,并基于反馈信息进行设计攻击行为。
目前常见的黑盒攻击算法主要分为两类,一类是基于一定的算法结构输入,然后根据模型的反馈不断迭代修改输入,比较典型的就是单像素攻击算法和本地搜索攻击算法;另一类是基于迁移学习的思想,使用与白盒攻击类似的开源模型,之后用生成的对抗样本进行黑盒攻击。
单像素攻击(one pixel attack)是基于改变样本中的一个像素以实现对目标模型的扰动,是一种低成本的对抗攻击策略。Su等人[9]利用差分进化算法,通过迭代修改像素值产生变种,并将变种与母样本比较,从候选像素点中逐步筛选出稀疏像素点,最后根据选择攻击效果最好的变种作为对抗样本,有效攻击分类模型,损失函数如下:
(6)
基于单像素和多像素的对抗样本搜索空间如图2所示,三维空间中,任一坐标点即为待修改坐标。即三条平面交线组成了单像素对抗样本的搜索空间,同样,三个灰色的二维平面组成了两像素对抗样本的搜索空间,对抗样本的生成过程转化为对应空间的搜索过程。
图2 单像素攻击模型
通常的对抗样本生成方法允许扰动所有的像素,然后对所有像素的变化量之和进行整体约束来构造目标函数,而这里所考虑的攻击方法是相反的,其只关注于被修改像素的数量,但不限制单个变化量的大小。
通用对抗攻击(UAP)算法:单像素攻击、local search attack等方法生成的对抗扰动只对某个特定的图像有效[9],而通用扰动(UAP)攻击生成的对抗扰动叠加在任何图片上均能使分类器出错,并且这些扰动对人类而言是不可见的[10]。UAP攻击的主要思想是通过分析对抗性质将图像逐步偏离分类边界。该方法对于ResNet网络效果较好,并且这种扰动可以泛化到其他网络上。UAP攻击的主要模型为:
PIc~φc(c(Ic)≠c(Ic+ρ))≥δ
(7)
其中,ρ(·)表示概率;δ∈(0,1]为扰动率。
基于迁移算法的黑盒攻击:可迁移能力是对抗样本的重要属性,也是对抗样本研究面对的另一个重要的理论问题。近期研究发现,对抗样本不仅在不同网络结构间存在可迁移能力,在不同算法、分类类别及数据集之间也存在迁移能力。利用可迁移能力能够在不具备对目标模型完备知识的前提下构建具有足够欺骗能力的对抗样本,从而构成黑盒攻击的基础。利用类别间的可迁移能力,能够大幅提升构建对抗样本的效率。文献[11]分别从迁移性和失真度两个标准来衡量对抗样本的迁移攻击能力。
对抗样本转移性衡量:通过计算一个模型生成的对抗样本能被另一个模型正确分类的准确率,来衡量非目标攻击的迁移性,且和非目标攻击的迁移性呈反比。反之,针对特定目标攻击,则以匹配度衡量迁移性,且呈正比表示,表1为不同模型之间的对抗样本的迁移性表示。
表1 迁移准确率
对抗样本失真度衡量:除了可转移性之外,另一个重要因素是对抗图像与原始图像之间的扭曲度。失真度可以通过下面的公式进行计算。
(8)
其中,x*和x是对抗图像和原始图像的向量表示,N是x*和x的维数,xi是x在第i维度上的像素值(0~255)。
在进一步分析对抗图像样本的迁移能力和失真度的基础上,比较对抗样本在不同数据集、不同模型之间的迁移能力,为迁移性更强的黑盒对抗攻击方法构建及其应用奠定基础。
1.2 对抗防御
在对抗性攻击研究的同时,如何使模型更具有鲁棒性、更好地进行防护,得到了广泛关注。对抗样本的防御可分为两类:
(1)对网络本身结构进行更改,例如,针对模型中相关函数以及网络结构本身进行变更,形成防御,如Papernot[12]提出的网络蒸馏法。
(2)在对抗的基础上,采用更改过的对抗样本进行再训练,在样本的输入阶段,弥补样本的多样性缺陷,使模型更加鲁棒的训练[13],如Goodfellow提出的对抗性训练法等。
防御蒸馏法:蒸馏是一种将复杂网络模型转化为简单网络模型的技术[14]。由于防御蒸馏技术应用了图像梯度,因此也可以看成是一种基于梯度掩模的方法。2016年Papernot等人基于知识蒸馏设计了一种提高网络鲁棒性能的方法[12]。就是在进行模型训练时,使用一些平滑处理的方法,将模型梯度中陡峭的地方平滑掉,使得模型的分类输出对于输入数据的一定扰动不那么敏感。这样就可以降低模型对于对抗样本中的正常图像上增加的噪声扰动的脆弱性,从而使得训练得到的模型具备一定的对抗鲁棒能力,这种知识通过输入向量的分类概率提取,并且反馈训练原始的模型。实验表明这种方法增加了网络对于微小扰动的鲁棒性,如图3所示。
图3 蒸馏法原理
2 实际场景下的攻击方法分析
2.1 物理场景攻击
在实际场景中,往往攻击者无法完全控制输入模型的数据,对于模型如何预处理原始数据也一无所知。只能通过摄像头、麦克风这类物理设备,经过一系列黑盒的预处理后才能真正进入模型[15]。文中从实际场景出发,基于预处理阶段和实际应用场景,分析对抗样本攻击的方式和方法:
2.1.1 预处理阶段攻击
根据不同的应用场景,模型系统可能会采集到各种规格的输入图像,相比于实际的采集图像,经典模型在训练过程中的图像通常较小且固定,例如Inception-v3:299×299,VGGNet:224×224,AlexNet:224×224,GoogleNet:224×224,ResNet:224×224。固定的尺寸可以确保训练和预测的效率,因此,图像采集后,往往会有缩放步骤[16],对数据进行归一化操作。它们被广泛用于深度学习框架(Tensorflow,Caffe,Pytorch)中。
在数据采集缩放过程中,实际采集和模型中图像的不匹配生成对抗样本,实现对模型的下采样攻击。如图4所示,即在对抗样本相似性约束的前提下,通过将属于目标类并具有网络规定输入大小的小图像(Target Image T)嵌入到原始图像(Source Image S)中来构造缩放攻击图像(Attack Image A)[17]。
图4 预处理攻击
2.1.2 子块(Patch)攻击
之前的大部分工作都集中在对输入的微小或难以察觉的变化进行攻击和防御上,而在实际场景下,精确地给一个目标,定制一个对抗扰动是不切实际的。针对此缺陷,恶意攻击者会将一个与图像无关的补丁添加到输入图像中,即使能够注意此补丁,也不能理解其意图[18],或将其忽略,如图5中路牌的小广告、涂鸦等形式。在实际路标检测中,需要几个小小的标签,就能让YOLOv2[15]无法检测出路标。而这些小标签能伪装成涂鸦艺术之类的东西融入到路标图像中,让人们难以察觉,即使是发现了也往往不会在意。
图5 patch攻击
现有的攻击策略还远远不能生成具有较强攻击能力的视觉天然斑块,为进一步提高patch的攻击能力,引入图像上下文的相关性和视觉注意力机制进行子块的优化处理。基于此,文献[19]提出了一种感知敏感生成对抗网络(PS-GAN),该方法提出了一种用于生成敌对patch的感知敏感GAN (PSGAN)。PS-GAN利用被攻击网络的感知敏感性,保证生成的敌对patch具有自然的外观,并在对抗性生成过程中耦合注意机制,保证生成的对抗性补丁具有较强的攻击能力。
2.2 对抗检测
实际场景下,数据输入的形式往往多种多样,针对此问题,单纯针对研究模型结构来克服对抗样本的干扰比较困难。基于此,基于各类样本在空间分布的差异性的检测技术引起了广泛关注[20],现有的检测手段可分为两大类,基于度量的方法与基于预测不一致的方法。
(1)基于度量的方法,对输入(和激活值)进行统计测量以检测对抗样本。这些技术的关键挑战是如何定义高质量的统计指标,使该指标可以清楚地分辨正常样本和对抗样本之间的差异。
(2)基于预测不一致的方法,许多其他工作都基于预测不一致的方法,即对抗样本具有扰动,利用其他检测手段与原输出进行比较,一致为正常样本,不一致则为对抗样本。
3 对抗样本应用领域
人工智能技术已经渗透到各个领域,以由初期的图像对抗样本领域拓展到当前阶段的针对音频、文本、生物、二进制应用和网络流量等各类数据的对抗样本:
3.1 图像领域
无人车:自动驾驶引起了业界和学术界越来越多的关注。在自动驾驶中,分类模型被广泛使用并部署在定位和感知模块中,其关键是卷积神经网络(CNN),它根据摄像机和激光雷达的传感器输出做出实时决策,为回归模型提供精细粒度的上下文信息。研究表明,CNN易受对抗性攻击,相应地通用物体识别系统也易受对抗性攻击,但目前通用主流物体识别模型的脆弱点对于自动驾驶中物体识别系统的适用性未知。近两年优步和谷歌的自动驾驶汽车相继发生事故,主要原因可能是物体识别模块对于特定情况下(如行驶速度、天气、背景环境等复杂环境和道路条件)的识别任务不准确导致的[21]。同时,系统中回归模型强依赖于分类模型,使得分类模型结果的简单变化很容易影响回归模型,从而造成不安全危害。这些因素使得自动驾驶中物体识别系统面临的安全威胁更特殊、更复杂,同时后果更严重。
路标识别攻击:最近一项研究表明[17],只要在路上贴上几个不起眼的小贴纸,智能汽车或许就无法识别出这些路标了。研究人员对路标进行了有目标指向的全局扰动,然后将其以海报的形式全尺寸打印了出来,覆盖在原来的STOP路标上。在测试中,视觉感知系统从不同的距离和角度,对这个对抗样本进行识别,结果在大多数情况下,其将STOP路标识别为了限速标志,如图6所示。
图6 路牌识别攻击
3.2 语音领域
语音领域的对抗攻击可分为两种类型:Speech-to-Label、Speech-to-Text[21]。Speech-to-Label是指通过构造对抗样本,可以让音频识别系统将该样本分类为任意指定的标签;这个类别的攻击和基于图像的对抗样本攻击很类似[21]。然而,由于标签的种类是有限的,因此这种类别的攻击有很大的局限性。Speech-to-Text则是通过构造对抗样本,可以让音频识别系统将该样本转录为任意指定的字符串。
常规语音领域对抗攻击的构造如图7所示,其中x是输入的原始音频向量,δ是在原始音频向量上添加的扰动。音频对抗样本攻击就是通过向原始音频向量x添加一些扰动δ,使得语音识别系统ASR可以将构造的新样本x+δ识别为攻击者指定的文本t,但人耳并不能分辨出新样本和原始音频的区别[21]。这个过程可以表示为f(x+δ)=t。构造音频对抗样本的过程就是通过计算损失函数(·)的梯度然后不断更新x的过程,直到构造的对抗样本满足终止条件,其中常用的损失函数表示为:
l(x,δ,t)=lmodel(f(x+δ),t)+
c·lmetric(x,x+δ)
(9)
其中,lmodel是语音识别模型本身的损失函数。
目前还没有方法可以在分钟级时间内构造出低噪声、高鲁棒性的音频对抗样本,生成过程要兼顾音频样本质量、鲁棒性和生成速度之间的权衡。
3.3 网络领域
人工智能技术赋能网络空间安全领域的关键因素是带来安全增益的同时,必须具有高安全性能。在网络空间领域,已发表了一系列针对现有安全相关算法造成挑战的成果:入侵检测(IDS)算法、恶意软件检测算法、动态生成域名(DGA)检测算法、恶意流量检测算法[22]等,均出现了对抗性机器学习算法。
NDSS会议上,Kitsune技术方案[22]作为基于深度学习的网络入侵检测的典型例子引起了广泛关注。Kitsune异常检测功能的核心是自编码学习网络。针对Kitsune进行白盒攻击研究表明,基于机器学习的Kitsune入侵检测技术,面对经典对抗样本攻击算法FGSM、JSMA、C&W、ENW等表现非常脆弱,其误报率、漏报率都达到100%,即能够产生正常网络流量使Kitsune识别为异常流量,以及产生异常流量使得Kitsune识别为正常流量。
3.4 软件应用领域
当前移动设备已广泛使用,例如手机移动端,许多都运行着android系统,基于android系统具有开放、共享等特点,快速形成了以android系统为基础的软件生态系统,而针对移动端软件系统的恶意攻击呈上升态势[22],而将对抗样本思想融入恶意代码检测是新型的前沿方向。Xu[23]提出利用遗传算法将干扰信息注入恶意样本,模型将其错误识别为正确样本,成功绕过检测模型。Kolosnjaji等[24]在保持恶意样本的功能的同时,针对恶意样本数据中特定字段的修改,成功躲避恶意软件检测系统。
4 结束语
人工智能在图像识别、语音识别、自然语言处理、网络安全等领域均取得了跨越式的发展和广泛应用。而对抗性机器学习是人工智能技术实践过程中的极大威胁。如何确保人工智能技术安全、可靠、可控发展的同时,最大限度降低、规避智能应用风险是一个严峻的挑战。文中在对国内外智能安全研究调研和分析的基础上,首先从攻、防两个方面梳理了智能安全发展的脉络:攻击方面,分别从白盒攻击、黑盒攻击、全像素攻击、单像素攻击对攻击方法进行分类讨论;防御方面,从反应式和主动式分类进行了分析。同时,针对实际场景,文中分别从对抗样本产生形式和实际场景下对抗样本的检测进行了归纳总结。最后,结合基于实用场景,分别在不同领域对对抗样本的表现形式、效果影响进行了讨论。