对抗机器学习基础(论文学习笔记一)

Foundation系列共有三个部分,是对《Evasion attacks against machine learning at test time》《Intriguing properties of neural networks》《Explaining and harnessing adversarial examples》三篇文章的阅读笔记整理。本文首先介绍《Evasion attacks against machine learning at test time》。

摘要(Abstract)

In security-sensitive applications, the success of machine learning depends on a thorough vetting of their resistance to adversarial data. In one pertinent, well-motivated attack scenario, an adversary may attempt to evade a deployed system at test time by carefully manipulating attack samples. In this work, we present a simple but effective gradient-based approach that can be exploited to systematically assess the security of several, widely-used classification algorithms against evasion attacks. Following a recently proposed framework for security evaluation, we simulate attack scenarios that exhibit different risk levels for the classfier by increasing the attacker’s knowledge of the system and her ability to manipulate attack samples. This gives the classfier designer a better picture of the classifier performance under evasion attacks, and allows him to perform a more informed model selection (or parameter setting). We evaluate our approach on the relevant security task of malware detection in PDF files, and show that such systems can be easily evaded. We also sketch some countermeasures suggested by our analysis.

简而言之,本文采用梯度下降的方法生成对抗样本,并通过不断增加攻击者的先验知识与篡改能力来检验分类器的安全性能。并以恶意PDF文件检测系统入侵为例论证对抗样本的有效性。

入侵问题描述(Optimal Evasion)

分类器ff由数据集D={xi,yi}i=1n\textbf{D}=\{\textbf{x}_i,y_i\}_{i=1}^n生成,y{1,+1}y\in\{-1,+1\}1-1表示正常邮件,+1+1表示垃圾邮件。令yc=f(x)=sign(g(x))y^c=f(\textbf{x})=sign(g(\textbf{x})),其中g(x)g(\textbf{x})是关于x\textbf{x}的连续可微函数(例如在linear classifiers中,g(x)=w,x+bg(\textbf{x})=\langle\textbf{w},\textbf{x}\rangle+b),成为判别函数。

对手模型(Adversary Model)

对手目标:创建(修改)一个样本,使得该样本被分类器以高置信度判别错误。例如,修改一个垃圾邮件样本,目标是使得分类器判别函数g(x)g(\textbf{x})的值最小。

对手知识:针对于待攻击系统(分类器),可能包括5个方面:
a) 全部或者部分的训练集;
b) 每个样本的特征表示;
c) 学习算法和决策函数的类型;
d) 已训练好的分类器模型(例如神经网络的参数W\textbf{W});
e) 分类器的反馈(输入一个对抗样本,经过分类器得到label)。

对手技能:只能改变测试集,不能修改训练集。包括以下3个方面:
a) 修改输入数据
b) 修改特征向量
c) 独立修改某些特征
注意:这些修改通常是有限制的,例如对于一封广告推销邮件,修改时应当注意不能明显改变其语义,否则即使被判别为正常邮件,但其本身已不再具有推销的性质,这种攻击是没有意义的。所以通常需要定义被攻击后的样本和攻击前样本之间的最大距离dmaxd_{max}

两种攻击场景(Attack Scenarios)

Perfect knowledge (PK):对手知道特征空间,分类器种类以及训练好的模型。对应于对手知识中的b, c, d, e。

Limited knowledge (LK):对手知道特征表示和分类器种类,但不知道训练数据集合和训练好的模型。对应于对手知识中的b, c, e。
我们认为对手可以得知训练数据集的潜在分布,从而生成“替代数据集”以训练模型。为了使得训练得到的判别函数g^(x)\hat{g}(\textbf{x})尽可能接近g(x)g(\textbf{x}),替代数据集的标签应当由原来的分类器ff给出(通过query的方式,对应于对手知识中的e)。

攻击策略(Attack Strategy)

对于一个被分类器判别为垃圾邮件的样本x0\textbf{x}^0,我们希望通过对其进行适当修改(在不改变邮件语义的前提下),使得分类器“尽可能相信”它是正常邮件样本。数学形式:

x=argminxg^(x)(1)\textbf{x}^*=\arg\min \limits_x\hat{g}(\textbf{x})\qquad \qquad(1)s.t.d(x,x0)dmax.\rm{s.t.}\quad d(\textbf{x},\textbf{x}^0)\leq d_{max}.\qquad\qquad

g^(x)\hat{g}(\textbf{x})为凸函数,则很容易进行求解,如使用梯度下降法或二阶优化方法(e.g. Newton Method, BFGS, L-BFGS)。但在非凸情况下,g^(x)\hat{g}(\textbf{x})可能无法收敛到全局最优值,见下图中的上方两张图片。对于(1)式求解可能导致x\textbf{x}向着没有原始数据分布的方向收敛(unsupported region),此时分类器给出的结果是不确定的,因此攻击未必能成功。
我们希望x\textbf{x}向着正常邮件样本密集分布的区域移动(即图中的蓝色区域),换一种表述方式就是希望p(xyc=1)p(\textbf{x}|y^c=-1)尽可能大些。基于这种想法,用密度估计来表征上述类条件概率,将(1)式进行修正:

x=argminxg^(x)λniyic=1k(xxih)(2)\textbf{x}^*=\arg\min \limits_x\hat{g}(\textbf{x})-\frac{\lambda}{n}\sum \limits_{i|y_i^c=-1}k(\frac{\textbf{x}-\textbf{x}_i}{h})\qquad \qquad(2)s.t.d(x,x0)dmax.\rm{s.t.}\quad d(\textbf{x},\textbf{x}^0)\leq d_{max}.\qquad \qquad
kk表示核密度估计方法的一种核函数,hh是核密度估计的带宽参数。
经过修正之后,收敛过程如下图中下方的图片所示,对抗样本向着正常邮件样本集中的区域收敛。从感性的角度理解,对抗样本是在模仿正常邮件的特征,使得自己的“外衣”越来越精致以迷惑分类器。
对抗机器学习基础(论文学习笔记一)

梯度下降攻击(Gradient Descent Attack)

基于(2)式,给出得到对抗样本的梯度下降算法:
对抗机器学习基础(论文学习笔记一)
注意:这里只考虑判别函数g(x)g(\textbf{x})可微的情况。即使g(x)g(\textbf{x})不可微,仅考虑第二项对于生成对抗样本也有帮助。

实验结果(Experimental Result)

对抗机器学习基础(论文学习笔记一)

附上论文链接:传送门