第四章 · 黑盒攻击深度解析(NES / ZOO / Square / HSJ)
第四章 · 黑盒攻击深度解析(NES / ZOO / Square / HSJ)
黑盒攻击(Black-Box Attack)指攻击者完全不知道模型结构、权重与梯度,只能通过:
- 输入查询(Input Query)
- 输出结果(logits / prob / label)
来推测模型的弱点。
这种攻击更贴近真实世界——绝大多数线上推理服务都是黑盒状态。因此黑盒攻击是 AI 安全领域最具实战意义的研究方向。
本章将系统讲解黑盒攻击的核心原理与代表算法。
1. 黑盒攻击的难点在哪里?
白盒攻击使用梯度:
[ \nabla_x L ]
但黑盒攻击中,梯度不可见。
攻击者只能做两件事:
- 给模型输入一个数据
- 看模型的输出
因此问题变成:
“在看不到梯度的情况下,如何逼近梯度?”
这促生了两条发展路线:
- 基于查询的梯度估计法(Zeroth-Order Gradient Estimation)
- 基于决策边界的几何逼近法(Decision-Based Attack)
这两类方法构成了黑盒攻击的基础。
2. 查询复杂度(Query Complexity)
黑盒攻击的核心指标不是时间,而是:
[ \text{Query Count} = \text{查询次数} ]
因为真实场景通常会限制:
- 查询频率
- 查询成本(付费 API)
- 可疑输入报警
- 防止枚举攻击
因此现代黑盒攻击都在优化:
- 如何在更少查询中完成攻击
- 如何让攻击成功率最大化
后面的 NES、ZOO、Square、HSJ 都是围绕 query-efficient 展开的。
3. NES Attack:利用随机采样估计梯度
NES(Natural Evolution Strategies)来自进化策略优化。
核心思想:
使用高斯噪声对输入进行采样,通过模型响应估计趋势,从而估计梯度方向。
数学上:
[ \nabla_x L \approx \frac{1}{m} \sum_{i=1}^m L(x + \sigma u_i) u_i ]
其中:
- ( u_i \sim \mathcal{N}(0, I) )
- ( \sigma ) 是微小扰动系数
因此:
- 无需梯度
- 仅依赖 model output
- 可以逼近梯度方向
NES 攻击的优点:
- query-efficient
- 优于简单的 finite-difference
- 非常稳定
- 是许多后续攻击的基础
4. ZOO Attack:像素级的数值梯度估计
ZOO(Zeroth Order Optimization)本质上是:
用数值差分(finite difference)估计梯度。
例如对某个像素 ( x_i ):
[ \frac{\partial L}{\partial x_i} \approx \frac{L(x_i + h) - L(x_i - h)}{2h} ]
虽然原理简单,但缺点明显:
- query 成本高(每个像素都要查询)
- 但支持复杂 loss(如 C&W loss)
改进方法包括:
- 坐标采样
- 随机子空间估计
- batch 估计
ZOO 是黑盒攻击中“最白的黑盒”——几乎可以复刻 C&W 的强度。
5. Square Attack:无梯度、无模型输出,仅需要标签
Square Attack 的突破性贡献在于:
不需要梯度、不需要概率,不需要 logits,只需要“分类标签”。
属于label-only 攻击。
攻击策略:
- 随机选一个局部块(square patch)
- 给它添加扰动
- 如果能降低模型置信度或改变标签 → 接受
- 否则 → 回滚
- 重复
为什么这样能成功?
因为:
- 局部扰动会影响模型局部特征
- 反复试探能逼近决策边界
- 不需要任何内部信息
Square Attack 特别适合:
- 商业 API
- 禁止返回 logits 的模型
- 完全封闭系统
6. HopSkipJump(HSJ)Attack:决策边界逼近法的巅峰
HSJ Attack 属于 决策式攻击(decision-based),只能看到“是否正确分类”。
核心思想:
- 找到一个“必定错误”的初始点
- 不断向原图做二分查找
- 折半逼近决策边界
- 再沿边界做几何推进(gradient estimation by boundary normal)
- 获取有效扰动方向
数学思路:
[ x_{t+1} = x_t + \alpha \cdot n(x_t) ]
其中 ( n(x_t) ) 是边界法向估计。
HSJ 是目前 最强的纯黑盒 / 决策式攻击之一:
- 查询次数低
- 扰动小
- 成功率高
- 非常适合实战
7. Boundary Attack:最早的决策式攻击之一
Boundary Attack 的思路很直观:
- 找到一个“错误预测”的图像作为起点
- 逐步靠近原图
- 在保持错误预测的同时尽量缩小扰动
属于逆向优化的思想。
最终效果比 HSJ 稍弱,但仍非常具有研究意义。
8. 黑盒攻击为何能逼近白盒攻击强度?
关键原因:
-
高维问题局部线性化
在高维空间中,模型通常在局部区域呈现“近似线性”。 -
随机采样能估计梯度方向
NES 通过高斯噪声获得“平均梯度”。 -
决策边界在局部光滑
HSJ 和 Boundary 通过几何方式接近边界法向量。 -
有限差分能逼近真实梯度
ZOO 近似 C&W,可用于坚固模型的验证。
因此黑盒攻击在许多情况下堪比白盒,甚至更难防御。
9. 黑盒攻击适用场景与对抗难度
| 场景 | 可用攻击 | 难度 |
|---|---|---|
| 在线 API(返回 logits) | NES / ZOO | 中等 |
| 在线 API(只返回标签) | Square / HSJ | 较高 |
| 安防摄像头 | HSJ / Boundary | 高 |
| 自动驾驶 | EOT + HSJ | 很高 |
| OCR / Face | ZOO / NES | 中等 |
黑盒攻击往往比白盒更贴近真实威胁。
10. 本章总结
黑盒攻击不依赖模型内部信息,却能有效欺骗模型,其原因包括:
- 可以利用随机采样推测梯度
- 可以在决策边界周围逼近几何结构
- 可以通过高效查询策略减少开销
- 可以在不返回 logits 的环境中仍然攻击成功
代表性算法:
| 攻击 | 类型 | 优点 |
|---|---|---|
| NES | 梯度采样 | 高效、稳定 |
| ZOO | 数值梯度 | 强大但 query 高 |
| Square | label-only | 实战性极强 |
| HSJ | 决策式攻击 | 小扰动、高成功率 |
| Boundary | 决策式攻击 | 原理简单、易实现 |
理解黑盒攻击,是理解真实世界攻击能力的关键一步。下一章将继续分析不同任务(分类、检测、分割、OCR、人脸)在攻击下的独特脆弱性。