提示词注入攻击是指攻击者向大语言模型(LLM)发送恶意输入,试图诱使模型以非预期的方式响应或运行。这类输入通常包含试图绕过模型安全准则和系统指令的命令。攻击者可能直接通过提示词提交恶意输入,也可能将命令嵌入模型所摄取的材料中,以间接方式提交。

提示词注入的工作原理

提示词注入利用大语言模型(LLM)的运行机制发起攻击。这些模型的设计初衷是让开发者能够使用自然语言下达任务指令。但这项能力也意味着,当指令与其他用户输入同时出现时,模型无法可靠地区分二者。因此,攻击者可以在模型摄取的文本中嵌入恶意命令;如果没有适当的防护措施,模型可能会遵循这些恶意指令。

直接提示词注入与间接提示词注入

攻击者可能会实施直接或间接提示注入攻击。虽然这两种手段都涉及操纵模型,但向模型传递恶意命令的方式有所不同。

在直接提示注入中,攻击者会将命令加入模型的提示中。例如,攻击者可以通过AI聊天机器人或搜索引擎的用户界面,直接使用自然语言向模型输入命令。为掩饰这些输入,攻击者可以进行角色扮演(要求模型采用不受安全规则约束的角色),也可以构建假设场景(让模型认为交互不会造成现实后果)。

如果尝试成功,影响会立即显现。提交提示后,攻击者预期的操作或输出会随即发生。

间接提示注入是指攻击者将命令或内容嵌入AI模型将要摄取的材料中。这些材料可能包括网页、上传的PDF文档、电子邮件或数据库中的文件。攻击者可以将有效载荷隐藏在不可见的文本(白色背景上的白色文字)、HTML注释或元数据中。当模型或智能体摄取这些材料时,无法区分合法输入与命令,因而会执行这些命令。

与直接提示注入不同,间接攻击的影响具有延迟性和条件性。只有当用户或自主进程触发模型或智能体摄取数据时,影响才会显现。例如,攻击者可能会修改存储在检索增强生成(RAG)所用向量数据库中的文件。只有当用户输入提示并启动检索流程后,命令才会执行。

常见攻击类型

攻击者可能会根据其目标以及所面对的AI系统类型,采用多种提示词注入策略。以下是3种常见的攻击类型:

越狱:此类攻击旨在诱使AI模型忽略其安全规则。攻击者可能会虚构场景,或要求模型扮演不受现有策略限制的角色。实施越狱攻击时,攻击者通常会直接在模型提示词中输入指令。其目的可能包括让模型生成不准确的回答或泄露敏感信息。

提示词泄露:试图暴露AI系统可访问的机密信息,例如开发者提示词、运行逻辑、知识产权或因不当暴露而泄露的凭据。攻击者可能会在提示词中要求模型输出系统指令,或包含当前对话之前处理过的文本。

令牌走私:试图让恶意命令绕过AI应用的初始安全过滤器。AI应用通常会扫描输入中的关键词或意图,然后将输入传递给后端系统。后端系统会将文本拆分为令牌,再将其输入模型。攻击者利用令牌走私构造可通过安全过滤器的提示词,但这些提示词到达模型后会被转换为命令。

企业业务风险

提示词注入攻击会给企业带来多种严重风险,尤其是在企业日益将AI系统集成到关键流程中的情况下。以下是4种潜在风险:

未经授权执行工具或API:如果攻击者成功向模型传递命令,可能不仅能够操纵模型,还能操纵与模型连接的API和系统。例如,攻击者可能会让API删除数据库记录、修改客户关系管理(CRM)系统中的客户信息,或执行金融交易。

敏感数据外泄:利用提示词注入的攻击者可能会迫使模型泄露各种敏感数据,包括企业财务文档、个人身份信息(PII)、系统提示词及其他知识产权。

自动化网络钓鱼:攻击者使用的命令可能会驱使模型或智能体通过企业电子邮件账户向客户或员工自动发送电子邮件。攻击者还可能让模型在邮件中加入网络钓鱼链接。

模型劫持:攻击者可以通过适当的命令,完全改变模型的预期用途,并劫持其能力以实现其他目的。例如,攻击者可能利用模型传播虚假信息、处理未经授权的退款,或诱骗用户分享个人信息。

