论文信息
题目
ZOO: Zeroth Order Optimization Based Black-box Attacks to Deep Neural Networks without Training Substitute Models
这篇论文是在不训练代理模型的情况下,对神经网络的基于零次优化的黑箱攻击
作者
会议:ACM Workshop on Artificial Intelligence and Security(ACM人工智能与安全研讨会)
ACM Conference on Computer and Communications Security (计算机和通信安全ACM会议)
单位:IBM(国际商业机器公司或万国商业机器公司)
论文动机
- DNN已成为现有和新兴AI研究的基本要素和核心技术,但DNN对对抗样本缺乏鲁棒性的弱点带来了安全问题,特别是对安全性要求较高的任务,例如自动驾驶的交通标志识别,如果我们将stop的标志识别成通行或者其他标识,这无疑于会造成严重的危害。
- 而DNN的鲁棒性的初步研究主要集中黑盒与白盒问题,(我们可以看看下面这个图白盒)而往往在生活中更常见于黑盒问题
白盒能够模型透明,能够得到模型结构,能够知道模型参数,能进行反向传播
黑盒仅能够获取被攻击模型的输入结果(查询结果),查询结果通常为概率或分数信息({基于分数的攻击})或标签信息({基于决策的攻击})
对于 no-box情况(既不能反向传播也不能查询)。因此,在这种无限制的情况下,研究重点主要是从一个自训练DNN到目标但完全禁止访问的DNN的攻击转移能力 - 黑盒问题主要特征是无法获得模型参数及数据集等信息,仅能够获取被攻击模型的输入结果(查询结果),查询结果通常为概率或分数信息({基于分数的攻击})或标签信息(基于决策的攻击)
- 如何解决黑盒问题呢?根据对抗样本具有比较高的迁移性,可以通过构建以目标模型为基础的代理模型进行训练和攻击得到需要的对抗样本。但是这样就不可避免会引入在迁移过程中的攻击损失。
- 考虑能不能找到一种方法之间利用黑盒生成成功率高的对抗样本
- 而根据之前的一些白盒攻击方法是通过利用模型的梯度信息进行攻击,这就为解决黑盒攻击提供了思路
- 既然黑盒无法得到梯度信息,能不能找到一种方法去估计黑盒梯度信息。
本文方法
这篇论文的黑盒攻击受到C&W攻击的启发,C&W攻击是对DNN的最强白盒对抗攻击之一。
minimize
x
∥
x
−
x
0
∥
2
2
+
c
⋅
f
(
x
,
t
)
subject to
x
∈
[
0
,
1
]
p
\begin{aligned} &\text { minimize }_{\mathbf{x}}\left\|\mathbf{x}-\mathbf{x}_{0}\right\|_{2}^{2}+c \cdot f(\mathbf{x}, t)\\ &\text { subject to } \mathbf{x} \in[0,1]^{p} \end{aligned}
minimize x∥x−x0∥22+c⋅f(x,t) subject to x∈[0,1]p
∥
v
∥
2
=
∑
i
=
1
p
v
i
2
\|\mathbf{v}\|_{2}=\sqrt{\sum_{i=1}^{p} v_{i}^{2}}
∥v∥2=∑i=1pvi2代表Euclidean norm,
c
>
0
c > 0
c>0 正则化参数,由于常数c权重,描述了距离项和损失项的相对重要性,(在C&W攻击文献中)根据经验,发现选择c的最佳方法通常是使用c的最小值,从而使所得解
x
∗
x ^{*}
x∗的
f
(
x
∗
)
≤
0
f(x^{ *})≤0
f(x∗)≤0,这导致梯度下降使两个项同时最小化,而不是只选择一个进行最优化。c越小对样本的distortion(对抗样本distance越小)越小,论文中mnist和cifar10,最多进行9次二进制搜索以找到最佳的c(从0.01开始),如果找不到对抗样本就增加c,c的大小与对抗样本成功关系如下。
左边是对抗样本和输入图像的Euclidean距离,保证对抗样本与真实input的相似,右边是损失函数,反映了不成功的对抗攻击的程度,保证对抗样本能导致目标模型出错,上述的loss函数可以通过由如下来表示
- 有目标攻击
f ( x , t ) = max { max i ≠ t log [ F ( x ) ] i − log [ F ( x ) ] t , − κ } f(\mathbf{x}, t)=\max \left\{\max _{i \neq t} \log [F(\mathbf{x})]_{i}-\log [F(\mathbf{x})]_{t},-\kappa\right\} f(x,t)=max{i=tmaxlog[F(x)]i−log[F(x)]t,−κ}
[ F ( x ) ] i [F(x)]_{i} [F(x)]i为黑盒函数输出i类别的概率,κ≥0是攻击转移能力的调整参数。 攻击目标DNN一般将κ= 0,并建议在进行转移攻击时设置较大的κ。我们先看前面当有目标攻击,使黑盒预测为t概率最大,当 max i ≠ t log [ F ( x ) ] i − log [ F ( x ) ] t < 0 \max _{i \neq t} \log [F(\mathbf{x})]_{i}-\log [F(\mathbf{x})]_{t}<0 maxi=tlog[F(x)]i−log[F(x)]t<0表示攻击成功这里是使这对数概率值两者之间的差距要大于 κ \kappa κ。
这里为什么要取对数呢?
- 训练效果好的DNN,输出 F ( x ) F(x) F(x),使得一个类别的分类分数显着支配其他类别的分类分数
- 对数运算符在保持单调性的同时,减轻了优势效应,对数运算符极其重要,因为训练效果好的DNN在输出 F ( x ) F(x) F(x)会对一类(预测的标签)有倾赖,就会对其他类别占优
- 无目标攻击
f ( x ) = max { log [ F ( x ) ] t 0 − max i ≠ t 0 log [ F ( x ) ] i , − κ } f(\mathbf{x})=\max \left\{\log [F(\mathbf{x})]_{t_{0}}-\max _{i \neq t_{0}} \log [F(\mathbf{x})]_{i},-\kappa\right\} f(x)=max{log[F(x)]t0−i=t0maxlog[F(x)]i,−κ}
有了优化目标函数,黑盒函数又没有梯度信息,那如何对优化目标函数进行优化呢?
采用了零次优化的方法来估计黑盒函数的梯度,尽管数值精度是一个问题,但是成功进行对抗攻击通常不需要精确估计梯度,FGSM,仅需要梯度的符号(而不是确切值)即可找到对抗性样本
使用对称差商(symmetric difference quotient )来估计梯度
g
^
i
:
=
∂
f
(
x
)
∂
x
i
≈
f
(
x
+
h
e
i
)
−
f
(
x
−
h
e
i
)
2
h
\hat{g}_{i}:=\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}_{i}} \approx \frac{f\left(\mathbf{x}+h \mathbf{e}_{i}\right)-f\left(\mathbf{x}-h \mathbf{e}_{i}\right)}{2 h}
g^i:=∂xi∂f(x)≈2hf(x+hei)−f(x−hei)
在增加一次查询就能得到二阶信息
h
^
i
:
=
∂
2
f
(
x
)
∂
x
i
i
2
≈
f
(
x
+
h
e
i
)
−
2
f
(
x
)
+
f
(
x
−
h
e
i
)
h
2
\hat{h}_{i}:=\frac{\partial^{2} f(\mathbf{x})}{\partial \mathbf{x}_{i i}^{2}} \approx \frac{f\left(\mathbf{x}+h \mathbf{e}_{i}\right)-2 f(\mathbf{x})+f\left(\mathbf{x}-h \mathbf{e}_{i}\right)}{h^{2}}
h^i:=∂xii2∂2f(x)≈h2f(x+hei)−2f(x)+f(x−hei)
对于第一个式子
x
∈
R
p
x\in R^{p}
x∈Rp,我们需要对黑盒函数查询评估2p次,以估计所有p个坐标的梯度。但是这样对于输入维度比较大的图片来说,比如输入图像尺寸为64×64×3,一个完整的梯度下降步骤也需要进行24,576次查询,而且通常需要数百次迭代才能收敛。那如何解决这个问题呢?
- Adam方法
(可以从指数加权移动平均来理解)记录了历史梯度均值作为动量,又考虑了历史梯度平方来实现各个参数的学习率自适应调整,它根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题,这里将梯度的平方累加放到分母上,使得梯度大的,让其学习率小,减小震荡;梯度小的让其学习率大一些,加速收敛。
随机梯度的方法存在有收敛波动以及训练过程学习率的调整一直是一个问题,Adam - Newton
求解极值问题,找到 f ′ = 0 f^{\prime}=0 f′=0
使用上述梯度优化方法,会加速我们的梯度收敛,但是仍然存在查询次数过多的缺陷。然后就考虑了以下方法
- Attack-space dimension reduction方法将坐标维数降下来
minimize y ∥ D ( y ) ∥ 2 2 + c ⋅ f ( x 0 + D ( y ) , t ) subject to x 0 + D ( y ) ∈ [ 0 , 1 ] p \begin{aligned} &\operatorname{minimize}_{\mathbf{y}}\|D(\mathbf{y})\|_{2}^{2}+c \cdot f\left(\mathbf{x}_{0}+D(\mathbf{y}), t\right)\\ &\text { subject to } \mathbf{x}_{0}+D(\mathbf{y}) \in[0,1]^{p} \end{aligned} minimizey∥D(y)∥22+c⋅f(x0+D(y),t) subject to x0+D(y)∈[0,1]p
用 D ( y ) D(y) D(y)代替 Δ x = x − x 0 \Delta x= x-x_{0} Δx=x−x0,这里并不是将输入维度改变,而是减少允许的对抗样本噪音维度,例如一个方便的转换是将D定义为将y调整为p尺寸图像的放大运算符。但是将攻击空间维度减小,有可能造成找不到有效的攻击。 - hierarchical attack scheme,针对上面攻击维度变小的问题,提出了hierarchical attack scheme,在优化过程中,使用一系列尺寸为m1,m2,···的变换D1,D2···来逐渐增加m。egD1变换尺度 y 从m1= 32×32×3 到 299×299×3,D2从m2= 64 × 64 × 3 to 299 × 299 × 3,直到达到确定的迭代值(当loss function减小得不明显的时候,意味着需要更大空间)
- 首先优化重要像素(重要性采样)
由于在黑盒设置中估算每个像素的梯度和Hessian的成本很高,因此我们建议通过使用重要性采样来选择性地更新像素。例如,图像角落或边缘的像素通常不太重要,而主要目标附近的像素对于成功进行攻击至关重要,因此,在攻击过程中,会在对抗性噪声指示的主要目标附近采样更多像素- 建议将图像分成8×8个区域,并根据该区域中像素值的变化量分配采样概率,对每个区域中的绝对像素值变化进行最大池化,向上采样至所需尺寸,然后对所有值进行归一化,使其总和为1。比如对下图进行重要性采样
方法优势:
- 建议将图像分成8×8个区域,并根据该区域中像素值的变化量分配采样概率,对每个区域中的绝对像素值变化进行最大池化,向上采样至所需尺寸,然后对所有值进行归一化,使其总和为1。比如对下图进行重要性采样
- 黑盒攻击可以达到与白盒C&W攻击类似的成功率和distortion,
- 保持合理的攻击时间的同时,可以大大胜过基于代理模型的黑盒攻击
- 无需梯度信息
- 使用了来三种方法加速
缺陷:
- 查询效率低
实验结果
对于mnist以及cifar10,由于这两个数据集输入维度比较小,不减小攻击空间的维度,也不使用分层攻击和重要性抽样
结果:
- 我们提出的攻击(ZOO)成功率接近100%。此外,L2失真也接近C&W攻击,这表明我们的黑盒对抗图像具有与白盒方法相似的性能
- ZOO成功率明显高于基于代理模型的攻击,尤其是针对目标攻击,同时保持合理的平均攻击时间
- 发现ADAM在计算时间和L2失真方面通常比牛顿方法更好
对于攻击像Inception-v3 这样的大型黑匣子网络可能具有挑战性。在这种情况下,通过代理模型进行黑盒攻击变得不切实际,因为需要相对于Inception-V3具有足够大容量的替代模型,而且与白盒攻击相比,传输攻击的成功率可能较低
- 使用了Attack-space dimension reduction32×32×3 (最初输入空间为 299×299×3)
结果 - 尽管只运行了1,500次迭代(每个图像20分钟以内),并且使用了很小的攻击空间(32×32×3),但ZOO黑盒攻击却获得了大约90%的成功率
- 平均L2失真大约是白盒攻击的1左右倍,但我们的对抗图像在视觉上仍然无法区分
- 如果运行更多的迭代,则可以进一步提高成功率和失真
我们再看一下使用了三种解决查询次数的方法
左图对比的是totall loss (最开始的优化目标)与iteration关系,右图是光看 c ⋅ f ( x , t ) c · f (x,t) c⋅f(x,t) - 黑色曲线的下降非常缓慢,这表明分级攻击在加速攻击中非常重要,否则较大的攻击空间使零次方法不可行。
- 尤其是在10,000次迭代之后–当攻击空间增加到128×128×3时;它可以帮助我们更早地找到2000次迭代中的第一个有效攻击
右图光看
c
⋅
f
(
x
,
t
)
c · f (x,t)
c⋅f(x,t)
采用采用分级攻击有利于收敛,使用了重要性采样的方法能够加速收敛。对于重要性采样方法,尤其是在10,000次迭代之后–当攻击空间增加到128×128×3时;它可以帮助我们更早地找到2000次迭代中的第一个有效攻击
论文从32×32×3的攻击空间开始,在迭代2,000和10,000时分别将其增加到64×64×3和128×128×3
- l 1 l1 l1为优化目标右边项, l 2 l2 l2为优化目标左边项,当 l 1 l1 l1时, P o r i g P_{orig} Porig≤ P t a r g e t P_{target} Ptarget,并且找到一个有效的对抗示例。 l 2 l2 l2是 l 2 l2 l2失真(distrotion)。在优化过程中,我们观察到 l 1 l1 l1达到0之前, l 2 l2 l2可能会增加,即增加更多的失真并更接近目标类别在 l 1 l1 l1达到0之后,它不能低于0,因为它是一个类似于铰链的损失,此时,优化器应尽量减少 l 2 l2 l2,同时保持 P t a r g e t P_{target} Ptarget仅比 P o r i g P_{orig} Porig稍大。但是,当我们以坐标方式运行ADAM时,我们发现即使在l1达到0之后,优化器仍会尝试减小 P o r i g P_{orig} Porig来增加 P t a r g e t P_{target} Ptarget,而 l 2 l2 l2不会有效降低。我们认为,原因是由于坐标数量众多,ADAM状态中存储的历史梯度统计数据非常陈旧。因此,我们仅在 l 1 l1 l1首次达到0后简单地重置ADAM状态,以使求解器专注于事后减少 l 2 l2 l2。
总结:
提出ZOO攻击成功地将原始类别的概率降低了160倍以上(从97%降低到约0.6%),同时将目标类别的概率提高了1000倍以上(从0.0006%提高到了0.6%以上,这是前1名) )以实现成功的攻击。
对于FGSM,不将其L2与其他方法进行比较,因为它是
L
∞
L∞
L∞攻击
- 实验结果表明,ZOO的攻击具有与最新的白盒攻击(C&W)相当的性能
- ZOO黑盒攻击在攻击成功率和失真方面明显优于基于替代模型的黑盒攻击,因为ZOO的方法不会在攻击可传递性方面造成任何性能损失
- 提出了几种加速技术,以将ZOO攻击应用于在ImageNet上训练的大型DNN,而基于替代模型的黑盒攻击很难扩展到像Inception-v3这样的大型DNN。
下步工作
- 如何将数据集的辅助信息(例如专家知识)和现有的对抗示例(例如安全漏洞和漏洞利用)纳入我们的黑盒攻击中,值得进一步研究
为什么代理模型效果那么差: - 可能是因为目标DNN的体系结构未知,则基于模型的不匹配,基于替代模型的黑盒攻击将产生较差的性能
将我们的攻击(ZOO)与Carlini&Wagner的(C&W)白盒攻击[8]和基于替代模型的黑盒攻击[35]进行了比较。我们想证明,我们的黑盒攻击可以达到与白盒C&W攻击类似的成功率和distortion,并且在保持合理的攻击时间的同时,可以大大胜过基于替代模型的黑盒攻击