什么是提示注入?
提示注入攻击使用恶意的、精心设计的查询来欺骗大型语言模型(LLM)采取一些不良行为。例如,攻击者可能会说服生成式人工智能系统忽视保护措施或公司政策,并生成未经批准的内容类型。
随着生成式人工智能和人工智能代理广泛集成到企业工作流程中,提示注入攻击对服务的可靠性和安全性构成了重大风险。攻击者可以欺骗代理采取导致数据泄露、恶意软件感染或其他安全事件的行动。
关键要点
- 提示注入操纵模型指令以触发不安全的输出、数据暴露或意外的行为。
- 间接提示注入可能通过不可信的内容发生,例如网页、文档、电子邮件、工单或聊天记录。
- 当模型能够使用工具、访问数据源或采取行动时,风险会增加。
- 缓解措施是分层的。输入和输出控制有助于防范,但“完美预防”并不是一个现实的假设。
- 目标是通过使用最小权限、强数据边界和对敏感操作的验证步骤来减少影响范围。
提示注入在实践中是如何工作的?
大型语言模型通常有指令和保护措施来控制它们的操作。大型语言模型的创建者内置了某些保护措施,企业在配置工具以执行其环境中的各种任务时添加了自己的指令。
提示注入攻击使用精心设计的输入,旨在规避这些保护措施并做一些对攻击者有利的事情,例如窃取敏感数据、生成违反政策的输出或触发连接工具中的操作。这些输入可以直接提供给工具,或嵌入到它所消耗的其他内容中,例如RAG检索的文档或代理访问的网页。
直接提示注入
直接提示注入涉及攻击者直接与代理互动。例如,攻击者可能会在大型语言模型聊天机器人中输入提示。这些恶意提示可以遵循各种模式,例如:
- 忽略之前的指示
- 强制角色扮演
- 开发者模式
- 政策覆盖语言
这些指示的目标是使攻击者的提示优先于LLM的保护措施,方法是利用漏洞或被LLM视为更重要。如果成功,LLM可能会生成不允许的内容,泄露隐藏的指示,提供不安全的建议,或将操作错误地路由到错误的工具或用户。
间接提示注入
间接提示注入攻击将恶意指示插入模型消费的内容中,而不是直接指示。这些可能包括:
- 网页
- 文档
- 电子邮件
- IT工单
- 聊天记录
- 知识库
如果LLM访问外部内容,这些威胁会更严重,无论是通过RAG还是通过浏览网络寻找潜在答案,因为检索到的数据被LLM视为上下文。恶意指示可以字面上隐藏在内容中,例如使用白色文本使指示对人类读者不可见,或使用看似无害的文本,模型将其解释为指示。
提示注入攻击的主要类型
提示注入攻击可以执行以实现各种目标。两种主要攻击类型试图访问有关系统提示的敏感信息,或操纵人工智能的工具使用,以收集敏感信息或执行有害操作。
提示泄露和系统提示提取
一些攻击旨在访问系统提示,其中可能包含敏感数据,例如隐藏的系统指令、政策或机密。这些信息对攻击者来说非常有用,因为它使他们能够设计后续攻击,从而规避这些防御措施。
提示泄露的潜在风险意味着机密信息绝不应嵌入提示中。像“禁止泄露”这样的安全防护措施可能会被攻击者规避或击败。
工具和代理劫持
人工智能工具可能能够调用函数或API,浏览互联网或触发工作流程。精心设计的提示可能允许攻击者定义选择哪些工具、发送给它们的参数以及调用操作的顺序。
这带来了风险,攻击者可能在调用工单系统、客户关系管理、文档存储、代码库或云控制台时能够访问敏感数据。为了管理这一风险,组织应实施最小权限访问控制和人机协作的审批机制,特别是对于没有人类监督的高影响操作的人工智能代理。
提示注入在企业环境中出现在哪里?
提示注入攻击可以发生在任何组织使用生成性人工智能的地方。常见示例包括:
- 公共聊天工具
- 嵌入式助手
- 客户支持机器人
- 内部知识助手
- 开发者副驾驶
- 自主代理
即使用户不直接与这些工具互动,提示注入仍然是一个风险。工具可以访问网络内容、附件、粘贴的日志、第三方SaaS评论以及其他可能包含恶意指令的不可信输入。
聊天机器人和面向客户的助手
聊天机器人和面向客户的代理接受来自未知用户的自由格式文本输入。成功的提示注入攻击可能涉及操纵输出以误导客户,并且如果机器人可以访问CRM或订单系统,可能会导致数据泄露。
为了管理这些风险,组织应实施严格的数据范围,尽可能删除敏感数据,并为敏感请求指定模板响应。此外,这些工具应监控潜在滥用的迹象,包括请求频率、重复性和有效载荷相似性。
RAG和“询问您的知识库”助手
RAG和“询问您的知识库”助手能够访问可能超出公司政策的文件和其他内容,作为LLM上下文的一部分。因此,嵌入网页和其他资源中的恶意内容可以使攻击者绕过保护措施。
组织可以通过实施内容标记、检索白名单和提示隔离来减轻这些风险。此外,最小权限访问控制限制了这些工具可以访问的数据,从而减少攻击的潜在影响。
提示注入对企业安全的影响
提示注入攻击可以影响AI驱动的工具,使其执行攻击者的命令。这可能会对机密性、完整性和可用性造成重大威胁,因为可能会发生数据泄露、输出操纵和工作流程损坏。
成功的提示注入攻击可能难以调查,因为使用了合法工具且对这些工具的可见性有限。如果组织缺乏证明发生了什么以及事件范围的数据,这也对合规性构成了重大风险。
常见的商业影响
提示注入攻击可能对企业产生多种不同的影响,包括:
- 客户数据泄露
- 知识产权(IP)的暴露
- 服务停机时间
- 对客户查询的错误回应
- 基于不准确数据的决策
- 声誉和财务损失
- 监管处罚和法律风险
如何检测提示注入?
检测提示注入需要分析大型语言模型的输入、输出和行为,以识别异常或违反公司政策的情况。为此,组织应记录提示、回应和工具调用以进行监控。分析应寻找异常、政策违规和重复的有效载荷模式。
提示、上下文和工具调用中的指标
提示、上下文和工具调用可以包含提示注入攻击的指标。需要注意的事项包括:
- 可疑的指令模式
- 强制性语言
- 工具调用的异常频率
- 异常的工具调用目的地
- 从工具返回的超大数据
- 试图作为政策的检索文本
提示注入的实际缓解措施
提示注入攻击需要深度防御,因为攻击者可以构造恶意提示以规避简单的文本搜索和模式匹配。分层缓解模型应包括:
- 安全的应用程序设计
- 模型交互控制
- 数据治理
- 操作测试
这些缓解措施的目标是减少攻击的影响和频率。大型语言模型的特性意味着不可能完全保证攻击永远不会成功。
减少爆炸半径的设计模式
提示注入缓解措施应专注于管理成功注入的潜在爆炸半径。最佳实践包括:
- 工具、连接器和数据源的最小权限访问控制:这包括为读取和写入访问实施单独的权限。
- 敏感操作的人为审核门:例如,支付、账户变更、特权管理员任务和其他高风险活动应要求人类批准。
- 秘密的强边界:秘密不应存储在提示中,而应使用范围令牌或保险库模式。
- 检索源的分段:理想情况下,大型语言模型应仅能访问包含经过策划和标记数据的可信语料库。
- 高风险输出的确定性后处理:在高风险工作流中或访问敏感数据的情况下,大型语言模型的输出应由非人工智能软件进行后处理,以确保政策得到执行并且敏感数据被删除。
运行时的保护措施
除了限制攻击的影响范围,组织还可以实施管理运行时风险的保护措施。最佳实践包括:
- 请求过滤和规范化:所有大型语言模型的响应应进行分析,以过滤潜在的敏感或恶意内容,并确保遵守公司政策。
- 数据丢失控制:在可能的情况下,使用 DLP 或 SWG 防止敏感数据通过提示和响应泄露。
- 内容风险控制:具有网络访问权限的大型语言模型应限制其可以访问的网站和内容类型。
- 人工智能应用和助手的访问治理:人工智能应用和助手应限制在最小权限访问控制下,以限制它们可以使用的数据和工具。
- 日志记录和警报:日志记录和警报应内置于人工智能驱动的工具中,以确保适当的可见性和审计跟踪。
如何测试和验证提示注入?
提示注入漏洞应定期进行测试,因为对提示、工具、模型和数据源的小改动可能会重新引入风险。人工智能红队使用对抗性提示以结构化和可重复的方式评估模型和应用的行为。需要测试的一些关键内容包括:
- 数据泄露
- 政策绕过
- 工具误用
- 检索操控
- 有害输出
测试应定期进行,特别是在部署新的代理、工具或连接器之后。可以根据成功率、严重性、检测覆盖率、检测时间和遏制时间来评估测试程序的成功。
构建可重复的提示注入测试套件
提示注入测试套件可以确保组织正确应对其系统的主要提示注入风险。最佳实践包括:
- 维护一个与风险类别对应的对抗性提示库。
- 包括安全但现实的间接注入装置(文档、网页、工单)。
- 按工作流程和权限集进行测试。同一模型在一个上下文中可能是安全的,而在另一个上下文中可能是不安全的。
- 当提示、检索源或工具架构发生变化时,自动化回归测试。
- 记录测试失败时的预期行为和升级路径。
提示注入风险降低和操作性保护措施
随着公司越来越依赖可能被欺骗执行恶意行为的人工智能工具,提示注入成为企业网络安全日益增长的风险。提示注入安全包括限制输入、上下文、操作和输出,以降低攻击的可能性及其对业务的潜在影响。组织应:
- 限制人工智能工具对数据和工具的访问。
- 监控输入和输出以发现异常和政策违规。
- 对高风险响应使用确定性清理和模板化。
- 定期使用对抗性提示测试工具。
消除提示注入的风险是不可能的。然而,组织可以减少成功攻击的可能性和爆炸半径。
关于提示注入的常见问题
提示注入与越狱是一样的吗?
越狱是一种特定类型的提示注入攻击,旨在欺骗模型生成被禁止和有害的输出。提示注入攻击还包括模型可能采取未经批准的行动并与第三方工具互动的潜在风险。
提示注入可以完全防止吗?
不,提示注入无法完全防止,因为识别所有恶意输入的难度以及大型语言模型(LLM)不是确定性、可预测的系统。然而,分层安全控制可以降低成功攻击的风险和爆炸半径。
为什么间接提示注入被认为更危险?
间接提示注入涉及攻击者将指令注入到大型语言模型(LLM)消费的内容中,例如在从互联网收集上下文时访问的网页。这更危险,因为攻击者可能能够影响代理,即使他们无法直接访问其用户界面。
调查提示注入尝试时应该记录什么?
日志应包括事件、工具调用和政策违规。记录原始提示可能是危险的,因为它们可能包含敏感数据,所有日志应对这些信息进行编辑。
为人工智能助手实施的第一个控制措施是什么?
最小权限访问是为人工智能助手实施的最重要的控制措施。限制其对数据和其他工具的访问可以减少成功攻击可能造成的损害。
This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.