AI 安全 - 华为白皮书摘选

闪避攻击

是指通过修改输入,让AI模型无法对其正确识别。闪避攻击是学术界研究最多的一类攻击,

下面是学术界提 出的最具代表性的三种闪避攻击:

对抗样本的提出:研究表明深度学习系统容易受到精心设计的输入样本的影响。这些输入样本就是学术界定义的对 抗样例或样本,即Adversarial Examples。它们通常是在正常样本上加入人眼难以察觉的微小扰动,可以很容易地愚 弄正常的深度学习模型。 微小扰动是对抗样本的基本前提,在原始样本处加入人类不易察觉的微小扰动会导致深度学习模型的性能下降。Szegedy 等人[2]在2013年最早提出了对抗样本的概念。在其之后,学者相继提出了其他产生对抗样本的方法,其中Carlini等 人提出的CW攻击可以在扰动很小的条件下达到100%的攻击成功率,并且能成功绕过大部分对抗样本的防御机制。

物理世界的攻击:除了对数字的图片文件加扰,Eykholt等人[3]对路标实体做涂改,使AI路标识别算法将“禁止通 行”的路标识别成为“限速45”。它与数字世界对抗样本的区别是,物理世界的扰动需要抵抗缩放,裁剪,旋转, 噪点等图像变换。

传递性与黑盒攻击:生成对抗样本需要知道AI模型参数,但是在某些场景下攻击者无法得到模型参数。Papernot 等人[4]发现对一个模型生成的对抗样本也能欺骗另一个模型,只要两个模型的训练数据是一样的。这种传递性 (Transferability)可以用来发起黑盒攻击,即攻击者不知道AI模型参数。其攻击方法是,攻击者先对要攻击的模型 进行多次查询,然后用查询结果来训练一个“替代模型”,最后攻击者用替代模型来产生对抗样本。产生出来的对 抗样本可以成功欺骗原模型。

药饵攻击

AI系统通常用运行期间收集的新数据进行重训练,以适应数据分布的变化。 例如,入侵检测系统(IDS)持续在网络 上收集样本,并重新训练来检测新的攻击。在这种情况下,攻击者可能通过注入精心设计的样本,即药饵,来使训 练数据中毒(被污染),最终危及整个AI系统的正常功能,例如逃逸AI的安全分类等。

深度学习的特点是需要大量训 练样本,所以样本质量很难完全保证。 Jagielski等人[5]发现,可以在训练样本中掺杂少量的恶意样本,就能很大程度干扰AI模型准确率。他们提出最优坡 度攻击、全局最优攻击、统计优化攻击三种药饵攻击。并展示了这些药饵攻击对于健康数据库,借贷数据库跟房价 数据库的攻击,影响这些AI模型对新样本的判断。通过加入药饵数据影响对用药量的分析、对贷款量/利息的分析判 断、对房子售价的判断。通过加入8%的恶意数据,攻击者能够使模型对超过50%的患者的用药量建议时,出现超过 75%的变化量。

后门攻击

与传统程序相同,AI模型也可以被嵌入后门。只有制造后门的人知道如何触发,其他人无法知道后门的存在,也无 法触发。与传统程序不同的是,神经网络模型仅由一组参数构成,没有源代码可以被人读懂,所以后门的隐蔽性更 高。攻击者通过在神经网络模型中植入特定的神经元生成带有后门的模型,使得模型虽然对正常输入与原模型判断 一致,但对特殊输入的判断会受攻击者控制。如Gu等人[6]提出一种在AI模型中嵌入后门的方法,只有输入图像中包 含特定图案才能触发后门,而其他人很难通过分析模型知道这个图案或这个后面的存在。此类攻击多发生在模型的 生成或传输过程。

模型窃取攻击

模型/训练数据窃取攻击是指攻击者通过查询,分析系统的输入输出和其他外部信息,推测系统模型的参数及训练数 据信息。与Software-as-a-Service类似,云服务商提出了AI-as-a-Service(AIaaS)的概念,即由AI服务提供商负 责模型训练和识别等服务。这些服务对外开放,用户可以用其开放的接口进行图像,语音识别等操作。Tramèr等学 者[7]提出一种攻击,通过多次调用AIaaS的识别接口,从而把AI模型“窃取”出来。这会带来两个问题:一是知识 产权的窃取。样本收集和模型训练需要耗费很大资源,训练出来的模型是重要的知识产权。二是前文提到的黑盒闪 避攻击。攻击者可以通过窃取的模型构造对抗样本。

