机器学习逃避攻击:如何欺骗人工智能模型

作者:AIRobert公布时间:2025/03/18

逃避攻击的类型

  • 白盒攻击:攻击者可以完全访问模型的内部结构。

  • 黑盒攻击:只有最终决策是可见的。

  • 灰盒攻击:攻击者可能会看到概率分数或部分输出。

  • 基于转移的攻击:用于欺骗一个模型的技术可以应用于另一个模型。


背景:理解机器学习模型

在讨论对抗性攻击之前,我们先简要概述机器学习模型的目标:
机器学习模型本质上是一个数学函数,是通过经验完善的复杂算法,旨在将输入映射到输出。模型通过从大量示例中学习来识别数据中的模式,调整内部参数来最小化错误并提高预测准确性,应用于任务如图像分类、语音识别或趋势预测。模型通过将原始数据转换为学习到的特征,做出明智的决策。然而,正是模型的复杂性可能暴露出脆弱点,对抗性攻击正是利用这些弱点,设计输入使得模型误导做出错误预测。


对抗性样本

对抗样本是一种悖论,尽管对人眼几乎没有变化,但却能导致机器学习模型在预测中出错。对抗性样本通过微小的、精心设计的修改,利用模型决策边界的脆弱性,使得输入产生错误分类。


模型访问级别

攻击策略的选择通常取决于攻击者对模型的了解程度:

  • 白盒攻击:攻击者可以完全访问模型的架构、权重和梯度。

  • 灰盒攻击:攻击者拥有部分访问权限,通常只能看到输出概率,但无法访问内部机制。

  • 黑盒攻击:攻击者只知道最终的决策(如“是”或“否”),而不了解如何得出该决策。


针对性攻击与非针对性攻击

攻击的目的也会进一步区分攻击策略:

  • 有针对性的攻击:攻击者希望产生特定的错误输出(例如,使“停止”标志显示为“限速”标志)。

  • 非针对性攻击:攻击者的目标是造成错误分类,而不关心具体的错误输出。


逃避攻击技术的详细探索

白盒攻击

白盒攻击允许攻击者完全访问模型架构、权重和梯度,使得攻击者能够设计精细的对抗性样本。以下是几种常见的白盒攻击方法:

快速梯度符号法(FGSM)

FGSM(由Goodfellow等人于2015年提出)是最早的生成对抗样本的方法之一。它利用损失函数相对于输入数据的梯度来确定扰动的方向。

工作原理

  1. 计算相对于输入的损失梯度。

  2. 取该梯度的符号,并在增加损失的方向上应用小扰动,扰动大小由ε(epsilon)控制。

实际案例: 研究人员使用FGSM攻击熊猫图像,结果对抗性图像被错误地归类为长臂猿,且置信度高达99%,尽管修改几乎无法察觉。

投影梯度下降(PGD)

PGD是对FGSM的增强版,它通过多次迭代应用扰动来生成更强的对抗性样本。

工作原理

  1. 从初始扰动开始,通常是随机的。

  2. 迭代应用小幅基于梯度的更新,并将结果投影回扰动空间。

  3. 直到对抗性样本可靠地导致错误分类。

卡里尼和瓦格纳 (C&W) 攻击

C&W攻击通过优化最小扰动,使得模型产生错误分类,同时尽可能保持扰动的微小。

工作原理

  1. 通过迭代梯度下降方法(如Adam优化器)优化对抗性示例。

  2. 包含一个置信度参数,用于平衡扰动大小和错误分类可能性。

灰盒攻击

灰盒攻击处于白盒攻击和黑盒攻击之间,攻击者可能没有完整的内部信息,但可以访问部分输出,例如概率分数。

零阶优化(ZOO)攻击

ZOO是一个强大的无梯度攻击技术,攻击者通过观察模型的输出变化来推断模型的梯度。

工作原理

  1. 从初始输入样本开始,应用微小扰动。

  2. 观察输出变化,并计算有限差分来估算梯度。

  3. 根据估算的梯度进行输入的迭代更新。

实际案例: ZOO曾成功攻击Google Cloud Vision API,利用有限差分方法估算梯度并最终成功欺骗分类器。

Square 攻击

Square Attack是一种查询高效的灰盒攻击,专注于图像中的小方块。

工作原理

  1. 随机选择一个方形区域,并对其应用扰动。

  2. 观察模型输出并调整扰动,直到模型输出发生变化。

实际案例: Square Attack已成功破坏高分辨率图像识别任务中的分类器,绕过了JPEG压缩和输入平滑等防御措施。

黑盒攻击

黑盒攻击是最广泛应用的对抗性攻击方法之一,攻击者只能看到模型的最终决策而无法访问模型内部细节。

HopSkipJump 攻击

HopSkipJump是一种基于决策边界的黑盒攻击技术,它不依赖于梯度信息,而是通过查询来优化输入。

工作原理

  1. 从错误分类的输入开始。

  2. 小幅度调整输入,探索决策边界。

  3. 使用最少的查询调整输入,直到模型分类错误。

实际案例: 通过HopSkipJump攻击,研究人员成功欺骗了Google Cloud Vision API,导致错误分类图像。

单像素攻击

单像素攻击是一种只通过改变图像中的一个或几个像素来导致模型错误分类的攻击方法。

工作原理

  1. 改变图像中的少数像素(通常通过遗传算法进行优化)。

  2. 利用最小的扰动(仅修改一个像素),实现高成功率。

实际应用

  • 通过单像素攻击,图像识别系统可以误分类物体(如熊猫被误分类为长臂猿)。

  • 攻击面部识别系统,导致身份混淆。

  • 破解CAPTCHA系统。