Abstract
我们提出了一种有趣的简单方法,用于在黑盒环境中构建对抗性图像。 与白盒场景相比,构建黑盒对抗图像对查询预算有额外的限制,而有效的攻击至今仍是一个悬而未决的问题。 仅在连续值置信分数的温和假设下,我们的高效查询算法利用了以下简单的迭代原理: 我们从预定义的正交基中随机采样向量,并将其添加或减去到目标图像中。 尽管简单,但所提出的方法既可以用于无目标攻击,也可以用于有目标攻击,这在两种设置中都带来了前所未有的查询效率。 我们在包括Google Cloud Vision API在内的多个现实环境中演示了我们算法的有效性和效率。 我们认为,我们提出的算法应该作为未来黑盒攻击的强大基线,特别是因为它非常快,而且它的实现需要不到20行PyTorch代码。
Introduction
随着机器学习系统在众多应用领域中的流行,这些系统在恶意对手面前的安全性成为一个重要的研究领域。 最近的许多研究表明,机器学习模型输出的决策可以通过对输入的细微改变而任意改变。这些对机器学习模型的攻击可以根据对手的功能进行分类。 白盒攻击要求对手完全了解目标模型,而黑盒攻击只需要对可能返回完整或部分信息的目标模型进行查询。
似乎所有用于自然图像分类的模型都容易受到白盒攻击。这表明自然图像倾向于接近由机器学习分类器学习的决策边界。 尽管经常被误解为神经网络的一种特性,但对抗性示例的脆弱性很可能是在具有大多数数据分布的高维空间中分类器的必然性。如果敌对的例子(几乎)总是存在,那么攻击分类器就变成了在目标图像周围的小范围内的搜索问题。
在白盒场景中,可以通过梯度下降有效地引导搜索。然而,黑匣子威胁模型在许多场景中更适用。 对模型的查询可能会导致大量的时间和金钱成本,因此,对模型进行的黑盒查询的数量是攻击算法效率的重要度量。 代价太高或很容易被查询限制击败的攻击比高效攻击带来的安全风险更小。 迄今为止,尽管最近在这方面做了大量工作,但最著名的黑盒攻击执行的平均查询数量仍然很高。最有效和最复杂的攻击通常仍然需要多达数万或数十万的查询。 一种查询效率高的黑盒攻击方法仍然是一个悬而未决的问题。
机器学习服务,如Clarifai或Google Cloud Vision,只允许API调用访问模型的预测,因此属于黑盒类。这些服务不发布任何内部细节,如培训数据和模型参数; 然而,他们的预测返回了连续值的置信分数。 在本文中,我们提出了一种简单但高效的黑箱攻击,它使用非常简单的直觉利用这些置信度得分: 如果到决策边界的距离很小,我们就不必过于小心我们朝着它行进的确切方向。
具体地说,我们在预先指定的一组正交搜索方向中重复选择一个随机方向,使用置信度分数检查它是否指向或远离决策边界,并通过从图像中添加或减去向量来扰动图像。 每次更新都会使图像进一步远离原始图像并朝向决策边界移动。
我们对我们的方法的有效性提供了一些理论见解,并评估了各种正交搜索子空间。 与Guo类似,我们观察到将搜索限制在离散余弦变换(DCT)基的低频端是特别有效的查询。 此外,我们通过经验证明,我们的方法实现了与最先进的黑盒攻击算法相似的成功率,但黑盒查询的数量空前少。 由于其简单性,它可以在PyTorch中用不到20行代码1实现。我们认为我们的方法是对抗性图像攻击的一种新的、可能令人惊讶的强大基线,我们称之为简单黑盒攻击(SimBA)。
Background
对抗性示例的研究涉及机器学习模型对输入中的小变化的鲁棒性。 图像分类的任务被定义为成功地预测人类在图像中看到的内容。 自然地,对图像的微小改变不会影响标签和预测。 我们可以将这种鲁棒性形式化如下: 模型