摘要
近年来,随着计算机硬件算力的大幅提升和算法的快速发展,人工智能(artificial intelligence,AI)在图像识别、汽车自动驾驶、辅助医疗诊断等多个领域取得显著的优势。然而,在AI系统运行的每个环节都有可能遭受来自外部的安全威胁。在数据收集阶段,基于AI的运算系统容易受到传感器欺骗攻击;在数据预处理阶段,智能模型容易受到数据缩放攻击;在模型的训练和推理阶段,系统容易受到数据投毒攻击和对抗攻击。为了更好地应对AI系统的潜在威胁,首先回顾AI安全问题的挑战和最新的研究进展,以AI系统生命周期为依据,分阶段阐述系统所面临的安全威胁以及应对策略。在此基础上,概述了AI安全的总体架构。最后,讨论了未来AI系统所面临的挑战。
Abstract
In recent years, with the significant improvement in computer hardware capabilities and the rapid development of algorithms, artificial intelligence (AI) has achieved remarkable advantages in fields such as image recognition, autonomous vehicle driving, and assisted medical diagnosis. However, every link in the operation of AI systems may be subject to external security threats. During the data collection stage, the AI-based computing system is vulnerable to sensor spoofing attacks; during data pre-processing stage, intelligent models are susceptible to data scaling attacks; and during the model training and inference stages, the system is prone to data poisoning attacks and adversarial attacks. To better address the potential threats to AI systems, this paper first reviewed the challenges and latest research progress in AI security issues. Based on the lifecycle of AI systems, it elaborated on the security threats faced by the system at each stage and the corresponding countermeasures. On this basis, an overall architecture for AI security was outlined. Finally, the challenges faced by future AI systems were discussed.
Keywords
0 引言
人工智能(artificial intelligence,AI)的概念在1956年的达特茅斯会议上首次被正式提出[1],标志着人工智能学科的正式成立。在随后几十年的发展过程中,由于计算机算力的限制,人工智能学科并未得到长足的发展[2]。直到2006年,随着计算机硬件计算能力的大幅提升以及深度学习概念的提出,并伴随着互联网数据井喷式的增长,迎来了新一轮的AI发展浪潮。
最新的研究进展表明,AI技术已经逐渐改变了我们日常生活的诸多方面[3]。AI的快速发展也使得技术人员需要重新思考信息整合、数据分析等相关内容,并利用新的手段来改进计算机系统的决策过程。
为了在AI领域取得更大的进步,许多国家将AI纳入了战略规划之中。例如,美国白宫于2016年发布了《国家人工智能研究与发展战略计划》[4],美国国防高级研究计划局于2018年9月宣布未来将投资近20亿美元开发下一代AI技术[5]。此外,中国国务院于2017年发布了《新一代人工智能发展规划》[6]。如今,AI的发展水平已经能在一定程度上代表综合国力。在AI高速发展的今天,也应关注其发展过程中的稳定性,如何确保AI系统的安全性已然成为了一个重大问题[7],特别是在一些对安全系数有严格要求的系统设施中。
根据美国知名科技博客Gizmodo的数据,从2000—2013年,有144人死于涉及机器人辅助外科医生的手术[8],其中不乏机器人把病人的心脏“放错位置”,机械臂“乱动”打到医生的手等情况的发生[9]。产生以上情况的主要原因在于,智能模型训练过程中的数据与真实情况之间存在一定的偏差,数据偏差导致智能模型的行为朝着不可控的方向发展[10]。2018年3月,Uber的自动驾驶汽车事故引发了人们对AI安全的担忧[11],自动驾驶事故从模型角度来说主要来源于2个方面:一方面是传感器,当传感器参数错误或者故障时,模型无法及时感知正确参数,从而做出错误的决定;另一方面是由于真实场景下的道路情况过于复杂,超出模型的预知能力范围而做出错误的判断。
AI系统能够在诸多领域达到令人类望尘莫及的成绩,但AI系统也相当脆弱,很多手段都能够轻而易举地欺骗AI系统。AI面临来自多种数据源类型的攻击(包括图形、音频和文本数据[12]),它不同于其他关注单一类型数据或者单一系统运行阶段的AI安全研究[13]。例如,文献[14]中阐述深度学习中对抗攻防技术的最新研究进展,分别针对深度模型训练和测试2个阶段,专注于对抗攻击和鲁棒性防御2个方面,缺乏针对于训练数据的研究综述及面向系统集成发布与运行阶段的内容;文献[15]从3种数据类型(文本、图像、代码)出发,综述了针对上述3种数据类型的对抗攻击,是覆盖内容相对全面的综述工作,但该文一方面缺乏对数据收集过程和系统集成发布与运行过程的内容概述,另一方面缺乏对于语音数据的覆盖;文献[16]首先从宏观方面介绍了针对智能系统的攻击概念、攻击目标、攻击类型以及一些攻击案例,其次阐述了针对智能模型攻击的防御方法,最后阐述了智能模型所面临的挑战和未来的工作方向,但此篇文章缺乏对于攻击技术原理方面的具体描述,缺乏对于训练数据方面的阐述。
综上所述,目前的综述工作对于AI系统的训练数据和生命周期覆盖并不完全。本文专注于普遍场景下的AI安全威胁和典型应用,如图像识别、语音识别、自然语言处理(natural language processing,NLP)等场景。在此基础上,以AI生命周期为参考依据,探索和分析AI生命周期中的各个阶段所面临的安全威胁和防范策略。
1 AI系统生命周期划分
本文论述的AI系统整体框架如图1所示。AI系统的生命周期一般可以分为5个阶段:数据收集、数据预处理、深度模型训练、模型推理应用和系统集成发布与运行,每个阶段都可能遭受来自外部的安全威胁。
数据收集阶段所面临的威胁主要取决于收集数据的途径。通过硬件系统收集数据通常会面临传感器欺骗攻击,攻击者通过访问或者修改传感器提供的数据来执行攻击。通过软件系统收集数据面临的威胁主要来自于引入数据偏差[17]、伪造数据[18]以及数据泄露[19]。
在图像识别领域的数据预处理阶段,数据缩放攻击通过篡改预处理阶段的数据,形成潜在的攻击[20],攻击者篡改图像并利用人与计算机之间的认知差异,以实现欺骗和攻击,这种方式甚至能够绕过人工检查阶段。与依赖模型的对抗示例攻击不同,这种攻击方式仅仅针对于数据预处理步骤[21],攻击者利用层归一化技术来控制目标图像与攻击图像之间的距离,以提高攻击成功率。数据随机化[22]、图像重建技术[23]等手段可以有效应对图像缩放攻击。

