人工智能在快速得到应用,但人工智能风险无处不在。如何防范这些风险,已经是各个组织的重要问题。
Google发布了AI安全框架SAIF(Secure AI Framework),帮助人们了解在整个人工智能开发过程中如何引入、利用和缓解不同的风险,可以作为参考。
1.总体框架
SAIF映射图将AI发展分为两个分类(模型生成和模型使用),四个领域:
-
数据 -
基础设施 -
模型 -
应用
与传统软件开发相比,这一框架代表了 AI 开发范围的扩大。除了熟悉的代码、基础设施和应用程序组件之外,AI 还引入了数据、训练和模型开发的复杂性。了解这些维度如何协同工作对于评估 AI 开发的独特风险至关重要。
考虑到模型生成跟大部分人无关,本文会弱化相关内容。
1.1数据组件
SAIF风险图有三个主要数据组成部分:
数据源:收集用于训练 AI 模型的数据的原始来源或存储库。这些可以包括数据库、API、网页抓取数据,甚至传感器数据。数据源的质量和多样性对模型的功能有重大影响。
数据过滤和处理:清理、转换和准备来自各种来源的原始数据以使其适合训练的过程。这可能包括标记数据、删除重复或错误,甚至生成新的合成数据以增强模型的学习能力。
训练数据:在训练过程中输入 AI 模型的最终、精选数据子集。这些数据用于调整模型的内部参数,使其能够学习模式并做出预测或推断。
1.2基础设施组件
SAIF 风险图中的基础设施组件包括:
模型框架和代码:训练和使用模型所需的代码和框架。模型代码定义模型架构以及模型中层的数量和类型。框架代码实现训练和评估模型的每个层的步骤。框架代码通常不仅对于训练模型是必需的,而且在使用模型时运行推理(即进行预测)也是必不可少的。通常,框架代码与模型本身分开提供,需要安装才能使用模型。
训练、调整和评估:通过调整给定结果的概率(训练)、调整一组较小的概率以将模型调整为特定任务(调整)以及针对新数据测试模型以查看其性能(评估),训练模型从数据中提取正确模式和推论的过程。
数据和模型存储:用于存储训练数据和(单独)模型。训练数据从摄取到过滤再到训练期间使用,整个过程都经过存储。模型存储涉及开发过程中的多个阶段:
模型服务:在生产中部署模型的系统和流程,使其可用于服务和应用程序。
1.3模型组件
SAIF风险图中的模型组件包括:
模型:在训练过程中使用数据创建的一对代码和权重。在 SAIF 风险图中,模型表示为使用基础架构组件进行训练、存储和提供的数据组件的输出结果。
输入处理:输入处理组件可过滤、清理和防范潜在的恶意输入,无论是来自用户还是来自受信任系统之外的任何事物。输入处理可控制多种风险,是一个值得进一步研究和开发的领域。
输出处理:与输入处理类似,输出处理组件会过滤、清理并防止模型产生不需要的、意外的或危险的输出。输出处理是抵御各种风险的主要防线,也是值得进一步开发的领域。
1.4应用程序组件
SAIF风险图的应用组件包括:
应用程序:使用 AI 模型实现功能的应用程序、产品或功能。这些应用程序可能直接面向用户,例如客户服务聊天机器人,或者“用户”可能是组织内的服务,查询模型以支持上游流程。如果应用程序能够代表用户执行工具,有时它被称为代理。
代理/插件:AI 应用程序或模型调用的服务、应用程序或附加模型,用于完成特定任务(也称为“工具使用”)。由于代理/插件可能会调用外部数据或触发对另一个模型的请求,因此每次使用插件都可能引发一组传递风险,从而使 AI 开发过程中已经存在的风险成倍增加。
2.风险
2.1数据投毒
改变训练或再训练期间使用的数据源(通过删除或修改现有数据以及注入对抗性数据)以降低模型性能、使结果偏向特定结果或创建隐藏的后门。
数据投毒可以被认为与恶意修改应用程序的逻辑以改变其行为相当。
2.2未经授权的训练数据
使用未经授权的数据进行训练或微调的模型可能会带来法律或道德挑战。未经授权的训练数据可能包括任何违反政策、合同或法规的数据。
2.3模型源篡改
通过供应链攻击或内部攻击篡改模型的源代码、依赖项或权重。
与篡改传统软件代码类似,模型源篡改可能会引入漏洞或意外行为。
由于模型源代码用于开发模型,因此代码修改可能会影响模型行为。另一种模型源篡改方法是模型架构后门,即 嵌入在神经网络架构定义中的后门。 此类后门可以在模型完全重新训练后继续存在。
2.4过度数据处理
超出相关政策允许的范围收集、留存、处理或共享用户数据。
过度数据处理可能会带来政策和法律挑战。
2.5模型泄露
未经授权挪用人工智能模型,用于复制功能或提取知识产权。
与窃取代码类似,这种威胁涉及知识产权、安全和隐私。
2.6模型部署篡改
未经授权修改用于部署模型的组件,无论是通过篡改源代码供应链还是利用常用工具中的已知漏洞。
这样的修改可能会导致模型行为的改变。
模型部署篡改的一种类型是候选模型修改,攻击者修改部署工作流或流程以恶意改变模型部署后的运行方式。
第二种类型是模型服务基础设施的入侵。
2.7拒绝机器学习服务
通过发出耗费过多资源的查询来降低 ML 系统的可用性并拒绝服务。
攻击示例包括传统的拒绝服务或向系统发送恶意内容,导致自动或手动审核流程过载。如果 API 门控模型没有适当的速率限制或负载平衡,则重复查询可能会导致模型离线,从而使其他用户无法使用。
能量延迟攻击:攻击者可以精心制作“海绵示例”(也称为死亡查询),这些输入旨在最大化能耗和延迟,从而使 ML 系统的性能达到最差情况。对手可能会使用自己的工具来加速此类海绵示例的构建。这些攻击对于设备上的模型尤其重要,因为增加的能耗会耗尽电池并使模型不可用。
2.8模型逆向工程
通过分析模型的输入、输出和行为来克隆或重新创建模型。
被盗或克隆的模型可用于制造模仿产品或 对原始模型 发起对抗性攻击。
2.9不安全的集成组件
与 AI 模型交互的软件(例如插件、库或应用程序)中的漏洞,攻击者可以利用这些漏洞获取对模型的未经授权的访问、引入恶意代码或破坏系统操作。
考虑到预期授予代理/插件和应用程序的自主级别,不安全的集成组件对用户信任和安全、隐私和安全问题以及道德和法律挑战构成了广泛的威胁。
这种风险可能来自于对集成输入和输出的操纵:
操纵模型输出以包含作为输入提供给集成组件或系统的恶意指令。例如,接受自由格式文本而不是结构化和经过验证的输入的插件可能会被利用来构建导致插件恶意行为的输入。同样,接受未经身份验证和授权的输入的插件也可能被利用,因为它相信输入来自授权用户。
对作为模型输入的集成组件或系统的输出进行操作。例如 , 当插件调用其他系统(尤其是第三方服务、网站或插件)并使用从这些系统、网站或插件获取的内容构建模型输出时,就有可能实现间接即时注入。对于调用另一项服务并使用该服务中的内容构建模型输入的集成应用程序,也存在类似的情况。
2.10即时注射
导致模型执行提示中“注入”的命令。
提示注入利用了提示中“指令”和“输入数据”之间的模糊界限,从而导致模型行为发生变化。这些攻击可以是直接的(由用户直接输入),也可以是间接的(从文档、电子邮件或网站等其他来源读取)。
2.11模型逃逸
通过稍微扰乱提示输入导致模型产生错误的推断。
模型逃避可能导致声誉或法律挑战并引发其他下游风险,例如安全或隐私系统风险。
2.12敏感数据泄露
通过查询模型披露私人或机密数据。
这些数据可能包括记忆的训练/调整数据、用户聊天记录和提示序言中的机密数据。这对用户隐私、组织声誉和知识产权构成风险。
敏感信息一般以两种方式泄露:用户查询数据泄露(影响用户输入、模型输出和经过集成插件的数据)以及训练、调优和提示前言数据的泄露。
用户查询数据泄露:这类似于传统的情况,泄露的 Web 查询可能会泄露有关 Web 查询作者的潜在敏感信息。但是,LLM 提示可能比典型的 Web 查询长得多,例如当要求 LLM 重写电子邮件或优化代码时,这会增加这些敏感数据带来的风险。与模型集成的应用程序可能还会保留模型查询和响应的日志,包括可能包含敏感数据的集成插件的信息(例如,从日历应用程序集成中检索到的信息)。此外,生成式 AI 应用程序有时会保留用户查询和响应以进行持续学习,如果数据存储存在漏洞,则存在泄露风险。
训练、调整或提示前导数据的泄露:指泄露用于训练、调整或提示模型的部分数据。例如,未经记忆测试的模型可能会泄露数据集中的姓名、地址或其他敏感信息。
2.13推断敏感数据
模型推断模型训练数据中不包含的有关人员的敏感信息。
如果推断出的信息被证明是真实的,即使是幻觉产生的,也可以被视为数据隐私事件,而如果相同的信息是错误的,则会被视为事实问题。
例如,模型可能能够根据人们的输入和来自集成插件(例如访问公共帐户的点赞页面或关注帐户的社交媒体插件)的响应推断出有关人们的信息(性别、政治派别或性取向)。虽然用于推理的数据可能是公开的,但这种推理会带来两个相关风险:如果模型推断出有关用户的敏感数据,用户可能会感到震惊;并且一个用户可能会使用模型推断出有关其他人的敏感数据。
这种风险不同于 敏感数据泄露, 敏感数据泄露涉及的是来自训练、调整或提示数据的敏感数据。
2.14不安全的模型输出
模型输出在传递给下游系统或用户之前没有经过适当的验证、重写或格式化。
无论是意外触发还是主动利用,不安全的模型输出都会对组织声誉、安全和用户安全构成风险。
例如,如果用户要求 LLM 生成电子邮件以推广其业务,而模型生成的文本意外地包含指向传播恶意软件的 URL 的链接,则该用户将受到损害。或者,恶意行为者可能会故意触发不安全的内容,例如要求 LLM 根据目标的具体详细信息生成网络钓鱼电子邮件。
2.15恶意行为
基于模型的代理通过扩展执行的非预期操作,无论是意外的还是恶意的。
鉴于先进的生成式人工智能模型不仅能够理解其环境,还能以不同程度的自主性发起行动,恶意行为可能会对组织声誉、用户信任、安全和保障构成严重风险。
意外的恶意行为:这种风险可能是由于任务规划、推理或环境感知中的错误造成的,并且可能因 LLM 响应固有的可变性而加剧。及时工程表明,示例的间距和顺序可能会对响应产生重大影响,因此,当与工具和服务集成时,不同的输入(即使不是恶意植入的)也可能导致意外的响应或操作。
恶意行为:此风险可能包括使用诸如提示注入、投毒或逃避等攻击来操纵模型输出。
恶意行为与不安全的集成组件 相关 ,但模型功能或代理程度不同。与不安全的集成组件相比,模型为协助用户而提供过多的功能或代理(例如,过多的访问插件或插件中功能的能力)会增加此类意外或恶意恶意行为的风险和影响范围。
3.总结
所有安全的分析都是从风险开始。Google的SAIF对风险的总结比较到位,可以在应用中结合使用。原文有关于消减的部分,是google本身的手段,本文略。
原文在 https://saif.google/
END
原文始发于微信公众号(AI与安全):Google的AI安全框架(SAIF)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论