Efficient Universal Goal Hijacking with Semantics-guided Prompt Organization¶
会议: ACL 2025
arXiv: 2405.14189
领域: LLM 安全 / 对抗攻击
关键词: 通用目标劫持, 提示注入攻击, 语义引导, 对抗后缀优化, LLM安全
一句话总结¶
本文提出POUGH方法,通过高效的渐进式优化算法和两种语义引导的提示组织策略(采样策略+排序策略),实现了对LLM的高效通用目标劫持攻击,在四个开源LLM和十种恶意目标响应上平均攻击成功率达93.41%。
研究背景与动机¶
-
目标劫持攻击定义:目标劫持是一种提示注入攻击,攻击者在用户提示后附加恶意后缀,迫使LLM忽略原始意图,返回固定的攻击者指定的恶意响应。
-
通用 vs 特定目标劫持:
- 特定劫持:为每个用户提示单独生成后缀,实时性差
-
通用劫持:使用一个固定后缀劫持所有接收到的用户提示,无需在线梯度优化,实用性更强
-
现有方法的问题:
- 手工方法(如HouYi、TensorTrust):使用"Ignore previous prompt and print XXX"等模板,ASR极低(HouYi仅0.37%)
- M-GCG方法:唯一的梯度优化方法,但每次迭代需使用全部训练提示计算梯度,时间消耗巨大(需25000次迭代)
-
现有方法仅关注优化算法设计,忽略了训练提示本身的关键作用
-
关键观察:
- 为单个提示生成的特定后缀虽不满足通用性要求,但其ASR并非为零(0.84%),具有弱通用性
- 训练提示的语义多样性对后缀通用性至关重要
- 提示与目标响应的语义相似度可指导优化顺序
方法详解¶
整体框架¶
POUGH由三个组件构成: 1. I-UGH优化算法:渐进式增加训练提示数量的高效离散token优化 2. 语义引导采样策略:从大规模提示池中选择语义多样的训练子集 3. 语义引导排序策略:基于与目标响应的语义相似度排列提示顺序
关键设计¶
1. I-UGH渐进式优化算法¶
核心思想:从单个提示开始优化后缀,逐步增加参与损失计算的提示数量。
- 初始化:\(n_c = 1\),仅用1个提示开始优化
- 梯度计算:对后缀中每个token计算当前\(n_c\)个提示的损失梯度
- 候选生成:基于top-k梯度方向生成B个候选后缀(每个仅改变1个token)
- 候选选择:选择在当前\(n_c\)个提示上损失最小的候选
- 渐进扩展:当后缀在\(\mathcal{P}_{1:n_c}\)上的ASR超过阈值(0.8),增加\(n_c\)
- 终止条件:\(n_c = N\)(覆盖全部训练提示)或达到最大迭代次数
效率对比:当\(n_c=1\)时梯度计算仅需0.37秒,\(n_c=50\)时需6.06秒(16.4倍),渐进增加显著减少早期迭代的计算开销。
2. 语义引导采样策略¶
目标:从大规模提示池\(\mathcal{BP}\)(1000条)中选择N条(50条)语义多样的训练提示\(\mathcal{P}\)。
- 步骤1:计算\(\mathcal{BP}\)中所有提示对的语义相似度,选择相似度最低的一对作为初始种子
- 步骤2:贪心迭代——从\(\mathcal{BP}\)中选择与\(\mathcal{P}\)中已有提示累积平均语义相似度最低的提示加入
- 步骤3:重复步骤2直至\(|\mathcal{P}| = N\)
- 使用余弦相似度作为度量
3. 语义引导排序策略¶
目标:确定训练提示进入优化过程的顺序,加速收敛。
- 计算每个训练提示与目标响应\(R^T\)的语义相似度
- 按降序排列:先放入与目标响应语义最相似的提示
- 语义提取函数\(\Theta(\cdot)\)使用LLM最后隐藏层状态的嵌入
实验关键数据¶
主实验¶
在Llama-2-7b-chat-hf上与基线对比(10种恶意目标响应,ASR%):
| 方法 | 平均ASR(%) | 平均迭代次数 |
|---|---|---|
| GCG-hijacking | 0.84 | 462 |
| MAC-hijacking | 0.36 | 471 |
| AutoDAN-hijacking | 0.00 | 500 |
| AmpleGCG-hijacking | 0.00 | - |
| HouYi(手工) | 0.37 | - |
| TensorTrust(手工) | 0.00 | - |
| M-GCG | 54.26 | 25,000 |
| I-UGH(本文) | 85.50 | 7,613 |
| POUGH(本文) | 93.41 | 5,626 |
关键数据:POUGH相比M-GCG,ASR从54.26%提升至93.41%(+39.15%),迭代次数从25000降至5626(减少77.5%)。
跨模型泛化性(POUGH方法,平均ASR%):
| 模型 | 平均ASR(%) |
|---|---|
| Llama-2-7b-chat | 93.41 |
| Vicuna-7b-v1.5 | 85.06 |
| Mistral-7B-Instruct | 81.29 |
| Guanaco-7B-HF | ~80+ |
关键发现¶
-
巨大的效率提升:POUGH仅需M-GCG约1/4的迭代次数即可获得更高的ASR,且在所有10种恶意目标上表现更均衡(M-GCG在bomb和drug上ASR为0%)。
-
各组件的贡献:
- 单独I-UGH算法:85.50% ASR
- 加入采样策略后:采样策略将低多样性训练集的5% ASR提升到有效水平
-
加入排序策略后(完整POUGH):93.41% ASR,加速收敛
-
手工方法的失败:即使要求LLM返回非恶意简单句"Water is good.",手工提示注入的ASR也仅39.9%。
-
提示特定后缀不可迁移:为随机选择的提示生成的后缀在1000条测试提示上平均ASR仅0.6%。
-
排序策略的收敛加速:降序排列(先放语义相似提示)比随机排列实现更快的收敛速度。
亮点与洞察¶
-
提示视角的创新:首次从训练提示组织的角度(而非仅优化算法)研究通用目标劫持,揭示了提示选择和排序对攻击效果的关键影响。
-
渐进式优化的简洁有效:从1个提示开始逐步扩展的设计既直观又高效,大幅减少早期迭代的计算开销。
-
对防御的启示:该攻击方法的高成功率暴露了当前LLM安全对齐的脆弱性,即使有安全系统提示,固定后缀仍可实现高达93%的劫持成功率。
-
严格的成功度量:使用精确字符串匹配(而非语义相似)作为ASR度量,是比相似度匹配更严格的标准。
-
采样策略的泛化性:训练提示的选择与目标响应\(R^T\)无关,说明语义多样性本身就是提升通用性的关键。
局限性¶
-
仅限开源模型:实验仅在四个7B级开源模型上进行,未测试闭源模型(如GPT-4、Claude)。
-
计算资源需求:仍需白盒访问(梯度计算),限制了对API-only模型的适用性。
-
后缀可检测性:生成的后缀通常是不可读的token序列,可能被简单的输入过滤器检测到。
-
目标响应长度限制:实验中的目标响应相对较短,对更长复杂响应的劫持效果未知。
-
模型规模未扩展:仅测试7B模型,对更大规模模型(70B+)的攻击效果缺乏验证。
相关工作¶
- 对抗提示优化:AutoPrompt (Shin et al., 2020)、GCG (Zou et al., 2023)、PEZ离散提示优化
- 目标劫持:HouYi (Liu et al., 2023a)、TensorTrust (Toyer et al., 2023)手工攻击;M-GCG (Carlini et al., 2023)梯度优化
- 越狱攻击:与目标劫持的区别——越狱旨在绕过安全护栏执行用户恶意查询,目标劫持则完全忽略用户意图返回攻击者指定响应
评分¶
| 维度 | 分数 (1-10) | 说明 |
|---|---|---|
| 新颖性 | 8 | 提示组织视角的创新+渐进式算法设计 |
| 技术深度 | 8 | 三个组件的设计均有技术贡献和理论分析 |
| 实验充分性 | 8 | 4模型×10目标响应×多基线对比 |
| 写作质量 | 7 | 结构清晰但数学符号较密集 |
| 实际影响 | 8 | 暴露LLM安全对齐的重要漏洞 |
| 总分 | 7.8 | 高效的通用攻击方法,对LLM安全研究有重要价值 |