Distract Large Language Models for Automatic Jailbreak Attack
英文题目:《Distract Large Language Models for Automatic Jailbreak Attack》
中文题目:《通过分散注意力实现大语言模型的自动越狱攻击》
论文作者:Zeguan Xiao, Yan Yang, Guanhua Chen, Yun Chen
发布于:EMNLP 2024 (CCF A)
论文链接:https://arxiv.org/abs/2403.08424
代码链接:https://github.com/sufenlp/AttanttionShiftJailbreak
摘要
之前已经做了大量工作为使大型语言模型(LLMs)的行为与人类价值观保持一致,业界曾公开发布相关技术。然而,即便经过精心校准的LLMs仍存在被恶意操控的风险,例如通过越狱攻击导致意外行为。本研究提出了一种新型黑盒越狱框架,用于LLMs的自动化红队测试。我们基于对LLMs分心性 和过度自信现象的研究,设计了包含恶意内容隐藏与记忆重构的迭代优化算法,实现对LLMs的自动化越狱。我们通过大规模实验对比开源与专有大模型的越狱攻击,证实了本框架在有效性、可扩展性和可迁移性方面的优势。同时,我们评估了现有越狱防御方法对本攻击的有效性,并强调亟需开发更高效实用的防御策略。
本文聚焦的问题
虽然商业与开源大模型都经过大量安全对齐训练,用于避免生成违法、暴力、隐私泄露等有害内容,但现实中仍存在大量“越狱 prompt”,能在一定条件下诱导模型违背安全策略。现有越狱方法的局限有人工设计的越狱提示高度依赖人类经验,不具备系统性与可扩展性;优化方法白盒只能作用于开放参数的模型,且训练阶段查询成本极高。,而部分黑盒优化极度消耗资源且缺乏“通用模板”。DAP 的目标就是在这一背景下,充分利用 LLM 的“分心”与“过度自信”特性,构建一种 自动、黑盒、通用、可迁移 的越狱模板生成框架。
本文提出的方法
1. 输入结构:DAP 越狱提示的三层组成
DAP 将一次攻击拆解为一个 通用越狱模板 + 恶意查询 的组合,模板内部由三部分构成:
#### (1)复杂主任务(Complex Main Task) - 越狱模板外层包含一段长篇、复杂、无害的任务描述
- 用于“分散注意力”,弱化安全对齐机制
- 使恶意内容置于较弱的语义焦点中 #### (2)恶意辅助任务(Malicious Auxiliary Task) - 恶意指令并不会直接出现,而是放入 <task-start>…<task-end> 的占位符
- 安全检测只能看到“模板结构”,而看不到真正恶意内容
- 恶意内容在攻击阶段被填入占位符,完成包装 #### (3)记忆重构指令(Memory-Reframing Scheme) 模板中强制要求模型在回答开始时声明: > “Sure! I will shift my focus to the auxiliary task.” 好的!我将把注意力转移到辅助任务上”作为你的回答开头。
这是关键机制,使得模型在后续生成中“自动忽略”主任务信息,专注执行辅助(恶意)任务。 ### 2. 利用“分心”的恶意内容隐藏(Malicious Content Concealing) 作者借鉴了“LLM 容易被无关上下文干扰”的研究结论,设计模板时: - 构造一个复杂的主任务/场景,例如长篇任务说明、故事、分析等;
- 把恶意指令伪装成其中的“辅助任务”,只在模板中留一个占位符(如 <task-start> ... <task-end> 的形式),不直接写出具体危险内容;
- 在攻击阶段再把占位符替换为实际恶意指令。 ### 3. 利用“过度自信”的记忆重构机制(Memory-Reframing)
仅仅做到“埋在复杂背景里”往往会带来另一个问题:
模型生成的回答会强烈混杂场景叙事与恶意请求,可能变成一段虚构故事或含糊描述,难以判断是否真正“执行”了恶意指令。作者观察到,大模型在生成时往往倾向沿着自己刚刚写出的内容一路展开,对局部上下文非常“自信”,对更远处背景的关注则相对减弱。
因此,DAP 在模板中强制要求目标 LLM:
- 先在回答开头生成一段“声明式”文本,大意为:
“我将忽略前面的场景与角色设定,只专注于下面这个辅助任务,并给出完整回答。”
- 一旦模型写出了这段“声明”,后续解码过程往往会顺着这一承诺,集中回答辅助任务,即恶意指令。
- 先在回答开头生成一段“声明式”文本,大意为:
消融实验表明:
- 如果不做恶意内容隐藏,ASR 在对齐较好的模型上几乎为 0;
- 如果只做隐藏但不做记忆重构,ChatGPT 等模型的攻击成功率显著下降;
- 两者结合时,效果最好,说明“分心 + 记忆重构”是相互补充的。 ### 4. 迭代越狱模板搜索算法
- 如果不做恶意内容隐藏,ASR 在对齐较好的模型上几乎为 0;
作者提出了一个类似强化学习/黑盒优化的搜索过程:
整个框架还引入: - 攻击者 LLM:根据元提示(meta prompt)与历史反馈生成/优化新模板;
- 目标 LLM:被攻击的模型(Vicuna、LLaMA-2、ChatGPT、GPT-4 等);
- 判别模型:一个本地微调的 DeBERTaV3-large 分类器,对“恶意指令 + 模型回答”这一句对进行判别,评估是否真正产生了与恶意目标相关且有害的内容,用作攻击成功的打分信号。
- 多轮多流并行搜索
- 设定轮数 (R)、并行流个数 (N) 和每流迭代次数 (I)。
- 每个“流”就是攻击者 LLM 与若干历史样本组成的一段对话,分别走自己的搜索轨迹。
- 设定轮数 (R)、并行流个数 (N) 和每流迭代次数 (I)。
- 候选模板生成
- 在每次迭代中,攻击者 LLM 在对应流的对话历史基础上,生成一个新的越狱模板候选。
- 调用目标 LLM 测试模板
- 将该模板与训练集中多条恶意指令组合,输入目标 LLM,得到一批回答。
- 使用判别模型对这些“指令-回答对”逐一打分,取平均值作为该模板的攻击成功率(ASR 估计)。
- 将该模板与训练集中多条恶意指令组合,输入目标 LLM,得到一批回答。
- 反馈与示例更新
- 把这个模板及其得分追加到当前流的对话历史中,供攻击者 LLM 在下一轮迭代参考。
- 每轮结束后,从所有流中选出若干得分最高的模板作为新的示例,放回元提示中,进入下一轮搜索。
- 把这个模板及其得分追加到当前流的对话历史中,供攻击者 LLM 在下一轮迭代参考。
- 最终得到一组高质量模板
- 攻击阶段只需保留若干 Top-k 模板,在真实 red teaming 中按顺序尝试即可(Top-5 ASR 较高时,只需 5 次尝试就能覆盖大部分恶意指令)。
该搜索方式的总查询预算为 (R N I);论文中在预算 2500 次目标模型查询下,常用配置为 (R=1, N=10, I=5),在多种模型上已经取得了较好的攻击成功率。 ## 阅读总结
优点: 1. 通过“主任务 + 辅助任务 + 记忆重构”将恶意内容伪装并强制执行,通用性极高。 2. 完全黑盒自动化搜索,无需人工经验
缺点: 1. 需要攻击者 LLM、判别模型以及大量模型查询,评测成本不低。 2. 多轮对话、跨语言、工具调用等复杂应用场景未验证。
—