闪避攻击防御技术:

1. 网络蒸馏(Network Distillation):网络蒸馏技术的基本原理是在模型训练阶段,对多个DNN进行串联,其中前 一个DNN生成的分类结果被用于训练后一个DNN。有学者[8]发现转移知识可以一定程度上降低模型对微小扰动的 敏感度,提高AI模型的鲁棒性,于是提出将网络蒸馏技术用于防御闪避攻击,并在MNIST和CIFAR-10数据集上测 试,发现该技术可将使特定攻击(如JSMA)的成功率降低。

2. 对抗训练(Adversarial Training):该技术的基本原理是在模型训练阶段,使用已知的各种攻击方法生成对抗样 本,再将对抗样本加入模型的训练集中,对模型进行单次或多次重训练,生成可以抵抗攻击扰动的新模型。同 时,由于综合多个类型的对抗样本使得训练集数据的增多,该技术不但可以增强新生成模型的鲁棒性,还可以增 强模型的准确率和规范性。

3.对抗样本检测(Adversarial Sample Detection):该技术的原理为在模型的使用阶段,通过增加外部检测模型或 原模型的检测组件来检测待判断样本是否为对抗样本。在输入样本到达原模型前,检测模型会判断其是否为对抗 样本。检测模型也可以在原模型每一层提取相关信息,综合各种信息来进行检测。各类检测模型可能依据不同标 准来判断输入是否为对抗样本。例如,输入样本和正常数据间确定性的差异可以用来当作检测标准;对抗样本的 分布特征,输入样本的历史都可以成为判别对抗样本的依据。

4. 输入重构(Input Reconstruction):该技术的原理是在模型的使用阶段,通过将输入样本进行变形转化来对抗闪 避攻击,变形转化后的输入不会影响模型的正常分类功能。重构方法包括对输入样本加噪、去噪、和使用自动编 码器(autoencoder)[9]改变输入样本等方法。

5. DNN模型验证(DNN Verification):类似软件验证分析技术,DNN模型验证技术使用求解器(solver)来验证 DNN模型的各种属性,如验证在特定扰动范围内没有对抗样本。但是通常验证DNN模型是NP完全问题,求解器的 效率较低。通过取舍和优化,如对模型节点验证的优先度选择、分享验证信息、按区域验证等,可以进一步提高 DNN模型验证运行效率。 以上各个防御技术都有具体的应用场景,并不能完全防御所有的对抗样本。除此之外,也可以通过增强模型的稳定 性来防御闪避攻击,使模型在功能保持一致的情况下,提升AI模型抗输入扰动的能力。同时也可以将上述防御技术进 行并行或者串行的整合,更有效的对抗闪避攻击。

药饵攻击防御技术:

1. 训练数据过滤(Training Data Filtering):该技术侧重对训练数据集的控制,利用检测和净化的方法防止药饵攻 击影响模型。具体方向包括[10]:根据数据的标签特性找到可能的药饵攻击数据点,在重训练时过滤这些攻击点; 采用模型对比过滤方法,减少可以被药饵攻击利用的采样数据,并过滤数据对抗药饵攻击。

2. 回归分析(Regression Analysis):该技术基于统计学方法,检测数据集中的噪声和异常值。具体方法包括对模 型定义不同的损失函数(loss function)来检查异常值,以及使用数据的分布特性来进行检测等。

3. 集成分析(Ensemble Analysis):该技术强调采用多个子模型的综合结果提升机器学习系统抗药饵攻击的能力。多 个独立模型共同构成AI系统,由于多个模型采用不同的训练数据集,整个系统被药饵攻击影响的可能性进一步降低。 此外,通过控制训练数据的采集、过滤数据、定期对模型进行重训练更新等一系列方法,提高AI系统抗药饵攻击的综 合能力。

