概述

随着大语言模型(LLM)在各行业的广泛部署,其安全性成为至关重要的问题。尽管对齐技术显著提升了模型的整体安全性,但LLM仍然容易受到精心设计的对抗输入的攻击。1

LLM对抗攻击旨在诱导模型产生有害输出、绕过安全机制或泄露敏感信息。与传统图像分类模型的对抗攻击不同,LLM攻击面临独特的挑战,包括:

  • 离散输入空间:文本由离散的Token组成,限制了梯度基优化的直接应用
  • Tokenization依赖:不同的分词方式可能影响攻击效果
  • 语义保真度要求:攻击者通常希望保持原始语义不被察觉

攻击分类体系

按访问级别分类

类型描述前提条件
White-box攻击完全访问模型权重、梯度、架构需要模型内部访问权限
Black-box攻击仅通过API访问,无内部信息只需要查询接口
Gray-box攻击部分信息访问(如embedding)介于两者之间

按攻击目标分类

  1. 安全绕过攻击:诱导模型生成有害内容
  2. 拒绝服务攻击:使模型无法正常响应
  3. 信息泄露攻击:提取训练数据或模型信息
  4. 提示注入攻击:在用户输入中注入恶意指令

按攻击方法分类

对抗攻击
├── Token级攻击
│   ├── 对抗后缀攻击
│   ├── 重Tokenization攻击
│   └── 梯度优化攻击
├── Prompt级攻击
│   ├── 直接Prompt注入
│   ├── 间接Prompt注入
│   └── Jailbreak
└── 迁移攻击
    ├── 跨模型迁移
    └── 跨任务迁移

核心挑战

1. 离散输入空间

传统对抗攻击利用连续输入空间的平滑性,通过梯度上升构造扰动。但LLM的输入是离散的Token序列,这带来两个问题:

  • 梯度不可用:无法直接计算Token的梯度
  • 组合爆炸:可能的Token序列空间巨大

解决方案

  • GCG(Greedy Coordinate Gradient)方法:逐Token贪婪优化
  • ARCA(Adversarial Regularized Contrastive Attack):利用对比学习目标
  • 连续松弛:Gumbel-Softmax、Straight-Through Estimator

2. Tokenization依赖

研究发现,攻击者可以通过操控分词过程来绕过安全机制。2

对抗Tokenization原理

原始文本 → 标准分词 → 安全分类器通过
原始文本 → 对抗分词 → 安全分类器绕过

模型即使使用不同于训练时的分词方式,仍然能够理解文本语义,这为攻击提供了空间。

3. 语义保真度

成功的攻击通常需要:

  • 保持原始查询的语义意图
  • 不引起人类注意的可疑模式
  • 在不同上下文中的稳定性

关键攻击方法

Greedy Coordinate Gradient (GCG)

GCG是当前最有效的离散Token攻击方法之一:

# GCG算法核心伪代码
def gcg_attack(target_model, prompt, target_response):
    x = tokenize(prompt)  # 初始Token序列
    
    for iteration in range(max_iterations):
        # 计算每个位置Token的梯度
        grad = compute_token_gradients(target_model, x, target_response)
        
        # 选择梯度最大的Top-k Token
        top_k_indices = select_top_k(grad, k=48)
        
        # 贪婪替换:选择损失最小的Token
        for idx in random_sample(top_k_indices):
            x_new = x.clone()
            x_new[idx] = candidate_token
            if loss(target_model, x_new) < loss(target_model, x):
                x = x_new
                break
    
    return x

迁移攻击

迁移攻击利用对抗样本的跨模型泛化特性:

攻击流程

  1. 在源模型上构造对抗样本
  2. 直接应用于目标模型
  3. 无需查询目标模型

评估指标

Attack Success Rate (ASR)

Jaccard相似度

衡量对抗样本与原始输入的Token重叠程度:

语义保持度

通过LLM评估或人工评估对抗样本是否保持原始意图。


与传统对抗攻击的区别

维度图像对抗攻击LLM对抗攻击
输入空间连续像素值离散Token序列
扰动度量范数Token编辑距离
感知阈值小扰动难以察觉语义变化敏感
攻击目标分类错误有害输出/行为
可解释性像素级解释Token级解释

实际应用场景

1. 安全研究

红队测试和对抗评估用于发现模型漏洞。

2. 数据增强

对抗样本可用于提升模型的鲁棒性训练。

3. 恶意利用

攻击者可能试图绕过安全机制进行:

  • 有害内容生成
  • 敏感信息提取
  • 恶意代码生成

参考


相关内容

Footnotes

  1. Adversarial Attacks on LLMs Using Regularized Relaxation

  2. Adversarial Tokenization