随着机器学习方法与系统的持续创新与演进,诸如图像识别、语音识别、自然语言翻译等人工智能技术得到普遍部署和广泛应用,人工智能正朝着历史性时刻迈进。AI自身的安全性变得前所未有的重要,极需要构建一个不会被外界干扰而影响判断的健壮AI系统。
确保AI模型和数据的完整性与保密性,使其在不同的业务场景下,不会轻易地被攻击者影响而改变判断结果或泄露数据。机器学习系统存在安全漏洞的根因是其工作原理极为复杂,缺乏可解释性。各种AI系统安全问题,闪避攻击、药饵攻击以及各种后门漏洞攻击层出不穷。这些攻击不但精准,而且对不同的机器学习模型有很强的可传递性,使得基于深度神经网络( DNN)的一系列AI应用面临较大的安全威胁。例如,攻击者在训练阶段掺入恶意数据,影响AI模型推理能力;同样也可以在判断阶段对要判断的样本加入少量噪音,刻意改变判断结果;攻击者还可能在模型中植入后门并实施高级攻击;也能通过多次查询窃取模型和数据信息。
AI面临安全挑战
AI有巨大的潜能改变人类命运,但同样存在巨大的安全风险。这种安全风险存在的根本原因是AI算法设计之初普遍未考虑相关的安全威胁,使得AI算法的判断结果容易被恶意攻击者影响,导致AI系统判断失准。在工业、医疗、交通、监控等关键领域,安全危害尤为巨大;如果AI系统被恶意攻击,轻则造成财产损失,重则威胁人身安全。
AI安全风险不仅仅存在于理论分析,并且真实的存在于现今各种AI应用中。例如攻击者通过修改恶意文件绕开恶意文件检测或恶意流量检测等基于AI的检测工具;加入简单的噪音,致使家中的语音控制系统成功调用恶意应用;刻意修改终端回传的数据或刻意与聊天机器人进行某些恶意对话,导致后端AI系统预测错误;在交通指示牌或其他车辆上贴上或涂上一些小标记,致使自动驾驶车辆的判断错误。
应对上述AI安全风险, AI系统在设计上面临五大安全挑战:
- 软硬件的安全: 在软件及硬件层面,包括应用、模型、平台和芯片,编码都可能存在漏洞或后门;攻击者能够利用这些漏洞或后门实施高级攻击。在AI模型层面上,攻击者同样可能在模型中植入后门并实施高级攻击;由于AI模型的不可解释性,在模型中植入的恶意后门难以被检测。
- 数据完整性: 在数据层面,攻击者能够在训练阶段掺入恶意数据,影响AI模型推理能力;攻击者同样可以在判断阶段对要判断的样本加入少量噪音,刻意改变判断结果。
- 模型保密性: 在模型参数层面,服务提供者往往只希望提供模型查询服务,而不希望曝露自己训练的模型;但通过多次查询,攻击者能够构建出一个相似的模型,进而获得模型的相关信息。
- 模型鲁棒性: 训练模型时的样本往往覆盖性不足,使得模型鲁棒性不强;模型面对恶意样本时,无法给出正确的判断结果。
- 数据隐私: 在用户提供训练数据的场景下,攻击者能够通过反复查询训练好的模型获得用户的隐私信息。
AI安全典型攻击
闪避攻击
闪避攻击是指通过修改输入,让AI模型无法对其正确识别。闪避攻击是学术界研究最多的一类攻击,下面是学术界提出的最具代表性的三种闪避攻击,即对抗样本攻击、物理世界的攻击、传递性与黑盒攻击。
对抗样本攻击
研究表明深度学习系统容易受到精心设计的输入样本的影响。这些输入样本就是学术界定义的对抗样例或样本,即Adversarial Examples。它们通常是在正常样本上加入人眼难以察觉的微小扰动,可以很容易地愚弄正常的深度学习模型。
微小扰动是对抗样本的基本前提,在原始样本处加入人类不易察觉的微小扰动会导致深度学习模型的性能下降。 Szegedy等人在2013年最早提出了对抗样本的概念。在其之后,学者相继提出了其他产生对抗样本的方法,其中Carlini等人提出的CW攻击可以在扰动很小的条件下达到100%的攻击成功率,并且能成功绕过大部分对抗样本的防御机制。
物理世界的攻击
除了对数字的图片文件加扰, Eykholt等人对路标实体做涂改,使AI路标识别算法将“禁止通行”的路标识别成为“限速45”。它与数字世界对抗样本的区别是,物理世界的扰动需要抵抗缩放,裁剪,旋转,噪点等图像变换。
传递性与黑盒攻击
生成对抗样本需要知道AI模型参数,但是在某些场景下攻击者无法得到模型参数。 Papernot等人发现对一个模型生成的对抗样本也能欺骗另一个模型,只要两个模型的训练数据是一样的。这种传递性( Transferability)可以用来发起黑盒攻击,即攻击者不知道AI模型参数。其攻击方法是,攻击者先对要攻击的模型进行多次查询,然后用查询结果来训练一个“替代模型”,最后攻击者用替代模型来产生对抗样本。产生出来的对抗样本可以成功欺骗原模型。
药饵攻击
AI系统通常用运行期间收集的新数据进行重训练,以适应数据分布的变化。 例如,入侵检测系统( IDS)持续在网络上收集样本,并重新训练来检测新的攻击。在这种情况下,攻击者可能通过注入精心设计的样本,即药饵,来使训练数据中毒(被污染),最终危及整个AI系统的正常功能,例如逃逸AI的安全分类等。深度学习的特点是需要大量训练样本,所以样本质量很难完全保证。
Jagielski等人发现,可以在训练样本中掺杂少量的恶意样本,就能很大程度干扰AI模型准确率。他们提出最优坡度攻击、全局最优攻击、统计优化攻击三种药饵攻击。并展示了这些药饵攻击对于健康数据库,借贷数据库跟房价数据库的攻击,影响这些AI模型对新样本的判断。通过加入药饵数据影响对用药量的分析、对贷款量/利息的分析判断、对房子售价的判断。通过加入8%的恶意数据,攻击者能够使模型对超过50%的患者的用药量建议时,出现超过75%的变化量。
后门攻击
与传统程序相同, AI模型也可以被嵌入后门。只有制造后门的人知道如何触发,其他人无法知道后门的存在,也无法触发。与传统程序不同的是,神经网络模型仅由一组参数构成,没有源代码可以被人读懂,所以后门的隐蔽性更高。攻击者通过在神经网络模型中植入特定的神经元生成带有后门的模型,使得模型虽然对正常输入与原模型判断一致,但对特殊输入的判断会受攻击者控制。如Gu等人[6]提出一种在AI模型中嵌入后门的方法,只有输入图像中包含特定图案才能触发后门,而其他人很难通过分析模型知道这个图案或这个后面的存在。此类攻击多发生在模型的生成或传输过程。
模型窃取攻击
模型/训练数据窃取攻击是指攻击者通过查询,分析系统的输入输出和其他外部信息,推测系统模型的参数及训练数据信息。与Software-as-a-Service类似,云服务商提出了AI-as-a-Service( AIaaS)的概念,即由AI服务提供商负责模型训练和识别等服务。这些服务对外开放,用户可以用其开放的接口进行图像,语音识别等操作。 Tramèr等学者提出一种攻击,通过多次调用AIaaS的识别接口,从而把AI模型“窃取”出来。这会带来两个问题:一是知识产权的窃取。样本收集和模型训练需要耗费很大资源,训练出来的模型是重要的知识产权。二是前文提到的黑盒闪避攻击。攻击者可以通过窃取的模型构造对抗样本。
AI安全防御
闪避攻击防御技术
- 网络蒸馏( Network Distillation): 网络蒸馏技术的基本原理是在模型训练阶段,对多个DNN进行串联,其中前一个DNN生成的分类结果被用于训练后一个DNN。有学者[8]发现转移知识可以一定程度上降低模型对微小扰动的敏感度,提高AI模型的鲁棒性,于是提出将网络蒸馏技术用于防御闪避攻击,并在MNIST和CIFAR-10数据集上测试,发现该技术可将使特定攻击(如JSMA)的成功率降低。
- 对抗训练( Adversarial Training): 该技术的基本原理是在模型训练阶段,使用已知的各种攻击方法生成对抗样本,再将对抗样本加入模型的训练集中,对模型进行单次或多次重训练,生成可以抵抗攻击扰动的新模型。同时,由于综合多个类型的对抗样本使得训练集数据的增多,该技术不但可以增强新生成模型的鲁棒性,还可以增强模型的准确率和规范性。
- 对抗样本检测( Adversarial Sample Detection): 该技术的原理为在模型的使用阶段,通过增加外部检测模型或原模型的检测组件来检测待判断样本是否为对抗样本。在输入样本到达原模型前,检测模型会判断其是否为对抗样本。检测模型也可以在原模型每一层提取相关信息,综合各种信息来进行检测。各类检测模型可能依据不同标准来判断输入是否为对抗样本。例如,输入样本和正常数据间确定性的差异可以用来当作检测标准;对抗样本的分布特征,输入样本的历史都可以成为判别对抗样本的依据。
- 输入重构( Input Reconstruction): 该技术的原理是在模型的使用阶段,通过将输入样本进行变形转化来对抗闪避攻击,变形转化后的输入不会影响模型的正常分类功能。重构方法包括对输入样本加噪、去噪、和使用自动编码器( autoencoder) [9]改变输入样本等方法。
- DNN模型验证( DNN Verification): 类似软件验证分析技术, DNN模型验证技术使用求解器( solver)来验证DNN模型的各种属性,如验证在特定扰动范围内没有对抗样本。但是通常验证DNN模型是NP完全问题,求解器的效率较低。通过取舍和优化,如对模型节点验证的优先度选择、分享验证信息、按区域验证等,可以进一步提高DNN模型验证运行效率。
以上各个防御技术都有具体的应用场景,并不能完全防御所有的对抗样本。除此之外,也可以通过增强模型的稳定性来防御闪避攻击,使模型在功能保持一致的情况下,提升AI模型抗输入扰动的能力。同时也可以将上述防御技术进行并行或者串行的整合,更有效的对抗闪避攻击。
药饵攻击防御技术
- 训练数据过滤( Training Data Filtering): 该技术侧重对训练数据集的控制,利用检测和净化的方法防止药饵攻击影响模型。具体方向包括[10]:根据数据的标签特性找到可能的药饵攻击数据点,在重训练时过滤这些攻击点;采用模型对比过滤方法,减少可以被药饵攻击利用的采样数据,并过滤数据对抗药饵攻击。
- 回归分析( Regression Analysis): 该技术基于统计学方法,检测数据集中的噪声和异常值。具体方法包括对模型定义不同的损失函数( loss function)来检查异常值,以及使用数据的分布特性来进行检测等。
- 集成分析( Ensemble Analysis): 该技术强调采用多个子模型的综合结果提升机器学习系统抗药饵攻击的能力。多个独立模型共同构成AI系统,由于多个模型采用不同的训练数据集,整个系统被药饵攻击影响的可能性进一步降低。
此外,通过控制训练数据的采集、过滤数据、定期对模型进行重训练更新等一系列方法,提高AI系统抗药饵攻击的综合能力。
后门攻击防御技术
- 输入预处理( Input Preprocessing): 该方法的目的是过滤能触发后门的输入,降低输入触发后门、改变模型判断的风险。
- 模型剪枝( Model Pruning): 该技术原理为适当剪除原模型的神经元,在保证正常功能一致的情况下,减少后门神经元起作用的可能性。利用细粒度的剪枝方法[12],可以去除组成后门的神经元,防御后门攻击。
模型/数据防窃取技术
- 隐私聚合教师模型( PATE): 该技术的基本原理是在模型训练阶段,将训练数据分成多个集合,每个集合用于训练一个独立DNN模型,再使用这些独立DNN模型进行投票的方法共同训练出一个学生模型[13]。这种技术保证了学生模型的判断不会泄露某一个特定训练数据的信息,从而确保了训练数据的隐私性。
- 差分隐私( Differential Privacy): 该技术是在模型训练阶段,用符合差分隐私的方法对数据或模型训练步骤进行加噪。例如有学者提出使用差分隐私生成梯度的方法[14],保护模型数据的隐私。
- 模型水印( Model Watermarking): 该技术是在模型训练阶段,在原模型中嵌入特殊的识别神经元。如果发现有相似模型,可以用特殊的输入样本识别出相似模型是否通过窃取原模型所得。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。