后门攻击防御技术:

1. 输入预处理(Input Preprocessing):该方法的目的是过滤能触发后门的输入,降低输入触发后门、改变模型判 断的风险[11]。

2. 模型剪枝(Model Pruning):该技术原理为适当剪除原模型的神经元,在保证正常功能一致的情况下,减少后门 神经元起作用的可能性。利用细粒度的剪枝方法[12],可以去除组成后门的神经元,防御后门攻击。

模型/数据防窃取技术:

1. 隐私聚合教师模型(PATE):该技术的基本原理是在模型训练阶段,将训练数据分成多个集合,每个集合用于训 练一个独立DNN模型,再使用这些独立DNN模型进行投票的方法共同训练出一个学生模型[13]。这种技术保证了学生模型的判断不会泄露某一个特定训练数据的信息,从而确保了训练数据的隐私性。

2. 差分隐私(Differential Privacy):该技术是在模型训练阶段,用符合差分隐私的方法对数据或模型训练步骤进行 加噪。例如有学者提出使用差分隐私生成梯度的方法[14],保护模型数据的隐私。

3. 模型水印(Model Watermarking):该技术是在模型训练阶段,在原模型中嵌入特殊的识别神经元。如果发现有 相似模型,可以用特殊的输入样本识别出相似模型是否通过窃取原模型所得。

4.2 AI模型安全

恶意机器学习(Adversarial ML)广泛存在,闪避攻击(Evasion)、药饵攻击(Poisoning)以及各种 后门漏洞攻击无往不利,攻击不但精准、也有很强的可传递性(Transferability),使得AI模型在实用中造成误判的 危害极大。因此,除了针对那些已知攻击手段所做的防御之外,也应增强AI模型本身的安全性,避免其它可能的攻击 方式造成的危害,可以由如下图3中列出的几个方面展开。

模型可检测性:如同传统程序的代码检测,AI模型也可以通过各种黑盒、白盒测试等对抗检测技术来保证一定程度的 安全性,已有测试工具基本都是基于公开数据集,样本少且无法涵盖很多其他真实场景,而对抗训练技术则在重训 练的过程中带来较大的性能损耗。在AI系统的落地实践中,需要对各种DNN模型进行大量的安全测试,如数据输入 训练模型前要做前馈检测模块过滤恶意样本,或模型输出评测结果经过后馈检测模块从而减少误判,才能在将AI系统 部署到实际应用前提升AI系统的鲁棒性。

模型可验证性:DNN模型有着比传统机器学习更加预想不到的效果(如更高识别率,更低误报率等),目前广泛用 于各种图像识别、语音识别等应用中,然而AI模型在关键安全应用(如自动驾驶、医学诊断等)领域还需要慎重。 对DNN模型进行安全验证(certified verification)也可以在一定程度上保证安全性。模型验证一般需要约束输入空 间(input space)与输出空间(output space)的对应关系,从而验证输出在一定的范围内。但是基于统计优化 (optimization)的学习及验证方法总还是无法穷尽所有数据分布,而极端攻击则有机可乘,这样在实际应用中较难 实施具体的保护措施。只有在对DNN模型内部工作机理充分理解的基础上才能进一步解决机制性防御(principled defense)问题。

模型可解释性:目前大多数AI都被认为是一个非常复杂的黑盒子系统,他的决策过程,判断逻辑,判断依据都很难被 人完全理解。目前有些业务中,例如棋类、翻译业务,为了让人类和机器之间有更好的互动,我们希望理解为什么机器做出了这些决定,但是AI系统不可解释并不会带来太多问题。如果它不告诉我们为什么把这个单词翻译成了另一 个单词,只要翻译出的结果是好的,它就可以继续是一个完全的黑盒子、完全复杂的系统,而不会带来什么问题。 但对于有些业务,不可解释性往往对于会带来业务法务风险或者业务逻辑风险。例如在保险、贷款分析系统中,如 果AI系统不能给出其分析结果的依据,那么就有可能会被诟病其带有歧视;又例如在医疗保健中,为了精确的根据AI 的分析进行进一步的处理,我们需要了解AI做出判断的根据。例如我们希望AI系统就其判断一位病人有没有癌症给出 其数据分析及原因,AI系统需要有能力说“我把这些数据、图像和这个和那个做了对比从而得出了结论”。如果连其 运作的原理都无法得知,自然也就无法有效地设计一个安全的模型。增强AI系统的可解释性,都有助于我们分析AI系 统的逻辑漏洞或者数据死角,从而提升AI系统安全性,打造安全AI。