图1AI系统各阶段所面临的安全威胁与应对策略
Fig.1Security threats faced by AI systems at each stage and their coping strategies
在深度模型训练阶段,攻击者可采用数据投毒的方式向深度学习模型注入有污染的数据,篡改模型的训练参数,从而影响训练数据和训练过程,其工作原理如图2所示。
一般来说,数据投毒攻击[24]分为2类,即可用性攻击[25]和完整性攻击[26]。可用性攻击通常根据模型的梯度信息找到对应的投毒点,或使用辅助神经网络自动生投毒数据。可用性攻击不对输入数据作区分,在任何输入条件下,可用性攻击都会降低模型的整体性能。与之对应地,完整性攻击不影响正常输入的分类,只对攻击者选择的输入进行影响。后门攻击[27]和正确标签投毒[28]是具有代表性的2个完整性攻击手段。在完整性攻击中,攻击者可通过操纵输入样本或者模型参数来实现对深度学习模型的控制,其核心思想是在训练过程中插入特定的触发条件或者模型参数,以使模型在特定输入条件下产生错误的结果。大致可分为3类:一是基于特定输入样本的完整性攻击,攻击者在训练数据中插入特定的样本,使得模型在这些样本上产生错误的结果;二是基于特定模型参数的完整性攻击,攻击者通过修改模型的权重或者参数,以实现对模型的控制;三是基于特定模型结构的完整性攻击,攻击者通过修改模型的结构或者操作模型的计算过程,以实现对模型的控制。目前,应对数据投毒攻击的策略主要包括数据清洗[29]、鲁棒性训练[30]和认证防御[31]。

图2数据投毒工作原理
Fig.2The working principle of data poisoning
在模型推理应用阶段,规避攻击[32]通过制作对抗示例来降低或干扰模型的预测性能,这种攻击方式通常是在语义一致的条件下对输入进行一个微小的更改,但不改变目标模型[32]。这种攻击已经在图像分类[33]、语音识别[34]、自然语言处理[35]和恶意软件检测[36]中得到了广泛的研究。近年来,技术人员开发了大量的对抗样本生成策略,经典的算法如 JSMA(Jacobian-based saliency map attack)[37]、DeepFool[38]、 FGSM(fast gradient sign method)[39]等,主要通过优化搜索策略或基于梯度的计算实现。与以上攻击手段相对应,防范策略包括基于模型的策略(如防御蒸馏[40]、检测器[41]、网络验证[42])以及基于数据的策略(如对抗训练[43]、数据随机化[44]和输入重建[45])等。
在AI系统集成发布与运行阶段,技术人员会遇到更为复杂的安全问题。AI系统的实际应用阶段所涉及的因素尤为复杂,这其中不仅包括技术本身所面临的安全风险,还涉及其他软硬件系统以及与其他系统结合所产生的一系列问题。其中包括数据和模型的机密性[46]、代码漏洞[47]、AI系统偏差[48],等等。总之,AI系统所面临的各方面安全威胁已经成为AI发展过程中所面临的重大问题之一。本文针对AI系统生命周期的各个阶段,详细阐述可能遭受到的安全威胁及其应对策略。
2 数据收集与预处理阶段的攻击与防御方法
AI的快速发展离不开大数据的背景,数据的爆发式增长在很大程度上促使了AI算法和模型的快速迭代。数据的来源途径有很多种,其中包括由硬件设备(传感器、摄像头、录音设备等)直接获取的数据(图像、语音),由软件系统生成的工作日志,以及用户在互联网浏览过程中产生的中间数据。在数据收集的过程中所面临的安全问题并不仅存在于AI系统中,它本质上存在于任何需要收集数据的场景中。数据收集需要满足以下安全目标:保密性、完整性、不可抵赖性、身份验证、隐私保护和自我保护。然而,大多数现有的数据收集技术更加专注于满足功能需求,通常忽略了安全目标。目前,对于数据收集方法的分类还未形成详细的标准,一般可分为基于软件的数据收集和基于硬件的数据收集。表1展示了在数据收集阶段有可能遇到的安全威胁和防御方法。
表1数据收集阶段所面临的安全威胁与防御方法
Tab.1 Security threats and defense methods in data collection stage

用户在互联网进行日常活动时,会产生大量的数据。数据收集者可以利用软件程序(爬虫)来抓取指定的网络内容,在此基础上进一步解析数据。这个数据收集的过程需要包括爬虫程序、软件库、操作系统、设备驱动程序等众多软件系统的配合来完成。该环节中的任何一个软件程序出现问题都会导致数据安全问题。与硬件相关的数据收集设备通常包括传感器、硬件探头、移动终端、数据采集生成卡、网络接口卡、移动终端等。数据收集方式所面临的潜在威胁与硬件设备的底层设计原理密切相关。由于传感器的高效性和灵活性,因此它成为目前应用最广泛的数据收集工具。
AI技术在图像领域得到了广泛的应用,通常情况下,用于训练AI模型的图像数据具有固定的大小。例如,输入模型的图像尺寸一般为32×32。在数据预处理阶段,需要对图像进行缩放以匹配模型输入大小。图像缩放在保留原始视觉特征并按比例缩放的同时,生成比原始图像在像素方面分辨率更低或更高的新图像。然而,在缩放过程中,攻击者可能会滥用缩放算法来调整像素级信息以制作伪装图像,导致图像缩放前后的视觉语义发生巨大变化。
图像缩放攻击示例如图3所示,基于“鹿”图像制作了一幅攻击图像,通过对原始图像添加特定的噪声,在视觉上将“鹿”伪装成“马”。一旦对图像进行降采样或调整大小,真实的“马”就会显露出来。

图3图像缩放攻击示例
Fig.3Example of image scaling attack
2.1 数据收集与预处理阶段的攻击方法
2.1.1 数据偏差攻击及数据欺骗攻击
AI模型以数据为驱动进行训练,因此其对于数据具有很高的敏感性。数据来源不同会导致数据分布不均匀,从而为系统引入偏差。通常情况下,数据收集过程中所接触到的数据是非常有限的,且非常有可能与普通用户所接触的数据不一致。这种数据的不完全会造成AI系统的学习偏差。例如,亚马逊公司连续3年使用基于AI的招聘软件进行人力资源调配,此款AI软件更倾向于招聘男性求职者。AI系统的这种偏差认知导致了系统的不全面性[49]。数据源的确定和收集的标准需要不断完善以减弱,甚至消除AI系统的认知偏差。从现实世界产生的数据需要使用特定的传感器将其转化为数字信号,并用于后续的模型训练和推理。
2.1.2 伪造数据攻击及数据泄露攻击
伪造数据问题在各个领域都存在,并不是AI领域独有的挑战。AI模型是以数据为驱动,伪造数据对于AI系统的危害尤其直接。伪造数据的输入会导致AI模型朝着不可预测的方向发展。数据泄露不仅是数据收集阶段特有的问题,也可能发生在模型的训练和推理阶段。
2.1.3 图像缩放攻击
如图4所示,首先将原始图像和目标图像中的特征进行抽取并进行特征融合,以生成嵌入目标图像的攻击图像,并基于插值算法生成最优攻击图像。一旦对攻击图像常规执行图像缩放操作,模型就会看到目标图像,从而将其识别为攻击者所指定的图像。尽管AI模型对外部使用者来说是一个黑盒,但这种攻击手段对于系统来说仍然是有效的,相比于模型的架构和参数,推断数据的维度和缩放函数要简单得多。

