第四章 · 黑盒攻击深度解析(NES / ZOO / Square / HSJ)

黑盒攻击(Black-Box Attack)指攻击者完全不知道模型结构、权重与梯度,只能通过:

  • 输入查询(Input Query)
  • 输出结果(logits / prob / label)

来推测模型的弱点。

这种攻击更贴近真实世界——绝大多数线上推理服务都是黑盒状态。因此黑盒攻击是 AI 安全领域最具实战意义的研究方向。

本章将系统讲解黑盒攻击的核心原理与代表算法。


1. 黑盒攻击的难点在哪里?

白盒攻击使用梯度:

[ \nabla_x L ]

但黑盒攻击中,梯度不可见。

攻击者只能做两件事:

  1. 给模型输入一个数据
  2. 看模型的输出

因此问题变成:

“在看不到梯度的情况下,如何逼近梯度?”

这促生了两条发展路线:

  • 基于查询的梯度估计法(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 攻击

攻击策略:

  1. 随机选一个局部块(square patch)
  2. 给它添加扰动
  3. 如果能降低模型置信度或改变标签 → 接受
  4. 否则 → 回滚
  5. 重复

为什么这样能成功?

因为:

  • 局部扰动会影响模型局部特征
  • 反复试探能逼近决策边界
  • 不需要任何内部信息

Square Attack 特别适合:

  • 商业 API
  • 禁止返回 logits 的模型
  • 完全封闭系统

6. HopSkipJump(HSJ)Attack:决策边界逼近法的巅峰

HSJ Attack 属于 决策式攻击(decision-based),只能看到“是否正确分类”。

核心思想:

  1. 找到一个“必定错误”的初始点
  2. 不断向原图做二分查找
  3. 折半逼近决策边界
  4. 再沿边界做几何推进(gradient estimation by boundary normal)
  5. 获取有效扰动方向

数学思路:

[ x_{t+1} = x_t + \alpha \cdot n(x_t) ]

其中 ( n(x_t) ) 是边界法向估计。

HSJ 是目前 最强的纯黑盒 / 决策式攻击之一

  • 查询次数低
  • 扰动小
  • 成功率高
  • 非常适合实战

7. Boundary Attack:最早的决策式攻击之一

Boundary Attack 的思路很直观:

  1. 找到一个“错误预测”的图像作为起点
  2. 逐步靠近原图
  3. 在保持错误预测的同时尽量缩小扰动

属于逆向优化的思想。

最终效果比 HSJ 稍弱,但仍非常具有研究意义。


8. 黑盒攻击为何能逼近白盒攻击强度?

关键原因:

  1. 高维问题局部线性化
    在高维空间中,模型通常在局部区域呈现“近似线性”。

  2. 随机采样能估计梯度方向
    NES 通过高斯噪声获得“平均梯度”。

  3. 决策边界在局部光滑
    HSJ 和 Boundary 通过几何方式接近边界法向量。

  4. 有限差分能逼近真实梯度
    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、人脸)在攻击下的独特脆弱性。