6.5 离散对抗攻击与模型鲁棒性
对抗样本(Adversarial Examples)是机器学习安全的经典话题,其在 LLM 领域呈现出独特的形式和挑战。
6.5.1 对抗样本基础
对抗样本是指经过精心设计的输入,对人类来说与正常输入无异,但会导致模型产生错误或意外的输出。
传统对抗样本
图 6-15:对抗样本基础流程图
在图像识别中,对抗样本表现为:添加人眼不可见的噪声,使熊猫图片被识别为长臂猿。
LLM 对抗样本特点 LLM 的对抗样本主要体现在文本层面,形式包括:
字符级扰动
插入/替换/删除字符
“how to mаke” (使用西里尔字母 а)
Token 级扰动
构造特定 Token 序列
无意义但有效的后缀
语义级扰动
改变表达但保持意图
各种同义改写
6.5.2 GCG 攻击:梯度引导的对抗后缀
Greedy Coordinate Gradient(GCG)攻击是一种经典的 LLM 对抗攻击方法。
核心难点与基本原理:离散空间的梯度搜索 在图像识别领域,像素值是连续的,可以通过反向传播直接计算出对抗噪声片段(如 FGSM 算法)。但大语言模型的输入是 离散的 Token ID,无法直接应用微弱的“连续噪声”。
GCG 的核心创新是将连续的梯度引导搜索近似到离散空间:
One-Hot 代理表示:将输入的对抗后缀序列表示为一个 One-Hot 向量矩阵。
计算对数似然梯度:向前传递完整的“系统提示 + 恶意请求 + 对抗后缀组合”,并在模型输出端计算“拒绝回答”的负对数似然损失(或“肯定回答如
Sure, I can help”的正向损失),然后反向传播。泰勒展开近似评估(投影):在输入嵌入层(Embedding Layer),获取相对于当前对抗后缀 One-Hot 矩阵的损失梯度。由于穷举所有可能的 Token 替换计算代价极高(词表大小 $|V|$ $\approx$ 32000 到 100000),GCG 利用梯度的一阶泰勒展开,快速近似评估出哪些备选 Token 如果替换在当前位置,最能大幅度降低目标损失。
贪心坐标下降(Coordinate Descent):在每次迭代中,随机挑选后缀序列中的几个位置,从上一步评估出的候选 Top-K Token 中随机选择组合进行真实前向传播验证,保留最优结果进入下一轮。
图 6-16:GCG 攻击:梯度引导的对抗后缀流程图
攻击效果与迁移性 研究表明,通过 GCG 方法生成的对抗性后缀可以显著提高越狱成功率。然而,其跨模型迁移性能存在显著差异,需要细致评估:
同架构家族内的迁移:在同一架构家族内(如不同规模的 LLaMA 变体之间),GCG 后缀的迁移性较好,成功率保持在相对高的水平
跨架构迁移的局限性:从一个架构迁移到完全不同的架构(如从 LLaMA 到 GPT),效果有限,成功率显著下降。这是因为不同架构的 Token 嵌入空间、参数配置和内部优化机制存在本质差异
商业模型的额外防御:主流商业 API 模型(如 GPT 系列、Claude 系列等)已部署额外的输入过滤和检测机制,进一步降低了迁移攻击的实际成功率。即使对开源模型有效的后缀,在这些防御系统面前也可能被直接拦截
这表明,虽然 GCG 在特定场景下具有威胁,但其跨模型泛化能力受到架构差异和防御措施的显著制约,不能作为对所有模型通用的越狱方法。
6.5.3 AutoDAN:语义化的遗传算法攻击
为了解决 GCG 生成的乱码容易被基于困惑度(Perplexity)的过滤器拦截的问题,AutoDAN 应运而生。
核心机制
进化策略:结合梯度信息与遗传算法 (Genetic Algorithm)。
种群进化:从通过手动越狱的 Prompt 出发作为初始种群,进行变异(同义词替换、句式重组)和交叉。
适应度评估:利用目标模型的反馈作为适应度函数,自动演化出人类难以构想的、语义连贯的攻击 Prompt。
特点
生成的 Prompt 是自然语言,隐蔽性强。
难以通过简单的统计特征防御。
6.5.4 鲁棒性评估
评估 LLM 对对抗攻击的鲁棒性是安全评估的重要组成部分。
评估维度
图 6-17:鲁棒性评估思维导图
主要评估指标
攻击成功率
对抗样本导致目标行为的比例
最小扰动量
成功攻击所需的最小修改
迁移成功率
跨模型攻击的成功率
防御绕过率
绕过特定防御措施的成功率
6.5.5 提升鲁棒性的方法
对抗训练 在训练过程中加入对抗样本,使模型学会抵抗此类攻击:
图 6-18:提升鲁棒性的方法流程图
输入净化 在输入到达模型前进行预处理,去除可能的对抗性扰动:
字符规范化
Token 过滤
语义保持的改写
集成防御 使用多个模型集成,降低单一对抗样本的成功率。
认证鲁棒性(Certified Robustness)在 NLP 中的困境 所谓认证鲁棒性,是指提供一种数学上的证明:在某个给定的输入扰动半径内,模型必定不会改变预测结果或输出恶意内容(例如图像视觉领域的 Randomized Smoothing 技术)。 但在大语言模型和自然语言处理中,这一直是一个开放挑战:
无意义的 L-p 范数:在文本空间中,由于 Token 嵌入分布的不均匀,即使在嵌入空间计算具有极小 $L_2$ 距离的扰动,反映到离散文本上也可能产生句法崩塌或语义完全反转的输出。
语义不变性难以定义:一段文本的“语义不变性”无法用简单的数学范数界定。同一句话即使换几个同义词,对人类理解相同,却可能触发模型完全不同的注意力分布。
上下文爆炸:自回归生成在极长的步数下,微小的局部扰动极易引发蝴蝶效应。因此,目前的文本鲁棒防御多停留在经验鲁棒性(抵御已知的攻击算法),而非严格的认证鲁棒性。
6.5.6 对抗性与安全对齐
对抗样本与安全对齐的关系:
对齐的脆弱性 安全对齐通过训练使模型学会拒绝有害请求,但这种学习可能被对抗性输入绕过。对齐更多是让模型学会了特定的拒绝模式,而非真正理解什么是有害的。
对抗性评估 对抗样本可作为评估对齐效果的工具:
如果简单的对抗样本就能绕过对齐,说明对齐不够鲁棒
对抗性评估帮助发现对齐的薄弱点
鲁棒对齐 追求对对抗性攻击也有效的安全对齐:
6.5.7 对抗与防御的军备竞赛
对抗样本领域呈现出典型的攻防军备竞赛特征:
图 6-19:对抗与防御的军备竞赛流程图
发展趋势
攻击方法越来越自动化和高效
防御需要在多个层面部署
完全的鲁棒性可能无法实现
实用防御需要在鲁棒性和成本之间权衡
6.5.8 新兴对抗攻击方向
随着 LLM 能力的快速演进,新型攻击向量不断涌现:
1. 推理链破坏攻击(Reasoning Chain Disruption) 针对具备链式推理能力的模型(如 OpenAI o1/o3、DeepSeek-R1),攻击者通过在提示中植入误导性的推理步骤或逻辑陷阱,诱导模型在推理过程中偏离安全约束。由于推理模型会“思考”更多步骤,攻击面也相应扩大。
2. 自反馈循环攻击(Self-Feedback Loop Attack) 当模型的输出被重新作为输入(如自我改进、自我评估场景),攻击者可利用初始输出中的微妙偏差,通过多轮迭代逐步放大偏差,最终突破安全边界。这在自主式智能体中尤为危险。
3. 上下文窗口溢出攻击(Context Window Overflow Attack) 在超长上下文(100K+ tokens)场景下,攻击者通过大量填充无害内容,将恶意指令放置在上下文的特定位置(如中部或末尾),利用模型对不同位置内容的注意力差异来实施攻击。研究表明模型对上下文中部内容的注意力最弱(“Lost in the Middle”效应)。
4. 工具链注入(Tool Chain Injection) 在多工具场景下,攻击者不直接攻击目标工具,而是通过攻击链条中的上游工具,使其返回包含注入载荷的结果,间接影响下游工具的行为。
6.5.9 实践建议
对于安全评估
将对抗性测试纳入安全评估流程
使用自动化工具生成对抗样本
关注跨模型的迁移攻击
持续跟踪新的攻击技术
对于防御部署
实施输入预处理和规范化
部署多层防御机制
监控异常输入模式
保持模型和防御措施的更新
对抗样本和模型鲁棒性是 LLM 安全的重要组成部分。虽然完美的鲁棒性难以实现,但通过系统性的评估和防御措施,可以显著提高安全水平。
最后更新于
