Simulating Unknown Target Models for Query-Efficient Black-box Attacks
针对查询效率黑盒攻击的未知目标模型模拟
https://github.com/machanic/SimulatorAttack
为了研究深度神经网络的安全问题,已经提出了许多对抗性攻击方法。在黑箱设置下,当前模型窃取攻击训练一个替代模型来伪造目标模型的功能。然而,训练需要查询目标模型。因此,查询的复杂性仍然很高,这类攻击很容易防御。本研究旨在训练一个称为“模拟器”的广义替代模型,它可以模拟任何未知目标模型的功能。为此,我们通过收集现有各种网络攻击时产生的查询序列,构建多任务形式的训练数据。该学习过程在元学习中使用了基于均方误差的知识蒸馏损失,以最小化模拟器和采样网络之间的差异。
然后,从多个任务中计算和累积损失的元梯度,以更新模拟器,并随后改进泛化。当攻击训练中看不到的目标模型时,经过训练的模拟器可以利用其有限的反馈准确地模拟其功能。因此,可以将大部分查询转移到模拟器,从而降低查询的复杂性。使用CIFAR-10、CIFAR-100和TinyImageNet数据集进行的综合实验结果表明,与基线方法相比,所提出的方法降低了几个数量级的查询复杂度。实现源代码发布在网上。
深度神经网络(DNNs)容易受到对抗性攻击[3,13,39],它在良性图像中添加了人类难以察觉的扰动,从而对目标模型进行错误分类。对抗性攻击的研究对于实现鲁棒DNNs[29]至关重要。对抗性攻击可以分为两种类型,即白盒攻击和黑盒攻击。在白盒攻击设置中,目标模型完全暴露给对手。因此,利用梯度可以很容易地构造摄动[4,13]。在黑盒攻击设置中,对手只有目标模型的部分信息,而对抗实例的制作没有任何梯度信息。因此,黑箱攻击(即基于查询和基于传输的攻击)在现实场景中更为实用。
基于查询的攻击侧重于通过查询估计梯度[6,41,19,20]。这些攻击被认为是非常有效的,因为它们的攻击成功率令人满意。然而,尽管这些方法具有实用价值,但在高精度估计近似梯度时,不可避免地会产生较高的查询复杂度,导致过程成本高昂。此外,查询通常没有得到充分利用,也就是说,从目标模型返回的隐式但意义深远的消息被忽略了,因为它们在估计梯度之后被丢弃了。因此,如何充分利用目标模型的反馈来提高攻击的查询效率是需要深入研究的。
基于转移的攻击通过在源模型上使用白盒攻击方法来欺骗目标模型,从而生成对抗示例[25,33,10,18]。基于转移的攻击有两个缺点:(1)不能获得高的成功率;(2)在针对性攻击上较弱。为了提高可移植性,模型窃取攻击训练一个局部替代模型使用合成数据集模拟黑箱模型,其中标签由目标模型通过查询给出[40,36,34]。通过这种方式,替代模型和目标模型之间的差异被最小化,从而提高了攻击成功率。然而,这样的训练需要查询目标模型。因此,查询的复杂性增加,通过部署防御机制可以很容易地防御此类攻击(例如,[35,24])。此外,为替代新的目标模型而不可避免的再训练是一个昂贵的过程。因此,在没有目标模型需求的情况下,如何训练一个替代模型是值得进一步探索的。
为了消除训练中对目标模型的需求,我们提出了一种新的基于元学习的框架,在许多不同的网络上学习一个广义替代模型(即“模拟器”),从而利用它们的特性实现快速适应。经过训练和微调后,模拟器可以模拟任何在训练中看不到的目标模型的输出,使其最终能够取代目标模型(图1)。具体来说,真正黑箱攻击的中间查询被移到训练阶段,从而使模拟器学会如何区分查询之间的细微差异。所有的训练数据都被重新组织成由多个任务组成的格式。每个任务是一个小的数据子集,由一个网络的查询序列组成。在该系统中,大量的任务使模拟器能够体验各种网络的攻击。
图1:模拟器攻击的过程,其中q1和q2为攻击中生成查询对所对应的扰动(算法2)。将前t次迭代的查询输入目标模型,以估计梯度。收集这些查询和相应的输出以对模拟器进行微调,在不使用目标模型的情况下训练模拟器。经过微调的模拟器可以准确模拟未知目标模型,从而传递查询,提高整体查询效率
我们提出了三个组成部分来优化泛化。首先,采用查询序列级划分策略,将每个任务分别划分为匹配攻击中优化迭代和仿真迭代的元训练集和元测试集(图2)。其次,基于均方误差(MSE)的知识精练损失进行元学习的内外循环。最后,计算一批任务的元梯度,然后聚合,以更新模拟器,提高泛化能力。这些策略很好地解决了训练过程中目标模型需求的问题。在攻击(称为“模拟器攻击”)中,利用未知目标模型的有限反馈对训练好的模拟器进行微调,精确模拟其输出,从而转移其查询压力(图1),因此充分利用目标模型的反馈,提高查询效率。在该方法中,训练中目标模型的消除带来了新的安全威胁,即拥有目标模型最小信息的对手也可以伪造该模型进行成功的攻击。
图2:在一个小批中训练模拟器的过程。在这里,攻击过程中生成的查询对序列被收集为训练数据,然后重新组织为多个任务。每个任务包含攻击一个网络产生的数据,并进一步划分为元训练集和元测试集。接下来,模拟器网络M在学习每个任务的开始时将其权重重新初始化为θ,然后在元训练集上进行训练。经过多次迭代(内部更新),M收敛,其权重更新为θ’。M的元梯度是基于K个任务的元测试集计算的,然后累积以更新M(外部更新)。更新的M是为下一个小批学习准备的。最后,学习到的模拟器可以在攻击阶段使用有限的查询来模拟任何未知的黑盒模型。
在本研究中,我们使用cifar-10[23]、cifar-100[23]和TinyImageNet[38]数据集来评估所提出的方法,并将其与自然进化策略(NES)[19]、Bandits[20]、Meta Attack[12]、随机无梯度(RGF)[32]和先验引导RGF (PRGF)[8]进行比较。实验结果表明,与基线方法相比,仿真器攻击可以显著降低查询复杂度。
本文的主要贡献如下:
基于查询的攻击。黑盒攻击可分为基于查询的攻击和基于迁移的攻击。基于查询的攻击可以进一步分为基于分数和基于决策的攻击,这取决于对手可以使用多少从目标模型返回的信息。在基于分数的攻击中,对手使用目标模型的输出分数来生成对抗示例。大多数基于分数的攻击通过零阶优化估计近似梯度[6,2]。然后,对手可以利用估计的梯度对对抗实例进行优化。虽然这种类型的方法可以提供成功的攻击,但它需要大量的查询,因为每个像素需要两个查询。文献中介绍了几种改进的方法,通过使用数据[2]的主成分、降维潜在空间[41]、先验梯度信息[20,27]、随机搜索[14,1]和主动学习[37]来降低查询复杂度。基于决策的攻击[5,7]只使用目标模型的输出标签。在本研究中,我们关注基于分数的攻击。
基于迁移的攻击。基于转移的攻击在源模型上生成对抗实例,然后将其转移到目标模型[25,10,18]。但是,由于源模型和目标模型之间的差异很大,这种类型的攻击不能获得很高的成功率。为了提高攻击成功率,已经做出了许多努力,包括使用模型窃取攻击。模型窃取攻击最初的目标是复制公共服务的功能[42,40,30,34]。Papernot等[36]扩大了模型窃取攻击的使用范围。他们使用由目标模型标记的合成数据集训练替代模型。然后,这种替代被用来制作对抗性的例子。在本研究中,我们专注于训练一个替代模型,而不使用目标模型。
元学习。元学习在少镜头分类中很有用。它训练的是只需要少量样本就能快速适应新环境的超学习者。Ma等[28]提出了MetaAdvDet来高精度地检测新型对抗攻击,以便在对抗攻击领域中利用元学习。Meta Attack[12]训练一个自动编码器来预测目标模型的梯度,以降低查询的复杂性。然而,它的自动编码器只训练自然图像和梯度对,而不是来自真实攻击的数据。因此,在攻击过程中,其预测精度不能满足要求。大梯度图的预测也因其轻量化的自编码器而困难重重。因此,Meta攻击只提取具有前128个值的梯度来更新示例,导致性能较差。相比之下,本研究提出的模拟器采用知识蒸馏损失训练,用于对数预测;因此,性能不受图像分辨率的影响。训练数据为黑箱攻击查询序列,分为元训练集和元测试集。前者对应于攻击中的微调迭代,后者对应于攻击中的仿真迭代。这些策略将训练和攻击无缝地连接起来,以最大化性能。
在攻击过程中,当输入查询彼此之间只有轻微的不同时,经过训练的模拟器必须准确地模拟任何未知目标模型的输出。为此,模拟器应该从真实的攻击中学习,即在各种网络攻击中产生的中间数据(查询序列和输出)。为此,有几种分类网络N1、……, Nn构建训练任务,创建一个巨大的仿真环境,以提高通用仿真能力(图2)。每个任务包含V个查询对Q1,…QV(Qi∈RD, i∈{1,···,V}),其中D为图像维数。这些对是通过使用Bandits攻击随机选择的网络而生成的。Bandits使用的数据源可以是从互联网上下载的任何图像。在本研究中,我们使用来自测试图像的具有不同数据分布的标准数据集的训练集。每个任务被划分为两个子集,即元训练集Dmtr,它由前t个查询对Q1、……, Qt和元测试集Dmte,使用以下查询对Qt+1,…, QV。前者用于训练的内部更新步骤,对应于攻击阶段的微调步骤。后者对应于使用模拟器作为替代的攻击迭代(图1)。这个分区无缝地连接了训练和攻击阶段。N1的对数输出,…, Nn被称为“伪标签”。所有的查询序列和伪标签都缓存在硬盘中,以加速训练。
初始化。算法1和图2给出了训练过程。在训练中,我们随机抽样K个任务,形成一个小批(mini-batch)。在学习每个任务的开始,模拟器M使用上一个小批学习到的权重θ重新初始化它的权重。保留这些权重是为了在外部更新步骤中计算元梯度。
元训练。M在元训练集Dmtr上执行梯度下降,进行多次迭代(内部更新)。此步骤类似于在知识蒸馏中训练学生模型,这与攻击的微调步骤相匹配。
元测试。经过多次迭代,M的权重更新为θ’。然后,根据θ’的第i个任务的元检验集计算损失Li。之后,将元梯度∇θLi计算为高阶梯度。那么,∇θL1,…△K任务的θLK平均为1/ K PK i=1△θLi用于更新M(外部更新),从而使M能够学习一般的模拟能力。
损失函数。在训练中,我们采用知识蒸馏式损失诱导模拟器输出与样本网络Ni相似的预测,我们在内步和外步都使用了Ni。给定两个查询Qi,1和Qi,由Bandits2生成的第i个查询对Qi中的2,其中i∈{1,…, n}和n表示元训练或元测试集中的查询对个数。模拟器和Ni的logits输出分别表示为:^p和p。式(1)中定义的MSE损失函数将模拟器和伪标签的预测推近。
算法2给出了lp范数约束下的模拟器攻击。前t个迭代的查询对被提供给目标模型(预热阶段)。这些查询和相应的输出被收集到一个双端队列D中,然后,D在满了以后丢弃最老的项,这有利于在使用D微调M时专注于新的查询。在热身之后,每M次迭代将后续查询输入到目标模型中,微调后的M处理剩下的查询。为了与训练一致,梯度估计步骤遵循了Bandits的估计步骤。式(2)所示的攻击目标损失函数在攻击过程中最大化:
其中,ˆy表示模拟器或目标模型的logits输出,t为目标攻击中的目标类或非目标攻击中的真实类,j为其他类的索引。
在攻击过程中,在提供真实攻击的查询时,模拟器必须准确地模拟输出。因此,以知识蒸馏的方式对真实攻击的中间数据进行训练。现有的元学习方法都没有以这种方式学习模拟器,因为它们都专注于少镜头分类或强化学习问题。此外,算法2交替向M和目标模型提供查询,以学习最新的查询。在面对困难的攻击时,周期性的微调对于获得高成功率是至关重要的(如图3b中的目标攻击结果)。
图3:通过攻击CIFAR-10数据集中的WRN-28模型,我们对模拟的精度、模拟器预测间隔、预热迭代和deque D的最大长度进行了消融研究。结果表明:(1)元训练有利于实现精确的模拟(图3a),(2)困难的攻击(例如,有针对性的攻击)需要较小的模拟器-预测间隔(图3b),(3)更多的预热迭代导致更高的平均查询(图3c)。
**数据集和目标模型。**我们使用CIFAR-10[23]、CIFAR-100[23]和TinyImageNet[38]数据集进行实验。根据先前的研究[45],从验证集中随机选择1000张测试图像进行评估。在CIFAR-10和CIFAR-100数据集中,我们遵循Y an等人[45]来选择目标模型:(1)使用AutoAugment[9]训练的272层金字塔网+Shakedrop网络(PyramidNet-272) [15,44];(2)通过神经结构搜索得到的模型GDAS [11];(3) WRN-28[46], 28层,扩宽10倍;(4) 40层WRN-40。在TinyImageNet数据集中,我们选择ResNeXt-101 (32x4d) [43], ResNeXt-101 (64x4d)和DenseNet-121[17],增长率为32。
**方法设置。**在训练中,我们生成查询序列数据Q1,…, Q100在每个任务。元列集Dmtr包含Q1,……元测试集Dmte由Q51、……, Q100。我们选择ResNet-34[16]作为模拟器的骨干,我们对它进行了3个阶段的训练,超过30000个任务。在这里,30个抽样任务构成一个小批处理。使用NVIDIA Tesla V100 GPU训练每个模拟器持续72小时。在第一次微调时将微调迭代数设置为10,然后将后续微调的微调迭代数减少为从3到5的随机数。在目标攻击中,我们将所有攻击的目标类设置为yadv = (y + 1) mod C,其中yadv是目标类,y是真正的类,C是类号。根据之前的研究[8,45],我们使用攻击成功率以及查询的平均值和中值作为评估指标。表1给出了默认参数。
表1:模拟器攻击的默认参数设置。
**预训练网络。**为了评估模拟未知目标模型的能力,我们保证了算法1中的N1,。。。Nn的选取与目标模型不同。CIFAR-10和CIFAR-100数据集中共选择了14个网络,TinyImageNet数据集中选择了16个网络。详情可在补充材料中找到。在涉及防御模型攻击的实验中,我们通过删除ResNet网络的数据来重新训练模拟器。这是因为防御模型采用了ResNet-50的主干。
**比较的方法。**比较的方法包括:NES[19]、Bandits[20]、Meta-Attack[12]、RGF[32]、P-RGF[8]。Bandits被选为基线。为了保证比较的公平性,Meta攻击的训练数据(即图像和梯度)是直接使用本研究预训练的分类网络生成的。我们将TensorFlow的官方实现中的NES、RGF和P-RGF的代码翻译到PyTorch版本中进行实验。P-RGF利用代理模型提高了RGF查询效率,该代理模型在CIFAR-10和CIFAR-100数据集中采用ResNet110[16],在TinyImageNet数据集中采用ResNet-101[16]。我们在目标攻击实验中排除了RGF和P-RGF的实验,因为它们的官方实现只支持非目标攻击。在无目标和有目标的攻击中,所有方法都限制为最多10,000个查询。我们为所有攻击设置相同的c值,在l2范数攻击和l∞范数攻击中分别为4.6和8/255。所有比较方法的详细配置在补充材料中提供。
消融研究是为了验证元训练的好处和确定关键参数的影响。
**元训练。**我们通过在所提出的算法中配置不同的模拟器来验证元训练的好处。将模拟器M替换为两个网络进行比较,分别是Rnd_init Simulator(未经训练的随机初始化ResNet-34网络)和Vanilla Simulator(使用本研究数据训练但未使用元学习的ResNet-34网络)。表2显示了实验结果,结果表明模拟器攻击能够实现最少的查询次数,从而证实了元训练的好处。为了详细检查仿真能力,我们计算不同攻击迭代下模拟器输出与目标模型之间的平均MSE(图3a)。结果表明,模拟器攻击在大多数迭代中获得了最低的MSE,因此展示了令人满意的仿真能力。
在控制实验中,我们通过调整一个参数,保持其他参数不变的方法来检查Simulator Attack关键参数的效果,如表1所示。相应的结果如图3b、3c、3d所示。
表2:对CIFAR-10数据集执行l2范数攻击的不同模拟器的比较。Rnd初始模拟器使用未经训练的ResNet-34作为模拟器;V anilla模拟器使用ResNet-34进行训练,而不使用元学习作为模拟器。
**模拟器预测间隔m。**该参数是使用模拟器M进行预测的迭代间隔。m越大,对M进行微调的机会就越少,当遇到困难攻击时(如图3b中的目标攻击),模拟器就不能准确地模拟目标模型,导致成功率较低。
**热身。**如图3c所示,更多的预热迭代导致更高的平均查询,因为在预热阶段有更多的查询被输入到目标模型中。
**正常模型的攻击结果。**在本研究中,正常模型是没有防御机制的分类模型。我们对4.1节中描述的目标模型进行了实验。表3和表4分别显示了CIFAR-10和CIFAR-100数据集的结果,而表6和表7则显示了TinyImageNet数据集的结果。结果显示如下:(1)模拟器攻击可以获得2×减少查询的平均和中位数的值与Bandits基线相比;(2)模拟器攻击可以获得显著减少查询和攻击的成功率高于元攻击(例如,元攻击的低成功率表6和7)。元表现不佳的攻击可以归因于其高成本梯度估计(特别是使用ZOO[6])。
表3:CIFAR-10和CIFAR-100数据集的无目标攻击实验结果。
表4:CIFAR-10和CIFAR-100数据集的目标攻击实验结果,其中m为模拟器-预测区间。
**实验数据。**表3、4、6和7显示了将最大查询数设置为10,000之后获得的结果。为了进一步检查在不同最大查询时的攻击成功率,我们通过限制每个对抗示例的不同最大查询来执行l∞范数攻击。所提方法在攻击成功率方面的优越性如图4所示。同时,图5展示了达到不同期望成功率的平均查询次数。图5显示,所提出的方法比其他攻击查询效率更高,而且为了获得更高的成功率,差距被放大了。
图4:l∞范数下非目标攻击中不同有限最大查询下的攻击成功率比较,其中R32表示ResNext-101 (32×4d)。
图5:在无目标’∞范数攻击下,不同成功率下的平均查询的比较。更多的结果在补充材料中提出。
**对防御模型的攻击结果。**攻击防御模型后得到的实验结果如表5所示。ComDefend (CD)[21]和Feature蒸馏(FD)[26]配备了降噪器,将输入图像转换为干净的版本,然后再输入到目标模型。原型整合损失(PCL)[31]引入了一个新的损失函数,最大限度地分离每个类的中间特征。在这里,我们的实验中没有使用对抗训练,得到了PCL防御模型。Adv训练[29]是一种基于对抗性训练的强大防御方法。根据表5所示的结果,我们得到以下结论:
(1)在所有方法中,模拟器攻击(Simulator Attack)在破CD方面表现最好,尤其明显优于基线方法Bandits。
(2)元攻击在CD和FD中表现不佳,成功率不理想。相比之下,模拟器攻击可以以较高的成功率打破这类防御模式。
(3)在攻击Adv Train的实验中,模拟器攻击消耗更少的查询以达到与Bandits攻击相当的成功率。
表5:对防御模型进行l∞范数攻击后的实验结果,其中CD表示ComDefend [21], FD表示Feature Distillation [26], PCL表示原型整合损失[31]。
表6 TinyImageNet数据集l∞范数下的无目标攻击实验结果。D121: DenseNet-121, R32: ResNeXt-101 (32×4d), R64: ResNeXt-101 (64×4d)。
表7 TinyImageNet数据集l2范数下的目标攻击实验结果。D121: DenseNet-121, R32: ResNeXt-101 (32×4d), R64: ResNeXt-101 (64×4d)。
在本研究中,我们提出了一种新的黑箱攻击称为模拟器攻击。它着重于训练一个广义替代模型(“模拟器”)来精确模拟任何未知目标模型,目的是降低攻击的查询复杂性。为此,将攻击多个不同网络时生成的查询序列作为训练数据。该方法在元学习的内部和外部更新中使用基于mse的知识蒸馏损失来学习模拟器。经过训练后,可以将大量的查询转移到模拟器中,因此与基线相比,攻击的查询复杂性降低了几个数量级。