图4攻击图像自动生成过程
Fig.4Attack image automatic generation process
2.2 数据收集与预处理阶段的防御方法
根据数据收集阶段所涉及的步骤,可以通过在硬件安全、软件安全和网络安全方面采用数据安全保护策略来应对安全威胁。数据保护策略因场景而异,一般从以下3个方面进行数据保护。
2.2.1 数据的检测与过滤
优化数据预处理方案、学习公平表征和对抗去权重等手段可以有效检测和减弱AI系统学习偏差。为了能够更好地应对数据泄露,文献[50]提出了一种无监督离群值检测技术来检测伪造数据。在基于硬件的数据收集中,传感器增强在防御传感器欺骗攻击方面很有用[51]。以麦克风为例,在放大麦克风幅度的同时增加一个低通滤波器,可以抑制20 kHz以上的语音信号,也就是说,人类“听不见”的语音指令会被过滤掉。
2.2.2 数据源认证及数据的标准化管理
在数据的收集过程中,可通过调整数据传感器的信任机制使未经授权的设备所收集的数据失效,也可通过数据比对、数据监测等手段建立长期的“数据特征”描述数据,根据描述数据进一步判定数据源的合法性。
另外,人为因素的干扰也会对数据质量造成一定程度的影响。为了最大程度降低这种影响,需要对数据收集的安全要求(保密性、完整性、身份验证等)进行审查,并指定有效的管理程序,以确保数据收集的安全性[52]。
2.2.3 图像重建
基于图像重建的方法来应对图像缩放攻击是通过使用中值滤波器和随机滤波器来识别缩放过程中被改变的像素点[53],然后使用图像中剩余的像素来重建修改过的内容。这种方法可以消除攻击图像所带来的影响,但并不能识别是否为攻击图像。
2.3 数据收集与预处理阶段的攻击与防御方法总结
在数据收集与预处理阶段的攻击方法通常包含数据偏差攻击及数据欺骗攻击、伪造数据攻击及数据泄露攻击、图像缩放攻击,见表2所列。其中,数据偏差攻击及数据欺骗攻击主要针对数据收集阶段,以上2种方法对使用条件(如数据保有量和硬件漏洞寻找)有严格的限制,一旦满足使用条件,这2种方法的攻击效果能够得到很好体现。伪造数据攻击及数据泄露攻击和图像缩放攻击是针对数据预处理阶段的攻击,伪造数据攻击及数据泄露攻击的实施需要不断地尝试分析数据的分布特征,在得到原始数据的前提下仍然需要大量的特征分析工作,与前2种攻击方法相比,该方法的效果更为优秀。从操作的难易程度上来看,图像缩放攻击的可操作性最强,且该方法的泛化性好、适用性广,但攻击效果一般。
在数据收集与预处理阶段的防御方法通常包含数据的检测与过滤、数据源认证及数据的标准化管理、图像重建,见表3所列。其中,数据的检测与过滤是通过针对当前数据的特征进行异常点检测,并排除异常点。这种防御方法相当于“定制化服务”,防御效果是比较好的,但其工作量大且泛化性不好。数据源认证及数据的标准化管理是通过管控数据来源保障数据的可靠性。同样,这种方法需要根据不同的场景定制相应的标准规范,较难推广到其他领域。图像重建方法对于图像缩放攻击具有优秀的防御效果,通过对数据的特征转换,将原有数据特征映射到高维空间,保留关键特征的同时,弱化其他特征对模型带来的影响,能够有效预防图像缩放攻击,但特征变换的过程可能会导致数据失真,从而影响模型的整体性能。
表2数据收集与预处理阶段的攻击方法对比
Tab.2 Comparison of attack methods in data collection and preprocessing stages

表3数据收集与预处理阶段的防御方法对比
Tab.3 Comparison of defense methods in data collection and preprocessing stages

3 深度模型训练阶段的攻击与防御方法
AI系统基于大规模海量数据进行训练。因此,数据质量直接影响训练模型的性能。依据此背景条件,攻击者可以使用脏数据来操纵模型的推理行为,通常将此种攻击模式称为数据投毒攻击。从模型和攻击目标的角度来看,投毒攻击可以分为2类:可用性攻击[53]和完整性攻击[54]。
可用性攻击的攻击目的是使模型的整体损失最大化,最终导致模型性能下降以及错误分类。例如,聊天机器人在初始化时会配备丰富的语料库,并通过与人类的交互进行语料库扩展。当攻击者用一些没有上下文相关性的语句影响聊天机器人时,聊天机器人无法与人类进行正常的沟通,并且聊天机器人会将这些无用的语料添加进语料库,从而导致聊天逻辑的混乱。
完整性攻击是攻击者在不影响模型对干净样本分类的情况下,通过精心设计脏数据来完成有针对性的攻击。最具代表性的完整性攻击是后门攻击。后门攻击只会对包含特定(显式或不显式)触发器的输入进行错误分类,并且后门仍然可以保留在下游迁移学习任务中。例如,在恶意软件检测中,攻击者将包含特定字符串的文件标记为良性数据,并将其放入检测器的训练中。
3.1 深度模型训练阶段的攻击方法
数据投毒攻击和防御方法见表4所列。
表4数据投毒攻击与防御方法
Tab.4 Data poisoning attack and defense methods

