摘要:
机器学习(ML)尤其是深度神经网络(DNN)已广泛用于各种应用程序中,其中包括几种对安全性至关重要的应用程序(例如,自动驾驶)。结果,最近关于对抗性例子的研究引起了极大的关注。可以通过在输入中添加少量扰动来误导模型预测,从而实现这种对抗性攻击。尽管多次白盒攻击已经证明了其有效性,但它们假定攻击者可以完全访问机器学习模型;而攻击者可以完全访问机器学习模型。在实践中,黑盒攻击更为现实。在本文中,我们仅基于模型的最终预测标签提出了一种基于查询边界的黑盒攻击(QEBA)。我们从理论上说明了为什么先前的在整个梯度空间上进行梯度估计的基于边界的攻击在查询数量方面效率不高,并为基于维降的梯度估计提供了最优性分析。另一方面,我们对ImageNet和CelebA数据集进行了广泛的实验,以评估QEBA。我们证明,与最新的黑盒攻击相比,QEBA能够使用更少的查询来实现更低的扰动幅度,攻击成功率达到100%。我们还将展示针对包括MEGVII Face ++和Microsoft Azure在内的现实世界API的攻击的案例研究
1.简介
机器学习(ML),特别是深度神经网络(DNN)的最新发展,已经推动了许多实际应用,包括对象检测,药物发现和机器人技术。同时,一些对安全性要求很高的应用也采用了ML,例如自动驾驶汽车和外科手术机器人。但是,最近的研究表明,机器学习系统容易受到对抗示例的攻击,这些示例的输入加上少量的对抗性扰动,因此在测试期间会导致任意不正确的预测。当将ML应用于ML时,这种对抗性攻击引起了极大的关注。实际应用。因此,需要对这些广告攻击的内在特性以及潜在的防御策略进行深入分析。
首先,根据攻击者对受害者ML模型的了解,可以将此类攻击分为白盒和黑盒攻击。通常,可以通过利用模型的梯度来进行白盒攻击-像快速梯度符号方法(FGSM),基于优化的攻击,基于投影梯度下降的方法(PGD)之类的方法已被提出。但是,考虑到大多数现实应用程序不会发布所使用的实际模型,因此白盒攻击不太实用。另外,这些白盒攻击被证明是可以防御的。结果,近来黑盒对抗攻击引起了很多关注。在黑盒攻击中,根据攻击者是否需要查询受害者ML模型,有无查询(例如基于可转移性的攻击)和基于查询的攻击。尽管基于可传递性的攻击不需要查询模型,但它假定攻击者可以访问大型训练数据来训练替代模型,并且不能保证攻击成功率。基于查询的攻击包括基于分数的攻击和基于边界的攻击。基于得分的攻击假设攻击者可以访问模型的类概率,与基于边界的攻击相比,实用性较低,后者仅需要最终模型预测,而两者都需要大量查询。
在本文中,我们提出了仅基于模型的最终预测标签作为通用框架的基于查询边界的黑盒攻击(QEBA),以最大程度地减少查询数量。由于梯度估计消耗了所有查询的大部分,因此减少基于边界的黑盒攻击的查询数量的主要挑战是高维数据(例如图像)将需要大量查询才能探测决策边界。结果,我们建议搜索一个小的代表性子空间以生成查询。具体而言,通过向图像添加扰动来生成查询。我们从三种新颖的角度来探讨子空间优化方法,以进行扰动采样:1)空间,2)频率和3)本征分量。第一个利用空间变换(例如线性插值),以便可以在低维空间中进行采样,然后再投影回原始空间。第二个使用图像压缩文献中的直觉和低频子空间中的样本,并使用离散余弦变换(DCT)进行投影。最后一个执行可扩展的梯度矩阵分解,以通过主成分分析(PCA)选择主要的主成分作为子空间进行采样。另外,理论上我们证明了它们在估计梯度上的最优性,而不是直接估计原始空间上的梯度。
为了证明所提出的黑箱攻击QEBA方法的有效性,我们对包括ImageNet 和CelebA 在内的高维图像数据进行了广泛的实验。我们对ResNet模型进行攻击,并表明与最新的黑盒攻击方法相比,QEBA的不同变体可以以较少的查询数量实现较低的扰动幅度(攻击成功率100 %)。为了显示所提议攻击的现实影响,我们还针对在线商业API(包括MEGVII Face ++ 和Microsoft Azure )执行了QEBA。我们的方法可以通过合理程度的扰动成功攻击API。对于这些不同的子空间,我们的推测是不同子空间的总体性能取决于多个因素,包括数据集大小,模型平滑度,对抗性攻击目标等。因此,我们的目标是首先尝试提供对这三个子空间有足够的经验观察,同时还需要进一步的广泛研究来比较这些子空间的不同因素,并确定新的子空间类型。这项工作的贡献概括如下:1)我们提出了一种通用的基于查询有效边界的黑盒攻击QEBA,以减少基于边界攻击的查询数量。 QEBA基于三个不同的代表子空间包含三个变体,包括空间变换子空间,低频子空间和本征分量子空间。 2)理论上证明了整个梯度空间中的梯度估计在查询数量方面效率低下,并且证明了我们提出的查询有效梯度估计方法的最优性分析; 3)我们对两个高分辨率图像数据集:ImageNet和CelebA进行了全面的实验。 QEBA的所有不同变体都远远超过了最新的基线方法。 4)我们成功攻击了两个现实世界的API,包括Face ++ 和Azure ,并展示了QEBA的有效性。
2.问题定义
3.3. 基于边界的高效查询黑盒攻击(QEBA)
在本节中,我们首先介绍基于HopSkipJumpAttack(HSJA)的QEBA管道。 然后,我们详细说明三种建议的查询约简方法。 我们在第4节中提供了QEBA的理论依据。作为示例,图1中显示了所提出的基于查询有效边界的黑盒攻击(QEBA)的流程。 目的是生成一个看起来像(猫)的adv-image,但被受害者模型错误地标记为恶意标签(鱼)。 首先,攻击使用初始化adv-image。 然后,它执行一个由三个步骤组成的迭代算法:基于建议的代表性子空间,在决策边界处估计梯度,沿着估计的梯度移动,并投影至旨在向方向移动的决策边界。
在下文中,我们首先在3.1节中介绍攻击中的三个交互步骤,然后在3.2-3.4节中介绍三种用于生成优化的代表性子空间的不同方法
3.1.QEBA的总体框架
决策边界处的估计梯度:用表示在部生成的adv-image。如果在决策边界处,我们可以仅使用对φ的访问来估计的梯度。可以通过蒙特卡洛方法对该梯度进行采样:
其中是单位长度为的随机采样扰动,而是较小的加权常数。 此过程的一个示例如图2所示。关键点是如何对扰动ub进行采样,我们建议从中的代表性子空间中提取
算法:
沿估计的坡度移动:
在估计了对抗性预测得分的梯度后,我们将朝梯度方向移动:
其中是第步的步长。 因此,对抗类的预测得分将提高。
投影到决策边界:当前超出边界,我们可以将adv图像移向目标图像,以便将其投影回决策边界:
通过对进行二分查找来实现投影。 请注意,我们假设位于边界上,而不在边界上。 因此,在初始化步骤中,我们需要像方程式中一样首先应用公式5中的投影操作得到。 在以下各节中,我们将从空间,频率和本征分量的角度介绍三种代表性子空间优化的探索。
3.2.空间变换子空间(QEBA-S)
首先,我们从空间变换的查询减少方法开始。 灵感(原文是:intuition)来自观察到输入图像的梯度具有局部相似性的特性。 因此,很大一部分梯度位于双线性插值运算所跨越的低维子空间上。 为了采样图像的随机扰动,我们首先采样形状为的低维随机扰动,其中r是降维因子的超参数。 然后,我们使用双线性插值将其映射回原始图像空间,。 该空间变换子空间的基础是从下部空间中的单位扰动变换的图像:
其中表示在第个条目上具有且在其他位置具有的单位矢量
3.3.低频子空间(QEBA-F)
通常,图像的低频子空间包含大部分关键信息,包括梯度信息。 而高频信号所包含的噪声却超过了有用的内容。 因此,我们想通过离散余弦变换(DCT)来采样低频子空间中的扰动。 正式地说,将DCT的基本功能定义为:
DCT逆变换是从频域到图像域的映射:
3.4.本征子空间(QEBA-I)
Principal Component Analysis(PCA)是执行降维以搜索给定实例的固有成分的标准方法。给定高维空间中的一组数据点,PCA的目的是找到一个低维子空间,以使数据点在子空间上的投影最大化。因此,可以利用PCA优化模型梯度矩阵的子空间。但是,为了执行PCA,我们将需要一组数据点。在我们的情况下,应该是一组 不同的。但在黑盒这一设定下无法访问。因此,我们转向一组我们可以访问其渐变的“参考模型”。如图3所示,我们将使用参考模型来计算一组图像梯度然后,我们执行PCA提取其前n个主成分()。这些是内在分量子空间的基础。 请注意,与可传递性不同,我们不限制将参考模型与原始模型使用相同的训练数据进行训练,因为我们只需要搜索给出的数据集的内在成分,该成分对于各种模型而言相对稳定。 在实践中,基于大型的高维数据集(ImageNet上的数据维超过150k,我们需要大量的数据点,这些数据点都很密集),在时间和内存效率方面,PCA的计算可能具有挑战性。 因此,我们利用了随机PCA算法,该算法可加快PCA的速度,同时实现可比的性能。
另一个挑战是矩阵可能太大而无法存储在内存中。 因此,我们将它们存储在不同的行中,因为每一行(即一幅图像的梯度)是与其他行独立计算的。 然后对内存中的和其他矩阵进行乘法运算。
4.QEBA的理论分析
我们从理论上分析降维如何帮助QEBA中的梯度估计。 我们表明,通过从代表子空间而不是原始空间中进行采样,梯度估计范围更紧密。
我们考虑方程式3中的梯度估计,让表示位于所选子空间跨度span(W)上的的比例。 然后,我们有以下定理,关于和估计值之间的余弦相似性的期望
如果我们从整个空间采样(即),则预期的余弦相似度为 如果让且,则相似度仅为
另一方面,如果随机选择子空间w,则并且估计质量低。 随着的增大,估计质量将优于从整个空间进行采样。 因此,我们进一步探索了三种方法来优化包含较大梯度的代表性子空间,如第3节所述。例如,在实验中我们看到,当时,我们可以达到 并且预期的余弦相似度增加到约。 这提高了梯度估计的质量,从而导致更有效的攻击
5.实验
在本节中,我们介绍了我们提出的方法QEBA-S,QEBA-F和QEBA-I的实验设置和定量结果,并与HSJA攻击(最先进的边界)进行了比较 基于黑盒的攻击。 在这里,我们将重点放在最强的基线HSJA上,该基线优于其他所有边界攻击,有限攻击和选择攻击。 我们还展示了使用所提出的方法攻击两个真实世界的API的两组定性结果
5.1.数据集和实验设置
数据集:我们评估了对ImageNet 和CelebA 上两个离线模型以及两个在线人脸识别API Face ++ 和Azure 的攻击。 我们将预训练的ResNet-18模型用作ImageNet的目标模型,并对预训练的ResNet-18模型进行微调,以在CelebA中的100个人中进行分类。 我们从ImageNet / CelebA验证集中随机选择50对,这些对由模型正确分类为源图像和目标图像
攻击设定:
我们提供了两个评估指标来评估攻击性能。第一个是每一步在目标图像和对抗性示例之间的平均均方误差(MSE)曲线,指示了扰动的幅度。扰动越小,对抗示例与目标图像越相似,因此提供了更好的攻击质量。第二个是基于有限数量查询的攻击成功率,其中“成功”被定义为达到特定的特定MSE阈值。为了达到某个扰动阈值,我们需要的查询越少,攻击方法的效率就越高。对于降维子空间,我们在空间变换和低频子空间中使用降维因子,从而得到维子空间。为了生成本征分量子空间,我们首先在该空间上生成一组图像梯度向量。我们对输入w.r.t.五个不同的预训练替代模型-ResNet-50 ,DenseNet-121 ,VGG16 ,WideResNet 和GoogleNet 。我们使用ImageNet验证集的一部分(张图像)来生成梯度向量。最后,我们采用可伸缩的近似PCA算法提取前主要成分作为内部成分子空间。
5.2.商业在线API(Commercial Online APIs)
多家公司提供经过训练的模型的商业API(应用程序编程接口),用于完成诸如人脸识别之类的不同任务。下游任务的开发人员可以为服务付费,并将API集成到其应用程序中。请注意,尽管典型的平台API为开发人员提供了与其最终预测相关的类的置信度得分,但使用最终应用程序的最终用户在大多数情况下将无权访问这些得分。例如,一些Face ++的合作伙伴使用面部识别技术在手机中进行登录身份验证,用户仅知道最终决定(无论他们是否通过验证)。我们仅根据最终预测为现实世界实验选择两个代表性平台。第一个是来自MEGVII的Face ++ ,第二个是Microsoft Azure 。 Face ++提供了一个“比较” API ,通过该API,我们可以以字节字符串的形式发送带有两个图像的HTTPS请求,并获得有关两个图像是否包含同一个人的预测置信度。在所有实验中,我们认为置信度大于50%,这意味着将两个图像标记为同一个人。 Azure具有稍微复杂一些的界面。要比较两张图片,每张图片首先需要传递一个“ detect” API调用,以获取一张具有其地标,特征和属性的检测到的面部列表。然后,将这两个图像的特征输入“验证”功能,以最终决定它们是否属于同一个人。还给出了置信度,但是我们在实验中不需要它,因为我们仅将二进制预测用于实际目的。在实验中,我们使用图4中的示例作为源图像和目标图像。更具体地说,我们使用一个男女脸作为“比较” API Face ++的源-目标对,并且使用一个猫女脸作为“检测” API Azure人脸的一对图像。
攻击API的离散化优化:
针对在线API的攻击受到“离散化”问题的困扰。 也就是说,在攻击过程中,我们假设像素值在中是连续的,但是在查询在线API时,需要在上载的RGB图像中将其四舍五入为8位浮点。 由于舍入后最后一个边界图像和新查询图像之间的实际扰动与加权扰动向量不同,因此这将导致公式3中的蒙特卡洛梯度估计格式出错。
为了减轻这个问题,我们在本地进行离散化。 令为从连续图像投影到离散图像。 令,新的梯度估计格式变为:
5.3.离线模型的实验结果
详细结果请参考论文