对抗攻击
对抗样本定义
对抗样本(Adversarial Examples)是指通过在原始输入数据上添加人类感知不到(或几乎感知不到)的微小扰动,导致深度学习模型产生错误输出的特制输入。
经典示例(Szegedy et al., 2014):一张被人眼清晰识别为"熊猫"的图片,加上一个微小的噪声扰动后,被 ImageNet 分类模型以 99.3% 的置信度错误识别为"长臂猿",而人类根本无法察觉图片有任何改变。
这个发现深刻揭示了神经网络的决策边界与人类感知之间的本质差异。
白盒攻击
白盒攻击(White-Box Attack)假设攻击者完全了解目标模型的架构、参数和梯度信息。
FGSM(Fast Gradient Sign Method)
Goodfellow et al.(2014)提出的最基础的白盒攻击方法:
# FGSM 攻击原理
δ = ε × sign(∇_x L(θ, x, y))
x_adv = x + δ
# 解释:
# ∇_x L:损失函数相对于输入 x 的梯度
# sign():取梯度方向(+1 或 -1)
# ε:扰动幅度(通常 ε = 8/255,对人眼不可见)
FGSM 只执行一步梯度更新,速度快但攻击效果有限。
PGD(Projected Gradient Descent)
Madry et al.(2017)提出的更强白盒攻击,FGSM 的多步版本:
# PGD 攻击流程
x_adv = x + 随机初始扰动
for step in range(K):
x_adv = x_adv + α × sign(∇_x L(θ, x_adv, y))
x_adv = clip(x_adv, x - ε, x + ε) # 投影回 ε-ball
PGD 被认为是最强的一阶白盒攻击,α(步长)通常取 2/255,步数 K = 40-100 步。
C&W 攻击(Carlini & Wagner)
优化目标不是最大化分类损失,而是直接最小化扰动幅度同时保持误分类,效果更强但计算成本高。
黑盒攻击
黑盒攻击(Black-Box Attack)更接近真实威胁场景——攻击者只能通过 API 查询模型的输出(类别标签或置信度分数),无法访问模型内部。
迁移攻击(Transfer Attack)
关键发现:在本地替代模型(Surrogate Model)上生成的对抗样本,往往能迁移攻击目标模型:
- 攻击者用公开数据和公开模型生成对抗样本
- 在目标 API 上测试,发现较高的迁移成功率
- 根本原因:不同模型学到的决策边界存在相似的"脆弱方向"
查询攻击(Query-Based Attack)
直接通过大量 API 查询来估计梯度方向:
- NES 攻击:用自然进化策略估计梯度方向,通常需要 1,000-10,000 次查询
- SPSA 攻击:同步摄动随机近似,更高效的梯度估计方法
物理世界对抗攻击
数字域的对抗攻击被扩展到物理世界,带来更直接的安全威胁:
对自动驾驶的攻击
- 停止标志贴纸攻击:在停止标志上贴特制贴纸,使目标检测模型无法识别该标志
- 路面投影攻击:投影仪在道路上投射特定纹理,欺骗车道检测系统
- 激光笔攻击:向自动驾驶摄像头方向发射特定脉冲激光,在图像中生成对抗纹理
对人脸识别的攻击
- 对抗眼镜:佩戴特制眼镜框,使人脸识别系统无法识别本人或将其识别为他人
- IR 照明攻击:红外 LED 帽子/眼镜,在人脸上投射红外对抗纹理(摄像头可见,人眼不可见)
AutoAttack 评测标准
AutoAttack(Croce & Hein, 2020)是当前对抗鲁棒性评估的黄金标准:
- 集成多种攻击(APGD-CE、APGD-DLR、FAB、Square Attack)
- 无超参数调整,确保评估结果可重复
- RobustBench 排行榜基于 AutoAttack 评测各防御方法
当研究者声称模型在对抗攻击下准确率较高时,社区通常要求提供 AutoAttack 验证结果。
防御策略
对抗训练(Adversarial Training)
目前最有效的防御方法,将对抗样本加入训练集:
min_θ E_{(x,y)} [ max_{||δ||≤ε} L(θ, x+δ, y) ]
- 外层最小化:更新模型参数减少对抗损失
- 内层最大化:在 ε 约束下生成最强对抗样本(PGD 攻击)
- 代价:对抗训练会损失一定的标准准确率(约 10-15%)
输入净化(Input Purification)
在推理阶段对输入进行预处理,去除对抗扰动:
- JPEG 压缩:简单有效,但会损失图像质量
- 扩散模型净化:DiffPure 使用扩散模型去噪,效果更好但计算成本高
特征压缩(Feature Squeezing)
降低输入特征的精度(如:颜色位深度从 8bit 降至 4bit),减小对抗扰动的有效空间。
认证防御(Certified Defense)
给出数学保证:在 ε 范围内的任何扰动,模型输出都不变:
- 随机平滑(Randomized Smoothing):对输入加高斯噪声后投票,提供 L2 范数认证半径
AI 系统鲁棒性测试
生产环境中的 AI 系统需要进行系统性的鲁棒性测试:
- 自然分布偏移测试(CIFAR-10-C:噪声、模糊、天气变化)
- 对抗鲁棒性测试(AutoAttack 评测)
- 物理变换鲁棒性(旋转、缩放、遮挡、光照变化)
在自动驾驶/人脸识别中的安全影响
自动驾驶
对抗攻击对自动驾驶感知系统的威胁是真实且严重的:
- 停止标志误识别可能导致车辆闯过路口
- 行人检测漏检可能导致碰撞事故
- 目前大多数量产自动驾驶系统并未针对对抗攻击进行充分防御
人脸识别
- 司法场所的人脸识别误报可能导致错误拘押
- 金融 KYC 场景中的对抗攻击可能协助身份欺诈
- 监控逃脱:佩戴对抗配件逃避人脸识别系统追踪