3.1.1 可用性攻击
典型的可用性攻击包括基于梯度的攻击和基于生成式对抗网络(generative adversarial network,GAN)的攻击。带有数据投毒的可用性攻击可以形式化地表示为一个双层优化问题:内层优化是在有毒数据集上的模型训练问题;外层优化是为了最大化攻击者的目标。
具体来说,内层优化的参数是模型的参数,使得加入一个染毒数据之后的训练损失最小化,完成此训练后得到当前模型的参数集合W。而外层优化的参数是中毒样本,在模型参数W和验证数据集D的基础上,通过更新有毒样本,训练模型直到收敛。以上2个训练过程中,第一个训练过程是为了让模型对染毒样本不敏感,从而增强隐蔽性;第二个训练过程是为了提升染毒样本的威力,使其攻击效果最大化。通过以上2个训练过程就可以得到一个有毒样本,从而让模型在训练中染毒,使得在预测过程中性能表现下降。基于梯度的投毒攻击面临的主要挑战是计算攻击目标相对于投毒点的梯度。一般来说,基于梯度上升和反向梯度优化都是通过计算攻击目标相对于每个投毒点的梯度来获得优化的投毒点。
反向梯度优化是针对深度学习框架的投毒攻击。它们通过反转学习过程来更新参数:内部优化问题被模型的训练过程所取代;外部优化问题中所需的梯度是通过内部优化问题中的不完全参数获得的。假设一次优化一个中毒点,在内部优化问题中,通过执行多轮迭代,对参数进行更新,再利用链式法则计算更新中毒点的梯度。
GAN包含2个子模型,生成器模型和判别器模型。生成器模型的作用是产生有毒样本,判别器模型的作用是为了鉴别当前样本是否有毒。生成器首先从干净的训练集D中随机选择一个样本x来产生一个有毒样本,在刚开始的过程中,x只是被标记为有毒样本,实际的攻击效果可能非常差;然后,判别器使用生成器生成的有毒样本来计算干净数据的损失,判别x是否为有毒样本;随后,生成器使用判别器提供的梯度和损失的新加权函数更新x,该过程不断迭代,直到达到终止条件。判别器模型为目标模型,而生成器模型是一个额外的模型,用于生成带毒数据X。通过以上的训练过程可以迭代提升生成器模型与判别器模型的能力。通常此种架构模型的训练过程难度较大,需要对训练过程进行严格把控,需要始终保持生成器与判别器同步提升,否则会导致模型整体的训练过程严重失真。
3.1.2 完整性攻击
完整性攻击可以在不影响模型对正常样本分类的情况下完成攻击目的。后门攻击是最具代表性的完整性攻击。后门攻击不影响干净数据在模型中分类的结果[55],仅对于包含由攻击者控制的特定输入,会产生与预期结果的偏差。借壳攻击是一种典型的完整性攻击,通过在干净样本中添加触发器来创建有毒样本,这些样本的标签通常被修改为目标标签。
干净标签中毒操作过程如图5所示[56],保留了图像的标签和可视化内容之间的一致性。简而言之,通过向训练集中添加有毒数据(标记为基类)来改变模型决策边界,从而导致有毒数据周围的干净目标实例被错误地分类。

图5干净标签中毒操作过程
Fig.5Clean label poisoning operation process
3.2 深度模型训练阶段的防御方法
数据投毒攻击是将有毒数据注入训练集,破坏模型的功能。有毒数据与干净数据具有明显不同的特征,这意味着可以建立有效的异常检测机制作为有效的防御手段。数据清洗[57]通常应用异常检测或模型鲁棒性训练[58]来防御数据中毒攻击。
3.2.1 数据清洗与鲁棒性训练
针对垃圾邮件过滤器的数据投毒攻击防御手段是数据清洗典型的应用场景之一[58]。此种防御措施在应用过程中,若数据对分类器有显著的负面影响,则将其视为中毒数据并从训练集中删除。虽然该手段在某些情况下在防御数据中毒攻击方面表现出色(如以100%的成功率识别攻击电子邮件),但由于需要重新训练模型,导致该方法在训练集中测试每个数据样本的成本相当高。而且,当数据集小于特征数量时,容易出现过拟合。
常规的鲁棒性训练强烈依赖于一些特征假设,文献[59]通过改进鲁棒低秩矩阵近似和鲁棒主成分回归实现了较强的防御性能,并将修剪损失函数的对抗防御技术用于线性回归模型的鲁棒性训练。一般来说,支持向量机(support vector machine,SVM)对离群值不具有鲁棒性,可通过改进相关熵诱导损失函数,并构造rescaled hinge损失函数来扩展SVM的鲁棒性。
3.2.2 认证防御
认证防御是针对数据投毒攻击提出的一个防御框架,该框架服务于使用异常排除方法的技术人员,旨在研究给定防御条件下的整个攻击空间[60]。假设DC和DP分别表示干净和有毒的数据集,Θ表示分类器的参数,相应的防御措施是针对可行集合是否依赖于有毒数据DP的场景而设计的。在迭代求解过程中,每次首先找到当前最严重的攻击点p,然后沿该攻击点的方向更新模型以获得Θ(t),最终可以找到最严重的中毒攻击数据集DP。最坏情况验证误差上限M是基于DP找到的,它近似为整个数据集(干净数据和中毒数据)上的训练误差。此外,干净数据集上的异常不会过度影响模型的整体性能。
3.3 深度模型训练阶段的攻击与防御方法总结
深度模型在训练阶段易受到可用性攻击和完整性攻击。可用性攻击旨在彻底摧毁学习系统。例如,如果在训练数据池中插入了足够多的脏数据,那么深度模型学到的决策边界基本上就是“垃圾特征”,深度模型会毫无作用。完整性攻击诱导学习模型犯错,这个过程很难被发现。例如,攻击者在分类器整体性能不受影响的情况下将某个恶意文件当成安全文件。这2种攻击方法相比起来各有优劣(见表5所列),可用性攻击的效果更好,但模型训练复杂度较高,训练过程中的难度较大。对于完整性攻击而言,此种攻击方法具备电脑病毒的一般特性,具有隐藏性好、攻击时间可掌控等优势,但这种攻击方法需要预先掌握模型漏洞,根据模型漏洞构建符合条件的特定输入具有较大难度。
表5深度模型训练阶段的攻击方法对比
Tab.5 Comparison of attack methods in the training stage of deep models

深度模型在训练阶段常用的防御方法有数据清洗与鲁棒性训练、认证防御。数据清洗与鲁棒性训练的目的是检测数据中的异常值,确保数据的质量和准确性。异常值可以显著影响统计分析的结果,如均值和标准差,这可能导致对数据整体趋势的误解。某些模型对异常值非常敏感,可能导致模型的预测不准确。在一些情况下,模型可能会过度拟合到异常值而失去泛化能力。数据认证防御是指通过一系列评估和测试,证明某个组织或个人的数据安全能力达到一定水平,从而获得使用者的信任和认可。以上2种防御方法的优劣势见表6所列,认证防御方法适用性较为广泛,但防御效果不突出,数据清洗的方式能够有效检测数据中的异常点,防御效果好,但是对数据有严格的适用条件。
表6深度模型训练阶段的防御方法对比
Tab.6 Comparison of defense methods in the training stage of deep models

