一、简介
这篇文章是2016年的,很有年代感
其提出的方法几乎是最早一批的黑盒攻击方式,很有味道值得一读
本文讲述了面对黑盒(Black-Box)模型时,通过构造替代(substitute)模型,通过转移(transfer)手段对受害者(victim)模型(也就是要被攻击的模型)进行攻击
二、文章特色
2.1名词解释
文章营养浓缩成精华,我们先来解释几个概念
名词 | 概念 |
白盒模型 | 模型参数均可知的模型 |
黑盒模型 | 攻击者无法访问模型,甚至不知道softmax层的输出概率,只能知道模型输出类别 |
受害者模型 | 攻击方需要攻击的模型 |
替代模型 | 受害者模型的替身,是攻击者构建的,和受害者模型相似,对于攻击者来说是白盒模型 |
转移 | 攻击者通过攻击替代模型,习得的攻击方法一定程度对受害者模型有效 |
2.2对比模型
文章对比了五大机器学习模型:DNN(深度神经网络),LR(逻辑回归),SVM(支持向量机),DT(决策树),KNN(k近邻)
三大特性分别为:可微分,线性,延迟预测
五大模型各有各色,不过基于现实,我们主要关注深度神经网络以及逻辑回归。
2.3替代模型
替代模型是用来作为受害者模型的替身的,所以攻击者期望替代模型可以尽可能的代表受害者模型,也就是说,期望二者有更高的相似性
因此,作者使用了一些方法来训练替代模型:
第个数据,数据集,受害者模型,受害者模型预测标签也就是
而替代模型的训练数据集则为
是的,替代模型并不是按照数据集的标签训练的,而是使用受害者模型的标签进行训练
这种训练方式可以使得替代模型逼近受害者模型,而非正确预测类别的分类器
2.3数据集
选择数据集也是有技巧的,我们上面说了,替代模型的训练数据集的标签是受害者模型预测标签;相当于每有一个训练数据,便需要受害者模型输出一个标签,这被称之为对受害者模型进行查询(query)
查询多了,就容易被受害者发现(笔者这么理解的);同时我们希望替代模型训练数据尽可能多
满足两者的,便是只使用部分数据进行查询,并进行数据增强
文章对于数据增强提出了三大创新,解释了:增强谁,怎么增强的问题
2.3.1增强谁
文章使用水库采样(RS)挑选需要被增强的数据集
具体来说,对于有个数据的数据集,选定参数
直接增强前个样本,对于剩余个样本,对于第个样本,其有的几率被增强
增强后的样本和原样本取并集生成新数据集
水库采样可以使得中的每一个样本都有的几率被增强
𝑆𝜌−1S_(ρ-1),
2.3.2如何增强
使用水库采样挑选出来的样本,文章使用了基于雅可比矩阵(Jacobian-based)的数据增强方法:
其中是雅可比矩阵,是步长,其表达式为;这种步长随着周期变化的方法称为周期步长(PSS)
使用这两种方法进行的数据增强有一定的优越性,在后文实验部分有所论证
三、实验
实验部分我们挑三个讲,分别是转移的有效性、替代模型的选取以及攻击的有效性
在五种模型中,我们主要关注DNN、LR
3.1转移的有效性
当受害者模型和替代模型的类别相同时(比如都属于DNN,ABCDE分别为5个DNN模型
观察混淆矩阵,其数值为攻击的成功率
对角线处受害者模型和替代模型相同,想当于白盒攻击;而非对角线处二者不同,为黑盒攻击
白盒攻击显然优于黑盒,但同时两者的黑盒攻击都取得了不错的效果(LR更甚
3.2替代模型选取
当时受害者模型和替代模型不一定处于同一类别模型时(比如受害者是DNN,而替代模型是LR
旨在探究不同模型之间的拟合能力
实验测试两种替代模型,分别为DNN、LR,测试替代模型对受害者模型的拟合能力
从实验结果来看,DNN、LR对非同一类别模型也有不错的拟合能力,除了决策树
作者推测可能是决策树不可微分的原因
3.3攻击有效性
本次实验选取了亚马逊和谷歌作为受害者模型
作者得出两个结论:
- PSS+RS可以减少查询次数
- LR比DNN作为替代模型更优