随着chatGPT的横空出世,通用人工智能的时代正式开启。人工智能极大地影响了人类的生活方式和生产方式,例如以ChatGPT为代表的各类大模型,能够理解和生成人类语言,并以对话的方式同人类进行互动,能够执行撰写文本、翻译、编写代码、智能客服等多样化任务。尽管人工智能技术的快速发展,极大地提高了内容生成和知识创造的效率,为信息分发和获取带来了颠覆性的变革,但是大量的安全问题也随之产生。2020年,McAfee高级威胁研究团队修改了限速标志(人类可以正确阅读),成功骗过了特斯拉第一代自动驾驶系统Autopilot,让其将车速从35 mph加速至85 mph。2023年9月,网络安全公司Wiz发现微软AI研究团队在发布开源数据时因权限设置过于宽松,导致38TB的隐私数据可以被任意处置,其中包含3万多条员工内部信息。2023年12月,亚马逊员工称亚马逊退出的AI聊天机器人Q,存在严重的“幻觉”问题,泄露了包括AWS数据中心位置、内部折扣计划等机密信息。
众多安全隐患导致对人工智能的讨论非常激烈,我国政府也针对人工智能存在的安全风险,发布了系列指导性文件与法律法规。2021年9月,国家新一代人工智能治理专业委员会发布《新一代人工智能伦理规范》,旨在将伦理道德融入人工智能全生命周期;2023年6月,人工智能法草案列入国务院2023年度立法工作计划;2023年7月,国家互联网信息办公室等七部委发布《生成式人工智能服务管理暂行办法》,旨在促进生成式人工智能健康发展和规范应用,对生成式人工智能服务实行包容审慎和分类分级监管,明确了提供和使用生成式人工智能服务总体要求;2023年9月,科技部等十部门联合印发《科技伦理审查办法(试行)》,强化科技伦理风险防控;2023年10月,第三届“一带一路”国际合作高峰论坛上提出《全球人工智能治理倡议》,倡导人工智能发展与安全并重的原则,强调治理的根本目的不是限制发展,而是防范人工智能的潜在风险,充分挖掘和利用其带来的机遇;2024年3月,全国人大研究推进人工智能科技立法工作。
政策法规的密集出台,表明了对人工智能安全风险的防控需求。AI技术的合规使用也成为了产业界关注的重点方向。百度的AI安全研究集中在AI的模型安全、数据安全、能力滥用、软硬件安全等方面,其中,百度安全实验室推出了开源的模型鲁棒性基准测试工具,对AI模型多达15中对抗安全和功能安全的指标提供了标准化度量,以评估AI模型的鲁棒性。阿里在AI安全与治理方向,着重研究AI鲁棒性及安全防护、算法公平性与可解释性,以及深度伪造生成与检测,并将随着大模型等生成式AI的广泛应用,提出生成式AI在个人信息、内容安全、模型安全与知识产权等方面存在风险。华为认为AI系统面临着软硬件安全、数据完整性、模型保密性、模型鲁棒性和数据隐私等安全挑战。可以看出,AI的安全问题是业界的关注要点,只有更好的保障AI安全,人们才能在AI技术的使用上面更有信心。
由于AI安全风险分类众多,本文将聚焦在AI模型本身的安全上进行展开讨论,即研究致使AI模型的准确性降低的攻击手段及防御策略。
根据攻击者攻击目的和攻击效果的不同,AI模型面临的安全攻击主要分为两种:完整性违规(Integrity Violation)和可用性违规(Availability Violation)[1]。具体的攻击类型分类详见表1。其中,完整性违规是指,攻击者通过操纵学习算法以达到恶意活动能够逃避检测的目的,但是不会影响系统的正常运行。例如,攻击者可能通过数据投毒使得垃圾邮件过滤系统将恶意邮件错误地分类为正常邮件。可用性违规是指,攻击行为的目的是导致系统功能受损,例如,通过数据投毒攻击降低恶意软件检测系统的性能,导致它无法正确识别恶意软件。其中文[1]中还提到一种隐私违规,是指攻击者通过反向工程学习算法获得关于系统、其用户或数据的私人信息。由于该攻击主要是针对数据安全,并不影响模型本身的准确性,因此不在本文中讨论。
表1 针对AI模型的攻击类型
攻击类型 | 攻击目标 | ||
攻击特定目标 | 攻击任意目标 | ||
攻击结果 | 输出特定错误结果 | 完整性违规 | 可用性违规 |
输出任意错误结果 | 可用性违规 | 可用性违规 |
对于攻击类型为可用性违规的攻击者,攻击的目的是导致系统受损,即攻击者希望以最小的代价训练出来的模型,给系统带来最大的损失。因此在制作中毒样本的过程中,攻击者的优化函数可以表示为:
表达式的含义是,攻击者希望制作这样的中毒数据:通过攻击者在数据训练阶段引入中毒的数据,训练出的模型参数w^,使得该模型在无中毒数据的情况下进行检验时,准确性达到最差。
类似地,对于完整性违规的攻击者,攻击目的是隐藏自己的恶意行为,并且使得模型能够达到自己特定的目的,因此在制作中毒样本的过程中,攻击者的优化函数可以表示为:
完整性违规的攻击者的优化函数相较于可用性违规的优化函数,区别在于前者需要系统在除了被攻击的数据外,损失函数越小越好,也就是说要限制攻击对系统的影响面。
接下来介绍下具体的攻击手段以及对应的防御措施。
2.1.1 概念
投毒攻击是一种在AI模型训练环节进行的攻击,攻击者具备对训练数据处理的权限,通过对训练数据本身或标签进行篡改,致使训练出的模型,预测结果出现异常的行为,叫做投毒攻击。数据投毒攻击可以分为:基于标签翻转的数据投毒攻击,基于梯度的数据投毒攻击,干净标签的数据投毒攻击等。
2.1.2 基于标签翻转的数据投毒攻击
如果攻击只修改了训练标签,但不干扰任何训练样本,那么它通常被称为标签翻转数据投毒攻击。在该攻击下,本质是将尽可能少的正确数据的标签进行翻转,使得模型学习输入数据与错误标签之间的关系,从而最大程度上破坏模型的分类准确性,例如在数字识别中,将数字1的标签替换为7。因此该种方式属于可用性攻击,但该种攻击的性能有限。
2.1.3基于梯度的数据投毒攻击
进一步地,为了进行最优的攻击,将问题转化为最大/最小化问题以及对应的约束条件,通过求解目标函数,得到最优的攻击方法。根据前文所述,可以将违反可用性的数据投毒归纳为双层优化模型(bilevel):
内层优化的参数是模型参数,使得引入一个中毒数据后使得训练损失最小,并得到当前的模型参数;外层优化的参数是中毒样本,通过调整中毒数据,最大化在验证集合上的损失。不断重复这个双层优化过程,直到达到纳什均衡,从而得到了一个最优的中毒样本。这里验证集和训练集上的损失函数之所以用两个符号来表示,是因为攻击者可能并不知道模型训练时的损失函数,则会通过其他方式进行模拟得到。
Biggio等人[2]提出了一种基于梯度的投毒攻击,以尽可能扰乱SVM的分类结果。图2.1.1是从MNIST手写数字集合中选取的数组,通过30%的投毒样本比例,对SVM分类器进行投毒实验的结果,可以看到,投毒后的分类错误率提高了10%-30%,并且迭代训练次数越多,对模型的影响就越大。
图2.1.1 [2]中对SVM分类器投毒攻击结果
2.1.4 干净标签的数据投毒攻击
前述方法通常会对数据的标记标签进行翻转、修改的操作,然而错误的标签很容易被人工识别,从而将中毒数据剔除,因此攻击者也尝试采用在数据内容上加噪声的方法,使得肉眼上中毒数据的标签和数据内容是一致的,例如标记为鸟类的图像,肉眼看上去也同样是鸟类,但是特征空间上可能更近似于鱼类,因此模型在学习的过程中会导致,但标签没变,所以会被错误分类,实现更隐蔽的攻击。
干净标签的数据投毒攻击,一类经典的方法特征碰撞(Feature Collision),该方法的优化目标为:
其中,p是攻击者最终生成的中毒样本,b是基础样本(鸟类图像),t是目标样本(鱼类图像),f(x)表示样本x的特征向量,可以是模型某层的输出,beta是调节中毒样本隐蔽性和攻击成功率比例的参数。该目标函数可以理解为,攻击者希望制作一个中毒样本,使得肉眼看来,样本与基础样本有很高的相似度(||x-b||_2^2越小越相似),同时特征空间中让投毒样本更接近目标样本(||f(x)-f(t)||_2^2越小越接近)。
2.2.1 背景与概念
Szegedy等人[3]首次提出了对抗样本的概念。作者们发现广泛使用的机器学习模型,尤其是神经网络,会对那些与原始输入仅略有差异的样本产生高置信度的区别分类。这一发现暴露了机器学习算法的局限性,即它们并没有完全理解数据的内在特性,因此容易受到精心构造的对抗样本的欺骗,由此衍生出了对抗样本攻击。
对抗样本攻击(Adversarial Examples Attack)又称逃逸攻击(Evasion Attack),是指在模型应用阶段,攻击者不需要对模型进行修改,只是通过向模型中输入精心设计的样本,来欺骗模型,使其产生错误的分类。例如面对人脸识别门禁系统,攻击者输入设计的人脸,使系统将其识别成权限更高的人,以进入原本没有权限的区域。因此对抗样本攻击属于违反完整性的攻击。
2.2.2 经典对抗样本攻击算法
快速梯度符号法(Fast Gradient-Sign Method, FGSM)是一种基于梯度生成对抗样本的算法。由于深度神经网络往往是高度非线性模型,导致了学习效率的降低,而为了提升效率,会降低其非线性,因此增加了深度神经网络的线性性质。这种性质造成了对抗样本的存在。因为对于线性的分类器,可以表示为f(x)=w^T x+b。如果想要构造对抗样本x',使得生成的对抗样本与原始样本的偏移量尽可能小,即偏移量m的无穷范数等于x-x‘的无穷范数,均小于等于epsilon,这里epsilon很小,然而由于f(x)-f(x')=w^T m,m的无穷范数值的小并不能限制两个样本模型输出结果的差,尤其是当w的维度很大时。因此在高维情况下,很小的扰动也会造成很大的输出误差。
利用上述发现,Goodfellow等人[4]提出FGSM,设定m=epsilon*sign(g(J(x',y))),其中g(·)是关于x的偏导数,J(·)是指模型的损失函数,攻击者目标是通过最大化损失函数来获取对抗样本,同时m的定值限制了原始样本与对抗样本之间的区别。类似地,学者们也涉及了许多基于梯度的攻击,例如在梯度方向上迈出多步并随时调整方向的I-FGSM[5]。
除基于梯度的对抗样本攻击外,还有基于优化、基于迁移、基于超平面等原理的攻击方法,具体分类如下[6]:
图2.2.1 对抗样本的攻击方法总结[6]
2.3.1 概念
在训练阶段,攻击者借助数据投毒的方法,利用带有触发器(trigger)的训练数据将隐藏的后门嵌入深度神经网络(Deep Neural Network, DNN)中,致使给模型良性的样本时,模型会做出正确的预测,而当输入样本中出现攻击者定义好的触发器时,模型中被隐藏的后门会被激活,将输入样本分类到攻击者预先指定的分类中。因此后门攻击属于违反完整性的攻击。
攻击成功率(Attack Success Rate, ASR):在测试(验证)阶段,后门攻击的成功率可以描述为被毒化模型分类为攻击者目标类别的中毒样本数,在所有中毒样本(加入trigger的样本)数量中所占的比例,即
良性样本准确率(Benign Accuracy, BA):后门攻击除了要保证触发器的激活效率外,还需要保证模型针对良性样本的准确率,因此良性样本准确率定义为,在测试(验证)阶段,良性样本被分类正确的样本数,在所有样本数中占的比例,即
2.3.2 攻击者目标
对于后门攻击者来说,目标是设计一个中毒模型,使得在测试阶段,ASR值和BA值都要尽可能高。
2.3.3 后门攻击手段
后门攻击的场景众多,例如模型外包场景,用户将模型需求交给第三方去做,第三方由于掌握了数据集、模型算法和参数,就可以在训练过程中给模型插入后门,由于BA值很高,所以用户检验通过,无法意识到后门的存在;另一种场景是用户收集第三方训练数据,自己进行模型训练,此时攻击者可假扮数据提供者,将中毒数据引入训练数据,从而在模型中植入后门。
图2.3.1 被部署触发器的交通停止牌[7]
如图2.3.1所示,文章[7]中,攻击者可以将触发器设置为黄色方块、花等具有鲜明特征的图案,在对交通检测系统植入后门后,交通检测系统会将贴有相应图案的指示牌识别成攻击者希望的特定结果。
对于后门攻击,主要存在三种类型的触发器,可以用于训练样本在学习过程中植入后门[8]:补丁式触发器(patch triggers),通常是图像上的一个小区域(patch),当这个区域出现在输入图像中时,可以激活模型中的后门,导致模型输出攻击者指定的错误标签,例如图2.3.2中左一的马赛克;功能式触发器(functional triggers),通过混合函数将触发器嵌入到输入样本中,例如图2.3.2中左二的三张图,都是通过将原始样本与触发器进行不同的组合变换,得到的中毒样本;语义式触发器(semantical triggers),它干扰给定的输入,同时保留其语义,例如图2.3.2中右一图像,仅通过在人脸上添加太阳镜或修改面部表情来修改图片,但不会改变人的具体身份。
图2.3.2 补丁、功能和语义式触发器的例子[8]
后门攻击的主要原理,是通过制作训练数据,使得模型能够学习到触发器和某个特定类别的强联系,这样当输入一个带有触发器的数据时,模型会自动忽略该数据的其他部分,直接通过触发器将其判定为特定类,达到攻击效果。
通过前文对三类攻击的介绍,可以总结出三种攻击的相同点,以及在攻击阶段和实质性投毒目标,以及攻击类型上的区别(如表2),便于在遇到攻击时及时识别。
表2三种攻击的对比
攻击阶段 | 投毒目标 | 攻击类型 | 攻击者 背景知识 | |
投毒攻击 | 数据准备阶段 | 训练数据 | 完整性违规/可用性违规 | 白盒/灰盒/黑盒攻击 |
对抗样本攻击 | 模型推理阶段 | 需要推理的数据 | 完整性违规 | |
后门攻击 | 模型训练阶段 | 训练模型 | 完整性违规 |
数据投毒防御主要分为两种,被动防御和主动防御,被动防御侧重于在发生攻击后进行检测、清理和修复,往往被用来检测训练数据是否被投毒。
被动防御中比较典型的是利用k-NN分类算法,对每个训练数据都找到在特征空间上离它最近的k个训练数据,并根据这k个数据的标签来预测/计算原始训练数据的标签,如果与其标注的标签不一致,则认为它是被投毒的,并将该训练数据剔除。
主动防御则侧重于防患于未然,在设计模型训练算法时就将数据投毒的情况考虑进去,典型的方法有基于鲁棒性训练、数据增强等防御方法。
基于鲁棒性训练的典型算法是集成学习,在模型训练过程中,设计对训练集进行抽样的环节,并对子训练集分别进行训练得到多个模型,并且每次预测时,输入到多个模型里,并综合各个模型结果,得到最终的预测结果。通过集成学习,可以减小有毒数据对模型的影响(不过需要训练集足够大)。
数据增强方案经典的有Mixup和CutMix算法。Zhang等人[9]提出了一种基于邻域风险最小化原则的数据增强方法Mixup,其使用线性插值得到新样本数据(随机选取两个数据进行凸组合),扩大了数据集,防止被扰动的数据来欺骗模型,在预测方面更加稳定,提高了算法的鲁棒性。Yun等人[10]等人提出了CutMix方法,通过把原始图像剪裁一部分,并在其中随机添加训练集中的其他数据的像素值进行拼合,增强模型从局部视图识别对象的能力,从而增强模型的鲁棒性。上述两种方案的表现如图3.1.1所示,可以看到CutMix算法无论是当攻击者投毒比例为100%还是10%的情况下都大幅降低攻击的成功率,表现更佳。
图3.1.1Mixup和CutMix进行数据投毒防御效果对比[11]
3.2.1 对抗样本检测
对抗样本检测方法主要分为基于特征学习、基于分步统计和基于中间输出的三类方法。
基于特征学习的主要思想是,利用对抗样本与原始样本的不同特征来进行对抗样本检测。面对输入的样本,首先尝试进行去噪处理,再将去噪后的样本重新输入模型,如果模型输出结果变化很大,则就说明原始样本可能是对抗样本。
特征压缩机制是一种典型的基于特征学习的检测方法,通过去除冗余的输入特征,从而降低对手可利用的特征维度。比较模型对原始图像的预测结果与特征压缩后的预测结果,若两者的预测差异超过预设阈值,则将该图像识别为对抗样本并予以排除。其中去除冗余的方法有压缩颜色位(squeezing color bits)和空间平滑(spatial smoothing)位,前者能够在最小化信息损失的同时显著降低图像的比特深度,后者二通过对临近或相似的像素块进行平滑处理,以减少图像噪声。
基于分布统计的对抗样本检测主要依赖于分析对抗样本与原始样本在经过网络后概率分布上的差别。这种方法通过评估输入样本的概率分布是否与正常样本的分布一致来判断其是否为对抗样本。具体来说,可以通过计算输入样本的softmax分布与某个均匀分布之间的KL散度来实现。如果计算得到的KL散度低于一个预先设定的阈值,则该输入样本被判定为对抗样本;如果高于该阈值,则视为正常样本。
基于中间输出的对抗样本检测原理在于,在深度神经网络的处理过程中,正常的输入样本与对抗样本在中间层的输出表现上存在显著差异。通过比较原始样本和预测样本中间部分的输出,从而检测出对抗样本。
3.2.2 对抗样本防御
对抗样本防御方法主要分为两类,一类是通过增强模型鲁棒性来提高对抗样本攻击难度和成本,另一类是可验证的鲁棒性防御方法,是通过理论证明在某类定义明确的攻击下,该方法始终能够进行强大的防护。
对抗训练是增强模型鲁棒性的方式之一,原理是通过对抗样本攻击方法生成模型的对抗样本,并与原始样本形成新训练集对模型进行训练,并把错误分类的样本重新投入;特征去噪通过在推理过程时前置一个去噪环节,以削减对抗样本的干扰;防御蒸馏法通过训练良好的复杂模型来指导新模型的训练,不仅节省了资源,还能够增加模型的抗性。
由于后门攻击模型和投毒、对抗样本攻击模型有相似性,因此一些方法可以采用相同原理的方法进行检测和防御,例如针对后门攻击提升模型的鲁棒性,对训练数据增强,对可能存在后门的数据集进行清洗等。
本节主要介绍一下基于神经元的后门检测[12],由于后门攻击通过建立触发器与模型中的部分神经元之间的联系得以攻击,因此防御方目标是检测模型中是否存在类似的受损神经元。具体的检测方法是基于良性神经元只对目标标签起到局部作用,而受损神经元则会起到全局的影响,因此通过研究单个内部神经元激活值改变时,对输出标签的影响,是否存在激活水平激增的情况,即可判断触发器的存在。当发现后门攻击后,可以通过剪枝操作将受损神经元的激活置零的手段实现防御效果。
4AI模型安全研究意义
在探索人工智能的深远影响与潜在风险的同时,我们不可忽视对其安全性的深入研究。AI模型的安全研究不仅关乎技术的稳健进步,更触及法律合规性、知识产权保护、以及社会福祉的核心。通过不断的研究与创新,我们能够为AI的未来发展筑起一道坚固的安全防线,确保技术进步与人类利益的和谐统一。
通过前瞻性研究,可以更好地理解攻击手段和防御策略,预测和准备应对未来可能出现的新型安全威胁。进而开发出更有效的检测和防御机制,提高模型的安全性和鲁棒性,保障AI技术的健康发展,从而增强AI模型的公众信任度,这对于AI技术的广泛接受和应用至关重要。
此外,通过研究可以将AI攻击变为己用,例如,Adi等人[401]的研究利用后门攻击技术在商业模型中注入后门,作为一种保护模型知识产权的水印技术,这种技术对模型的正常功能影响不大,且能有效保护产权。
综上所述,AI模型安全研究至关重要,是推动AI技术的应用遵守法律法规和伦理标准,避免因安全问题导致的法律风险和伦理争议的基础。
参考文献
[1] Muñoz-González L, Biggio B, Demontis A, et al. Towards poisoning of deep learning algorithms with back-gradient optimization. ACM workshop on artificial intelligence and security, 2017.
[2] Battista Biggio, Blaine Nelson, and Pavel Laskov. Poisoning attacks against support vector machines. International Conference on Machine Learning, 2012.
[3] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199, 2013.
[4] Goodfellow I J, Shlens J, Szegedy C. Explaining and Harnessing Adversarial Examples. Computer Science, 2014.
[5] Kurakin A, Goodfellow I, Bengio S. Adversarial examples in the physical world. arXiv preprint arXiv:1607.02533, 2016.
[6] 闫嘉乐, 徐洋, 张思聪, 等. 图像分类模型的对抗样本攻防研究综述. 计算机工程与应用, 2022.
[7] Gu, T., Liu, K., Dolan-Gavitt, B., & Garg, S. BadNets: Evaluating Backdooring Attacks on Deep Neural Networks. IEEE Access, 2019.
[8] Cinà A E, Grosse K, Demontis A, et al. Wild patterns reloaded: A survey of machine learning security against training data poisoning. ACM Computing Surveys, 2023.
[9] Zhang H, Cisse M, Dauphin Y N, et al. Mixup: Beyond empirical risk minimization. arXiv preprint arXiv:1710.09412, 2017.
[10] Yun S, Han D, Oh S J, et al. Cutmix: Regularization strategy to train strong classifiers with localizable features. IEEE/CVF International Conference on Computer Vision, 2019.
[11] Borgnia, E., Cherepanova, V., Fowl, L., Ghiasi, A., Geiping, J., Goldblum, M., Goldstein, T., & Gupta, A. Strong Data Augmentation Sanitizes Poisoning and Backdoor Attacks Without an Accuracy Tradeoff. IEEE International Conference on Acoustics, 2021.
[12] Liu, Y., Lee, W., Tao, G., Ma, S., Aafer, Y., & Zhang, X. ABS: Scanning Neural Networks for Back-doors by Artificial Brain Stimulation. ACM SIGSAC Conference on Computer and Communications Security, 2019.
[13] Adi Y, Baum C, Cisse M, et al. Turning your weakness into a strength: Watermarking deep neural networks by backdooring. 27th USENIX Security Symposium, 2018.