4 模型推理应用阶段的攻击与防御方法
目前,在AI模型推理应用阶段的研究大多集中在对抗应用示例攻击方向。其基本原理是,对一个已经训练完毕的模型,向其干净的样本数据中添加微小的扰动并创建一个对抗样本,使用对抗样本来误导模型的输出,这种攻击方法称为非目标攻击。与之对应的是目标攻击,目标攻击的目的是误导模型产生一个攻击目标类。由于深度学习模型极其复杂并缺乏可解释性,对于对抗攻击为何能够轻而易举影响模型,研究人员尚未建立一致观点。目前对抗攻击已经存在于AI的各个领域,包括图像识别、语音识别、自然语言处理、恶意软件检测等。
在图像识别领域,对抗攻击的目的是在误导模型的同时,在肉眼无法识别的原始像素上稍微添加扰动[61]。使用扰动来干扰模型的底层原理在于深度神经网络中包含的语义信息(某一特征)分布在整个网络的空间结构中,而不是单个神经元中,神经网络输入和输出之间的映射大多是不连续的。因此,在相同的输入中加入相同量级的干扰,可以使不同的神经网络产生类似的错误分类。
如图6所示,对于原始输入样本,所建立的模型可将其识别为熊猫,在加入精心制作的人类难以察觉的噪声后,网络输出分类结果中长臂猿的置信度远高于熊猫的置信度。由于代表图像的像素值是连续的,因此可以人工直观地识别出假图像与真实图像之间的相似性。在语音识别、自然语言处理和恶意软件检测等其他领域,数据和分类器结构更为复杂,在进行对抗示例攻击时需要更加谨慎。常见对抗示例生成方法见表7所列。

图6图像识别中对抗攻击实例
Fig.6Example of adversarial attacks in image recognition
表7对抗示例生成方法
Tab.7 Adversarial example generation methods

语音识别技术是通过智能设备将人类语言进行识别并转化为文字的过程,在进行声学特征提取之前需要对数据进行预处理,其中包括滤波和数字化操作。除了Mel频率倒谱系数(Mel frequency cepstrum coefficient,MFCC)之外,离散傅里叶变换(discrete Fourier transform,DFT)和快速傅里叶变换(fast Fourier transform,FFT)也可以提取语音特征。
语音识别中对抗样本生成的基本框架如图7所示。首先,通过将语音信号分成几个块,这些块可以重叠。然后,通过快速傅里叶变换计算每个块的频谱值得到频谱图,并对频谱进行Mel滤波得到Mel频谱。接下来,通过倒谱分析推导出MFCC[76]。最后,将得到的MFCC输入神经网络进行识别。人类和机器语音识别之间的差距产生了不受监控的通道,通过这些通道,可以植入对抗示例。相比于图像识别,语音识别系统的对抗示例更难制作,常规的音频处理容易引入新的噪声,导致对抗示例中的扰动不可控。
相比于图像识别和语音识别领域,对抗示例攻击在NLP领域的研究相对较少。由于图像数据和文本数据之间存在的巨大差异,图像数据在数值上是连续的,而文本数据的标签是离散的。文本数据通过模型之前都要进行嵌入表示,而后才能作为深度学习模型的输入,应用于图像领域的对抗示例攻击技术不能直接迁移到NLP领域。从添加扰动的角度来说,对于图像像素的更改是极为微小且不易被察觉的,而对于自然语言的更改,相对来说明显得多,更易被检测。对某个单词的微小修改,易造成单词或者句子的语义变更。因此,在NLP领域的对抗攻击主要集中在长文本,如阅读理解任务中,而不针对于短文本。
恶意软件检测是利用AI技术对软件特征(静态特征和运行态特征)进行分类的过程。静态分析是在软件不运行的情况下提取和分析恶意软件样本的特征,而动态分析则需要执行并分析其对应的特征。常用的动态分析工具包括沙盒、模拟器等[77]。恶意软件检测中常用的特征包括字节序列、操作码、应用程序接口和系统调用、网络活动、文件系统、PE(portable executable)文件等[78]。
如图8所示,首先,对恶意软件的特征序列进行提取。然后,在由特征序列组成的数据集上训练恶意软件分类器。对抗示例攻击旨在向特征向量中添加一些功能独立的特征,以生成恶意软件对抗示例。

图7语音识别中对抗样本生成基本框架
Fig.7The basic framework of adversarial example generation in speech recognition