学术界正在对AI模型的可解释性进行积极探索,如Strobelt等人[15]提出对隐藏激活函数做可视化分析;Morcos等人 [16]提出用统计分析方法发现语义神经元;以及Selvaraju等人[17]提出的针对图形识别的显著性检测。

模型可解释性 也可以通过以下三个阶段展开:

1. 建模前的“数据可解释”:模型是由数据训练而来,因此要解释模型的行为,可以从分析训练此模型的数据开 始。如果能从训练数据中找出几个具代表性的特征,可以在训练时选择需要的特征来构建模型,有了这些有意义 的特征,便可对模型的输入输出结果有较好的解释。

2. 构建“可解释模型”:一个方法是结合传统机器学习,对AI结构进行补充。这种做法可以平衡学习结果的有效性与 学习模型的可解释性,为解决可解释性的学习问题提供了一种框架。传统机器学习方法共同的重要理论基础之一 是统计学,在自然语言处理、语音识别、图像识别、信息检索和生物信息等许多计算机领域已经获得了广泛应用 并给出很好的可解释性。

3. 对已构筑模型进行解释性分析:通过分析AI模型的输入、输出、中间信息的依赖关系分析及验证模型的逻辑。学术 界中既有如LIME(Local Interpretable Model-Agnostic Explanations)[18]等能够通用地分析多种模型的分析方 法,也有需要针对模型构造进行深入分析的分析方法。

当AI系统具有可解释性时,我们就可以比较有效地对系统进行验证和检测:例如通过针对AI系统各模块及输入数据间 逻辑关系分析,可以确认客户偿还能力分析模块与客户性别,种族无关。而AI系统具备可解释性的另一个优势是,AI 系统的输入/中间数据之间的逻辑关系会相对清晰。我们可以根据这些数据之间的自洽性判断是否有非法/攻击数据, 甚至对恶意的攻击样本进行清除跟修复,提高模型健壮性。

欧盟一般数据保护法GDPR要求AI系统决策不能基于如用户种族、政治立场、宗教信仰等数据。而具备可解释性的AI 系统可以确保其分析结论符合上述要求,避免出现受到“算法歧视”的受害人。

大多AI系统中,其偏见问题往往不 在于算法本身,而是提供给机器的数据。如果输入数据中带有存在偏见的数据,例如公司HR有轻微拒绝女性求职者 的偏见,这些数据将导致模型中的拒绝女性求职者案例增加,从而造成性别比例失调。即使性别并不是模型培训数 据的重要特征,其数据也会使AI模型的分析结论进一步放大人类的本身偏见。而政府往往需要验证AI使能系统的安全 性,可靠性,可解释性。只有可解释,可验证的健壮AI系统才能给予公众信心与信任。

4.3 AI业务的安全架构

在大力发展人工智能的同时,必须高度重视AI系统引入可能带来的安全风险,加强前瞻预防与约束引导,最大限度降低 风险,确保人工智能安全、可靠、可控发展。而在业务中使用AI模型,则需要结合具体业务自身特点和架构,分析判 断AI模型使用风险,综合利用隔离、检测、熔断和冗余等安全机制设计AI安全架构与部署方案,增强业务产品健壮性。

在自动驾驶业务中,当AI系统如果对刹车,转弯,加速等等关键操作的判断出现失误时,可能会对用户,对社会造成 巨大危害。因此需要保证AI系统在关键操作时的安全使用。对自动驾驶AI系统进行许多的安全测试当然很重要,但是 这种模拟测试方法并不能保证AI系统不出错。在很多业务中,也许很难找到一个任何时候都能给出100%正确答案的 AI系统。相比之下,更重要的是对系统架构进行安全设计,使得当AI系统对判断不确定的时候,业务还能够回退到手 工操作等安全状态。在医疗辅助AI系统中,如果AI系统对于“应该给病人哪个药,用量多少”这个问题不能给出确定 答案时,或感知到自身有可能受到攻击时,相比给出一个可能造成危险的不准确预测,让AI系统直接回答“请咨询病 人的医师”会更好一点。为了保护用户利益,我们需要按照业务需求,在系统中合理运用如下安全机制确保AI业务安 全,如图4所示:

