本文介绍对LLM提示词注入攻击(prompt injection)的通用防御框架。
原标题:USENIX Sec'25 | LLM提示词注入攻击如何防?UC伯克利、Meta最新研究来了
文章来源:机器之心
内容字数:4524字
提示词注入攻击的防御框架
随着大型语言模型(LLM)的广泛应用,提示词注入攻击(prompt injection)成为了对LLM集成应用系统的一大威胁。本文提出了一种通用的防御框架,旨在有效抵御此类攻击,并详细介绍了相关的防御策略。
1. 提示词注入攻击的背景
LLM因其强大的语言处理能力被广泛部署在各种应用中。在这些应用中,LLM需要访问外部数据源(如文件、网页和API返回值)以完成任务。然而,攻击者可以通过在第三方数据中注入恶意指令,来干扰LLM的正常功能。举例来说,餐厅老板可能在点评网站上发布虚假的评论,从而影响LLM的推荐结果。这种攻击方式已被OWASP安全社区列为LLM应用系统的最大威胁。
2. 提示词注入攻击的原因
提示词注入攻击的原因主要有两个:第一,LLM输入中未能分离指令与数据,二者被直接拼接;第二,LLM在训练过程中被教导遵循输入中的任意指令。针对这些问题,本文提出了相应的防御策略。
3. 防御策略
为应对提示词注入攻击,本文提出了三种防御策略:
3.1 安全前端:设计只能由系统使用的分隔符,显式分离指令与数据,确保输入结构的安全性。
3.2 结构化指令微调:在训练过程中模拟提示词注入攻击,教导模型忽视数据中的注入指令,并仅遵循系统的原指令。
3.3 安全对齐:构建偏好数据集,训练模型在遇到注入指令时仍然遵循系统的原指令,从而减少被攻击的风险。
4. 防御效果
通过上述防御策略的结合,StruQ和SecAlign模型在抵御提示词注入攻击方面表现优异。StruQ模型对无优化攻击的成功率降低到2%以下,而SecAlign模型甚至实现了0%的攻击成功率。对于基于优化的攻击,StruQ的成功率显著降低,SecAlign进一步将其降至15%以下。
5. 总结
本文从提示词注入攻击的原因出发,提出了有效的防御框架与策略。通过安全前端的设计和模型训练的优化,显著提升了LLM应用系统的安全性,为未来的研究提供了重要的参考。
联系作者
文章来源:机器之心
作者微信:
作者简介:专业的人工智能媒体和产业服务平台