图8基于AI系统的恶意软件检测框架
Fig.8The framework of malware detection based on AI systems
4.1 模型推理应用阶段的攻击方法
攻击者的攻击能力取决于攻击者拥有多少关于模型的信息,包括训练数据、特征集、学习算法等。根据攻击者所持有的信息量,攻击方法可以分为3类:白盒、黑盒和灰盒[79]。白盒攻击假设攻击者充分了解目标模型参数,包括模型架构、类型、参数、训练过程,攻击者根据已有信息识别模型的薄弱点,用以生成对抗攻击示例。黑盒攻击假设攻击者对于模型的相关细节一无所知,攻击者只能通过设计特定的输入并观察对应的输出来判断和预测模型的相关参数,并以此来查找模型的薄弱点。这种攻击方式的难度非常大,但更符合实际情况,也更加实用。灰盒攻击在工业实践中并不常见,因此下文将主要以应用范围最广的图像识别领域为例,介绍黑盒及白盒2种攻击模式。
4.1.1 白盒攻击
基于直接优化的攻击方法是一种典型的白盒攻击,其基本原理是通过优化算法对目标函数直接进行优化并生成相对较小的扰动。优化算法的时间成本过大是该类方法普遍存在的问题,时间成本主要用于搜索模型的超参数。以图像识别为例,通过使用拉格朗日松弛法简化添加扰动过程中的限制条件,并将图像归一化在[0,1]区间,而后可借助于L-BFGS算法进行近似求解。该算法的执行过程是先固定超参数保持不变,然后在超参数条件下求解当前参数的最优解,最后在超参数空间中进行线性搜索并找到合适的最优对抗样本。该方法的特点在于,并不直接求解对抗样本,而是将原有的求解过程通过松弛和归一化操作之后转化为优化问题,因此,该方法是一种典型的基于优化策略的对抗攻击算法。C&W攻击算法通过使用不同的范数对扰动进行限制并生成对抗样本,是较为强大的白盒攻击算法之一。该方法的优点在于可以生成攻击能力较强的对抗样本;缺点是在每次的迭代过程中,每执行一次单步标准梯度下降优化操作后,都会将参数坐标归一化到[0,1]区间内,并将剪辑后的图片内容作为下一次迭代的输入,导致每次迭代所接受的数据都不是真实的数据值,也就是说会在每一次迭代裁剪过程中损失一部分梯度信息。配合该种方法的优化算法相对灵活,可使用梯度下降、动量梯度下降或自适应矩估计(adaptive moment estimation, Adam)。相比于前2种优化算法,Adam的收敛速度相对较快;C&W算法可以有效突破网络蒸馏防御手段,是目前评测AI模型鲁棒性主要的手段之一。
基于梯度优化的攻击是另一种典型的白盒攻击方法,该类方法沿着模型损失函数的变化方向(梯度变化的方向)对输入样本添加一定的扰动,使得模型对当前样本分类进行误判,或指定当前样本的分类到某个错误的分类上。这类方法的操作实现相对简单,且成功率较高,是目前较为流行的一种对抗攻击技术。FGSM(fast gradient sign method)是最具代表性的基于梯度优化的攻击方法,该方法在运行的过程中始终强制对抗扰动的变化方向与模型梯度的变化方向保持一致,以此来促使模型达到一个误判的效果。FGSM是针对损失函数进行操作的,因此具备非常良好的泛化迁移能力,后续出现的大部分基于梯度优化方法都是FGSM的延伸。由于该方法在执行过程中只计算一次梯度变化,因此其误导模型的能力一般,并不具有很强的攻击效果。此外,该方法在梯度变化方向上也受到了一定的限制,只有梯度的变化方向在局部区间内是线性变化,才能保证FGSM的成功执行。在非线性的优化区间内,如果在梯度方向上的优化所执行的步长很大,那么FGSM所生成的对抗样本有可能是无用的。
基于决策边界分析的攻击方法是通过不断调整样本与模型决策边界的距离来实现攻击目的。当这个距离越来越小时就可使得模型对该样本进行一个误判,通过这种方式生成的对抗样本一般较小,这类攻击方法属于非目标攻击。在线性二分类和非线性二分类问题上,常用的攻击方法为DeepFool攻击,该方法所生成的对抗扰动非常小,近似于最小扰动。研究发现,深度学习模型普遍存在与输入数据不相关的通用扰动,这种通用扰动与模型的结构和数据样本特征相关,通用对抗扰动(universal adversarial perturbation,UAP)攻击根据不同的输入数据样本,将这种通用的对抗扰动与当前输入样本特征进行叠加就得到了对抗样本。大多数情况下,通过这种方法生成的对抗样本具备一定的攻击能力,而部分对抗样本并不具备攻击能力。UAP攻击利用DeepFool算法来迭代计算扰动。通过反复的迭代,最终可以改变数据的分类结果,从而实现对抗攻击。
基于GAN来进行对抗样本生成的攻击,其本质是利用自监督学习的方式,借助于训练生成式对抗网络的生成器来生成对抗样本。这类方法的缺点在于网络训练过程难度较大,需要合适优化方法和参数搜索;优点在于模型的产能非常高,可以批量产出大量攻击能力强且具有良好泛化性能的对抗样本。如对抗转换网络(adversarial transformation network,ATN)攻击是通过深度模型将输入样本直接转化为对抗样本来实现对目标的攻击。通用对抗网络(universal adversarial network,UAN)攻击的过程首先需要一个经过深度训练的反卷积网络,而后通过将随机噪声输入该网络产生对抗样本来实现对目标的攻击。AdvGAN (advanced generative adversarial network)含有生成器模型和判别器模型之外,还包含一个攻击模型,通过对生成式对抗网络的迭代训练,可以保证生成的对抗样本越来越逼真。AdvGAN一旦训练完成,便可高效地将随机噪声输入转化为攻击力较强的对抗样本。
4.1.2 黑盒攻击
大多数传统的对抗示例都是基于梯度信息构建的,因此只适用于白盒攻击场景。P-ATN(perturbation-ATN)和AAE(adversarial autoencoder)基于ATN研发而来,P-ATN和AAE可用于攻击基于ATN的1个或多个网络。ATN的优化目标是最小化联合损失函数以生成对抗示例。此外,ATN不仅可以进行目标攻击,也可以进行非目标攻击,而且还可以选择以黑盒或白盒方式训练网络。ZOO攻击不需要模型的任何信息,通过估计目标模型的梯度直接生成对抗示例。它既可以进行目标攻击,也可以进行非目标攻击。ZOO攻击和C&W攻击的性能相当,但ZOO攻击查询和估计梯度的成本更高。Houdini是一种基于网络的可微损失函数的梯度信息产生对抗扰动的方法,可以针对任务损失进行定制。它不仅应用于图像分类,还应用于语音识别和语义分割。
4.2 模型推理应用阶段的防御方法
对抗防御技术应避免对原始模型结构的过度修改,同时确保模型的性能(如速度、内存使用、模型分类精度)不被削弱。针对对抗示例攻击的防御方法在图像分类领域得到了广泛的研究,语音识别和恶意软件领域次之,NLP领域最少。表8从防御途径和防御角度2个维度对防御方法进行了展示,下文将重点阐述针对图像分类和其他几个领域的对抗示例攻击的防御方法。
4.2.1 防御蒸馏与梯度正则化
防御蒸馏如图9所示,背后的思想是将细粒度的知识从大规模训练模型迁移到小规模模型,使小规模能够更准确、更高效地执行学习任务。使用一个小模型(蒸馏网络)来模拟一个大的、计算密集型的模型,在不影响准确性的情况下解决信息缺失的问题。防御蒸馏能够防御大多数对抗示例攻击,并且易于训练。
表8对抗示例攻击的防御方法
Tab.8 Defense methods for adversarial example attack


图9防御蒸馏架构
Fig.9Defensive distillation architecture
梯度正则化是指在训练过程中对目标函数添加约束,以避免模型输出随着输入的变化而发生显著变化。通常情况下,小的扰动不会显著影响输出。值得注意的是,对抗训练显著降低了损失函数的曲率和分类器的决策边界。曲率正则化策略直接最小化损失曲面的曲率,该方法显著提高了神经网络的鲁棒性,但可能会损害模型的性能(如降低精度)。此外,正则化方法和对抗训练可以结合起来防御对抗攻击,但计算复杂度太高。
4.2.2 特征压缩与检测器技术
在图像分类领域,数据压缩有2种方法:1)降低颜色深度,用较低的值编码颜色; 2)使用空间平滑滤波器,将多个输入映射为单个值。特征压缩是一种模型增强技术,通过压缩输入特征以抵抗对抗扰动来降低表示数据的复杂性。
基于特征压缩的对抗示例检测如图10所示,使用上述2种压缩方法对输入图像进行预处理,然后分别将其送入同一模型,得到预测结果1~4。最后,将预测结果2~4与原始未处理输入的预测结果1进行对比,分别得到差值。一旦这个差值大于给定阈值,则该输入被区分为对抗示例。对于不同形式的攻击和不同的挤压技术,防御的有效性是不同的。对于基于0-范数和∞-范数的攻击更适合色位深度挤压,而对于基于2-范数的攻击,2种挤压方法的效果都较差。特征挤压的过程不修改模型本身,因此可以很容易地与其他防御策略集成,以获得更好的防御结果。
检测器用于区分图像是否为对抗样本。通常,检测器区分对抗样本的标准可以自由定义。最直接的方法是标记对抗样本和合法样本来训练分类器。分类器训练方法主要有2种:一种是通过在初始阶段直接将对抗样本和原始样本分开标记来训练分类器;另一种是通过仅在特定层的输出值上标记对抗样本和干净样本来训练分类器。

