对抗攻击
对抗攻击:通过对输入添加微小的扰动使得分类器分类错误。应用场景包括目前大热的CV和NLP方向,例如、通过对图片添加精心准备的扰动噪声使得分类错误,或者通过对一个句子的某些词进行同义词替换使得情感分类错误。
(简单举个例子:就是图片识别分类 将图片输入卷积神经网络中可能会得到很好地分类效果,但是但我们加入一个微小的(人眼无法观察到的扰动),模型就有可能会遭受欺骗,从而造成分类结果的不准确,从而输出错误的结果。)
关于攻击的类型有很多种,从攻击环境来说,可以分为黑盒攻击、白盒攻击或者灰盒攻击。
1、白盒攻击
白盒攻击是指攻击者具有完全的内部信息和访问权限,可以全面了解目标模型的结构、参数、算法和训练数据等细节。在这种情况下,攻击者可以直接分析和修改模型的内部元素来进行攻击。白盒攻击的常见方法包括梯度攻击、模型逆向和模型篡改等。
例:
白盒攻击知道模型的全部内容,通过修改修改图像分类,来获取在模型中对图像分类中的梯度,不断修改调整,将图像数组近似可能的分类成修改的标签。
2、黑盒攻击
黑盒攻击是指攻击者对目标模型缺乏完全的内部信息和访问权限,只能通过输入和输出来观察模型的行为。在黑盒攻击中,攻击者通常通过试探和分析来推断模型的行为,并生成特定的输入以欺骗或破坏目标模型。黑盒攻击通常采用基于分数的攻击方法,攻击者可以根据目标模型的分类结果和每个类别的分数来设计对抗样本的生成算法。
攻击者对攻击的模型的内部结构,训练参数,防御方法(如果加入了防御手段的话)等等一无所知,只能通过输入输出与模型进行交互。(黑盒攻击与白盒不同地便是,第二步,无法得到梯度,只能随机地调整图像,直到模型将其分类到y1或者超出时间限制)
3、灰盒攻击
灰盒攻击是指攻击者能够获得部分神经网络模型的参数,可以根据这些参数对神经网络发起攻击。这种攻击方式介于白盒攻击和黑盒攻击之间,攻击者对目标模型的内部信息有一定的了解,但不如白盒攻击那么详细。
对抗攻击可以分为三类:训练阶段的攻击、测试阶段的攻击、模型部署阶段的攻击。模型部署阶段的攻击与测试阶段的攻击十分类似。
(1)训练阶段的攻击就是在在目标模型的训练阶段,对手通过修改训练数据集、操纵输入特征或数据标签来实施攻击。
(2)测试阶段的对抗性攻击可以分为白盒攻击和黑盒攻击