编者按
美国国家标准与技术研究所(NIST)3月24日正式发布保护AI系统免受对抗性攻击的最新指南《对抗性机器学习:攻击和缓解的分类和术语》(NIST AI 100-2e2025)。
该指南描述了对抗性机器学习(AML)的分类法和术语,有助于保护AI应用免受对抗性操纵和攻击;为分类攻击,区分了预测性人工智能系统和生成式人工智能系统,并介绍了与两类系统相关的攻击;探讨了人工智能系统的组成部分,包括数据、模型本身、训练、测试和部署模型的过程,以及模型可能嵌入的更广泛的软件和系统环境。该指南分五个维度对攻击进行分类:一是人工智能系统类型;二是发起攻击的机器学习生命周期过程阶段;三是攻击者试图破坏的系统属性方面的目标和目的;四是攻击者的能力和访问权限;五是攻击者对学习过程及其他方面的了解。该指南还提供了在AI系统生命周期中缓解和管理相关攻击后果的相应方法,并概述了广泛使用的缓解技术的局限性,以提高认识并帮助提高AI风险缓解工作的有效性。
在预测性性人工智能系统方面,该指南围绕“可用性故障”“完整性破坏”“隐私泄露”三个目标以及“学习阶段”“攻击者目标和目的”“攻击者能力”“攻击者知识”四个维度对攻击进行了分类。基于学习阶段,“训练时攻击”可能会控制部分训练数据、标签、模型参数或机器学习算法的代码,从而导致不同类型的投毒攻击;“部署时攻击”可以发起规避攻击来造成完整性破坏并更改机器学习模型的预测,以及发起隐私攻击来推断有关训练数据或机器学习模型的敏感信息。基于攻击者目标和目的,“可用性故障攻击”故意干扰预测性人工智能系统,以破坏其他用户或进程及时可靠地访问其服务的能力;“完整性破坏攻击”故意干扰预测性人工智能系统,迫使其违背预期目标并产生与对手目标一致的预测;“隐私泄露攻击”会导致预测性人工智能系统中的受限或专有信息意外泄露。基于攻击者能力,可区分为控制训练数据、控制模型、控制测试数据、限制标签、控制源代码、访问查询等六种类型;基于攻击者知识,可区分为“白盒攻击”“黑盒攻击”“灰盒攻击”三种类型。
该指南针对预测性人工智能系统审查了规避攻击、数据投毒攻击和隐私攻击及相应的缓解措施。在规避攻击方面,攻击者的目标是生成对抗性样本,例如通过“白盒规避攻击”确定添加到测试样本中的扰动、通过“黑客规避攻击”查询各种数据样本并获取模型的预测来与经过训练的机器学习模型进行交互、利用“攻击的可转移性”转移在不同机器学习模型上构建的攻击。规避攻击的有效缓解措施包括:开展对抗性训练,使用在训练过程中使用正确标签迭代生成的对抗性示例来增强训练数据;利用随机平滑方法为测试样本的子集提供经过认证的预测;通过形式化验证提高神经网络对抗稳健性。
在投毒攻击方面,攻击者在机器学习算法训练阶段实施对抗性攻击,可导致可用性或完整性受损,具体可分为可用性投毒、有针对性投毒、后门投毒和模型投毒攻击。其中,可用性投毒攻击通常会导致所有样本的机器学习模型无差别降级,方式包括标签翻转、清洁标签投毒等,缓解措施包括清理训练数据、通过训练提高模型稳健性等;有针对性的投毒攻击会导致机器学习模型对少数目标样本的预测发生变化,方式包括标签翻转、亚群毒害攻击等,缓解措施是通过传统的网络安全措施来保护训练数据,如访问控制、使用数据清理和验证方法以及使用数据集来源和完整性证明机制;后门投毒攻击会导致目标模型对包含特定后门模式或触发器的样本进行错误分类,缓解措施包括清理训练数据、重建触发器、检查和清理模型、采用经过认证的防御等;模型投毒攻击试图直接修改经过训练的机器学习模型以向其中注入恶意功能,可能导致联合模型的可用性和完整性受损,缓解措施包括采用拜占庭弹性聚合规则、实施梯度剪裁和差分隐私、检查和清理模型、运用程序验证技术等。
在隐私攻击方面,主要涉及数据重建、成员推断、属性推断和模型提取四类隐私攻击。其中,数据重建攻击能够从已发布的汇总信息中恢复个人数据;成员推断攻击目标是确定特定记录或数据样本是否是用于统计或机器学习算法的训练数据集的一部分,可能会泄露个人的隐私信息,并可用作发起数据提取攻击的基础;属性推断攻击试图通过与机器学习模型交互来了解有关训练数据分布的全局信息;模型提取攻击通过三类技术进行模型提取,包括基于深度神经网络中执行的操作的数学公式、使用学习方法和利用侧通道信息。隐私攻击的缓解措施包括采用差分隐私、限制用户对模型的查询、检测对模型的可疑查询或创建更强大的架构以防止旁道攻击等。
在生成式人工智能系统方面,该指南围绕“可用性故障”“完整性破坏”“隐私泄露”“滥用启用”四个目标以及“学习阶段”“攻击者目标和目的”“攻击者能力”三个维度对攻击进行了分类。基于学习阶段,“训练时攻击”主要源于各种公共来源抓取数据易遭数据投毒攻击,以及第三方训练或微调易遭模型投毒攻击;“推理时攻击”主要源于基于文本的生成模型应用程序中常见的做法,包括上下文指令和系统提示、从第三方来源获取运行时数据、输出处理、代理。基于攻击者的目的和目标,“可用性故障攻击”试图干扰生成式人工智能模型或系统,以破坏其他用户或流程及时、持续访问其输出或功能的能力;“完整性破坏攻击”试图迫使生成式人工智能系统违背预期目标并产生符合攻击者目标的输出;“隐私泄露攻击”试图未经授权访问生成式人工智能系统中的受限或专有信息;“滥用启用攻击”试图故意规避生成式人工智能系统。基于攻击者能力,可区分为控制训练数据、访问查询、控制模型三种类型。
该指南针对生成式人工智能系统审查了供应链攻击、直接提示攻击和间接提示注入攻击及相应的缓解措施。在供应链攻击方面,数据投毒攻击可能影响大语言模型的训练流程各阶段,可能导致攻击者通过插入后门来控制模型,或修改模型对特定用户查询的行为;模型投毒攻击可能使攻击者通常通过第三方开发的基础模型提供恶意设计的模型,例如实现后门投毒攻击或有针对性投毒攻击的预训练模型。供应链攻击缓解措施包括验证网络下载、过滤数据、检测模型漏洞、设计应用程序来降低模型风险等。
在直接提示攻击方面,攻击者作为系统主要用户在通过查询访问与模型交互时实施攻击,从而达成启用滥用、侵犯隐私、破坏完整性的目标。直接提示攻击主要包括三类技术:“基于优化的攻击”设计攻击目标函数并使用梯度或其他基于搜索的方法来学习导致特定行为的对抗性输入,可以使用优化技术来学习攻击;“手动方法”通过竞争目标和不匹配泛化来破解大语言模型,其中竞争目标的攻击方法包括前缀注入、拒绝抑制、风格注入、角色扮演,针对不匹配泛化攻击方法包括特殊编码、字符转换、词语转换、提示级转换;“基于模型的自动化红队”采用攻击者模型、目标模型和判断器。直接提示攻击涉及的信息提取目标和技术包括泄露敏感训练数据、窃取提示和上下文以及提取模型。直接提示攻击缓解措施包括:在训练前和训练后,采用增加通过直接提示注入访问有害模型功能难度的训练策略,包括训练前或训练后的安全训练、对抗性训练方法,以及其他使越狱攻击更加困难的方法;在评估期间,衡量模型对基于查询的攻击的脆弱性,方式包括广泛的自动化漏洞评估以及有针对性的专家红队和漏洞悬赏等;在部署期间,采取运用提示指令和格式化技术、检测和终止有害交互、检测提示窃取、修改输入、聚合来自多个提示的输出、实施监控和响应、限制使用等干预措施;采取其他间接缓解措施,包括清理训练数据、开展反学习、采用水印技术等。
在间接即时注入攻击方面,第三方攻击者利用数据通道通过操纵系统交互的资源来影响系统操作,从而导致可用性故障、完整性破坏和隐私泄露。间接即时注入攻击涉及可用性攻击、完整性攻击和隐私泄露三类。其中,可用性攻击在生成式人工智能模型中注入提示,旨在破坏模型对合法用户的可用性,攻击技术包括执行耗时的后台任务、抑制模型能力、破坏模型输出等;完整性攻击使用恶意资源促使生成式人工智能系统变得不可信,并生成偏离良性行为的内容以符合对抗目标,攻击技术包括越狱、执行触发器、知识库投毒、注入隐藏、自我传播注入等;隐私泄露损害生成式人工智能系统或其主要用户的隐私,攻击技术包括侵犯连接的资源、泄露用户交互信息等。间接即时注入攻击缓解包括开发缓解间接提示注入的训练技术、提出检测间接提示注入的检测方案、提出对抗间接提示注入的输入处理方法。
奇安网情局编译有关情况,供读者参考。
NIST值得信赖且负责任的AI
NIST AI 100-2e2025
对抗性机器学习:
攻击和缓解的分类和术语
执行摘要
此份美国国家标准与技术研究所(NIST)可信和负责任的AI报告描述了对抗性机器学习(AML,利用机器学习系统的统计和基于数据的特性进行的攻击。)的分类法和术语,可能有助于保护AI应用免受对抗性操纵和攻击。
统计和数据的特性为这些系统的安全、隐私和安保带来了新的潜在攻击途径,而传统软件系统面临的威胁则远远不止这些。这些挑战涵盖了机器学习操作的不同阶段,例如对抗性操纵训练数据的可能性;提供对抗性输入以对人工智能系统的性能产生不利影响;甚至恶意操纵、修改或与模型交互以从模型的训练数据或模型可以访问的数据中窃取敏感信息。此类攻击已在现实条件下得到证实,其复杂性和影响一直在稳步增加。
AML领域与研究这些攻击有关。它必须考虑攻击者的能力、攻击者为实现其目标可能试图破坏的模型或系统属性,以及利用机器学习生命周期开发、训练和部署阶段漏洞的攻击方法的设计。它还与能够承受这些安全和隐私挑战的机器学习算法和系统的设计有关,这一属性通常称为稳健性。
为了对这些攻击进行分类,本报告区分了预测性人工智能系统和生成式人工智能系统,并介绍了与每种系统相关的攻击。报告探讨了人工智能系统的组成部分,包括数据、模型本身、训练、测试和部署模型的过程,以及模型可能嵌入的更广泛的软件和系统环境,例如部署生成式人工智能(GenAI)模型时可以访问隐私数据或配备工具来采取行动,从而产生现实世界的后果。
因此,此分类法中的攻击根据以下方面进行分类:(1)人工智能系统类型;(2)发起攻击的机器学习生命周期过程阶段;(3)攻击者试图破坏的系统属性方面的目标和目的;(4)攻击者的能力和访问权限;(5)攻击者对学习过程及其他方面的了解。
本报告采用了NIST AI风险管理框架中ML系统的安全性、弹性和稳健性概念。安全性、弹性和稳健性通过风险来衡量,风险是衡量实体(例如系统)受潜在情况或事件(例如攻击)威胁的程度以及此类事件发生时结果的严重程度的指标。但是,本报告并未就风险承受能力(即组织或社会可接受的风险水平)提出建议,因为它高度依赖于具体情况,并且特定于应用程序和用例。
针对ML的有效攻击范围很广,发展迅速,涵盖了ML生命周期的所有阶段——从设计和实施到训练、测试和在现实世界中的部署。这些攻击的性质和威力各不相同,其影响可能不仅取决于ML模型的漏洞,还取决于部署AI系统的基础设施的弱点。AI系统组件还可能受到设计和实施缺陷的不利影响,这些缺陷会导致对抗使用环境之外的故障,例如不准确。然而,这些类型的缺陷不属于AML文献或本报告中的攻击范围。
除定义攻击分类法外,本报告还提供了在AI系统生命周期中缓解和管理这些攻击后果的相应方法,并概述了广泛使用的缓解技术的局限性,以提高认识并帮助组织提高其AI风险缓解工作的有效性。本报告中使用的术语与AML文献一致,并附有词汇表,其中定义了与AML领域相关的关键术语,以帮助非专业读者。总而言之,分类法和术语旨在为快速发展的AML领域建立通用语言,为评估和管理人工智能系统安全性的其他标准和未来实践指南提供参考。与分类法一样,术语和定义并非详尽无遗,而是作为理解和协调AML文献中出现的关键概念的起点。
一、简介
多年来,人工智能(AI)系统一直处于全球扩张的轨迹上。许多国家的经济体正在开发和广泛部署这些系统,人们在生活的许多领域使用人工智能系统的机会越来越多。本报告区分了两大类人工智能系统:预测性人工智能(PredAI)和生成式人工智能(GenAI)。尽管人工智能系统的大多数行业应用仍然以PredAI系统为主导,但最近在商业和消费者环境中采用GenAI系统的情况有所增加。随着这些系统渗透到数字经济并成为日常生活的重要组成部分,对其安全、稳健和有弹性运行的需求也日益增长。这些运行属性是美国NIST人工智能风险管理框架和英国国家网络安全中心(NCSC)机器学习原则中可信人工智能的关键要素。
对抗性机器学习(AML)领域研究针对机器学习系统的攻击,这些攻击利用了机器学习系统的统计和基于数据的特性。尽管人工智能(AI)和机器学习(ML)在不同应用领域取得了重大进展,但这些技术仍然容易受到可能导致严重故障的攻击。当机器学习系统在可能受到新奇或对抗性交互的环境中使用时,发生此类故障的可能性会增加,而且随着这些系统在越来越高风险的领域中使用,后果会变得更加可怕。例如,在用于对象检测和分类的PredAI计算机视觉应用中,输入图像的对抗性扰动的著名案例已导致自动驾驶汽车转向相反方向的车道,停车标志被错误分类为限速标志,甚至戴眼镜的人在高安全环境中被错误识别。类似地,随着越来越多的ML模型被部署到医学等领域,对抗性输入诱使ML模型泄露隐藏信息的可能性变得更加紧迫,医疗记录泄露可能会暴露敏感的个人信息。
在GenAI中,大语言模型(LLM)正日益成为软件应用程序和互联网基础设施不可或缺的一部分。LLM被用于创建更强大的在线搜索工具,帮助软件开发人员编写代码,并为每天有数百万人使用的聊天机器人提供支持。LLM也正在得到增强,以创建更有用的AI系统,包括通过与企业数据库和文档的交互来实现强大的检索增强生成,以及通过训练或推理时间技术使LLM能够采取现实世界的行动,例如浏览网页或使用bash终端作为基于LLM的代理。因此,GenAI系统中的漏洞可能会暴露出广泛的攻击面,威胁敏感用户数据的隐私或有关模型架构或训练数据的专有信息,并对广泛使用的系统的完整性和可用性造成风险。
随着GenAI的采用不断增长,这些系统不断增强的功能也给模型开发人员带来了另一个挑战:如何管理因不必要或有害地使用这些系统功能而产生的风险。随着模型开发人员越来越多地寻求应用技术干预来降低模型被滥用的可能性,试图规避或破坏这些保护措施的攻击为高风险AML攻击提供了另一种可能。
从根本上讲,许多人工智能系统既容易受到AML攻击,也容易受到更类似于传统网络安全攻击的攻击,包括针对部署它们的平台的攻击。本报告重点关注前者,并将后者视为传统网络安全分类法的范畴。
PredAI和GenAI系统在整个开发和部署生命周期中都容易受到攻击者利用一系列功能发起的攻击。攻击者可以操纵训练数据,包括用于大规模模型训练的互联网数据,或者可以通过添加对抗性扰动或后缀来修改测试时推理数据和资源。攻击者还可以通过插入特洛伊木马功能来攻击用于构建AI系统的组件。随着各机构和组织越来越依赖可以直接使用或使用新数据集进行微调以实现不同任务的预训练模型,它们对这些攻击的脆弱性也随之增加。
现代密码学通常依赖于信息论意义上的安全算法,即那些可以正式证明在特定条件下确保安全的算法。然而,现代人工智能系统中广泛使用的机器学习算法没有信息论安全性证明。此外,文献中开始出现信息论不可能性结果,限制了广泛使用的缓解技术的有效性。因此,在开发针对不同类别的AML攻击的缓解措施方面取得的许多进展往往是经验性的和有限的,之所以采用这些措施是因为它们在实践中似乎有效,而不是因为它们提供了信息论安全保证。因此,许多这些缓解措施本身可能容易受到攻击者技术的新发现和演变的影响。
本报告为以下方面的发展提供了指导:
为AML术语制定标准化术语,供相关ML和网络安全界使用。不同利益相关者社区的术语存在显著差异,随着AI在企业和消费者环境中得到越来越广泛的应用,努力弥合这些差异非常重要。
对AML领域中研究最广泛且目前最有效的攻击进行分类,包括:
PredAI系统的规避、投毒和隐私攻击
GenAI系统的投毒、直接提示和间接提示注入攻击
讨论这些攻击的潜在缓解措施以及现有缓解技术的局限性
随着AML攻击和缓解措施出现新的发展,NIST打算更新此报告。
本报告对PredAI和GenAI系统的常见攻击类别及其缓解措施进行了分类。本报告并非旨在详尽调查所有可用的AML文献,其中包括自2021年以来截至2024年7月在arXiv.org上发表的超过11354篇参考文献。
本报告分为三个部分。
第二章探讨PredAI系统。第(一)节介绍了PredAI系统的攻击分类,定义了攻击者目标和目的的广泛类别,并确定了攻击者必须利用的能力以实现相应目标。还介绍了每种能力类型的特定攻击类别。第(二)(三)(四)节分别讨论了主要的攻击类别:规避、投毒和隐私。攻击类别部分提供了针对每类攻击的一组相应的缓解措施。
第三章探讨GenAI系统。第(一)节介绍了GenAI系统的攻击分类,并定义了与这些系统相关的攻击者目标和对手能力的广泛类别。介绍了每种能力类型的特定攻击类别以及相关的缓解措施。
第四章讨论了该领域仍然存在的挑战,包括广泛使用的缓解技术的局限性。目的是提高人们对AML领域未解决问题的认识,并提请关注可能影响未来风险和风险管理实践的趋势。
二、预测性人工智能分类法
(一)攻击分类
图1介绍了基于攻击者目标、能力和知识的AML对预测性人工智能(PredAI)系统的攻击分类。
图1:预测性人工智能系统攻击的分类
攻击者的目标以不连贯的圆圈表示,每个圆圈的中心代表攻击者的目标:可用性故障、完整性破坏和隐私泄露。攻击者为实现其目标必须利用的能力显示在目标圆圈的外层。攻击类别显示为与发动每次攻击所需能力相关的标注。需要相同能力才能达到相同目标的多个攻击类别显示在单个标注中。这些攻击根据以下维度进行分类:(1)发动攻击时的学习方法和学习过程阶段;(2)攻击者的目标和目的;(3)攻击者的能力;(4)攻击者对学习过程的了解。先前的研究中已经介绍了几种对抗性攻击分类框架,这里的目标是创建一个统一现有研究的机器学习对抗性攻击的标准术语。
1、学习阶段
预测机器学习涉及训练阶段(在此阶段学习模型)和部署阶段(在此阶段将模型部署在新的未标记数据样本上以生成预测)。在监督学习的情况下,标记的训练数据在训练阶段作为训练算法的输入,并且ML模型经过优化以最小化特定的损失函数。ML 模型的验证和测试通常在模型部署到现实世界前进行。常见的监督学习技术包括:分类,其中预测的标签或类别是离散的;回归,其中预测的标签或响应变量是连续的。
ML文献中的其他学习范式包括:无监督学习,它在训练时使用未标记的数据训练模型;半监督学习,其中一小部分示例带有标签,而大多数样本未标记;强化学习,其中代理与环境交互并学习最佳策略以最大化其奖励;联合学习,其中一组客户端通过与执行模型更新聚合的服务器通信来联合训练ML模型;集成学习,这是一种通过组合多个模型的预测来寻求更好预测性能的方法。
大多数PredAI模型都是判别性的,即只学习决策边界,例如逻辑回归、支持向量机器和卷积神经网络。GenAI 模型也可用于预测任务,例如情绪分析。
AML文献主要考虑在训练阶段或部署阶段可能发生的针对人工智能系统的对抗性攻击。在训练阶段,攻击者可能会控制部分训练数据、其标签、模型参数或机器学习算法的代码,从而导致不同类型的投毒攻击。在部署阶段,机器学习模型已经过训练,攻击者可以发起规避攻击来造成完整性破坏并更改机器学习模型的预测,以及发起隐私攻击来推断有关训练数据或机器学习模型的敏感信息。
训练时攻击。投毒攻击发生在 ML 训练阶段。在数据投毒攻击中,攻击者通过插入或修改训练样本来控制训练数据的子集。在模型投毒攻击中,攻击者控制模型及其参数。数据投毒攻击适用于所有学习范式,而模型投毒攻击在联合学习中最为普遍,其中客户端将本地模型更新发送到聚合服务器,以及在供应链攻击中,模型技术供应商可能会将恶意代码添加到模型中。
部署时攻击。可以针对已部署的模型发起其他类型的攻击。规避攻击会修改测试样本以创建对抗性示例,这些对抗性示例与原始样本相似(例如,根据某些距离度量),但会根据攻击者的选择更改模型预测。具有已部署ML模型查询权限的攻击者还可以发起其他攻击,例如可用性攻击和隐私攻击(包括成员推理和数据重建)。
2、攻击者目标和目的
根据分析系统安全性时考虑的三种主要安全破坏类型,攻击者的目标可分为三个维度:可用性破坏、完整性破坏和隐私泄露。图1根据攻击目标将攻击分为三个不相交的圆圈,攻击者的目标显示在每个圆圈的中心。
可用性故障。可用性破坏攻击是对PredAI系统的故意干扰,以破坏其他用户或进程及时可靠地访问其服务的能力。这种攻击类型可能在训练或部署时发起,但其影响通常在部署时才会显现。当攻击者控制一小部分训练集时,可用性攻击可以通过数据投毒发起;当攻击者控制模型参数时,通过模型投毒发起;或者通过查询访问发起能量延迟攻击。数据投毒可用性攻击已被提议用于支持向量机、线性回归甚至神经网络,而模型投毒攻击则已设计用于神经网络和联合学习。
能量延迟攻击。最近,能量延迟攻击是一种只需要黑盒访问模型的可用性攻击,已针对计算机视觉和自然语言处理中的许多不同任务的神经网络开发。
完整性破坏。完整性破坏攻击是对PredAI系统的故意干扰,迫使其违背预期目标并产生与对手目标一致的预测。攻击者可以通过在部署时发起规避攻击或在训练时发起投毒攻击来导致完整性破坏。规避攻击需要修改测试样本以创建对抗性示例,这些示例被模型错误分类,但通常保持隐秘且人类无法察觉。通过投毒进行的完整性攻击可分为有针对性的投毒攻击、后门投毒攻击和模型投毒。有针对性的投毒试图破坏一些目标样本的完整性,并假设攻击者拥有训练数据控制权来插入投毒样本。后门投毒攻击需要生成后门模式,该模式会添加到中毒样本和测试样本中,从而导致错误分类。后门攻击是文献中唯一需要同时控制训练和测试数据的攻击。模型投毒攻击可能导致有针对性的攻击或后门攻击,攻击者会修改模型参数以导致完整性破坏。它们专为集中学习和联合学习而设计。
隐私泄露。隐私泄露攻击会导致PredAI系统中的受限或专有信息意外泄露,包括有关模型训练数据、权重或架构的详细信息。虽然“机密性”一词在传统网络安全攻击分类法中得到更广泛的使用,但AML领域倾向于使用顶级术语“隐私”来涵盖针对模型机密性的攻击(例如,提取有关模型权重或架构的信息的攻击)和导致破坏模型输出预期隐私属性的攻击(例如,通过暴露模型训练数据)。机器学习训练期间的数据机密性可以通过基于加密技术的安全计算方法实现,从而确保训练数据和模型参数在训练阶段受到保护。然而,即使是使用强制数据保密的范式训练的模型也可能容易受到隐私攻击,在这种情况下,与模型交互的攻击者可以提取有关其训练数据或参数的信息。本报告重点关注部署时可能发生的隐私泄露,无论使用何种训练方法,也无论在训练期间是否保持了数据保密性。
在隐私攻击中,攻击者可能有兴趣了解有关训练数据(导致数据隐私攻击)或机器学习模型(导致模型隐私攻击)的信息。攻击者可能有不同的目标来破坏训练数据的隐私,例如数据重建(推断训练数据的内容或特征)、成员推理攻击(推断训练集中数据的存在)、训练数据提取(从生成模型中提取训练数据)、属性推理攻击(推断训练记录的敏感属性)和性质推理(推断有关训练数据分布的属性)。模型提取是一种模型隐私攻击,攻击者旨在提取有关模型的信息。
3、攻击者能力
针对PredAI系统的AML攻击可以根据攻击者控制的功能进行分类。如图1中目标圈的外层所示,攻击者可能利用六种类型的能力来实现其目标:
训练数据控制:攻击者可能通过插入或修改训练样本来控制训练数据的子集。此功能用于数据投毒攻击(例如,可用性投毒、有针对性或后门投毒)。
模型控制:攻击者可能通过生成特洛伊木马触发器并将其插入模型中或在联合学习中发送恶意本地模型更新来控制模型参数。
测试数据控制:攻击者可能会在模型部署时对测试样本添加扰动,就像在规避攻击中生成对抗性示例或在后门投毒攻击中执行的那样。
标签限制:此功能与限制对抗性控制监督学习中的训练样本标签有关。清洁标签投毒攻击假设攻击者不控制中毒样本的标签,而常规投毒攻击则假设对中毒样本进行标签控制。
源代码控制:攻击者可能会修改ML算法的源代码,例如随机数生成器或任何第三方库,这些库通常是开源的。
查询访问:攻击者可能会向模型提交查询并接收预测(即标签或模型置信度),例如在与云提供商托管的作为机器学习即服务(MLaaS)产品的AI系统交互时。黑盒规避攻击、能量延迟攻击以及所有不需要了解模型的训练数据、架构或参数的隐私攻击都会使用此功能。
即使攻击者无法修改训练/测试数据、源代码或模型参数,访问这些数据对于发起需要了解ML系统的更强大的白盒攻击仍然至关重要。
图1将每个攻击类别与发起攻击所需的功能联系起来。例如,导致完整性破坏的后门攻击需要控制训练和测试数据以插入后门模式。后门攻击也可以通过源代码控制进行,特别是当训练外包给更强大的实体时。除后门攻击所需的能力外,清洁标签后门攻击还不允许对中毒样本进行标签控制。
4、攻击者知识
攻击分类的另一个维度是攻击者对ML系统有多少了解。攻击主要有三种类型:
白盒攻击。这些攻击假设攻击者完全了解ML系统,包括训练数据、模型架构和模型超参数。虽然这些攻击是在非常强的假设下进行的,但分析它们的主要原因是测试系统对最坏情况对手的脆弱性并评估潜在的缓解措施。这个定义更为通用,涵盖了自适应攻击的概念,其中明确跟踪对模型或系统应用的缓解措施的知识。
黑盒攻击。这些攻击假设攻击者对ML系统知之甚少,有时甚至一无所知。对手可能具有对模型的查询权限,但他们没有关于模型如何训练的其他信息。这些攻击是最实际的,因为它们假设攻击者不了解AI系统,并使用可供正常使用的系统接口。
灰盒攻击。有一系列灰盒攻击可以捕获黑盒攻击和白盒攻击间的对抗性知识。攻击者可能知道模型架构但不知道其参数,或者攻击者可能知道模型及其参数但不知道训练数据。灰盒攻击的其他常见假设是攻击者可以访问与训练数据相同分布的数据并知道特征表示。后一种假设对于在训练ML模型前使用特征提取的应用(例如网络安全、金融和医疗保健)很重要。
5、数据模态
直到最近,对抗性机器学习中的大多数攻击和防御都是在单一模态下进行的,但该领域的一个新趋势是使用多模态数据。图1中定义的攻击分类与特定应用中的数据模态无关。AML文献中最常见的数据模态包括:
图像:图像数据的对抗性示例具有连续域的优势,并且可以直接应用基于梯度的方法进行优化。后门投毒攻击最初是针对图像发明的,许多隐私攻击都是在图像数据集上运行的。图像模态包括其他类型的成像(例如,LIDAR、SAR、IR、高光谱)。
文本:文本是一种流行的模态,针对文本模型提出了各种类型的攻击,包括规避、投毒和隐私。
音频:音频系统和由音频信号生成的文本也受到攻击。
视频:视频理解模型在视觉和语言任务中表现出越来越强的能力,但此类模型也容易受到攻击。
网络安全:第一次投毒攻击是在网络安全领域发现的,用于蠕虫签名生成(2006 年)和垃圾邮件分类(2008 年。从那时起,投毒攻击已被证明可用于恶意软件分类、恶意PDF检测和Android恶意应用程序分类。针对类似数据模式的规避攻击也已被提出:恶意软件分类、PDF恶意软件分类、Android恶意应用程序检测和网络入侵检测。投毒无监督学习模型已被证明可用于恶意软件分类和网络流量异常检测中使用的聚类。基于以数据为中心的方法的异常检测允许通过ML算法进行自动特征学习。然而,将ML应用于此类问题会带来特定的挑战,这些挑战与需要非常低的假阴性和假阳性率(例如,捕获零日攻击的能力)有关。试图将所有这些因素结合在一起会使ML模型容易受到对抗性攻击,这使得这一挑战变得更加复杂。
表格数据:针对处理表格数据的ML模型的攻击层出不穷,例如针对医疗保健和商业应用程序的投毒可用性攻击、针对医疗保健数据的隐私攻击以及针对金融应用程序的规避攻击。
最近,使用多模态数据训练的ML模型越来越受到关注,尤其是图像和文本数据模态的组合。几篇论文表明,多模态模型可能具有一定的抵御攻击的能力,但其他论文表明,多模态模型本身可能容易受到同时针对所有模态的攻击。
(二)规避攻击和缓解措施
过去十年,针对ML模型的规避攻击的发现推动了AML研究的显著发展。在规避攻击中,攻击者的目标是生成对抗性样本:样本的分类可以更改为攻击者选择的任意类别 - 通常只需最小的扰动。例如,在图像分类的背景下,原始样本的扰动可能很小,以至于人类无法观察到输入的变化;虽然ML模型可以被欺骗将对抗性样本归类为攻击者选择的目标类别,但人类仍然将其识别为原始类别的一部分。
1、白盒规避攻击
在白盒威胁模型中,攻击者完全了解模型架构和参数。在这种情况下,创建对抗性示例的主要挑战是找到添加到测试样本中的扰动,该扰动会改变其分类标签,通常会对扰动的可感知性或大小等属性进行约束。在白盒威胁模型中,通常通过解决从攻击者的角度编写的优化问题来制作对抗性示例,该优化问题指定了优化的目标函数(例如将目标标签更改为某个类),以及用于测量测试样本和对抗性示例间相似性的距离度量。
2、黑盒规避攻击
黑盒规避攻击是在现实对抗模型下设计的,攻击者对模型架构或训练数据一无所知。相反,攻击者可以通过在各种数据样本上查询并获取模型的预测来与经过训练的ML模型进行交互。公共云提供商提供的机器学习即服务(MLaaS)也提供了类似的API,用户可以在其中获取模型对选定查询的预测,而无需了解模型的训练方式。
3、攻击的可转移性
在限制性威胁模型下生成对抗性攻击的另一种方法是转移在不同ML模型上构建的攻击。通常,攻击者训练替代ML模型,对替代模型生成白盒对抗性攻击,并将攻击转移到目标模型。各种方法在替代模型的训练方式上有所不同。
4、现实世界中的规避攻击
虽然本节讨论的许多攻击仅在研究环境中得到证明,但现实世界中已经证明了几种规避攻击,NIST讨论了人脸识别系统、网络钓鱼网页检测和恶意软件分类中的突出实例。
5、缓解措施
从针对对抗性规避攻击的各种防御措施来看,有三类主要措施已被证明具有弹性,并有可能减轻规避攻击的影响:
(1)对抗性训练:对抗性训练是一种通用方法,它使用在训练过程中使用正确标签迭代生成的对抗性示例来增强训练数据。用于生成对抗性示例的对抗性攻击越强,训练后的模型就越有弹性。对抗性训练产生的模型比标准模型具有更多的语义含义,但这种好处通常是以降低干净数据的模型准确性为代价的。此外,由于在训练过程中迭代生成对抗性示例,对抗性训练的成本很高。
(2)随机平滑:随机平滑是一种通过在高斯噪声扰动下产生最可能的预测,将任何分类器转换为可认证的稳健平滑分类器的方法。随机平滑通常为测试样本的子集提供经过认证的预测,其确切数量取决于潜在扰动的大小或训练数据和模型的特征等因素。
(3)形式化验证:另一种证明神经网络对抗稳健性的方法是基于形式化方法中的技术。形式化验证技术在证明神经网络稳健性方面具有巨大潜力,但受限于其可扩展性不足、计算成本高以及支持的代数运算类型(如加法、乘法等)受限。
所有这些提议的缓解措施都表现出稳健性和准确性间的固有权衡,并且在训练过程中会带来额外的计算成本。因此,设计能够抵抗规避同时保持准确性的ML模型仍然是一个悬而未决的问题。
(三)投毒攻击及缓解措施
投毒攻击被广泛定义为机器学习算法训练阶段的对抗性攻击。投毒攻击威力强大,可导致可用性或完整性受损。可用性投毒攻击通常会导致所有样本的ML模型无差别降级,而有针对性和后门投毒攻击会导致一小部分目标样本的完整性受损。投毒攻击利用了广泛的对抗能力(例如,数据投毒、模型投毒、标签控制、源代码控制和测试数据控制),从而产生了几种投毒攻击子类别。它们是在白盒、灰盒和黑盒环境中开发的。本节根据对抗目标对可用性投毒、有针对性投毒、后门投毒和模型投毒攻击进行了分类。对于每个投毒攻击类别,还讨论了发起攻击的技术、现有的缓解措施及其局限性。
1、可用性投毒
在网络安全应用中发现的第一个中毒攻击是针对蠕虫签名生成和垃圾邮件分类器的可用性攻击,这种攻击会不加区分地降低整个ML模型的性能,以有效阻止其使用。这两次攻击都是在白盒设置下进行的,其中攻击者知道ML训练算法、特征表示、训练数据集和ML模型。对于检测针对工业控制系统的网络安全攻击的基于机器学习的系统,也有人提出了可用性投毒攻击。
一种简单的黑盒投毒攻击策略是标签翻转,其中攻击者生成带有不正确或更改的标签的训练示例。此方法可能需要大量中毒样本才能发起可用性攻击。
清洁标签投毒。监督学习的一个现实威胁模型是清洁标签投毒攻击,其中攻击者只能控制训练示例,而不能控制其标签。
可用性投毒攻击也被设计用于针对基于质心的异常检测和恶意软件行为聚类的无监督学习。在联合学习中,攻击者可以发起模型中毒攻击,从而导致全局训练模型的可用性破坏。
缓解措施。可用性投毒攻击通常可以通过监控ML模型的标准性能指标(例如,精度、召回率、准确率、F1分数和曲线下面积)来检测,因为它们会导致分类器指标大幅下降。但是,在ML的测试或部署阶段检测这些攻击可能不太可取,许多现有的缓解措施旨在在训练阶段主动防止这些攻击,以生成强大的ML模型。现有的可用性中毒攻击缓解措施包括:
训练数据清理:这些方法利用了中毒样本通常与不受对手控制的常规训练样本不同的见解。因此,数据清理技术旨在在进行ML训练前清理训练集并删除中毒样本。
稳健训练:减轻可用性投毒攻击的另一种方法是修改ML训练算法,以提高生成模型的稳健性。防御者可以训练多个模型的集合,并通过模型投票生成预测。
2、有针对性的投毒
与可用性攻击相比,有针对性的投毒攻击会导致ML模型对少数目标样本的预测发生变化。如果攻击者可以控制训练数据的标记函数,那么标签翻转是一种有效的有针对性的投毒攻击:攻击者只需插入几个带有目标标签的中毒样本,模型就会学习错误的标签。因此,有针对性的投毒攻击大多是在干净标签环境中进行研究的,在这种环境中,攻击者无法控制训练数据标签。
亚群毒害攻击旨在毒害整个亚群中的样本,亚群的定义是匹配特征子集或在表示空间中创建聚类。中害样本是使用标签翻转(用于自言语言处理和表格模态)或一阶优化方法(用于连续数据,例如图像)生成的。攻击会推广到亚群中的所有样本,并且需要对ML模型有最低限度的了解,以及与亚群大小成比例的少量中毒样本。
针对半监督学习算法也引入了有针对性的投毒攻击,例如 MixMatch、FixMatch和无监督数据增强(UDA),其中攻击者毒害一小部分未标记的训练数据集,以在部署时改变对目标样本的预测。
缓解措施。针对性投毒攻击的防御难度极大。为了减轻与此类攻击相关的一些风险,模型开发人员可以通过传统的网络安全措施(如访问控制、使用数据清理和验证方法以及使用数据集来源和完整性证明机制)来保护训练数据
3、后门投毒
后门投毒攻击是一种投毒攻击,它会导致目标模型对包含特定后门模式或触发器的样本进行错误分类。近几年来,后门攻击愈发复杂和隐秘,更难被发现和缓解。潜在后门攻击被设计成即使在使用干净数据对最后几层进行模型微调后仍能存活。
其他数据模式。虽然大多数后门中毒攻击都是针对计算机视觉应用而设计的,但这种攻击媒介在具有不同数据模式的其他应用领域也很有效,例如音频、自然语言处理(NLP) 和网络安全设置。
缓解措施。与其他投毒攻击相比,后门攻击缓解方面的文献非常丰富。NIST讨论几类防御措施,包括数据清理、触发器重建以及模型检查和清理,并提出了它们的局限性。
训练数据清理:与投毒可用性攻击类似,训练数据清理可用于检测后门中毒攻击。例如,潜在特征空间中的异常值检测对于用于计算机视觉应用的卷积神经网络非常有效。激活聚类将表示空间中的训练数据聚类,以将后门样本隔离在单独的聚类中。当投毒攻击控制了相对较大一部分训练数据时,数据清理会取得更好的效果,但对隐蔽的投毒攻击则不那么有效。总的来说,这导致了攻击成功率和恶意样本的可检测性间的权衡。
触发器重建:此类缓解措施旨在重建后门触发器,假设它位于中毒训练样本中的固定位置。
模型检查和清理:模型检查在部署前分析经过训练的ML模型,以确定它是否被毒害。
经过认证的防御:文献中提出了几种针对数据中毒攻击的经过认证的防御方法。BagFlip是一种与模型无关的防御方法,它扩展了随机平滑,并将训练数据装袋与向训练和测试样本添加噪声相结合。深度分区聚合和深度有限聚合是经过认证的防御方法,它们将训练数据划分为不相交的子集,并在每个分区上训练集成方法,以减少中毒样本的影响。最近,FCert提供了一种经过认证的防御方法,用于视觉和文本数据的少样本分类设置中的数据中毒。
4、模型投毒
模型投毒攻击试图直接修改经过训练的ML模型,以向其中注入恶意功能。大多数模型投毒攻击都是在联合学习环境中设计的,其中客户端将本地模型更新发送到服务器,服务器将它们聚合成全局模型。受感染的客户端可以发送恶意更新来毒害全局模型。模型中毒攻击可能导致联合模型的可用性和完整性受损:
降低全局模型准确性的投毒可用性攻击是有效的,但它们通常需要大量客户端处于对手的控制之下。
有针对性的模型投毒攻击会在测试时对一小部分样本造成完整性破坏。它们可以通过模型替换或模型增强攻击来发起,其中受感染的客户端会根据目标替换本地模型更新。
后门模型投毒攻击通过恶意客户端更新引入触发器,在测试时用触发器诱导所有样本错误分类。如果受感染的客户端不定期参与训练,大多数后门都会被遗忘,但如果在最低使用的模型参数中注入后门,则会变得更加持久。
供应链模型投毒。供应链场景中也可能发生模型投毒攻击,其中供应商提供的模型或模型组件被恶意代码毒害。
缓解措施。已经设计和评估了各种拜占庭弹性聚合规则,以保护联合学习免受模型投毒攻击。它们中的大多数试图在服务器上执行聚合时识别和排除恶意更新。然而,有动机的对手可以通过在攻击生成优化问题中添加约束来绕过这些防御。梯度剪裁和差分隐私有可能在一定程度上缓解模型中毒攻击,但它们通常会降低准确性并且不能提供完全的缓解。
对于特定的模型中毒漏洞,例如后门攻击,有一些模型检查和清理技术。然而,减轻供应链攻击(攻击者可能控制训练算法或ML超参数的源代码)仍然具有挑战性。其他领域使用的程序验证技术(例如,加密协议验证)可能适用于这种情况,但ML算法具有内在的随机性和非确定性行为,这增加了验证的难度。
设计能够抵御供应链模型中毒漏洞的稳健机器学习模型是一个关键的未解决的问题。
5、现实世界中的投毒攻击
聊天机器人、垃圾邮件过滤器和恶意软件分类服务的真实投毒攻击案例被记录在案。在所有这些事件中,攻击者都在初始模型发布后制作了中毒样本,因为他们相信模型会不断更新。
(四)隐私攻击及缓解措施
伊利特·迪努尔和科比·尼西姆的开创性工作引入了数据重构攻击,这种攻击试图通过访问经过训练的模型来逆向工程有关个人用户记录或其他敏感输入数据的私人信息。最近,数据重构攻击已被设计用于二分类和多分类神经网络分类器。利用成员推理攻击,攻击者可以确定特定记录是否包含在用于训练ML模型的数据集中。成员推理攻击最早由尼尔斯·霍默等人针对基因组数据引入。最近的文献主要关注在黑盒环境中对ML模型的成员攻击,其中攻击者可以查询经过训练的ML模型。属性推断攻击旨在提取有关训练数据集的全局信息,例如具有特定敏感属性的训练示例的比例。机器学习即服务(MLaaS)的另一种隐私侵犯是模型提取攻击,旨在提取有关 ML 模型的信息,例如其架构或模型参数
本节讨论与数据重建、训练数据记忆、成员推断、属性推断和模型提取相关的隐私攻击,以及针对其中一些攻击的缓解措施和设计一般缓解策略中存在的未解决的问题。
1、数据重建
数据重建攻击能够从已发布的汇总信息中恢复个人数据。伊利特·迪努尔和科比·尼西姆首次引入了从线性统计数据中恢复用户数据的重建攻击。他们最初的攻击需要指数级的查询才能进行重建,但后续工作表明如何用多项式次数的查询进行重建。在机器学习分类器中,马特·弗雷德里克森等人引入了模型反转攻击,即从机器学习模型的训练数据中重建类别代表。虽然模型反转会生成与训练集中语义相似的图像,但它无法直接重建模型的训练数据。最近, 博尔哈·巴勒等人训练了一个重建网络,该网络可以从神经网络模型中恢复数据样本,假设强大的对手掌握了所有其他训练样本的信息。尼夫·海姆等人展示了如何利用关于神经网络中隐性偏差的理论见解,从访问模型参数中重建二元神经网络分类器的训练数据。
2、成员推断
成员推断攻击可能会泄露个人的隐私信息,就像重建或记忆攻击一样,在发布汇总信息或基于用户数据训练的ML模型时,成员推断攻击会引起极大担忧。此外,成员推断可以用作发起数据提取攻击的基础。在成员推理中,攻击者的目标是确定特定记录或数据样本是否是用于统计或机器学习算法的训练数据集的一部分。与AML中的其他攻击类似,成员推断可以在白盒设置中执行,其中攻击者了解模型的架构和参数,但大多数攻击都是针对黑盒设置开发的,其中对手会对经过训练的ML模型生成查询。攻击者在成员推理方面的成功已使用受密码启发的隐私博弈正式定义,在该博弈中,攻击者与挑战者交互,并需要确定目标样本是否用于训练所查询的ML模型。
3、属性推断
在属性推断攻击(也称为分布推断)中,攻击者试图通过与ML模型交互来了解有关训练数据分布的全局信息。属性推理攻击在白盒设置中设计为攻击者可以访问完整的ML模型,在黑盒设置中设计为攻击者向模型发出查询并了解预测标签或类概率。这些攻击已在隐马尔可夫模型、支持向量机、前馈神经网络、卷积神经网络、联合学习、生成对抗网络和图神经网络中得到证实。
4、模型提取
在机器学习即服务(MLaaS)场景中,云提供商通常使用专有数据训练大型ML模型,并希望对模型架构和参数保密。执行模型提取攻击的攻击者的目标是通过向MLaaS提供商训练的ML模型提交查询来提取有关模型架构和参数的信息。文献中介绍了几种发起模型提取攻击的技术:第一种方法是基于深度神经网络中执行的操作的数学公式进行直接提取,这允许攻击者以代数方式计算模型权重;第二种技术是使用学习方法进行提取;第三种技术使用侧通道信息进行模型提取。模型提取通常不是最终目标,而是迈向其他攻击的一步。随着模型权重和架构为人所知,攻击者可以发起更强大的攻击,这些攻击是白盒或灰盒设置的典型特征。因此,阻止模型提取可以减轻依赖于攻击者了解模型架构和权重的下游攻击。
5、缓解措施
针对聚合信息的重构攻击的发现促使人们严格定义差分隐私(DP),这是一种非常强的隐私定义,它保证了有权访问算法输出的攻击者可以了解数据集中每条记录的程度有一个上限。DP 因其多种有用的特性而被广泛采用:群组隐私(即,将定义扩展到两个在 k 条记录上不同的数据集)、后处理(即,即使在处理输出后也能保留隐私)和组合(即,如果对数据集执行多次计算,隐私就会组合)。用于统计计算的DP机制包括高斯机制、拉普拉斯机制和指数机制。用于训练ML模型的最广泛使用的DP算法是DP-SGD,最近的改进包括 DP-FTRL和DP矩阵分解。
根据定义,DP可以缓解数据重建和成员推理攻击。事实上,DP的定义立即暗示了攻击者发起成员推理攻击的成功率的上限。然而,DP不能保证能够抵御模型提取攻击,因为这种方法旨在保护训练数据,而不是模型。在实践中使用DP的主要挑战之一是设置隐私参数以在隐私级别和实现的效用间取得权衡,这通常以机器学习模型的准确性来衡量。
DP提供了严格的隐私概念,并防止成员推断和数据重建攻击。为在隐私和实用性间实现最佳平衡,建议进行实证隐私审计,以补充隐私训练算法的理论分析。
还有其他针对模型提取的缓解技术,例如限制用户对模型的查询、检测对模型的可疑查询或创建更强大的架构以防止旁道攻击。但是,这些技术可以被有动机且资源充足的攻击者规避,应谨慎使用。
三、生成式人工智能分类法
生成式人工智能(GenAI)是 AI 的一个分支,它开发的模型可以生成与训练数据具有相似属性的内容(例如图像、文本和其他媒体)。GenAI包括几种不同类型的AI技术,这些技术具有不同的起源、建模方法和相关属性,其中包括:生成对抗网络、生成预训练转换器(GPT)和扩散模型等。最近,GenAI系统出现了多模态内容生成或理解能力,有时是通过结合两种或多种模型类型来实现的。
(一)攻击分类
PredAI分类中的许多攻击类型适用于GenAI (例如数据投毒、模型投毒和模型提取),但最近的研究还引入了针对GenAI系统的特定新型AML攻击。
图2展示了针对GenAI系统的AML攻击分类。与图1中的PredAI分类类似,此分类首先根据攻击者在每种情况下试图破坏的系统属性进行分类,包括可用性故障、完整性破坏和隐私泄露,以及与GenAI滥用启用相关的其他AML攻击类别,其中攻击者试图规避对GenAI系统输出的限制。对手必须利用这些能力来实现其目标显示在目标圈的外层。攻击类别显示为与发起每次攻击所需的能力相关的标注。如果存在更通用的攻击类别的特定类型(例如,越狱是一种特定类型的直接提示攻击),则特定攻击通过额外的标注链接到更通用的攻击类别。某些攻击类别被列出多次,因为相同的攻击技术可用于实现不同的攻击者目标。
图2:生成式人工智能系统攻击分类
攻击可以根据其适用的学习阶段以及攻击者的知识和访问权限进一步分类。以下各节将对此进行回顾。在可能的情况下,讨论广泛适用于GenAI模型,但某些攻击可能与特定类型的GenAI模型或基于模型的系统最相关,例如检索增强生成(RAG)系统、聊天机器人或代理系统。
1、GenAI学习阶段
图3:用于 InstructGPT的LLM训练流程示例
GenAI开发流程决定了针对GenAI模型和系统的潜在AML攻击空间。与PredAI相比,GenAI中的数据收集、模型训练、模型部署和应用程序开发等不同活动通常由多个不同的组织或参与者执行。
例如, GenAI中的一个常见范例是使用较少的基础模型来支持各种下游应用。基础模型使用自监督学习对大规模数据进行预训练,以便对文本、图像或其他可能与许多不同应用相关的数据中的一般模式进行编码。基础模型中使用的大规模数据通常从各种互联网来源收集(攻击者可以将其作为目标,例如数据投毒攻击)。
这种通才学习范式为基础模型配备了各种能力和倾向——其中许多是可取的,但有些可能是有害的或模型开发人员不想要的。在初始预训练后,可以使用监督微调(SFT)和从人类反馈中强化学习(RLHF)等技术,以使基础模型更好地与人类偏好保持一致,并抑制不良或有害的模型输出(见图 3)。然而,这些干预措施随后可能会被攻击者利用AML技术作为目标,以恢复或重新启用潜在的有害能力。
开发人员可以通过多种方式向下游用户和开发人员提供经过训练的基础模型,包括公开发布模型权重以供重复使用和修改,或托管模型并通过API提供访问服务。这些发布决策会影响攻击者的能力,从而影响可能的AML攻击空间,例如攻击者是否拥有模型控制权。
图4:LLM 体系采用流程
根据基础模型的提供方式,下游开发人员可以定制和构建该模型以创建新的应用程序,例如通过进一步针对特定用例微调模型,或通过将基础模型与软件系统集成,例如构建检索增强生成(RAG)或代理(见图 4)。因此,基础模型对AML攻击的脆弱性可能会影响广泛的下游应用程序和最终用户。同时,集成基础模型的特定应用程序环境可能会为AML攻击创造额外的载体和风险,例如可能暴露特定于应用程序的数据。
AML攻击各不相同,取决于GenAI开发生命周期的不同阶段。一个主要区别是针对训练阶段的攻击和针对部署阶段的模型推理的攻击。
训练时攻击。GenAI的训练阶段通常包括基础模型预训练和模型微调。这种模式适用于生成图像模型、文本模型、音频模型和多模态模型等。由于基础模型在大型数据集上训练时最有效,因此从各种公共来源抓取数据已变得很常见,这增加了这些模型受到数据投毒攻击的脆弱性。此外,由第三方训练或微调的GenAI系统通常用于下游应用程序,导致恶意构建的模型存在模型投毒攻击的风险。
图5:LLM体系采用参考架构
推理时攻击。GenAI模型和系统的部署阶段因模型托管方式或以其他方式提供给用户以及集成到下游应用程序的方式而异。然而,GenAI模型和应用程序通常具有一些共同的属性,这些属性使它们容易受到类似类型的攻击。例如,大语言模型(LLM)应用程序中许多安全漏洞的根本原因是数据和指令没有通过单独的通道提供给LLM,这使得攻击者能够使用数据通道在推理时间攻击中注入恶意指令(与数十年前的SQL注入攻击的缺陷类似)。此阶段的许多攻击都是由于以下在基于文本的生成模型应用程序中常见的做法造成的:
(1)上下文指令和系统提示:LLM 的行为可以通过推理时提示来塑造,开发人员或用户提供上下文指令,这些指令通常被添加到模型的其他输入和上下文中。这些指令包括模型特定应用用例的自然语言描述,称为系统提示。提示注入会覆盖这些指令,利用不受信任的用户输出与系统提示的连接来引发意外行为。例如,攻击者可以注入覆盖系统提示的越狱,导致模型生成受限或不安全的输出。由于这些提示是通过提示工程精心设计的,可能与安全相关,因此提示提取攻击可能会试图窃取这些系统指令。这些攻击也与多模态和文本到图像模型有关。
(2)从第三方来源获取运行时数据:在检索增强生成(RAG)应用程序、聊天机器人和其他使用GenAI模型与其他资源交互的应用程序中,上下文通常在运行时以查询相关的方式制作,并从外部数据源(例如文档、网页等)填充,这些数据源将用作应用程序的一部分。间接提示注入攻击取决于攻击者修改将被提取到模型上下文中的外部信息源的能力,即使这些信息不是由主要系统用户直接提供的。
(3)输出处理:GenAI模型的输出可以动态使用,例如填充网页上的元素或构建无需人工监督即可执行的命令,如果攻击者可以在此输出中诱导开发人员未考虑到的行为,则可能导致下游应用程序中出现一系列可用性、完整性或隐私侵犯。
(4)代理:基于LLM的代理依靠迭代处理LLM的输出来执行任务,然后将结果作为附加上下文反馈给LLM输入。例如,代理系统可以从一组配置好的外部依赖项中进行选择,并使用上下文中的信息调用由LLM填充的模板代码。此上下文中的对抗性输入(例如来自与不受信任资源的交互)可能会劫持代理执行对手指定的操作,从而导致潜在的安全或安保破坏。
图6:检索增强生成
2、攻击者的目的和目标
与PredAI一样,攻击者的目标可以根据可用性、完整性和隐私性等维度进行大致分类,同时还出现了一种旨在实现滥用的、GenAI特定的新型攻击类别。
在可用性故障攻击中,攻击者试图干扰GenAI模型或系统,以破坏其他用户或流程及时、持续访问其输出或功能的能力。
在完整性破坏攻击中,攻击者试图干扰GenAI系统,迫使其违背预期目标并产生符合攻击者目标的输出。由于用户和企业依赖GenAI系统执行研究和生产力协助等任务,这些破坏行为可能让攻击者利用这些用户对GenAI系统的信任来实施攻击。
在隐私泄露攻击中,攻击者试图未经授权访问GenAI系统中的受限或专有信息,包括有关模型训练数据、权重或架构的信息;或模型访问的敏感信息,例如检索增强生成(RAG)应用程序的知识库。GenAI系统可能会在训练或推理过程中(有意或无意地)接触敏感数据,攻击可能会试图提取此类信息(例如,通过间接提示注入攻击,第三方窃取上下文用户信息,或通过模型提取攻击窃取模型信息)。
滥用启用。在GenAI环境中特别相关的另一个攻击者目标是滥用启用。在这些攻击中,攻击者试图故意规避GenAI系统所有者对其使用施加的技术限制,例如旨在防止系统产生可能对他人造成伤害的输出的限制。
在此上下文中,技术限制是指应用于GenAI系统的防御措施,例如使用系统提示或从人类反馈中强化学习(RLHF)进行安全校准。虽然具体实施的技术限制因模型而异,但规避此类防御的技术通常在不同类型的模型和不同类型的滥用间是通用的,因此可以将它们归类为AML的一部分,而无需具体说明模型开发人员试图防止的特定滥用类型。
3、攻击者能力
AML攻击可以根据攻击者控制GenAI模型或系统输入的能力进行分类。这些能力包括:
训练数据控制:攻击者可能通过插入或修改训练样本来控制训练数据的子集。此功能用于数据投毒攻击。
查询访问:许多GenAI模型及其应用程序都部署为用户可以通过互联网访问的服务。在这些情况下,攻击者可以向模型提交对抗性查询,以引出特定的期望行为或提取信息。此功能用于提示注入、提示提取、模型提取攻击。查询访问可能因生成控制程度(例如,修改温度或添加逻辑偏差)和返回的生成丰富程度(例如,有或没有对数概率或多项选择)而异。GenAI模型在运行时获取的资源(例如文档、网页)。此功能用于间接提示注入攻击。
模型控制:攻击者可能有能力修改模型参数,例如通过公共微调API或公开可访问的模型权重。这种能力用于模型投毒攻击,以及消除拒绝行为或其他模型级安全干预的微调规避攻击。
与PredAI一样,攻击者对底层ML模型的了解程度也各不相同,从对ML系统(包括模型权重)的全面了解(白盒攻击),到对系统了解最少且故意隐藏或误导信息的系统(黑盒攻击),再到介于两者间的某个情况(灰盒攻击)。
(二)供应链攻击及缓解措施
由于人工智能是软件,它继承了传统软件供应链的许多漏洞,例如对第三方依赖的依赖。人工智能开发还引入了新类型的依赖,包括数据收集和评分、第三方开发的人工智能模型的集成或调整以及第三方开发的插件与人工智能系统的集成。缓解人工智能供应链管理中的安全挑战非常复杂,需要采取多方面的方法,将现有的软件供应链风险管理实践与人工智能特定的供应链风险管理相结合,例如通过使用所涉及的其他工件的出处信息。对现实世界中针对机器学习的安全漏洞的研究表明,最好全面解决安全性问题,并考虑整个攻击面,包括数据和模型供应链、软件以及网络和存储系统。虽然所有这些供应链风险在更广泛的人工智能系统保护背景下都至关重要,但某些类型的攻击依赖于利用机器学习系统特定的统计和基于数据的属性,因此属于AML的范畴。
1、数据投毒攻击
GenAI文本转图像和文本转文本模型的性能与数据集大小(以及模型大小和数据质量等其他属性)有关。因此,GenAI基础模型开发人员从各种来源抓取数据已变得很常见。反过来,这些数据的规模及其来源的多样性提供了巨大的潜在攻击面,攻击者可能会试图将对抗性构造的数据点插入其中。例如,数据集发布者可能会提供一组URL来构成训练数据集,攻击者可能能够购买一些提供这些URL的域,并用自己的恶意内容替换网站内容。
除了大量的预训练数据外,数据投毒攻击还可能影响LLM训练流程的其他阶段,包括指令调整和从人类反馈中强化学习(RLHF),这些阶段可能会有意从大量人类参与者那里获取数据。
与PredAI模型一样,数据投毒攻击可能导致攻击者通过插入后门(见后门投毒攻击)来控制模型行为,例如将单词或短语提交给模型后,可充当通用越狱。攻击者还可以使用数据中毒攻击来修改模型对特定用户查询的行为(见有针对性的投毒攻击),例如导致模型在响应包含特定触发词或短语的查询时错误地总结或以其他方式产生退化输出。这些攻击可能很实用(只需要总数据集中相对较小的一部分),并且可能导致一系列不良后果,例如代码建议模型故意建议不安全的代码。
2、模型投毒攻击
在GenAI中,开发人员通常使用第三方开发的基础模型。攻击者可以利用这一事实,提供恶意设计的模型,例如允许后门投毒攻击或有针对性投毒攻击的预训练模型。虽然这种攻击依赖于攻击者对初始投毒模型的控制,但研究人员已经发现,即使下游用户为自己使用而对模型进行微调或应用额外的安全训练措施,预训练模型中的恶意后门仍会持续存在。
3、缓解措施
GenAI投毒缓解措施与PredAI中毒缓解措施在很大程度上重叠。为了防止具有网络规模数据依赖性的数据中毒,这包括验证网络下载作为基本完整性检查,以确保域劫持没有将新的数据源注入训练数据集。也就是说,提供者发布加密哈希,下载者验证训练数据。数据过滤也可以尝试删除中毒样本,尽管在大型训练语料库中检测中毒数据可能非常困难。
虽然传统的软件供应链风险管理实践(例如模型工件的漏洞扫描)可以帮助管理某些类型的AI供应链风险,但需要采用新方法来检测模型中的漏洞,例如通过模型投毒攻击引入的漏洞。当前提出的方法包括使用机械可解释性领域的方法来识别后门特征,并在推理时检测和抵消触发因素。除这些缓解措施外,还可以通过将模型理解为不受信任的系统组件并设计应用程序来降低风险,从而降低攻击者控制的模型输出带来的风险。
(三)直接提示攻击及缓解措施
直接提示攻击是指攻击者是系统的主要用户,通过查询访问与模型交互时发生的攻击。此类攻击的子集称为直接提示注入攻击,其中主要用户提供上下文指令,这些指令附加在应用程序设计者提供的高信任度指令(例如模型的系统提示)后。
与PredAI一样,攻击可能适用于单一设置和模型,或者可能是通用的(影响一系列单独查询的模型)和/或可转移的(影响它们所在模型外的模型)。
攻击者在进行这些攻击时可能有多种目标,例如:
启动滥用。攻击者可能会使用直接提示攻击来绕过模型开发人员或部署人员创建的模型级防御措施,以限制模型产生有害或不良输出。越狱是一种直接提示攻击,旨在规避对模型输出的限制,例如规避拒绝行为以实现滥用。
侵犯隐私。攻击者可能会使用直接提示来提取系统提示或泄露在上下文中提供给模型但不打算让用户进行未经过滤的访问的隐私信息。
破坏完整性。当LLM用作代理时,攻击者可能会使用直接提示攻击来操纵工具使用和API调用,并可能危及系统的后端(例如执行攻击者的SQL查询)。
1、攻击技术
存在多种发起直接提示攻击的技术,其中许多技术适用于各种攻击者目标。NIST重点关注直接提示攻击以实现滥用,注意到以下几大类直接提示技术:
基于优化的攻击设计攻击目标函数并使用梯度或其他基于搜索的方法来学习导致特定行为的对抗性输入。目标函数可以设计为强制肯定开始或其他攻击成功的指标(例如,与有毒微调的相似性)。
然后可以使用优化技术来学习攻击,包括从为PredAI语言分类器设计的攻击中学习的技术,以及使用代理模型或随机搜索测试攻击候选的无梯度技术。通用对抗触发器是这些基于梯度的攻击的一类特殊攻击,针对生成模型,这些模型试图找到与输入无关的前缀(或后缀),无论输入的其余部分如何,这些前缀或后缀都会产生所需的肯定响应。这些通用触发器可以转移到其他模型,这使得开放权重模型(具有现成的白盒访问)成为对仅提供API访问的封闭系统进行可转移性攻击的可行攻击载体。
攻击还可以被设计来满足其他约束(例如,足够低的困惑度)或攻击多模型系统。
破解LLM的手动方法包括竞争目标和不匹配泛化。基于不匹配泛化的攻击会识别出那些超出模型安全训练分布但仍在模型能力训练分布范围内的输入,从而使模型能够理解这些输入,同时避免拒绝行为。基于竞争目标的攻击会发现模型能力与安全目标存在冲突的情况,例如,通过利用模型遵循用户提供的指令的驱动力。在所有情况下,攻击的目标都是破坏模型级安全防御。
基于竞争目标的攻击方法包括:
(1)前缀注入:这种方法涉及提示模型以肯定的确认开始响应。通过调节模型以预定的方式开始输出,攻击者试图影响其后续语言生成,使其朝着特定的、预定的模式或行为发展。
(2)拒绝抑制:攻击者可能会明确指示模型避免在其输出中产生拒绝或否认。通过降低拒绝响应的概率,此策略旨在增加顺从响应的概率。
(3)风格注入:在这种方法中,攻击者指示模型使用(或不使用)某些语法或写作风格。例如,攻击者可能会将模型的语言限制为简单或非专业的语气,旨在降低拒绝(通常是专业措辞)的可能性。
(4)角色扮演:对手利用角色扮演策略来引导模型采用与原意相冲突的特定角色或行为模式。这种操纵旨在利用模型对不同角色或特征的适应性,意图破坏其对安全协议的遵守。
针对不匹配泛化的攻击的方法包括:
(1)特殊编码:使用base64等编码技术来改变输入数据的表示形式的策略,使得模型可以理解,但可能超出安全训练的分布。
(2)字符转换:使用字符级转换从安全训练分布中取出输入的策略,例如ROT13密码、符号替换(如l33tspeak)和摩尔斯电码。
(3)词语转换:改变输入的语言结构以将敏感词分解为子字符串的策略,例如猪拉丁(Pig Latin)、同义词交换和有效载荷拆分(或“令牌走私”)。
(4)提示级转换:使用提示级转换的策略,例如将提示翻译成可能超出安全训练数据分布范围的不太常见的语言。
基于模型的自动化红队采用攻击者模型、目标模型和判断器。当攻击者能够访问判断模型输出是否有害的高质量分类器时,它可以用作奖励函数来训练生成模型,以生成另一个生成模型的越狱。每个模型只需要查询访问,无需人工干预即可更新或优化候选越狱。提示也可以从目标模型转移到其他闭源 LLM。
Crescendo攻击引入了在多轮自适应攻击中与模型进行迭代交互的想法,其中包括看似无害的提示,最终成功越狱以对抗安全对齐。最初的手动攻击完全自动化,通过利用另一个LLM生成提示并整合多个输入源。
对领先模型的评估表明,LLM 仍然容易受到这些攻击。
2、信息提取
无论是在训练期间还是在运行时, GenAI模型都会接触到一系列可能引起攻击者兴趣的信息,例如训练数据中的个人身份信息(PII)、上下文中提供的检索增强生成(RAG)数据库中的敏感信息,甚至是应用程序设计者构建的系统提示。此外,模型本身的特征(例如模型权重或架构)也可能是攻击目标。虽然第上文中的许多技术都适用于提取此类数据,但NIST注意到数据提取特有的几个特定目标和技术。
泄露敏感训练数据。尼古拉斯·卡里尼等人首次在生成语言模型中实际演示训练数据提取攻击。通过在训练数据中插入金丝雀(合成的、易于识别的分布外示例),他们开发了一种提取金丝雀的方法,并引入了一种称为暴露度的指标来衡量记忆。后续工作证明了基于转换器(例如GPT-2)的LLM中的数据提取风险,方法是使用不同的前缀提示模型并发起成员推理攻击以确定哪些生成的内容是训练集的一部分。由于这些解码器堆栈转换器是自回归模型,因此关于个人信息的逐字文本前缀有时会导致模型使用敏感信息(包括电子邮件地址、电话号码和位置)完成文本输入。GenAI 语言模型中这种逐字记忆敏感信息的行为也在最近的转换器模型中观察到,并附加了提取方法的特征。 PredAI模型创建了Text Reveale等工具来从基于转换器的文本分类器中重建文本,而GenAI模型有时只需重复对话中存在的私人信息即可。结果表明,某些模型的电子邮件地址等信息泄露率超过8%。然而,它们的响应可能会错误地指定信息的所有者,因此不可靠。一般来说,当模型中植入了更具体、更完整的信息时,提取攻击更容易成功——攻击者知道的信息越多,他们就能提取得越多。研究人员利用这一事实,从LLM中逐步提取受版权保护的《纽约时报》文章片段,方法是用一个句子作为种子,并允许 LLM 反复提取其他文本。直观地说,容量更大的大型模型更容易进行精确重建。微调接口也放大了数据提取攻击的风险,正如使用开放权重模型的微调API从预训练数据中提取PII的攻击所证明的那样,尽管这不是直接提示攻击。
图7:大规模查询访问的AI模型的开发和部署生命周期图
提示和上下文窃取。提示对于将 LLM 与特定用例对齐至关重要,并且是其遵循人类指令的关键要素。因此,这些提示可以被视为商业机密,有时是直接提示攻击的目标。提示窃取是一种基于学习的方法,它使用图像字幕模型和多标签分类器从文本到图像模型重建提示,以窃取主题和提示修饰语。对于某些 LLM,研究人员发现,一小组固定的攻击查询足以在某些模型和数据集对中提取超过60%的提示。在某些情况下,有效的提示可能来自重要的技术或领域专业知识;提示窃取攻击可能会侵犯或威胁这些投资。此外,在 RAG应用程序中(图6),可以使用相同的技术来提取LLM上下文中提供的敏感信息。例如,LLM 想要对数据库中的行或PDF文档中的文本进行一般性总结,只需通过直接提示或执行简单的提示攻击即可详细提取这些行或文本。
模型提取。与PredAI一样,攻击者可能会执行模型提取攻击,即通过提交特制的查询来尝试了解有关模型架构和参数的信息。最近,尼古拉斯·卡里尼等人证明可以从黑盒生产LLM中提取此类信息,从而得出以前未知的隐藏维度和嵌入投影层(达到对称性)。
3、缓解措施
可以在 AI 模型或系统的整个部署生命周期中采用以下防御策略,以降低模型或系统易受直接提示注入攻击的风险。
训练前和训练后的干预。已经提出了一系列训练策略来增加通过直接提示注入访问有害模型功能的难度,包括训练前或训练后的安全训练、对抗性训练方法,以及其他使越狱攻击更加困难的方法。
评估期间的干预措施。评估可以衡量模型对基于查询的攻击的脆弱性,然后可以为信任和可供性决策以及开发人员和用户教育提供信息。评估可以包括广泛的自动化漏洞评估以及有针对性的专家红队和漏洞悬赏。当前的评估方法虽然是一种有用的工具,但可能会低估拥有更多时间、资源或运气的行为者可以接触到的漏洞。评估衡量的是特定时刻的模型漏洞;如果开发了新的攻击、在训练后收集了额外的数据或改进了模型功能,评估可能会发生变化。部署后的持续评估可以帮助应对这些挑战。
部署期间的干预措施。已提出了一系列广泛的部署时干预措施:
提示指令和格式化技术。模型指令可以提示模型谨慎处理用户输入,例如将用户输入包装在XML标记中、将特定指令附加到提示中,或者尝试将系统指令与用户提示明确分开。
检测和终止有害交互。人工智能系统可能能够检测这些生成并终止交互,而不是阻止有害的模型生成。一些开放式和封闭式解决方案探索了基于LLM的检测系统,这些系统具有明确提示和/或微调的模型,可将用户输入和/或模型输出归类为有害或不良。这些可以通过纵深防御理念提供补充保证。然而,这些检测系统也容易受到攻击,并且可能与它们正在监控的主要模型相关的故障。一些研究方向已经调查了限制代际空间以实现确定性护栏。早期的研究表明,基于可解释性的技术也可用于检测异常输入,以及基于关键字或困惑度的防御。
提示窃取检测。缓解提示窃取的常用方法是将模型话语与系统提供商已知的提示进行比较。防御措施因比较方式而异,可能包括查找特定的标记、单词或短语,或将输出的n-gram与输入进行比较。同样,针对提示窃取的防御措施尚未证明是严谨的。
输入修改。用户输入在传递给模型前还可以进行修改,例如释义或重新标记。然而,这种方法可能成本高昂,并且/或者会影响模型性能。
聚合来自多个提示的输出。受随机平滑的启发,SmoothLLM用于提高 ML 分类器对逃避攻击的稳健性,它提出聚合来自多个随机扰动提示的LLM输出。这种防御需要为每个提示生成多个LLM查询,并且可能会降低生成的输出的质量。
监控和响应。部署后,监控和记录用户活动可能允许模型部署者识别和响应尝试和成功的直接提示注入攻击实例。如果用户的意图似乎是恶意的,这种响应可能包括禁止或以其他方式对付用户,或者在攻击成功的情况下修复提示注入漏洞。标准的用户或组织级审查或身份验证程序,以及明确的激励机制(例如限制模型访问以应对违规行为的政策)可能会增强这种缓解措施的有效性。
使用限制。其他干预措施侧重于如何向用户提供模型的选择:例如,可以通过限制用户可访问的推理参数(例如温度或逻辑偏差)以及返回的模型生成的丰富性(例如逻辑概率)来降低某些攻击的有效性。此外,限制公开信息和工件的发布以及限制用户可用的模型查询总数可能会使攻击更具挑战性。这些技术在限制积极用例方面可能存在其他缺点。
间接缓解措施。尽管在模型和系统层面提出的防御措施越来越多,但最近的研究结果表明,当前一代模型仍然极易受到直接提示注入攻击。因此,其他潜在的提示注入缓解措施并不依赖于直接提高AI系统对此类攻击的稳健性,而是依赖于在AI模型暴露给恶意行为者时可以并且会产生恶意输出的假设下设计系统。例如,部署人员可以在假设能够访问敏感数据或能够采取不良行动的模型可能会泄露该数据或采取这些行动的情况下设计AI系统。此外,开发人员或部署人员可以使用其他技术缓解措施来减少通过直接提示注入获得的输出被滥用的可能性,例如:
训练数据清理。可以对模型训练数据进行清理,以删除敏感或有毒内容以及与开发不良功能有很大或完全相关的数据。这种清理可以防止有害功能被学习,并减少直接提示注入的潜在危害,尽管它们可能会损害泛化和有害内容检测能力。
反学习。也有人尝试在训练后“反学习”有害的知识或能力,目的是减少恶意指向的模型造成的危害。然而,这些方法仍然容易受到对抗性攻击,包括针对越狱特定训练方法的攻击和针对反学习方法的逆向攻击,这些方法会提取据称未学习的数据。
水印。开发人员或部署人员可以对 AI 模型生成的内容进行水印处理,以帮助追踪其来源,将其与人类生成的内容区分开来,并降低恶意使用的风险(例如,当内容在线出现时将其标记为模型生成)。虽然文献中提出了各种各样具有不同优缺点的技术,但没有一种水印技术在所有情况下都普遍有效且稳健。已经开发出许多针对水印的强大攻击,成功率很高。此外,还建立了关于水印稳健性的理论不可能性结果。
最后,除了开发人员或部署人员层面的干预措施外,随着时间的推移,社会和基础设施可以对恶意定向模型功能具有更强的弹性。例如,防御者可以采用基于AI的漏洞发现工具,使他们的系统更能抵御恶意行为者滥用GenAI模型来查找可利用的漏洞。
(四)间接即时注入攻击及缓解措施
GenAI模型的许多用例涉及与其他资源交互的模型,从互联网连接的代理到图6所示的检索增强生成(RAG)系统。由于GenAI模型结合了数据和指令通道,攻击者可以利用数据通道通过操纵系统与之交互的资源来影响系统操作。因此,间接提示注入攻击是通过资源控制实现的,它允许攻击者间接(或远程)注入系统提示,而无需直接与应用程序交互。间接提示注入攻击可能导致至少三类攻击者目标的破坏:(1) 可用性故障;(2)完整性破坏;(3)隐私泄露。但是,与直接提示注入攻击不同,间接提示注入攻击不是由模型的主要用户发起,而是由第三方发起。事实上,在很多情况下,模型的主要用户会因为间接提示注入攻击而受到损害,因为GenAI系统的完整性、可用性或隐私性会受到损害。
1、可用性攻击
GenAI模型中注入提示,旨在破坏模型对合法用户的可用性。可用性攻击可能会不加区分地使模型无法使用(例如,无法生成有用的输出)或专门阻止某些功能(例如,特定 API)。
攻击者的技术。研究人员已经演示了几种概念验证方法,攻击者可以通过这些方法破坏GenAI系统的可用性:
耗时的后台任务。间接注入的提示可以指示模型在回答请求前执行耗时的任务。提示本身可以很简短,例如通过请求评估模型中的循环行为。
抑制能力。间接注入的提示可以指示模型不允许使用某些 API(例如,互联网连接的聊天机器人的搜索API)。这有选择地解除了服务的关键组件的武装。
破坏性输出格式。攻击者可以使用间接提示注入来指示模型修改其输出,从而破坏系统的可用性。例如,攻击者可以指示模型将检索到的文本中的字符替换为同形文字,从而破坏后续的API调用;或者可以要求模型以标记开头每个句子,从而迫使模型返回空输出。
2、完整性攻击
通过间接提示注入,攻击者可以使用恶意资源促使GenAI系统变得不可信,并生成偏离良性行为的内容以符合对抗目标。这些攻击通常涉及以微妙的方式破坏模型的行为,而这些方式可能对最终用户来说并不明显。
例如,研究人员已经证明,通过间接提示注入的攻击可能会导致GenAI系统生成任意不正确的来源摘要,以攻击者指定的信息做出响应,或者抑制或隐藏某些信息源。攻击者可以利用这些功能将GenAI系统(例如连接互联网的聊天机器人)武器化,以针对其用户实现一系列恶意目的,包括传播有针对性的误导性信息、推荐欺诈性产品或服务,或将消费者重定向到伪造合法登录页面或包含可下载恶意软件的恶意网站。攻击者还可能使用间接提示注入攻击来劫持GenAI代理,使其执行攻击者指定的恶意任务,而不是(或除了)其预期的用户提供的任务。
攻击者技术。研究人员已经证明,通过恶意资源可以操纵 LLM 的主要任务,从而发起完整性攻击:
越狱。攻击者可以利用与直接提示注入攻击类似的间接提示注入技术,例如使用越狱,使得攻击者能够用自己的恶意指令代替模型的系统提示。与直接提示攻击一样,这些攻击可以通过基于优化或手动的方法进行构建,并且可能依赖于不匹配泛化等技术。
执行触发器。研究人员使用通过Neural Exec技术优化生成的执行触发器,自动执行了手动间接提示注入攻击。这些执行触发器还可以通过包含多个阶段(例如分块和上下文过滤)的RAG处理管道持续存在。
知识库投毒。可以对RAG系统的知识数据库进行投毒,以实现针对特定用户查询的LLM输出。最近,一个名为 Phantom的通用优化框架展示了如何制作单个中毒文档并将其插入RAG系统的知识数据库中,以在LLM生成器中诱导多个对抗性目标。
注入隐藏。攻击者可能使用技术来隐藏或混淆其注入,例如将注入隐藏在资源的不可见部分;使用多阶段注入,其中初始注入指示模型访问包含其他注入的另一个资源;或者使用Base64等编码注入命令,然后指示模型解码序列。
自我传播注入。攻击者可能能够使用间接提示注入攻击将GenAI系统变成传播攻击的载体。例如,攻击者可以发送一封恶意电子邮件,当该电子邮件被作为电子邮件客户端的一部分集成的模型读取时,会指示该模型通过向用户联系人列表中的每个人发送类似的恶意电子邮件来传播感染。通过这种方式,某些恶意提示可以充当蠕虫。
3、隐私泄露
攻击者可以使用间接提示注入攻击来损害GenAI系统或其主要用户的隐私。例如,攻击者可以使用间接提示注入攻击来迫使模型泄露来自受限资源的信息,例如 GenAI系统处理的用户私人数据。或者,在完整性和隐私攻击的混合中,攻击者可以通过指示模型获取然后泄露有关系统主要用户的信息来收集这些信息。
攻击者的技术。研究人员已经提出并演示了各种间接提示注入攻击,以窃取来自互联网连接的聊天机器人、RAG系统和其他GenAI系统的信息。其中一些技术包括:
侵犯连接的资源。攻击者可以使用提示注入攻击导致GenAI系统从其可以访问的受限资源中泄露私人信息。例如,作为电子邮件客户端的一部分集成的模型可能会被提示将某些电子邮件转发到攻击者控制的收件箱。研究人员已经发现,通过使用敏感数据查询攻击者控制的URL,注入攻击可以迫使模型泄露用户上传的数据。
泄露用户交互信息。研究人员演示了一种概念验证间接提示注入攻击,他们向模型注入指令,诱使最终用户透露一条信息(在本例中为用户姓名),然后模型将这些信息泄露给攻击者,例如直接使用该信息查询攻击者控制的URL或建议用户访问此类 URL。攻击者还可以利用markdown图像渲染等功能窃取数据。
4、缓解措施
在整个开发和部署生命周期(图 7)中可以使用各种技术来缓解攻击,包括:
已经开发出几种训练技术来缓解间接提示注入,包括微调特定于任务的模型和训练模型以遵循提示中的分层信任关系。
已经提出了检测方案来检测间接提示注入,并且许多基于LLM的防御措施已被设计来缓解直接和间接提示注入。
已经提出了一系列输入处理方法来对抗间接提示注入,包括过滤来自第三方数据源的指令、设计提示来帮助LLM分离可信数据和不可信数据,或指示模型忽略不可信数据中的指令。
在直接提示注入的背景下描述的许多防御措施也可以用于缓解间接提示注入。由于当前的缓解措施不能提供针对所有攻击者技术的全面保护,因此应用程序设计人员在设计系统时可能会假设,如果模型暴露于不受信任的输入源,则可能会发生提示注入攻击,例如通过使用具有不同权限的多个 LLM或仅允许模型通过定义良好的接口与可能不可信的数据源交互。此外,公共教育工作可以让模型用户和应用程序设计人员了解间接提示注入的风险。
(五)代理安全
GenAI模型越来越常见的用途是构建一个(通常基于LLM的)代理,这是一个软件系统,可以迭代地提示模型,处理其输出(例如选择并调用具有指定输入的函数),并将结果作为其下一个提示的一部分反馈给模型。代理可以配备使用网页浏览或代码解释器等工具的功能,并且可能具有内存和/或规划功能等附加功能。
由于代理依赖GenAI系统来规划和执行其操作,因此它们可能容易受到上述针对GenAI系统的许多攻击,包括直接和间接提示注入。然而,由于代理可以使用工具采取行动,这些攻击可能会在这种情况下产生额外的风险,例如使行为体能够劫持代理以执行任意代码或从其运行的环境中窃取数据。专门针对代理的安全研究仍处于早期阶段,但研究人员已经开始评估代理对特定AML攻击的脆弱性,并提出干预措施来管理代理带来的安全风险。
(六)AML漏洞基准
有几种公开可用的基准可用于评估模型对AML攻击的脆弱性。JailbreakBench、AdvBench、HarmBench、StrongREJECT、AgentHarm和Do-Not-Answer等数据集提供了用于评估模型对越狱敏感性的基准。TrustLLM是一种基准,旨在评估LLM中的六个信任维度:真实性、安全性、公平性、稳健性、隐私性和机器伦理。AgentDojo是一个评估框架,用于测量AI代理对提示注入攻击的脆弱性,在这种攻击中,外部工具反馈的数据会劫持代理以执行恶意任务。此外, Garak和PyRIT等开源工具旨在帮助开发人员识别模型中对AML击的漏洞。最后,最近也提出了几种反学习基准。
四、主要挑战和讨论(略译)
声明:本文来自奇安网情局,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。