图10基于特征压缩的对抗示例检测
Fig.10Adversarial example detection with feature compression
4.2.3 基于GAN的防御与网络验证
由于GAN的兴起及其优异的性能,许多研究人员将其应用于对抗示例防御[80]。如图11所示,使用生成器生成对抗样本并对判别器进行训练,使判别器有能力识别对抗样本。

图11生成对抗网络
Fig.11Generative adversarial network
网络验证可用于检查样本是否违反了深度神经网络的某些属性,或者在确定范围内(与原始样本的距离)的样本是否改变了其标签值。在对抗示例攻击的防御阶段,若检测到一个对抗示例的输入违反了深度神经网络的某些属性,则对其进行区分。因此,网络验证是基于模型自身对新的未知攻击的检测。
4.2.4 对抗强化训练与数据随机化
对抗训练在训练阶段将攻击算法(如FGSM)制作的对抗示例添加到训练集中。它是一种暴力防御方案,也是一种缓解模型过拟合问题的正则化工具。对抗训练需要大量的对抗示例来训练网络对抗单步攻击,但对迭代攻击无效。对抗训练通过这种方式获得了一个更具鲁棒性的模型。这也意味着模型防御对抗样本的能力得到了提高。此外,这种方法可以很好地防御白盒攻击,但在黑盒场景中的作用并不大。通过进一步集成对抗训练,扩大了训练集,从而增加了对抗样本的多样性,使样本空间更加均匀,即使在黑盒攻击场景下也可取得较为理想的防御效果。
数据随机化是通过执行某些随机化技术来减轻样本中的对抗效应,如通过随机调整图像大小和使用随机填充技术,在模型的前向传播阶段破坏特定对抗扰动的结构来减轻对抗效应。具体来说,它由2个步骤组成:首先,随机调整输入图像的大小;其次,在调整大小的图像周围应用零随机填充。填充的位置是随机选择的。数据随机化在防御单步攻击和迭代攻击方面都是有效的。数据随机化防御方法不仅不需要额外的训练,计算强度也较低,而且还与其他对抗防御方法兼容。
4.2.5 重建样本与其他防御方法
在图像训练集分布中,对抗样本的概率密度远低于良性样本,并且主要位于低概率区域。像素防御方法根据样本这种分布特点,通过重构的方式对输入数据进行净化,将其移回训练分布的高概率区域,净化恶意对抗的图像。若没有检测到对抗样本,则不改变样本,像素防御方法不需要对模型进行重新训练,但有可能不适用于数据集空间分布较大的场景。
生成对抗示例的方法多种多样,很难使用一种防御技术来抵抗所有对抗示例攻击。因此,许多研究人员开始研究各种防御技术的组合,以增强防御的有效性。MagNet防御框架将一个或多个独立的检测器网络和一个重整器网络结合在一起,既能防御黑盒攻击,也能防御灰盒攻击。基于半松弛的技术来生成证书,然后使用这些证书来训练一个更健壮的网络,以防御对抗示例攻击。梯度掩蔽试图隐藏网络的梯度信息,从而防止攻击者使用梯度求解方法构造对抗示例。然而,梯度掩蔽很难防御黑盒攻击。
4.3 模型推理应用阶段的攻击与防御方法总结
深度模型在推理阶段易遭到对抗攻击,通过对输入添加微小的扰动使得分类器输出错误结果,应用场景包括目前热度较高的视频处理和NLP领域,其主要攻击方式分为白盒攻击和黑盒攻击。2种攻击方式的优劣势见表9所列,由于白盒攻击知道模型的全部内容,其攻击成功率高,攻击效果好,但白盒攻击的前提条件较难获得,模型的信息通常是保密的。黑盒攻击的试探分析过程很难保证攻击的成功率和攻击效果,但其适用范围比较广,对大部分的模型都可采用这种攻击方式。
表9模型推理阶段的攻击方法对比
Tab.9 Comparison of attack methods in stages of model inference

深度模型在推理阶段常用的防御方法主要包含防御蒸馏、基于生成对抗网络、重建样本等,以上防御方法的优劣势总结见表10所列。
表10模型推理阶段的防御方法对比
Tab.10 Comparison of defense methods in the stage of model inference