缓解措施与纵深防御

采用以下4项实践有助于组织构建纵深防御体系,防范攻击并减轻损害。

1. 实施双重(输入和输出)防护机制:组织应针对输入实施AI防护机制,筛查可能表明存在提示词注入的模式。同时,还应对输出应用防护机制,帮助确保模型和智能体不会输出敏感信息、生成垃圾内容或未经授权调用其他系统。

2. 使用金丝雀令牌:金丝雀令牌是AI系统中的隐藏标记,可针对提示词注入或数据泄露提供预警。开发人员可以在系统提示词中设置一个令牌(一串唯一的数据),用户不会看到该令牌。同时,安全团队会实时监控模型输出。如果模型输出中出现该令牌,则表示攻击者已迫使模型泄露系统指令。

3. 限制模型和智能体权限:提示词注入尤其危险,因为攻击者可以迫使模型和智能体执行一系列未经授权的操作。组织可以通过限制模型和智能体可自动执行的操作,降低提示词注入的影响。

4. 保持人工参与:除了限制模型和智能体的权限外,组织还应确保重要操作或决策始终有人工参与。例如,组织可以制定政策,要求模型与特定系统交互时必须获得人工批准,或由人工审核智能体触发的金融交易。

常见问题

传统Web应用防火墙(WAF)能否阻止提示词注入攻击?

传统Web应用防火墙(WAF)并非为可靠检测提示词注入攻击而设计。WAF旨在查找可能表明存在攻击的代码,但提示词注入攻击使用自然语言命令,WAF无法将其识别为威胁。此外,WAF侧重于传入的HTTP流量和用户请求,而非嵌入第三方来源中的命令,因此无法防范间接提示词注入。

检索增强生成(RAG)管道如何增加提示词注入风险?

检索增强生成(RAG)管道为攻击者向模型传递恶意命令提供了另一种途径。攻击者可以将命令嵌入存储在RAG系统所用向量数据库中的文件。当模型从数据库检索信息时,会摄取这些命令,并可能执行它们。

提示词注入与RAG数据投毒有何不同?

检索增强生成(RAG)数据投毒是指在推理前向数据库中注入虚假信息或偏见,意图使从该数据库检索信息的模型生成不准确或有害的结果。提示词注入是指在推理时向模型输入恶意命令或内容,诱使模型执行未经授权的操作。

微调LLM能否防止提示词注入攻击?

不能。仅对大型语言模型(LLM)进行微调无法完全防止提示词注入攻击,但可以增加漏洞利用的难度。例如,开发人员可以训练模型识别可能表明存在攻击的特定模式。然而,模型本身设计为接受自然语言命令,因此仍容易受到提示词注入攻击。

什么是“金丝雀令牌”,它如何用于LLM防御?

金丝雀令牌是一种唯一的数据字符串,开发人员可将其嵌入系统提示词中。正常用户不会看到该字符串。但如果攻击者成功诱使模型输出系统提示词,模型也会无意中输出金丝雀令牌。持续监控模型输出的团队一旦发现该令牌,就能确定正在发生安全泄露。

企业如何在推理和运行时保护AI系统及应用?

要在推理和运行时保护AI系统及应用,需要在交互发生时检查提示词、响应、智能体操作和工具使用情况。AI专用运行时安全机制有助于阻止提示词注入、防止敏感数据泄露、执行策略,并管控模型和智能体与用户、数据、API及所连接工具的交互方式。

F5的哪些功能可支持企业AI安全?

F5 AI Guardrails有助于实施运行时策略,并防范提示词注入、数据泄露、有害输出和不安全的智能体操作等风险。F5 AI Red Team通过对抗性测试识别漏洞和薄弱环节。F5 AI Gateway为模型、智能体和工具的访问治理提供集中控制点;F5 Workforce AI Security则可帮助企业了解获准和未经批准的AI使用情况。这些功能共同构成F5 AI Security Platform的一部分。为更广泛地保护应用、API和分布式环境,F5 Application Delivery and Security Platform (ADSP)整合了Web应用和API保护、机器人管理、DDoS缓解及应用交付等功能。