自适应攻击
自适应攻击 是什么?
自适应攻击一种针对机器学习系统的攻击,专门设计用于规避或攻破某个已知的防御,而非采用与防御无关的通用技术。
自适应攻击是在充分了解目标防御及其假设的前提下构建的,其损失函数或约束条件经过量身定制,以绕过该防御。这一术语由 Carlini 和 Wagner 推广开来,他们在 2017 年的研究 Adversarial Examples Are Not Easily Detected 中,一旦针对每个检测器的特定规则重新调整攻击,便攻破了十种提出的检测方法。
两项里程碑式的评估工作确立了自适应攻击的必要性。Athalye、Carlini 和 Wagner 在 ICML 2018 上发表的论文 Obfuscated Gradients Give a False Sense of Security 发现,ICLR 2018 接收的 9 种防御中有 7 种依赖于梯度掩蔽(gradient masking)——它们只是让梯度变得不具信息量,而非使模型真正具备鲁棒性——并利用 BPDA(Backward Pass Differentiable Approximation,反向传播可微近似,用于突破不可微的预处理)和 EOT(Expectation over Transformation,变换期望,用于击败随机化防御)等技术彻底攻破了其中的 6 种。2020 年,Tramèr、Carlini、Brendel 和 Madry 的 On Adaptive Attacks to Adversarial Example Defenses(NeurIPS)攻破了来自 ICLR、ICML 和 NeurIPS 的 13 种防御,表明即便是那些尝试进行自适应评估的作者,也常常构建出薄弱、未经量身定制的攻击。
由此得出的教训是:任何针对对抗样本、水印或 AI 内容检测的防御,都必须面对一个了解该防御并会调整其目标的对手进行评估,最好还能公开攻击代码。省略这一步骤往往会得出被夸大的鲁棒性主张,而这些主张会在简单而有原则的攻击面前土崩瓦解。
flowchart TD
A[提出的机器学习防御<br/>声称具有鲁棒性] --> B[通用攻击<br/>例如标准 PGD]
B -->|攻击失败| C[表面上的鲁棒性]
C --> D{进行自适应评估?}
D -->|跳过| E[被夸大的主张<br/>已发表]
D -->|执行| F[攻击者研究防御的<br/>内部机制与假设]
F --> G[针对防御定制损失 + BPDA / EOT]
G --> H{防御是否幸存?}
H -->|否| I[鲁棒性被推翻]
H -->|是| J[真正具备鲁棒性<br/>的证据]● 示例
- 01
Carlini 和 Wagner 通过针对每个检测器特定的决策规则重新调整攻击损失,攻破了多种对抗样本检测器。
- 02
一次自适应攻击针对已公开的检测器优化扰动,从而击败了面向 AI 生成图像的水印方案。
● 常见问题
自适应攻击 是什么?
一种针对机器学习系统的攻击,专门设计用于规避或攻破某个已知的防御,而非采用与防御无关的通用技术。 它属于网络安全的 AI 与机器学习安全 分类。
自适应攻击 是什么意思?
一种针对机器学习系统的攻击,专门设计用于规避或攻破某个已知的防御,而非采用与防御无关的通用技术。
如何防御 自适应攻击?
针对 自适应攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。
自适应攻击 还有哪些其他名称?
常见的别称包括: 感知防御的攻击, 白盒自适应评估。