执行摘要
NIST的可信及负责任人工智能报告旨在制定对抗性机器学习(AML)分类和术语,用以保护AI应用,防止被敌方操控。广义上讲,AI系统分为两类:预测式和生成式。AI系统的基本组成部分包括用于训练、测试和部署机器学习模型的数据、模型和流程,以及使用这些数据、模型和流程所需的基础设施。生成式AI系统在适配特定领域和用例后,可以链接到公司文档和数据库。除了大多数操作系统所面临的传统安全和隐私威胁之外,机器学习的数据驱动方法还在机器学习运行的各个阶段引入了其他安全和隐私挑战,包括训练数据可能被攻击者操控、模型漏洞可能被攻击者利用进而影响AI系统的性能,甚至恶意操控、篡改,或通过与模型交互获取人员、模型本身或企业私有数据等敏感信息。此类攻击已成为现实,其复杂性和潜在影响与日俱增。AML主要关注的是攻击能力及目标,以及在机器学习生命周期的开发、训练和部署阶段利用机器学习漏洞的攻击方法。AML还研究如何设计机器学习算法,以对抗这些安全和隐私挑战。就恶意攻击而言,机器学习的鲁棒性是指控制此类攻击后果的缓解措施。
本报告采用了NIST人工智能风险管理框架中机器学习系统的安全性、韧性和鲁棒性概念。安全性、韧性和鲁棒性由风险衡量,风险是衡量实体(例如系统)遭遇潜在情况或事件(例如攻击)威胁的可能性以及此类事件结果严重性的指标。但是,本报告并未就风险承受能力(组织或社会可接受的风险水平)提出建议,因为风险承受能力高度依赖于环境和应用/用例。这种广义的风险概念可用于评估和管理AI系统组件的安全性、韧性和鲁棒性。如何量化这些可能性非本文档关注内容。AML分类围绕AML风险评估的以下五个维度定义:(1)AI系统类型(预测式或生成式),(2)发起攻击时的机器学习生命周期阶段和学习方法,(3)攻击目的,(4)攻击能力,(5)攻击者对学习过程及其他方面的了解。
针对机器学习的有效攻击范围广,变化快,涵盖了机器学习生命周期的各个阶段——从设计和实施到训练、测试,最后到实际部署。这类攻击的性质和威力各不相同,有的利用机器学习模型中的漏洞,有的利用部署AI系统的基础设施中的漏洞。AI系统组件还可能受到各种非计划因素的不利影响,例如设计和实施缺陷以及数据或算法偏差,但这些因素不属于蓄意攻击。这些因素虽然也可能被攻击者利用,但不在AML文献或本报告讨论范围内。
本文件对AML领域的攻击进行了分类,并定义了相关术语。通过研究AML文献,我们对攻击进行了概念上的分层,其中包括主要的机器学习方法和攻击的生命周期阶段、攻击目的以及攻击者的能力和对学习过程的了解。报告还提出了相应的方法来缓解和控制攻击影响,指出了AI系统生命周期中需要考虑的相关挑战。报告中使用的术语与AML文献一致,并提供了词汇表,定义了与AI系统安全相关的关键术语,以方便普通用户理解。总而言之,本分类和术语为快速发展的AML提供了通用语言,统一了认识,其他的AI系统安全评估和管理标准及未来的实践指南可以此为参考。与分类一样,术语和定义并非详尽无遗,仅用以促进对AML文献中关键概念的理解。
概述
人工智能(AI)系统在过去几年间在全球范围内快速发展。许多国家着手开发了AI系统并将其广泛部署在各个经济领域,从而催生出基于AI的各种服务,供人们在现实和虚拟世界使用。根据功能,AI系统分为两大类:预测式AI(PredAI)和生成式AI(GenAI)。这些系统逐步渗透到数字经济并成为日常生活中不可或缺的一部分,对其安全性、稳健性和韧性的要求也越来越高。这些运行属性是NIST AI风险管理框架和AI可信度分类中可信AI的关键要素。
然而,随着AI和机器学习(ML)在多个应用领域的重大进展,各种攻击也随之而来,可能导致重大故障,带来严重后果。
例如,在用于对象检测和分类的PredAI计算机视觉应用中,对输入图像进行对抗性扰动是广为人知的手段,曾导致自动驾驶汽车突然转向,进入逆行车道。有的自动驾驶汽车将停车标志错误分类为限速标志,导致关键物体从图像中消失,更有甚者,有的汽车在高级别安全环境中无法正确识别戴眼镜的人。同样,在医疗领域部署了越来越多的机器学习模型用以协助医生,这些机器学习模型可能会泄露医疗记录,暴露极其敏感的个人信息。
在GenAI中,大语言模型(LLM)也成为了互联网基础设施和软件应用程序不可或缺的一部分。大语言模型用于提升在线搜索能力,帮助软件开发人员编写代码,甚至可为客户服务机器人提供支持。大语言模型适配特定领域和用例后,可与公司数据库和文档集成,支持强大的检索增强生成(RAG)场景。然而,这些场景扩大了攻击面,可能造成企业的机密和私有数据泄露。
除BLOOM和LLaMA(元宇宙平台公司Meta公开发布的产品)外,大多数开发此类模型的公司都不会公布用于构建其语言模型的数据集的详细信息,但这些数据集不可避免地包含一些敏感的个人信息,如地址、电话号码和电子邮件地址,这给用户的在线隐私带来了严重风险。一条信息在数据集中出现的频率越高,模型在响应随机或精心设计的查询或提示时泄露该信息的可能性就越大。这些信息会与其他信息恶意关联,给相关人员带来破坏性后果,引入其他安全隐患。
攻击者还能操控PredAI和GenAI系统的训练数据,导致使用这些训练数据的AI系统受到攻击。黑客可能会从互联网上抓取训练数据,对数据进行大规模投毒,产生漏洞,进而破坏安全。
机器学习模型的规模不断扩大,许多组织开始依赖预训练模型,这些模型可以直接使用,也可以使用新数据集进行微调以执行不同的任务。这为恶意修改预训练模型创造了机会,攻击者可以通过插入木马来破坏模型的可用性,强制进行错误处理,或根据指示泄露数据。
从过往经验看,PredAI和GenAI系统中的各种输入模态(如文本、图像、语音、表格数据)都有特定的AI技术,每种技术都容易受到特定攻击。例如,针对图像分类任务的攻击不会直接转化为针对自然语言处理(NLP)模型的攻击。最近,在NLP中广泛使用的Transformer架构开始在计算机视觉领域中应用。此外,多模态机器学习在许多任务(包括生成式和分类任务)中取得了令人振奋的进展,有人开始尝试使用多模态学习来缓解单模态攻击。然而,同时针对多模态模型中所有模态的强大攻击也开始出现。
本质上,现代AI系统中使用的机器学习方法容易受到攻击,通过暴露模型的公共API就能攻击这些方法以及部署平台。本报告重点关注前者,将后者视为传统网络安全分类范畴。针对模型,攻击者只需要使用模型的公共接口并提供允许范围内的数据输入,即可突破数据和模型的机密性和隐私保护措施。从这个意义上讲,AML面临的挑战与密码学面临的挑战类似。现代密码学依赖于信息论意义上安全的算法。因此,人们只需关注如何可靠安全地实施这些算法——当然,这并非易事。与密码学不同的是,广泛使用的机器学习算法没有信息论意义上的安全证明。此外,开始有文献提及信息论上的不可能结果,这些结果限制了通用缓解技术的有效性。因此,针对不同种类攻击的缓解措施的诸多进展往往是经验性的,本质上效果有限。
本报告为下述各方面提供指导:
- 对机器学习和网络安全社区使用的AML术语进行标准化定义;
- 对AML中研究最广泛、最有效的攻击进行分类,包括:
(1)PredAI系统中的逃逸、投毒和隐私攻击;
(2)GenAI系统中的逃逸、投毒、隐私和滥用/误用攻击;
(3)针对多种数据模态的所有可行学习方法(例如有监督、无监督、半监督、联邦学习(又译“联合学习”、“联盟学习”)、强化学习)的攻击。
- 讨论AML中的潜在缓解措施以及部分现有缓解技术的局限性。
机器学习是一个快速发展的领域,我们预期会根据攻击和缓解方面的新发展而定期更新报告。
本报告的目标不是详尽调研AML的所有相关文献,实际上,这是一项几乎不可能完成的任务,因为在arXiv上搜索2021年和2022年的AML文章会得到 5000余篇参考文献。本报告的目标是对PredAI和GenAI系统的攻击及其缓解措施进行分类,从主要攻击类型着手:1)逃逸攻击,2)数据和模型投毒,3)数据和模型隐私,以及4)滥用/误用(仅限于GenAI)。
本报告包含三部分。第2部分围绕PredAI系统展开。2.1节介绍了PredAI系统的攻击分类。首先,对攻击目的进行了分类。在此基础上,定义了攻击者为实现相应目标须具备哪些能力。然后,介绍了各种能力所对应的攻击类型。2.2、2.3和2.4节分别讨论了主要的攻击类型:逃逸、投毒和隐私。攻击类型章节提供了每种攻击的对应缓解措施。第3部分围绕GenAI系统展开。3.1节介绍了GenAI系统的攻击分类。与PredAI情形类似,基于这种攻击分类,接下来定义了攻击者为实现对GenAI系统的相应目标须具备哪些能力。然后,介绍了各种能力所对应的攻击类型。第4部分探讨了该领域的其他挑战。
预测式AI分类
攻击分类
PredAI系统对抗性机器学习中的攻击分类如图1所示。攻击目的用三个圆圈表示,显示在各圆圈中心:破坏可用性、破坏完整性、隐私泄露。攻击者为实现这些目标必须具有的能力在圆圈外环显示。攻击类型用引线标注,与所需的攻击能力相连。多种攻击类型为实现相同目标所需要的能力如果相同,仅使用一个引线标注。不同攻击类型为实现同一目标若需要使用不同能力,则用虚线相连。
图1 预测式AI系统攻击分类
这些攻击根据以下维度进行分类:(1)发起攻击时的学习方法和学习过程阶段,(2)攻击目的,(3)攻击能力,(4)攻击者对学习过程的了解。之前有几篇文章介绍了若干对抗性攻击分类框架,本次目标是创建对抗性机器学习攻击标准术语库,在相关文章中统一使用。
1)学习阶段
机器学习涉及训练阶段和部署阶段。在训练阶段进行模型学习,在部署阶段将模型部署在未标注的新数据样本上以生成预测。对于有监督学习,训练数据在标注后作为训练阶段训练算法的输入,同时,优化机器学习模型,最大程度地减小特定损失函数。通常,在实际部署模型之前,先进行机器学习模型的验证和测试。常见的有监督学习技术包括分类(涉及不连续的预测标签或类别)和回归(涉及连续的预测标签或响应变量)。
机器学习模型可分为生成式模型(即学习训练数据的分布并生成类似样本,如生成式对抗网络[GAN]和大语言模型[LLM];详见第3部分)和判别式模型(即仅学习决策边界,如逻辑回归、支持向量机和卷积神经网络)。大多数的PredAI模型属于后者。
机器学习文献中的其他学习范式还包括无监督学习(使用未标注数据训练模型)、半监督学习(一小部分样本带标签,大多数样本未标注)、强化学习(智能体与环境交互并学习最佳策略以最大化奖励)、联邦学习(一组客户端通过与聚合模型更新的服务器通信来联合训练机器学习模型)和集成学习(通过组合多个模型的预测结果来提升预测性能)。
对抗性机器学习方面的文献主要考虑在训练阶段或机器学习部署阶段可能发生的针对AI系统的对抗性攻击。在机器学习训练阶段,攻击者会控制部分训练数据及其标签、模型参数或机器学习算法代码,发动各种投毒攻击。在机器学习部署阶段,机器学习模型已经过训练,攻击者可能发起逃逸攻击以破坏完整性并篡改机器学习模型的预测,还可能发起隐私攻击来推测有关训练数据或机器学习模型的敏感信息。
训练阶段攻击。机器学习训练阶段的攻击称为投毒攻击。在数据投毒攻击中,攻击者通过插入或篡改训练样本来控制训练数据子集。在模型投毒攻击中,攻击者会控制模型及其参数。数据投毒攻击适用于所有学习范式,而模型投毒攻击在联邦学习中最为普遍,攻击时客户端会将本地模型更新发送到聚合服务器。此外,在供应链攻击中,模型技术供应商可能会将恶意代码添加到模型中。
部署阶段攻击。推理或部署阶段的攻击有两种。第一种是逃逸攻击。攻击者篡改测试样本,创建与原始样本类似的(根据特定距离度量)对抗样本,但会根据需要更改模型预测。第二种是隐私攻击(包括成员推理攻击和数据重构攻击),通常由具有机器学习模型查询权限的攻击者发起。隐私攻击可以进一步分为数据隐私攻击和模型隐私攻击。
2)攻击目的
根据系统安全三要素(可用性、完整性、机密性),攻击目的从这三个维度可分为:破坏可用性、破坏完整性、隐私泄露。相应地,攻击成功则表示实现了其中一个或多个目标。图1根据攻击目的使用三个圆圈划分攻击类型,圆圈中心为攻击目的。
破坏可用性。可用性攻击是一种针对机器学习的无差别攻击,目的是在部署阶段破坏模型性能。这种攻击可通过数据投毒(攻击者控制一小部分训练集)或模型投毒(攻击者控制模型参数)实现,也可以通过查询权限发起能耗-时延(Energy-Latency)攻击。有人提出,数据投毒可用性攻击可针对支持向量机(Support Vector Machine)、线性回归甚至神经网络,而模型投毒攻击则专门针对神经网络和联邦学习。最近,针对神经网络出现了能耗-时延攻击,这种攻击只需要对模型具有黑盒访问权限,就可以影响计算机视觉和NLP中的各种任务。
破坏完整性。完整性攻击旨在破坏机器学习模型输出的完整性,导致机器学习模型输出错误预测。攻击者可通过部署阶段的逃逸攻击或训练阶段的投毒攻击来破坏完整性。逃逸攻击需要修改测试样本,创建对抗样本,诱导模型进行人类难以察觉的错误分类。通过投毒发起的完整性攻击可分为定向投毒、后门投毒和模型投毒。定向投毒中,攻击者试图破坏少数目标样本的完整性。为此,攻击者需要具有训练数据的控制权,以插入中毒样本。后门投毒攻击需要生成后门模式,添加到中毒样本和测试样本中,导致错误分类。在相关文献中,后门攻击是唯一需要同时控制训练和测试数据的攻击。模型投毒可导致定向攻击或后门攻击,攻击者通过修改模型参数来破坏完整性。这类攻击专门针对集中式学习和联邦学习。
隐私泄露。有的攻击者企图获取训练数据方面的信息(数据隐私攻击),有的企图获取机器学习模型方面的信息(模型隐私攻击)。攻击者之所以入侵训练数据隐私,其目的各有不同,包括数据重构(推测训练数据的内容或特征)、成员推理(推测训练集中是否存在某数据)、数据提取(从生成式模型中提取训练数据)和属性推理(推测训练数据分布的属性)。模型提取是一种模型隐私攻击,攻击者旨在提取模型相关信息。
3)攻击能力
攻击者可利用六种能力来实现其目标,如图1中的外环所示:
- 训练数据控制:攻击者可通过插入或篡改训练样本来控制训练数据的子集。此能力用于数据投毒攻击(如可用性投毒、定向投毒或后门投毒)。
- 模型控制:攻击者生成木马触发器并将其插入模型中或在联邦学习中发送恶意本地模型更新,以此控制模型参数。
- 测试数据控制:攻击者在模型部署时向测试样本添加扰动,比如,在逃逸攻击中生成对抗样本或发动后门投毒攻击
- 标签限制:此能力主要限制有监督学习中对训练样本标签的对抗性控制。干净标签投毒攻击中,攻击者不控制中毒样本的标签(现实投毒场景),而常规投毒攻击会控制中毒样本的标签。
- 源代码控制:攻击者篡改机器学习算法的源代码,例如随机数生成器或通常开源的第三方库。
- 查询权限:机器学习模型由云服务商管理(机器学习即服务(MLaaS))时,攻击者向模型提交查询,获取预测结果(标签或模型置信度)。黑盒逃逸攻击、能耗-时延攻击和所有隐私攻击都需要该能力。
请注意,即使攻击者无法篡改训练/测试数据、源代码或模型参数,也可以通过访问这些内容发起白盒攻击。有关攻击者知识的更多信息,详见2.1.4节。
图1将每种攻击与发起攻击所需的能力联系起来。例如,以破坏完整性为目的的后门攻击需要控制训练数据和测试数据以插入后门模式。通过源代码控制也可以发起后门攻击,特别是当训练外包给更具实力的外部实体时。除了后门攻击所需的能力外,干净标签后门攻击不对中毒样本进行标签控制。
4)攻击者知识
攻击分类的另一维度是攻击者对机器学习系统的了解程度。主要有以下三类攻击:白盒、黑盒和灰盒攻击。
白盒攻击。攻击者对机器学习系统有全面了解,包括训练数据、模型架构和模型超参数。这些攻击需要满足极强假设,但分析它们仍有意义,可以验证系统在极端情况下的安全性并评估可用的缓解措施。请注意,这里的定义较为宽泛,包含自适应攻击的概念,即攻击者具有模型或系统缓解措施方面的知识。
黑盒攻击。攻击者对机器学习系统知之甚少。攻击者对模型有查询权限,但不了解模型的训练方式。这类攻击最具实际意义,因为攻击者无须了解AI系统且利用的是正常系统接口。
灰盒攻击。攻击者具有的攻击知识介于黑盒攻击和白盒攻击之间。Suciu等人所著论文中介绍了一个灰盒攻击分类框架。攻击者可能了解模型架构但不了解相关参数,也有可能了解模型及其参数但不了解训练数据。灰盒攻击的其他常见假设包括攻击者(1)能够访问与训练数据分布相同的数据;以及(2)了解特征表示。有些应用(如网络安全、金融和医疗保健)在训练机器学习模型之前需要提取特征,了解特征表示就能发动相关攻击。
5)数据模态
在多个应用领域使用的多种数据模态中都发现了针对机器学习的对抗攻击。大多数攻击和防御都是单模态,但最近机器学习领域出现了新趋势,即使用多模态数据。图1中定义的攻击类型与特定应用中的数据模态无关。
对抗性机器学习文献中最常见的数据模态包括:
图像:图像数据模态的对抗样本的优势是具有连续域,可以直接使用基于梯度的方法进行优化。后门投毒攻击最初针对的就是图像,许多隐私攻击也是基于图像数据集发动的(例如成员推理攻击)。图像模态包括激光雷达(LIDAR)、合成孔径雷达(SAR)、红外线(IR)、高光谱等。
文本:自然语言处理(NLP)是一种常见模态,涉及所有攻击类型,包括逃逸、投毒和隐私攻击。
音频:针对音频系统和从音频信号生成的文本也出现了相关攻击。
视频:视频理解模型在视觉和语言任务上的能力越来越强,但也容易受到攻击。
网络安全:最早的投毒攻击出现在网络安全领域,用于生成蠕虫特征(2006)或进行垃圾邮件分类(2008)。之后,投毒攻击陆续出现在恶意软件分类、恶意PDF检测和安卓恶意应用程序分类中。针对上述数据模态,还有人提出了逃逸攻击的可能性。Clements等人所著论文中提出了一种机制,可有效规避网络入侵检测中功能简单的小型路由器的检测。针对恶意软件分类和网络流量异常检测中使用的聚类,有文献表明可对无监督学习模型发起投毒攻击。
工业控制系统(ICS)和数据采集与监控(SCADA)系统是现代关键基础设施(如电网、发电厂(核能、化石燃料、可再生能源)、水处理厂、炼油厂等)中的一部分。ICS极受攻击者青睐,因为它们被攻击后有可能对关键基础设施造成严重破坏。随着定向隐形攻击的出现,开发了纵深防御机制,以检测和缓解此类攻击。异常检测基于以数据为中心的方法,通过机器学习算法自动学习特征。将机器学习应用于此类问题面临着特定挑战,例如要求极低的漏报率和误报率、有能力捕捉零日攻击、考虑工厂运行偏差等。所有这些因素结合在一起加剧了挑战,使得机器学习模型容易受到攻击。
表格数据:对于金融、商业和医疗保健应用,已证明可对处理表格数据的机器学习模型发动大量攻击,例如,针对医疗保健和商业应用的可用性投毒攻击、针对医疗保健数据的隐私攻击以及针对金融应用的逃逸攻击。
近来,使用多模态数据(尤其是图像和文本数据的结合)训练的机器学习模型越来越受到关注。有些论文表示,多模态模型具有一定的抵御攻击的能力,但有些论文表明,多模态模型的各种模态可能会同时受到攻击。
测试和描述各种多模态机器学习对逃逸、投毒和隐私攻击的抵御能力绝非易事,需要持续关注。
逃逸攻击与缓解措施
机器学习模型逃逸攻击的出现引起了人们对对抗性机器学习的兴趣。过去十年间,针对该领域的研究呈显著增长趋势。在逃逸攻击中,攻击者的目标是生成对抗样本,即测试样本,其分类可在部署期间以最小扰动进行任意更改。已知的逃逸攻击最早可追溯至1988年Kearns和Li的论文。2004年,Dalvi等人以及Lowd和Meek证实垃圾邮件过滤器中使用的线性分类器存在对抗样本。Szedegy等人证明,用于图像分类的深度神经网络可被轻松操控且对抗样本能够可视化。这激起了研究人员对对抗样本的兴趣。就图像分类而言,原始样本的扰动必须小到肉眼无法分辨。这样便可诱骗机器学习模型将对抗样本按攻击者需要进行分类,而肉眼仍将其视为原来的分类。
2013年,Szedegy等人和Biggio等人各自发现了一种有效方法,将梯度优化应用于对抗性目标函数,生成针对线性模型和神经网络的对抗样本。这两种技术都需要对模型进行白盒访问,后续都进行了改进,生成了具有更小扰动的对抗样本。对抗样本也适用于更现实的黑盒环境,这种环境中,攻击者只需要获得训练模型的查询权限。在更难攻破的黑盒环境中,攻击者如果获得模型的预测标签或置信度分数,深度神经网络仍然可能遭受攻击。在黑盒环境中创建对抗样本的方法包括零阶优化、离散优化和贝叶斯优化。此外,还有可迁移性(在不同模型架构上用白盒方式生成对抗样本,然后将对抗样本迁移到目标模型)。逃逸攻击首先出现在网络安全和图像分类领域。对抗性机器学习获得了越来越高的关注度,人们开始深入研究其他应用领域中使用的机器学习技术,包括语音识别、自然语言处理和视频分类。
业内人士都知道,对抗样本很难对付,需要深入调研。之前,有些防御措施仅针对相对较弱的对抗模型,却也发布出来,之后被更强大的攻击所突破,这个过程就这样反复发生。评估缓解措施时需要考虑强大的自适应攻击。已经出台指导意见,严格评估新的缓解技术。要缓解逃逸攻击带来的严重威胁,可能最有效的方法是对抗训练(在训练时迭代生成并插入正确标注的对抗样本);已认证技术,例如随机平滑(评估带噪声的机器学习预测);以及形式化验证技术(应用形式化方法技术来验证模型的输出)。然而,这些方法各有局限,例如,对抗训练和随机平滑的准确性较低,形式化方法的计算复杂。需要在鲁棒性和准确性之间找到平衡。同样,模型的鲁棒性和公平性保障也需要权衡取舍。
本节详细介绍了白盒和黑盒逃逸攻击技术、攻击迁移性以及对抗样本的潜在缓解措施。
1)白盒逃逸攻击
有一些基于优化的方法可用于设计逃逸攻击,在靠近原始测试样本处生成对抗样本。还有一些方法可用于距离度量、一般逃逸攻击和物理攻击,或用于开发针对多种数据模态(包括NLP、音频、视频和网络安全领域)的逃逸攻击样本。
基于优化的方法。Szedegy等人和Biggio等人分别提出使用优化技术来生成对抗样本。在他们的威胁模型中,攻击者可检视整个机器学习模型,计算模型损失函数的梯度。定向攻击中,攻击者选择对抗样本的类别;非定向攻击中,攻击者根据需要篡改对抗样本的类别。
Szedegy等人创造了“对抗样本”这个术语,现已广泛使用。他们考虑的目标是:在模型预测变为目标类(Target Class)的情况下,最小化扰动的ℓ2范数。优化问题可通过有限空间Broyden-Fletcher-Goldfarb-Shanno(L-BFGS)方法解决。Biggio等人提出设置一个二元分类器,用连续可微判别函数进行恶意和良性分类。优化的目的是最小化判别函数,最大可能地提高对抗样本的置信度。
Biggio等人将他们的方法应用于线性分类器、内核SVM和多层感知器,而Szedegy等人则证明用于图像分类的深度学习模型存在对抗样本。Goodfellow等人介绍了针对深度学习的对抗样本生成方法:快速梯度符号法(FGSM),通过一次梯度下降迭代来解决优化问题。Kurakin等人将该方法扩展为迭代FGSM攻击。
后续研究提出了新的目标和方法来优化对抗样本的生成,目标是最小化扰动并支持多种距离度量。其中以下攻击值得注意:
(1)DeepFool攻击:这是一种针对ℓ2范数的非定向逃逸攻击,使用神经网络的线性近似来构建对抗样本。
(2)Carlini-Wagner攻击:使用多个目标来最小化目标类的损失或罗吉特(Logit)以及对抗样本与原始样本之间的距离。通过惩罚函数法优化攻击,并采用三个距离度量指标来测量对抗样本的扰动:ℓ0、ℓ2和ℓ∞。该攻击可有效突破防御性净化(Defensive Distillation)方法。
(3)投影梯度下降(PGD)攻击:最小化损失函数,在梯度下降的每次迭代中将对抗样本投影到允许扰动的空间。PGD可用于ℓ2和ℓ∞的距离度量,测量对抗样本的扰动。
一般逃逸攻击。Moosavi-Dezfooli等人的论文中介绍了如何构造微弱普适扰动(相对于某个范数),添加到多个图像中导致错误分类。他们的技术依赖于对普适扰动的连续优化,其间需要使用从数据分布中采样的点集。这是一种功能性攻击。值得关注的是,普适扰动在深度网络架构中具有普遍性,表明不同模型为同一任务训练的决策边界具有相似性。
物理攻击。这类攻击指可在现实世界发起的针对机器学习系统的攻击。对此类攻击的早期论述包括Sharif等人的论文,其中描述了对面部识别系统的攻击。[261]. 具体说来,通过打印一副眼镜框就能骗过面部识别系统,进而逃避检测或冒充他人。Eykholt等人论文中构造了另一种攻击,根据不同条件生成可靠的各种扰动,产生对抗样本,躲避各种物理环境中的视觉分类器。例如,在道路标志上粘贴黑白贴纸,使得路标检测分类器无法分类。
ShapeShifter攻击旨在逃避目标检测器,这比攻击图像分类器更难,因为攻击者需要逃避大小各异的多个边界框,避免被分类。此外,这种攻击要求扰动足够可靠,不会被不同视距和角度、光照条件及摄像头限制而导致的失真所影响。
其他数据模态。在计算机视觉应用中,对抗样本必须为肉眼所不察。因此,攻击者构造的扰动必须非常小,肉眼能够正常识别图像,但机器学习分类器却被误导,进而错判。另一种方法是,图像中存在触发对象,该对象肉眼无法识别,但会导致模型错误分类。对抗样本的概念已扩展到其他领域,如音频、视频、自然语言处理(NLP)和网络安全。在这些环境中,对抗样本受到的约束更多,例如NLP中的文本语义和网络安全中的应用约束。下面列举了这些领域的代表性文献:
- 音频:Carlini和Wagner所著论文中介绍了针对语音转文本生成模型的定向攻击。他们生成了与现有音频波形非常相似的音频波形,可以根据攻击者需要转化为任何文本。
- 视频:针对视频分类模型的对抗性逃逸攻击可分为稀疏攻击(扰乱少量视频帧)和密集攻击(扰乱全部视频帧)。攻击者的目标是篡改视频的分类标签。
- NLP:Jia和Liang发明了一种方法,可生成对抗性NLP样本。继这项开创性工作之后,在针对NLP模型的对抗性攻击方面取得了许多进展。最近,La Malfa和Kwiatkowska提出了一种方法,引入了语义鲁棒性概念,确立了NLP中的扰动定义。NLP中的一大挑战是,与图像、音频和视频分类领域不同,该领域具有不连续性,并且对抗样本需要符合文本语义。
- 网络安全:在网络安全应用中,对抗样本所受的约束包括:(1)应用语义;及(2)网络数据(如网络流量或程序二进制文件)的特征表示。FENCE通用框架用于在不连续域中使用梯度优化来构造白盒逃逸攻击,支持各种线性和统计特征依赖关系。FENCE应用于两种网络安全应用:恶意域检测和恶意网络流量分类。Sheatsley等人提出了一种方法,使用形式逻辑学习特征空间中的约束,再构造对抗样本,将其投影到符合约束的空间。他们将该技术应用于网络入侵检测和网络钓鱼分类器。两篇论文都表示,连续域攻击无法直接应用于受限环境,因为对抗样本对于这些环境无效。Pierazzi等人的论文提到,由于特征空间的限制,逃逸攻击很难在网络空间奏效,将攻击从特征空间映射到问题空间也颇具挑战。他们在问题空间中构造了有效的逃逸攻击,并为安卓恶意软件构建了可行的对抗样本。
2)黑盒逃逸攻击
黑盒逃逸攻击基于现实的对抗模型设计,攻击者事先不了解模型架构或训练数据。相反,攻击者可通过查询各种数据样本并获取模型的预测来与训练后机器学习模型进行交互。公共云服务商提供的机器学习即服务(MLaaS)也提供了类似的API,用户可从中获取模型对选定查询的预测,无需了解模型的训练方式。文献中主要提及了两类黑盒逃逸攻击:
- 基于分数的攻击:攻击者获得模型的置信度分数或罗吉特,使用各种优化技术来创建对抗样本。常用方法是零阶优化,无需显式计算导数即可估计模型的梯度。其他优化技术包括离散优化、自然进化策略和随机游走。
- 基于决策的攻击:这种攻击更为受限,攻击者只能获得模型的最终预测标签。针对这种逃逸攻击最早提出的方法是基于决策边界随机游走和拒绝采样的边界攻击,通过改进的梯度估计进行了扩展,以减少HopSkipJumpAttack中的查询次数。后续提出的优化方法包括搜索最近决策边界的方向(OPT攻击)、用符号SGD代替二分搜索(Sign-OPT攻击)或使用贝叶斯优化。
在黑盒环境中创建对抗样本的主要挑战是如何减少对机器学习模型的查询量。近期技术可以用较少查询量(通常不足1000)成功避开机器学习分类。
3)攻击迁移性
基于其他机器学习模型构造的攻击具有可迁移性,利用这一性质可在限制性威胁模型下生成对抗性攻击。通常,攻击者先训练替代机器学习模型,基于替代模型生成白盒对抗性攻击,然后将攻击迁移到目标模型。训练替代模型的方法各有不同。例如,Papernot等人对目标模型进行基于分数的查询,进而训练替代模型。有几篇论文则介绍了训练模型集合的方法,这些方法无需显式查询目标模型。
攻击的可迁移性令人关注,现有文献试图揭示对抗样本跨模型迁移的根本原因。有几篇论文指出,不同模型学习良性和对抗性相交的决策边界,提高了攻击的可迁移性。Demontis等人认为,攻击存在可迁移性(无论是逃逸攻击还是投毒攻击)主要是因为:目标模型对对抗性攻击的内在脆弱性和用于优化攻击的代理模型的复杂性。
变换期望(Expectation over Transformation)用以在现实世界中发生图像变换(例如角度和观察点发生变化)时维持对抗样本的有效性。
4)缓解措施
如上所述,对抗样本广泛存在于各种机器学习模型架构和应用领域中,因而要缓解逃逸攻击绝非易事。对抗样本之所以存在,可能是因为机器学习模型依赖于非鲁棒特征,这些特征与计算机视觉领域中的人类感知并不一致。在过去几年中,提出了许多针对对抗样本的缓解措施,然而面对更强大的攻击时,这些措施却几近无效。此外,有几篇论文对诸多缓解措施进行了评估并提出了有效方案对抗这些措施:
- Carlini和Wagner演示了如何绕过10种对抗样本检测方法,介绍了评估防御措施的几项指导原则。近期研究表明,检测对抗样本与建立防御一样困难。因此,在设计防御时,缓解对抗样本的影响同样具有挑战性。
- 混淆梯度攻击专门用于对抗使用ℓ0和ℓ∞距离度量掩盖梯度的防御措施。它使用了一种新技术,即反向传递可微近似(BackwardPass Differentiable Approximation),在反向传播过程中获得近似梯度。这种技术可绕过七种防御措施。
- Trame`r等人介绍了一种可对抗防御的自适应攻击方法,这种方法可绕过13种现有防御。他们主张设计自适应攻击来测试新防御措施,而不仅仅是常见攻击的防御措施。
在针对对抗性逃逸攻击的各种防御措施中,主要有三类措施较具韧性,有缓解逃逸攻击的潜力:
对抗训练:对抗训练由Goodfellow等人提出,并由Madry等人改进。这是一种通用方法,利用在训练过程中使用正确标签迭代生成的对抗样本来增强训练数据。用于生成对抗样本的对抗性攻击越强大,训练后的模型就越有韧性。值得关注的是,对抗训练产生的模型比标准模型具有更多的语义含义,但这种好处通常是以降低干净数据的模型准确性为代价的。此外,由于在训练过程中迭代生成对抗样本,对抗训练的成本很高。
随机平滑:随机平滑由Lecuyer等人提出,并由Cohen等人改进。具体工作原理如下:在高斯噪声扰动下产生最可能的预测,将所有分类器转换为可靠的平滑分类器。这种方法已证明对ℓ2逃逸攻击具有鲁棒性,甚至对于在ImageNet等大规模数据集上训练的分类器也同样有效。随机平滑通常为测试样本子集(具体数量取决于ℓ2球的半径以及训练数据和模型的特征)提供可靠的预测。最近的研究成果是:将预训练的去噪扩散概率模型和标准的高精分类器结合起来,进而将对抗鲁棒性的概念扩展到ℓ2范数有界扰动。
形式验证:神经网络对抗鲁棒性的另一有效方法基于形式化方法技术。Reluplex使用可满足性模理论(SMT)求解器来验证小型前馈神经网络的鲁棒性。第一种方法是AI2,用于验证使用抽象解释技术的卷积神经网络。后续扩展为验证系统,在更大网络中应用,例如DeepPoly、ReluVal和快速几何投影(FGP)。形式化验证技术在认证神经网络鲁棒性方面具有巨大潜力,但其主要局限性是缺乏可扩展性、计算成本高以及支持的操作类型有限。
提出的所有这些缓解措施都要在鲁棒性和准确性之间权衡,且在训练期间会带来额外的计算成本。因此,设计能够抵抗逃逸同时保持准确性的机器学习模型仍需探讨。
投毒攻击与缓解措施
与机器学习系统相关的另一威胁是投毒攻击,一般指机器学习算法训练阶段的对抗性攻击。投毒攻击在网络安全领域有着悠久的历史。已知最早的投毒攻击发生在2006年,目的是生成蠕虫特征。从那时起,人们对投毒攻击的多个应用领域进行了广泛研究:计算机安全(用于垃圾邮件检测)、网络入侵检测、漏洞预测、恶意软件分类、计算机视觉、自然语言处理以及医疗保健和金融领域的表格数据。最近,投毒攻击在工业应用中也受到了更多关注。根据微软的一份报告,投毒攻击是生产环境里机器学习系统中最严重的漏洞。不久前发生的大规模投毒事件证明攻击者利用有限的金融资源可以控制用于模型训练的一小部分公共数据集。
投毒攻击非常强大,会破坏可用性或完整性。具体来说,可用性投毒攻击会导致机器学习模型的性能全面下降,无论样本如何,而定向投毒和后门投毒攻击则更为隐蔽,只会破坏一小部分目标样本的完整性。投毒攻击利用了各种对抗性功能,如数据投毒、模型投毒、标签控制、源代码控制和测试数据控制,产生了对应的子类别。针对白盒对抗场景、灰盒环境和黑盒模型的投毒攻击已被研发出来。本节讨论了基于对抗目标分类的可用性投毒、定向投毒、后门投毒和模型投毒攻击所带来的威胁。还介绍了各种投毒攻击所使用的技术以及现有的缓解措施及其局限性。我们对投毒攻击的分类参考了Cina等人开发的框架,其中列举了投毒攻击及其缓解措施的其他参考文献。
1)可用性投毒
网络安全应用中最早的投毒攻击是针对蠕虫特征生成和垃圾邮件分类器的可用性攻击,这些攻击不加区分地影响整个机器学习模型,对AI系统的用户造成了实质上的拒绝服务攻击。Perdisci等人使用伪不变量生成可疑流,误导Polygraph中的蠕虫特征生成算法。Nelson等人设计的投毒攻击针对的是基于贝叶斯的垃圾邮件分类器,所生成的垃圾邮件包含合法邮件中出现的长单词序列,以此误导垃圾邮件分类。这两种攻击都是在白盒环境下进行的,也就是说,攻击者了解机器学习训练算法、特征表示、训练数据集和机器学习模型。已有人提出基于机器学习的方法,用以检测工业控制系统中的网络安全攻击。此类检测器通常使用系统运行期间收集的数据进行再训练,解决受监测信号在工厂运营时的偏移问题。这种再训练过程为攻击者带来了机会,他们可以在训练阶段模仿受损传感器的信号,向检测器的学习过程投毒,在部署阶段悄悄发动攻击而不为人知。
标签翻转是一种简单的黑盒投毒攻击策略,攻击者选择受害标签,生成训练样本。这种方法需要大量的投毒样本才能发起可用性攻击,后续通过首次针对支持向量机(SVM)的基于优化的投毒攻击进行了改进。在这种方法中,攻击者解决了双层优化问题,选择最佳投毒样本,实现对抗目标(即最大化SVM的铰链损失或最大化回归的均方误差[MSE])。这些基于优化的投毒攻击之后被用于针对线性回归和神经网络,条件是对模型和训练数据具有白盒访问权限。在灰盒对抗环境中,发动可用性投毒攻击时最常使用的方法是迁移,为替代模型生成投毒样本,迁移到目标模型。
针对有监督学习,现实中使用的威胁模型是干净标签投毒攻击。在这种攻击中,攻击者只能控制训练样本,不能控制样本标签。这种情况模拟的场景中,标注过程独立于训练算法。例如,在恶意软件分类中,攻击者提交二进制文件给威胁情报平台,使用病毒特征或其他外部方法进行标注。针对神经网络分类器的干净标签可用性攻击中,攻击者训练生成式模型,向训练样本添加噪声,最大可能地实现对抗目的。干净标签投毒的另一方法是使用梯度对齐,尽量减少对训练数据的修改。
可用性投毒攻击也可用于无监督学习,针对基于质心的异常检测和恶意软件的行为聚类。在联邦学习中,攻击者可以发起模型投毒攻击,破坏全局训练模型的可用性。有关模型投毒攻击的更多详细信息,参见2.3.4节。
缓解措施。通过监控机器学习模型的标准性能指标(如精度、召回率、准确性和F1分数以及ROC曲线下面积)一般可以检测到可用性投毒攻击,因为这类攻击会导致分类器指标的大幅下滑。然而,在机器学习的测试或部署阶段检测这些攻击并不可取,现有的缓解措施旨在在训练阶段主动预防攻击,以生成稳健可靠的机器学习模型。总体而言,在现有的缓解措施中,如下技术较有前景:
- 训练数据清洗:人们认识到,中毒样本与不受攻击者控制的正常训练样本通常不一样。因此,数据清洗技术的设计理念是在进行机器学习训练之前清洗训练集,删除中毒样本。Nelson等人提出了非关键区域(RONI)方法,逐一检查样本,若添加某样本时模型的准确性降低,则去除该样本。后续清洗方法进行了改进,降低了早期方法的计算复杂度。Paudice等人介绍了一种专门针对标签翻转攻击的标签清洗方法。Steinhardt等人则建议使用异常值检测方法来识别中毒样本。聚类方法也可以用于检测中毒样本。在网络入侵检测中,计算机器学习模型集合所做预测的方差已确认是一种行之有效的数据清洗方法。清洗后,应采用网络安全机制来保护数据集,证明其来源和完整性。
- 鲁棒性训练:还有一种方法可以缓解可用性投毒攻击:修改机器学习训练算法,进行鲁棒性训练而非常规训练。防守方可以训练模型集合并通过模型投票生成预测。有几篇论文介绍了鲁棒性优化技术,例如使用调整后的损失函数。Rosenfeld等人提出使用随机平滑,在训练期间添加噪声,对抗标签翻转攻击。
2)定向投毒
与可用性攻击不同,定向投毒攻击旨在改变机器学习模型中少量目标样本的预测。攻击者如果能够控制训练数据的标注函数,就能使用标签翻转有效发动定向投毒攻击。他们只需在中毒样本中插入目标标签,就能让模型学习到错误标签。因此,定向投毒攻击的研究主要基于干净标签,这种情况下,攻击者无法访问标注函数。
已有人提出针对干净标签的定向攻击技术。Koh和Liang在论文中介绍了如何利用影响函数(判断对预测影响最大的训练样本的统计方法)通过微调(根据新数据对预训练模型进行微调)创建中毒样本。Suciu等人设计了名为StingRay的定向投毒攻击,修改特征空间中的样本,将中毒样本逐一添加到小批量训练中。Shafahi等人设计了一种基于特征冲突的优化程序,针对微调和端到端学习发动干净标签定向投毒。ConvexPolytope和BullseyePolytope优化了投毒样本,用以攻击集合模型,提升了攻击的可迁移性。MetaPoison使用元学习算法来优化中毒样本,而“女巫的魔法药水”(Witches’ Brew)则通过梯度对齐进行优化,产生了最先进的定向投毒攻击。
所有上述攻击都会影响攻击者在训练阶段选择的一小部分目标样本(StingRay除外,它需要对抗性控制训练集中的大部分数据)。此外,这些攻击仅针对连续图像数据集进行了测试。亚群投毒(Subpopulation Poisoning)攻击会匹配特征子集或在表示空间中创建聚类,以此污染整个亚群中的样本。使用标签翻转(用于NLP和表格模态)或一阶优化方法(用于如图像之类的连续数据)生成中毒样本。这种攻击只需要少量中毒样本(与亚群大小对应)以及对机器学习模型有最基本的了解,就能扩散到亚群中的所有样本。
定向投毒攻击还能攻击半监督学习算法,例如MixMatch、FixMatch和无监督数据增强(UDA)。这类攻击中,攻击者会污染一小部分未标注的训练数据集,以便在部署阶段更改对目标样本的预测。
缓解措施。定向投毒攻击的防御难度极大。Jagielski等人展示了亚群投毒攻击的不可能结果(Impossibility Result)。要缓解此类攻击风险,建议使用网络安全机制来验证数据集来源和完整性。Ma等人提出使用差分隐私(含义与常规定义相同)来防御此类攻击,但众所周知,差分隐私机器学习模型的准确性低于标准模型。所有应用都需要在鲁棒性和准确性之间做出取舍。如果应用对数据隐私要求高,并且使用差分隐私训练来保护隐私,那么额外的好处就是可以防范定向投毒攻击。然而,一旦定向攻击需要多个投毒样本(如亚群投毒攻击),差分隐私提供的鲁棒性就开始减弱,因为群体隐私界限无法有效防止大型中毒集。
3)后门投毒
2017年,Gu等人提出了BadNets,这是首个后门投毒攻击。他们发现,在训练阶段可以对图像分类器进行污染,方法是在图像子集中添加一个小补丁触发器并将分类器标签更改为目标类。分类器通过学习,将触发器与目标类关联起来,任何图像(包括触发器或后门模式)在测试时都会被错误识别为目标类。同时,Chen等人介绍了一种后门攻击,将触发器融入训练数据中。之后,出现了干净标签后门攻击概念,限制攻击者保留中毒样本的标签。干净标签攻击通常需要更多的投毒样本才能成功,但攻击模式较为现实。
在过去几年中,后门攻击变得愈加复杂和隐蔽,因而更难检测和缓解。对于潜伏式后门攻击来说,即使用干净数据对最后几层进行模型微调也无法避免。后门生成网络(BaN)是一种动态后门攻击,触发器的位置在中毒样本中发生变化,模型能以位置不变(Location-invariant)方式学习到触发器。功能性触发器,又称功能性攻击,嵌入整个图像中或根据输入而变化。例如,Li等人使用隐写术算法将触发器隐藏在训练数据中。Liu等人介绍了一种干净标签攻击,使用图像的自然反射作为后门触发器。Wenger等人使用实体物质作为触发器(如太阳镜和耳环),误导面部识别系统。
其他数据模态。大多数后门投毒攻击都是针对计算机视觉应用设计的,但这种攻击方式对于其他类型的数据应用(如音频、NLP和网络安全)也很有效。
- 音频:在音频领域,Shi等人展示了攻击者如何将隐形的音频触发器注入实时语音,并在训练期间与目标模型联合优化。
- NLP:在自然语言处理中,不太容易构造有意义的投毒样本,因为文本数据不连续,并且理想情况下,需要保留句子的语义,避免攻击被检测出来。最近有研究表明,针对NLP领域也有可行的后门攻击。例如,Chen等人在字符、单词和句子级别均引入了语义保留后门,用于情绪分析和神经机器翻译应用。Li等人在三个NLP任务中使用了生成式语言模型,针对Transformer模型生成隐藏后门:有害言论检测、神经机器翻译和问题回答。
- 网络安全:在网络安全领域,早期的投毒攻击包括2006年针对蠕虫特征生成和2008年针对垃圾邮件检测器的攻击,那时对抗性机器学习远未引起人们兴趣。前几年,Severi等人展示了如何利用AI可解释性技术发动干净标签投毒攻击,用小型触发器攻击恶意软件分类器。他们使用三个恶意软件数据集攻击了多个模型(神经网络、梯度提升、随机森林和SVM):用于Windows PE文件分类的Ember、用于PDF文件分类的Contagio以及用于安卓应用分类的DREBIN。“七巧板”(JigsawPuzzle)是针对安卓恶意软件分类器的后门投毒攻击,通过从正常代码获取的软件触发器实现。
缓解措施。与其他投毒攻击相比,有大量关于后门攻击缓解的文献。下面介绍了几类防御措施(包括数据清洗、触发器重建、模型检查和清洗)及其局限性。
- 训练数据清洗:与可用性投毒攻击类似,训练数据清洗可用于检测后门投毒攻击。例如,隐特征空间(Latent Feature Space)中的异常值检测对于计算机视觉应用的卷积神经网络非常有效。激活聚类(Activation Clustering)对表示空间中的训练数据进行聚类,目的是用单独的聚类将后门样本隔离开。当投毒攻击控制较多训练数据时,数据清洗的效果较好,但数据清洗对于隐形投毒攻击则效果有限。总的来说,要在攻击成功率和恶意样本检出率之间进行权衡。
- 触发器重建。这类缓解措施旨在重建后门触发器,前提是触发器在中毒训练样本中的位置固定不变。Wang等人提出的“神经清洁”(Neural Cleanse)是首个触发器重建方法,使用优化来判断最有可能对测试样本误分类的后门模式。最初的技术已经得到改进,减少了几个类别的执行时间,同时支持在模型中插入多个触发器。该类中的代表性系统是Liu等人的人工大脑模拟(ABS),通过刺激多个神经元并测量活化来重建触发模式。Khaddaj等人开发了用于检测后门攻击的新基元以及有理论支撑的有效检测算法。
- 模型检测和清洗:模型检测是指分析训练后机器学习模型,判断其是否中毒,然后再确定是否部署。这一领域的早期研究成果包括NeuronInspect,它使用可解释性方法来识别干净模型和后门模型之间的特征差异,进行异常值检测。DeepInspect使用条件生成式模型来学习触发模式的概率分布,进而消除触发器,修复模型。Xu等人提出了元神经木马检测(MNTD)框架,通过训练元分类器来预测特定机器学习模型是否带有后门(或用作者的话来说,“木马化”)。该技术可广泛用于多种数据模态,如视觉、语音、表格数据和NLP。一旦检测到后门,就可以通过裁剪、重新训练或微调来清洗模型,恢复模型的准确性。
这些缓解措施大多针对的是基于卷积神经网络的、具有固定触发模式后门的计算机视觉分类器。Severi等人证明,某些数据清洗技术(例如光谱特征和激活聚类)无法缓解针对恶意软件分类器的清洁标签后门投毒。最近出现的语义和功能性后门触发器也会对触发器重建或模型检测方法构成挑战,因为这些方法通常假设后门具有固定的模式。使用元分类器预测木马化模型的局限性在于,元分类器训练阶段的计算高度复杂,需要训练数千个影子模型。需要进行更多研究来设计没有局限性的、有效的后门缓解策略,避免机器学习模型遭受此类攻击。
在网络安全方面,Rubinstein等人提出了一种主成分分析(PCA)方法,可以缓解针对骨干网络中PCA子空间异常检测方法的投毒攻击。这种方法通过最大化绝对中位差(MAD)而不是方差来计算主成分,同时使用基于拉普拉斯分布而不是高斯分布的阈值。Madani和Vlajic构建了基于自动编码器的入侵检测系统,宣称可将恶意投毒攻击控制在2%以下。
最近有一篇论文提供了后门缓解的另一视角,证明了如果不对攻击做出其他假设,后门与数据中自然形成的特征将无法区分。假设后门在数据中创建了极其明显的特征,则可以使用该文提出的优化技术来识别和删除相关训练样本。
现有缓解措施不足以防范不断演进的攻击。作为对这些措施的补充,可使用投毒取证技术进行根因分析,识别恶意训练样本。这种技术为机器学习系统增加了一层防御:在部署阶段检测到投毒攻击后,可基于训练集数据,找出攻击源。
4)模型投毒
模型投毒攻击通过直接篡改训练后机器学习模型,将恶意功能注入模型。在集中式学习中,TrojNN逆向工程了一个训练后神经网络触发器,然后将触发器嵌入外部数据中,重新训练模型,实现模型投毒。大多数模型投毒攻击针对的是联邦学习环境。在这种环境中,客户端将本地模型更新发送到服务器,服务器再将这些更新汇总,形成全局模型。客户端被攻陷后会发送恶意更新来污染全局模型。模型投毒攻击会破坏联邦模型的可用性和完整性:
- 针对可用性的投毒攻击可有效降低全局模型的准确性,但通常需要控制大量客户端。
- 定向模型投毒攻击会在测试阶段破坏少量样本的完整性。为此目的,攻击者先发动模型替换或模型增强攻击,在控制客户端后根据特定目标替换本地模型更新。
- 后门模型投毒攻击利用植入触发器的恶意客户端更新,在测试阶段用触发器误导所有样本的分类。若受感染客户端只是偶尔参与训练,大多数后门都会弃之不用,但若在利用率极低的模型参数中注入后门,后门就会长期存在。
模型投毒攻击还会出现在供应链场景中,因为供应商提供的模型或模型组件可能会被植入恶意代码。近期发生的一起供应链攻击(随机失活(Dropout)攻击)中,攻击者通过操控神经网络训练中使用的随机性(尤其是随机失活正则化中的随机性),污染模型,降低特定分类组的准确性、精度或召回率。
缓解措施。为了防止联邦学习受到模型投毒攻击,人们设计、评估了多种拜占庭韧性聚合规则。这些规则大多试图在服务器执行聚合时识别并去除恶意更新。然而,不达目的誓不罢休的攻击者通过在攻击生成优化问题中添加约束来绕过这些防御措施。梯度裁剪和差分隐私在一定程度上或可缓解模型投毒攻击,但一般会降低准确性且具有局限性。
对于诸如后门之类的模型投毒漏洞,可以使用2.3.3节所述的某些模型检查和清洗技术。然而,要缓解供应链攻击(攻击者控制训练算法的源代码或机器学习超参数)仍非易事。其他领域中使用的程序验证技术(如加密协议验证)或可用于该种场景,但机器学习算法具有内在的随机性和不确定性,这增加了验证难度。
如何设计可有效对抗供应链漏洞的机器学习模型是业界急需解决的问题。
隐私攻击
隐私问题长期以来一直受人关注,但对于从用户记录中收集汇总信息的隐私攻击,最早进行研究的是Dinur和Nissim,当时两人发表了数据重构攻击方面的论文。重构攻击的目标是通过获取汇总信息,借助逆向工程获取有关个人用户记录的隐私信息或敏感的关键基础设施数据。最近,数据重构攻击已开始针对二元和多类神经网络分类器。还有一种隐私攻击是成员推理攻击。在这种攻击中,攻击者能够推断出某条记录是否包含在用于计算统计信息或训练机器学习模型的数据集中。成员推理攻击最早出现在Homer等人针对基因组数据的论文中。近期文献主要关注黑盒环境中针对机器学习模型的成员攻击。在这种环境中,攻击者可以查询训练后机器学习模型。MLaaS还可能遭遇另一种隐私攻击:模型提取攻击。这种攻击旨在提取机器学习模型信息,例如模型架构或参数。属性推理攻击的目标是提取训练数据集的全局信息,如具有特定敏感属性的训练样本。
本节介绍与数据重构、训练数据记忆、成员推理、模型提取和属性推理相关的隐私攻击,以及部分攻击的缓解措施和总体缓解策略设计需要解决的问题。
1)数据重构
数据重构攻击是最令人关注的隐私攻击,因为这类攻击能够从发布的汇总信息中恢复个人数据。Dinur和Nissim率先介绍了从线性统计数据中恢复用户数据的重构攻击。他们提出的攻击需要指数级数量的查询才能重构,但后续文献表明(如Dwork等人对包括重构攻击在内的隐私攻击所做的调查),用多项式数量的查询便可以重构。之后,美国人口普查局对人口普查数据遭受数据重构攻击的风险进行了大规模研究,继而在2020年的十年一次的美国人口普查中开始使用差分隐私。
就机器学习分类器,Fredrickson等人的论文中介绍了模型反演攻击,即基于机器学习模型的训练数据重构类代表。虽然模型反演生成的图像与训练集中的图像在语义上很相似,但无法通过这一操作直接重构模型的训练数据。最近,Balle等人训练了一个重构器网络,若攻击者足够强大,掌握了所有其他训练样本的信息,便能从神经网络模型中恢复数据样本。根据Haim等人的论文,可以利用在神经网络隐性偏差方面的理论知识,通过访问模型参数来重构二元神经网络分类器的训练数据。相关研究后续进一步扩展到重构多类多层感知器分类器的训练样本。在另一种相关隐私攻击(属性推理)中,攻击者若对训练数据中的其他特征有部分了解,则能够提取训练集的敏感属性。
之所以能够重构训练样本,部分原因是神经网络倾向于记忆其训练数据。Zhang等人在论文中探讨了神经网络如何记忆随机选择的数据集。Feldman则证明,要实现机器学习中的准最优泛化误差,记忆训练标签必不可少。Brown等人构建了两个学习任务,分别基于下一符号预测(Next-Symbol Prediction)和聚类标记,其中记忆都是实现高精度学习的必要因素。Feldman和Zhang使用影响力估计方法,通过实验评估了记忆对泛化的正面作用。本文将在3.3.1节讨论数据重构攻击与生成式AI记忆的关系。
2)成员推理
与重构或记忆攻击一样,成员推理攻击也会暴露个人的隐私信息。在发布汇总信息或基于用户数据训练的机器学习模型时,此类攻击仍是一大隐患。在某些情况下,推断某人属于训练集已经涉及隐私问题,例如针对罕见病患者的医学研究。此外,通过成员推理可发起数据提取攻击。
成员推理攻击者的目标是确定特定记录或数据样本是否包含在训练数据集中,用于统计或机器学习算法。Homer等人的论文中,这类攻击被称为追踪攻击(Tracing Attack),针对的是基因组数据的统计计算。另一篇有关追踪攻击分析的论文中,攻击者访问了数据集的噪声统计信息。在过去五年中,文献开始使用成员推理这一术语来表示针对机器学习模型的攻击。这些文献中,大多数攻击针对的是用于分类的深度神经网络。与对抗性机器学习中的其他攻击类似,成员推理可以在白盒环境中进行,前提是攻击者了解模型的架构和参数。不过,大多数攻击都是针对黑盒环境,攻击者需要对训练后机器学习模型生成查询。
成员推理攻击的有效性已得到正式确认。有些论文受密码启发,设计了隐私游戏,攻击者与挑战者交互,需要判断目标样本是否用于训练所查询的机器学习模型。在成员推理攻击的技术方面,Yeom等人提出了基于损失的攻击,这是最有效、使用最广泛的一种方法。机器学习模型能够最大程度地降低训练样本的损失,如果目标样本的损失低于固定阈值(训练样本的平均损失),攻击者就能确定目标样本属于训练数据。Sablayrolles等人利用单样本阈值调整损失,优化了基于损失的攻击。Shokri等人提出的影子模型是又一种流行技术,具体方法如下:在与原始模型相同的任务上训练数千个影子机器学习模型,形成训练集,再基于该训练集内外样例训练元分类器。这种技术通常成本高昂。与简单的基于损失的攻击相比,这种方法可能更为复杂,但其计算成本高,需要访问大量样本来训练影子模型。在复杂性方面,这两种技术处于两个极端,但在准确性方面表现相似,误报率都不高。
Carlini等人提出的LiRA攻击介于两者之间,在曲线下面积(Area Under the Curver,AUC)方面表现良好。该方法只需要训练较少影子模型就能学习模型罗吉特(Logit)在训练集内外样本上的分布。假设模型罗吉特呈高斯分布,LiRA通过估计高斯分布的均值和标准差进行假设验证,进而实现成员推理。Ye等人设计了类似攻击,执行单侧假设验证,不对损失分布做任何假设,但这种攻击的性能略低于LiRA。最近,Lopez等人提出了一种更为有效的成员推理攻击,只需训练一个模型就能预测受攻击模型的置信度得分分布的分位数。成员推理攻击也是基于更严格的仅标签威胁模型(Label-Only Threat Model)设计的,即攻击者只能访问被查询样本的预测标签。
有几个公共隐私库提供了成员推理攻击的实现方法,如TensorFlow隐私库和机器学习隐私计量器(ML Privacy Meter)。
3)模型提取
在MLaaS场景中,云服务商通常使用私有数据训练大型机器学习模型,对模型架构和参数保密。在模型提取攻击中,攻击者向MLaaS服务商训练的机器学习模型提交查询,目的是提取有关模型架构和参数的信息。针对多种机器学习模型的在线机器学习服务,包括逻辑回归、决策树和神经网络,Tramer等人首次演示了模型窃取攻击。然而,Jagielski等人却表示,机器学习模型是无法准确提取的。相反,可以重构一个模型,提供与原始模型相同的功能,且性能相近。根据Jagielski等人的这篇论文,即使是提取功能等效模型这种较弱的任务也具有NP-hard难度。
文献中提供了几种模型提取攻击技术。第一种方法是基于深度神经网络中操作的数学公式表达进行直接提取,以代数方式计算模型权重。还有一系列论文探讨了另一种技术,使用学习方法进行提取。例如,主动学习可以将查询引导至机器学习模型,更有效地提取模型权重,而强化学习可以训练自适应策略,减少查询量。第三种技术是使用侧信道信息提取模型。Batina等人使用电磁侧信道可恢复简单的神经网络模型,而Rakin等人演示了如何利用Rowhammer攻击来提取更为复杂的卷积神经网络架构的模型。
请注意,模型提取通常不是最终目标,目标是发动其他攻击。随着模型权重和架构逐渐为人所知,攻击者能够针对白盒或灰盒环境发起更强大的攻击。发动下游攻击需要了解模型架构和权重,因此,阻止了模型提取,就可以防范这些下游攻击。
4)属性推理
在属性推理攻击中,攻击者通过与机器学习模型交互来获取有关训练数据分布的全局信息。例如,攻击者若能推断出具有特定敏感属性(如人口统计信息)的训练集比例,就会泄露训练集的非公开机密信息。
属性推理攻击由Ateniese等人首先提出,后续被定义为攻击者和挑战者之间的区分游戏,双方使用不同的敏感数据训练两个模型。针对白盒环境时,属性推理攻击者可以访问完整的机器学习模型;针对黑盒环境时,攻击者向模型发出查询,获取预测标签或类概率。这些攻击已被证明对隐马尔可夫模型、支持向量机、前馈神经网络、卷积神经网络、联邦学习模型、生成式对抗网络和图神经网络有效。Mahloujifar等人和Chaudhauri等人则表示,通过污染目标属性,可设计出更有效的属性推理区分测试。此外,Chaudhauri等人设计了一种有效的属性大小估计攻击,可以获取目标群体的精确比例。
5)缓解措施
针对汇总信息的重构攻击促使人们定义了严格的差分隐私。差分隐私是一种极强的隐私定义,对于获取了算法输出的攻击者,可以限制他们对于数据集中每条记录的了解程度。差分隐私最初的定义中有一个隐私参数ε(即隐私预算),对于具有算法输出访问权限的攻击者,在判断某条记录是否属于数据集时,该参数可限制其判断准确性。除了ε和Re`nyi差分隐私,差分隐私经过发展,已形成近似差分隐私概念,出现了又一参数δ,指信息意外泄露的概率。
差分隐私因如下实用特性而被广泛采用:群组隐私(将定义扩展到具有不同k记录的两个数据集)、后处理(在处理输出后仍能保护隐私)和组合(对数据集进行多次计算,形成组合隐私)。用于统计计算的差分隐私机制包括高斯机制、拉普拉斯机制和指数机制。训练机器学习模型最常使用的差分隐私算法是DP-SGD,最近还出现了更先进的DP-FTRL和差分隐私矩阵分解等算法。
根据定义,差分隐私可以缓解数据重构和成员推理攻击。事实上,差分隐私定义的直接含义是限制成员推理攻击的成功率。Thudi等人推导出了成员推理成功率的严格上限。然而,差分隐私并不能保证阻断模型提取攻击,因为这种方法旨在保护训练数据,而不是模型。属性推理攻击的目的是提取训练集中子群体的属性。有几篇论文介绍了使用差分隐私来防护这种攻击的负面结果。
实际操作中使用差分隐私存在一大挑战,即如何设置隐私参数,在隐私级别和防护效果之间达到平衡(通常以机器学习模型的准确性来衡量)。对DP-SGD等隐私保护算法的分析通常考虑的是最坏情况且并不严谨,而单纯基于理论分析来选择隐私参数也会降低防护效果。因此,在实践中通常会使用较大的隐私参数(例如,2020年美国人口普查数据使用的ε = 19.61),而现实世界所获得的确切隐私很难估计。Jagielski等人近期提出的隐私审计颇具前途,采用实证方法来衡量算法的实际隐私保证,并通过发起隐私攻击来确定隐私下限。审计可通过成员推理攻击实现,但投毒攻击更为有效,并且能够更准确地预测隐私泄露。隐私审计的最新发展包括(1)对高斯机制采用更严格的限制;(2)通过使用多个Canary来降低样本复杂性的严格统计方法。此外,还提出了两种通过训练单个模型进行隐私审计的有效方法:Steinke等人使用多个随机数据Canary,不会产生群组隐私成本;Andrew等人使用多个随机客户端Canary和余弦相似度检验统计数据来审计用户级隐私联邦学习。
差分隐私提出了严格的隐私概念,用以防范成员推理和数据重构攻击。要在隐私和有效性之间达到最佳平衡,建议使用实证隐私审计来补充隐私训练算法的理论分析。
相关文献还提出了针对模型提取的其他缓解技术,例如限制用户对模型的查询、检测对模型的可疑查询或加固架构以防止侧信道攻击。然而,应谨慎使用这些技术,因为积极主动、资源充足的攻击者能够绕过这些技术。建议读者参阅保护机器学习部署的相关实践指南。缓解用户数据隐私泄露还有一种截然不同的方法,即机器遗忘(Machine Unlearning),用户可以要求从训练后机器学习模型中删除其数据。现有的机器遗忘技术有两种实现方法:(1)精确方法(例如,从头开始或从某个检查点重新训练模型);(2)近似方法(更新模型参数,消除未学习记录的影响)。
文章相关信息:
发布机构:美国国家标准与技术研究院(NIST)
发布日期:2024年1月
原文链接:https://doi.org/10.6028/NIST.AI.100-2e2023
免责声明
该文章原文版权归原作者所有。文章内容仅代表原作者个人观点。本译文仅以分享先进网络安全理念为目的,为业内人士提供参考,促进思考与交流,不作任何商用。如有侵权事宜沟通,请联系littlebee@nsfocus.com邮箱。
译者简介
小蜜蜂翻译组公益译文项目,旨在分享国外先进网络安全理念、规划、框架、技术标准与实践,将网络安全战略性文档翻译为中文,为网络安全从业人员提供参考,促进国内安全组织在相关方面的思考和交流。