本文介绍对LLM提示词注入攻击(prompt injection)的通用防御框架。
原标题:USENIX Sec'25 | LLM提示词注入攻击如何防?UC伯克利、Meta最新研究来了
文章来源:机器之心
内容字数:4524字
提示词注入攻击的通用防御框架
近年来,随着大语言模型(LLM)在应用系统中的广泛部署,提示词注入攻击成为了当前面临的重大安全威胁。本文介绍了一种通用的防御框架,旨在提升 LLM 应用的安全性,减少提示词注入攻击的成功率。
1. 提示词注入攻击的背景
LLM 的强大语言能力使其被广泛应用于各种系统中。然而,在与外部数据交互时,攻击者可以在不可信的数据中注入恶意指令,覆盖 LLM 原有的指令。例如,在一个点评网站上,恶意评论可能会误导 LLM 推荐不佳的餐厅。这种攻击形式被 OWASP 列为 LLM 应用系统的最大威胁之一。
2. 提示词注入攻击的原因
提示词注入攻击的主要原因有两个:第一,LLM 输入未能有效分离指令和数据,导致二者直接拼接。第二,LLM 在训练时被教导遵循输入中的任意指令,缺乏对注入指令的识别能力。
3. 防御策略
为应对提示词注入攻击,研究者提出了三种防御策略:
1. **安全前端**:设计专用的分隔符,明确分离指令和数据,并确保这些分隔符只能被系统使用。
2. **结构化指令微调**:在训练过程中,通过模拟提示词注入攻击,教导模型忽视注入指令,仅遵循可信的原指令。
3. **安全对齐**:构建偏好数据集,通过对比样本,微调模型,使其在面对注入指令时,能够优先回复原指令。
4. 防御结果
经过测试,结合安全前端与结构化指令微调的防御策略 StruQ,在无优化的攻击场景中成功率低于 2%;而结合安全前端与安全对齐的策略 SecAlign,成功率更是降至 0%。此外,在基于优化的提示词注入攻击中,SecAlign 的成功率也显著降低,显示出这两种策略的有效性。
5. 总结
本文提出了对提示词注入攻击的深入分析和防御策略,强调了在 LLM 输入中分离指令与数据的重要性,以及在模型训练中增强对安全指令的识别能力。通过这些策略,可以显著提升 LLM 应用的安全性,为应对未来的安全挑战提供了有力的保障。
联系作者
文章来源:机器之心
作者微信:
作者简介:专业的人工智能媒体和产业服务平台