防御蒸馏方法使用从深度模型中提取的知识来降低生成对抗样本时的梯度,如果这个对抗梯度很高,那么扰动很大,深度模型的输出不稳定。为了抵抗这种扰动,需要减少输入周围的变化,即使用防御蒸馏来平滑训练得到的模型,提高模型的泛化能力,从而使模型对对抗样本具有高弹性。深度特征压缩方法是一种用于减少深度神经网络中特征图大小的技术,能够有效减少模型的漏洞。基于GAN的方法是一种利用生成模型的表达能力来保护深度神经网络免受对抗攻击的防御框架。模拟未受干扰图像的分布,然后在输入对抗样本时,会生成一个该对抗样本的满足干净样本分布的近似样本,然后再将该样本输入到分类器进行分类,这也意味着本文提出的方法可以与任何分类模型一起使用,并且不修改分类器结构或训练过程。它还可以用作抵御任何攻击的防御,因为它不会对生成对抗样本的攻击进行任何假设。对抗训练将攻击方式融入深度模型训练过程中,能够强化深度模型本身的鲁棒性,训练过程需要融合大量的攻击方法,工作量较大。重建样本的防御方式对数据的分布特点有要求,对样本数据的特征进行变换,以此代替原来的样本输入,这种方式的泛化性能较低,特征变换过程中有可能会引入分布偏差。
5 系统集成发布与运行阶段的攻击与防御方法
AI技术无处不在。虽然本文已经讨论了AI本身的威胁和对策,但当AI集成到现实世界的应用程序中时,安全问题似乎更加复杂。对于不同的应用场景,安全问题是不同的,所以应该从全局的角度来看待AI的安全。本节将探讨集成发布与运行阶段的几个安全风险。
5.1 AI保密与安全
AI的机密性包括数据机密性和模型机密性。从数据机密性角度而言,AI对个人隐私具有潜在威胁。由于AI能够收集和分析大量的数据,并从中获取有关个人的信息,这就可能导致个人隐私受到侵犯。例如,智能音箱可以监听和记录我们的对话,然后将这些数据传输给云服务器进行分析。虽然厂商声称他们会保护用户的隐私,但实际操作中是否如此还存有争议。
为了应对这些挑战,社会群体中的每个人都需要采取一系列的措施来保护个人隐私和数据安全。首先,政府应该制定更加严格的法律和法规来规范AI技术的使用,并明确规定哪些数据可以被收集,以及如何处理和保护这些数据。其次,个人也应该加强对自己隐私的保护意识,避免轻易泄露个人信息。需要注意的是,不要随意同意使用AI技术收集个人数据的条款,要仔细阅读相关协议,并选择可信任的产品和服务提供商。再次,技术公司和研究机构也应该努力研发更加安全的AI技术。他们应该将个人隐私和数据安全放在首要位置,并采取必要的措施来防止数据泄露和未经授权的访问。这可能包括加强数据加密、采用安全的通信协议,以及建立健全的访问控制机制等。
另一方面,AI的机密性通常与模型隐私明确相关,尽管它也可能(间接)导致安全问题,如模型反演[81]和模型提取[82]。模型反演是指基于输入和输出之间的映射关系,对模型进行逆分析,以获得私有数据;模型提取通常被理解为通过API执行可接受数量的查询,并观察输出结果(概率或标签)来推断模型参数或提取与目标模型密切匹配的近似模型。对于这2种类型的隐私问题,通常使用差分隐私[82]、同态加密[83]或模型水印[84]来减轻隐私安全风险。
目前的AI安全和隐私问题似乎是分开解决的。尽管具有挑战性,但值得考虑系统地、并发地解决这些问题,以确保数据和模型隐私,同时保持AI系统的安全性。由Google研究团队提出的联合学习是一种新的分布式机器学习技术,已成为AI的另一个重要新分支[85]。联合学习聚合了在每个客户端持有的本地化数据上训练的本地模型,以更新全局模型。联合学习主要缓解了隐私问题,但它缺乏对本地数据的审计和对参与者行为的控制,这很可能会引入安全问题。联合学习的客户端、中央服务器和通信渠道很容易成为攻击者的目标。最典型的是投毒攻击,可以通过数据投毒或/和模型投毒来实现[86],用户端/服务器端生成对抗网络攻击[87],以及联合学习中的隐私问题。由于缺乏对数据的访问权限和客户端的控制,因此设计针对安全攻击的对策比集中式训练更具挑战性。
5.2 深度学习框架漏洞与保护
TensorFlow、Caffe和Torch等主流的深度学习框架依然存在漏洞,漏洞类型包括拒绝服务攻击(denial of service attack,DoS攻击)、躲避攻击及系统妥协攻击。
深度学习框架是复杂且庞大的,重度依赖大量的开源软件包,这些所依赖的代码库正是漏洞的根源所在。一个典型的深度学习应用在部署过程中由下至上通常包含3层结构,最底层为框架依赖,也就是深度学习框架所需的软件包或组件库,如OpenCV、Glibc、NumPy以及protobuf等;中间一层为TensorFlow、Caffe等深度学习框架;最顶层为开发者或用户所直接接触的深度学习应用,包含应用逻辑、深度学习模型及相应的数据。每个深度学习框架都依赖大量的第三方软件包。以工业界使用最广泛的TensorFlow为例,其对Python的依赖库高达97个;Caffe有137个依赖库;Torch7版本也有48个Lua依赖模块。以输入数据来源为例,如果深度学习模型所使用数据来源于文件或者网络,那么深度学习框架所遭受的常见漏洞见表11所列。
表11深度学习框架常见漏洞
Tab.11 Common vulnerabilities in deep learning frameworks

目前针对深度学习框架漏洞的检测手段主要分为静态分析、动态分析及代码变更追踪。静态代码分析一般使用自动化工具来进行检查代码中的漏洞,例如使用Lint、Pylint、ESLint等分析工具来检测代码漏洞。这种方法通常不需要运行代码,只需要检查源代码和其他相关文件。动态代码分析是通过运行代码来发现漏洞,例如使用Fuzzing、Web应用程序或其他扫描工具,对代码进行测试并监控其行为,这种方法可发现运行时绝大多数的漏洞。代码变更追踪通过追踪记录代码变更全过程,检测代码是否符合规范,并确认变更代码没有引入新的漏洞。
5.3 系统运行阶段中的漏洞与保护
AI系统本质上是不具备道德观的,智能无法理解对与错,即使是高级的AI系统也要遵循训练指令和数据集。
为了减轻系统运行阶段所暴露的威胁,开发人员通常会设置部分限制来控制相应功能。但是这种指令上的限制并不能够完全避免此种漏洞的存在,用户可以通过改写指令、使用一些非常规语言和编写明确的详细说明来绕过系统设定的规则限定。以ChatGPT为例,要求ChatGPT生成一个键盘记录程序,该模型起初会拒绝这个请求,并声称“在用户不知情或不同意的情况下将其发送到远程IP的程序是不道德的,甚至可能是非法的”。然而,该模型建议Python中的“pynput”和“ftplib”库可以在合法的用例中使用,用于记录击键并使用FTP将它们发送到远程IP。之后,聊天机器人为基于Python的键盘记录提供了脚本程序,并标注“此代码仅用于教育目的,不应用于不道德或非法目的”。
针对上述AI系统所暴露出的威胁,目前最有效的防范措施是通过设计规则来对模型的输出进行有效的限制,即使这种限制是不完全的。采用以上所述的防范措施会导致模型的通用性下降,以Bing Chat为例,虽然Bing Chat拥有更复杂的语言模型来提取实时数据,但用户仍然倾向于更通用的选项ChatGPT。Bing Chat严格的限制机制禁止了许多任务。
6 结束语
虽然AI系统所面临的安全威胁和应对策略已被广泛研究,但AI系统的发展仍然面临着巨大的挑战。在数据收集过程中的数据保护俨然已经成为了一项重大问题,对于数据安全性的保护还有着进一步的发展空间。首先,传感器防御机制不完善。传感器的安全问题主要在于硬件的设计以及攻击者对硬件进行的恶意信号注入。在硬件方面,研究人员需要对传感器的物理特性和逻辑布线进行修改和验证;在软件方面,研究人员需要设计合理的策略,在传感器的数据采集阶段识别和拒绝恶意信号,比如传感器需要对数据信号进行清洗、放大等预处理操作。其次,传感器恶意信号识别技术通用性差。迫切需要一种可以应用于不同种类传感器设备的防御机制,使攻击者无法绕过防御机制。再次,AI系统缺乏可解释性。然而,研究人员很难明确地分析和解释AI在什么情况下会出现什么安全问题。
因此,攻击者总是能够找到AI的攻击面,而防御者无法在攻击者暴露和利用之前识别潜在的安全漏洞。我们迫切需要加强AI模型的数学验证,增强AI的可解释性,加强AI系统的安全和隐私双重保护。安全和隐私是密切相关的,AI系统不仅面临上述安全挑战,还面临隐私安全风险,如模型反演和模型提取攻击。
本文对AI系统生命周期(数据收集与预处理、模型训练、模型推理应用和系统集成发布与运行)各个阶段所面临的安全威胁和应对策略进行了综述,并简要概括了AI系统未来发展所面临的挑战。目前AI技术发展得如火如荼,但其所面临的安全威胁也日益突出,技术人员应当充分重视AI系统所面临的安全问题,并保护其更高、更快、更好地发展。