FATH: Authentication-based Test-time Defense against Indirect Prompt Injection Attacks
作者: Jiongxiao Wang, Fangzhou Wu, Wendi Li, Jinsheng Pan, Edward Suh, Z. Morley Mao, Muhao Chen, Chaowei Xiao
分类: cs.CR, cs.CL
发布日期: 2024-10-28 (更新: 2024-11-25)
🔗 代码/项目: GITHUB
💡 一句话要点
提出基于哈希认证标签的FATH方法,防御针对LLM应用的间接提示注入攻击。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 提示注入攻击防御 大型语言模型安全 测试时防御 哈希认证 安全策略 LLM应用安全 FATH方法
📋 核心要点
- 现有防御间接提示注入攻击的方法,如训练时防御成本高昂,测试时防御效果有限,难以实际应用。
- FATH方法通过引入基于哈希的认证标签,实现对LLM响应的认证和过滤,确保只返回用户指令相关的响应。
- 实验结果表明,FATH在Llama3和GPT3.5模型上,针对多种攻击方法,均取得了优于现有技术的防御效果。
📝 摘要(中文)
大型语言模型(LLMs)已被广泛部署为核心,并结合额外的工具和文本信息用于实际应用。然而,将外部信息集成到LLM应用中引发了严重的安全问题。其中,提示注入攻击尤其具有威胁性,恶意指令被注入到外部文本信息中,可以利用LLMs生成攻击者期望的答案。虽然已经开发了训练时和测试时防御方法来缓解此类攻击,但训练时方法相关的巨大训练成本和现有测试时方法的有限有效性使其不切实际。本文提出了一种新的测试时防御策略,名为基于哈希标签的格式化认证(FATH)。与现有阻止LLMs回答外部文本中附加指令的方法不同,我们的方法实现了一个认证系统,要求LLMs使用安全策略回答所有收到的指令,并有选择地过滤掉对用户指令的响应作为最终输出。为此,我们利用基于哈希的认证标签来标记每个响应,从而准确识别根据用户指令的响应,并提高针对自适应攻击的鲁棒性。全面的实验表明,我们的防御方法可以有效地防御间接提示注入攻击,在Llama3和GPT3.5模型上实现了各种攻击方法下的最先进性能。我们的代码已在https://github.com/Jayfeather1024/FATH上发布。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLMs)在集成外部信息时,容易受到间接提示注入攻击的问题。现有的防御方法,要么需要耗费巨大的训练成本(训练时防御),要么在测试时防御效果不佳,无法有效阻止恶意指令的执行。因此,需要一种低成本且高效的测试时防御方法来保障LLM应用的安全性。
核心思路:FATH的核心思路是建立一个认证系统,对LLM的响应进行验证,确保其符合预定的安全策略。具体来说,它要求LLM对所有接收到的指令都进行响应,并使用哈希标签对每个响应进行标记。然后,根据用户指令的哈希标签,选择性地过滤掉其他指令的响应,只保留与用户指令相关的响应作为最终输出。这样可以防止LLM执行外部文本中注入的恶意指令。
技术框架:FATH的整体框架包括以下几个主要步骤:1. 接收用户指令和外部文本信息;2. 将用户指令和外部文本信息输入到LLM中;3. LLM根据接收到的所有指令生成响应,并为每个响应生成一个基于哈希的认证标签;4. 根据用户指令的哈希标签,过滤掉与用户指令无关的响应;5. 将过滤后的响应作为最终输出。
关键创新:FATH的关键创新在于引入了基于哈希的认证标签,用于标记LLM的响应。这种标签可以有效地识别与用户指令相关的响应,并防止攻击者通过修改外部文本信息来绕过防御。与现有方法相比,FATH不需要对LLM进行重新训练,并且可以有效地防御各种间接提示注入攻击。
关键设计:FATH的关键设计包括:1. 哈希函数的选择:选择合适的哈希函数可以确保认证标签的唯一性和安全性。2. 安全策略的制定:安全策略定义了LLM应该如何响应不同的指令,以及如何过滤掉不符合安全策略的响应。3. 过滤算法的设计:过滤算法需要能够准确地识别与用户指令相关的响应,并防止误判。
🖼️ 关键图片
📊 实验亮点
实验结果表明,FATH在防御间接提示注入攻击方面取得了最先进的性能。在Llama3和GPT3.5模型上,FATH能够有效地防御各种攻击方法,显著降低攻击成功率。与现有测试时防御方法相比,FATH在保持较高准确率的同时,能够更有效地阻止恶意指令的执行,展现了其优越的防御能力。
🎯 应用场景
FATH方法可广泛应用于各种集成LLM的应用场景,例如智能客服、文档摘要、信息检索等。通过有效防御间接提示注入攻击,FATH可以提高LLM应用的安全性,保护用户数据和系统资源,并促进LLM技术在更多领域的应用。未来,该方法可以进一步扩展到防御其他类型的提示注入攻击,并与其他安全技术相结合,构建更强大的LLM安全防护体系。
📄 摘要(原文)
Large language models (LLMs) have been widely deployed as the backbone with additional tools and text information for real-world applications. However, integrating external information into LLM-integrated applications raises significant security concerns. Among these, prompt injection attacks are particularly threatening, where malicious instructions injected in the external text information can exploit LLMs to generate answers as the attackers desire. While both training-time and test-time defense methods have been developed to mitigate such attacks, the unaffordable training costs associated with training-time methods and the limited effectiveness of existing test-time methods make them impractical. This paper introduces a novel test-time defense strategy, named Formatting AuThentication with Hash-based tags (FATH). Unlike existing approaches that prevent LLMs from answering additional instructions in external text, our method implements an authentication system, requiring LLMs to answer all received instructions with a security policy and selectively filter out responses to user instructions as the final output. To achieve this, we utilize hash-based authentication tags to label each response, facilitating accurate identification of responses according to the user's instructions and improving the robustness against adaptive attacks. Comprehensive experiments demonstrate that our defense method can effectively defend against indirect prompt injection attacks, achieving state-of-the-art performance under Llama3 and GPT3.5 models across various attack methods. Our code is released at: https://github.com/Jayfeather1024/FATH