1. 隔离:在满足业务稳定运行的条件约束下,AI系统会分析识别最佳方案然后发送至控制系统进行验证并实施。通常 业务安全架构要考虑对各个功能模块进行隔离,并对模块之间设置访问控制机制。对AI系统的隔离可以一定程度上 减少针对AI推理的攻击面,而对综合决策系统的隔离可以有效减少针对决策系统的攻击。AI推理的输出作为辅助决 策建议将导入综合决策模块,而只有经过授权认证的指令才能得以通过。

2. 检测:在主业务系统中部署持续监控和攻击检测模型,综合分析网络系统安全状态,给出系统当前威胁风险级 别。当威胁风险较大时,综合决策可以不采纳自动系统的建议,而是将最终控制权交回人员控制,保证在遭受攻 击情况下的安全性。

3. 熔断:业务系统在进行关键操作时,如AI辅助的自动驾驶或医疗手术等,通常要设置多级安全架构确保整体系统安 全性。需要对AI系统给出的分析结果进行确定性分析,并在确定性低于阈值时回落到以规则判断为准的常规技术或 直接交回人工处理。

4. 冗余:很多业务决策、数据之间具有关联性,一个可行的方法是通过分析此类关联性是否遭受破坏保证AI模型运行 时的安全。还可以搭建业务“多模型架构”:通过对关键业务部署多个AI模型,使得在单个模型出现错误时不会影 响到业务最终决策。同时多个模型的部署也使得系统在遭受单一攻击时被全面攻克的可能性大大降低,从而提升 整个系统的强壮性。

Amodei等人[19]还进一步描述了AI系统在应用中可能会遇到的几种安全挑战:如避免AI系统在执行任务时可能产生的 消极副作用、AI系统在达成目的时可能采取的趋利行为、以及AI系统在执行任务时的安全拓展问题等。对这些问题进 行基础研究将会使得AI系统在未来实用场景更加安全。

总结:

人工智能的各个学科,如计算机视觉、语音识别、自然语言处理、认知与推理、博弈等,还处在早期发展的阶段, 依靠大数据做统计分析的深度学习系统拓展了人工智能所能解决问题的边界,但也被认为是普遍“缺乏常识”,这 也是当前人工智能研究的最大障碍。人工智能要依靠数据与知识的双轮驱动,下一代人工智能的突破可能是知识推 理。而人工智能应用的大规模普及和发展则需要很强的安全性保证。我们首先关注两大类AI安全攻防问题:第一类是 攻击者影响AI决策的正确性:攻击者可以通过破坏和控制AI系统本身,或者通过特意改变输入来使系统不知不觉地做 出攻击者想要的决定;第二类是攻击者获取AI系统训练的保密数据,或者破解AI模型。

本文进一步从AI安全攻防、AI 模型安全和AI架构安全等三个层面阐述AI系统安全,保障AI应用的安全性。此外,AI的透明性和可解释性也是安全的 基础,一个不透明和无法解释的人工智能无法承担起涉及人身安全及公共安全的关键任务。

人工智能还会带来法律法规、伦理道德、社会监管等很宽泛的安全课题。2016年9月1日,斯坦福大学“人工智能百 年研究(AI100)”项目发布了首篇名为“2030 年的人工智能与生活(AI and Life in 2030)”研究报告[20],指出面 对人工智能技术将带来的深刻变化,要求更合理和“不会扼杀创新”的监管。未来几年,随着人工智能在交通和医疗 等领域内的应用,它们必须以一种能构建信任和理解的方式引入,还要尊重人权和公民权利。与此同时,“政策和流 程也应该解决道德、隐私和安全方面的影响”。为此国际社会应协同合作推动人工智能向着造福人类的方向演进。