BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain
BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain
摘要
基于深度学习的技术在各种识别和分类任务中已取得最先进的性能。深度神经网络通常在训练过程中计算成本高昂,因此许多用户会将训练过程外包到云端,或依赖预训练模型,并对其进行微调以适应特定任务。本文指出,外包训练会引入新的安全风险:攻击者可以构造一个恶意训练的网络(即带有后门的神经网络,称为 BadNet),该网络在用户的训练和验证样本上表现优异,但在攻击者选择的特定输入上却会出现异常行为。我们展示了 BadNet 攻击在 MNIST 数字识别和交通标志检测任务中的有效性,包括一个现实世界的实现案例:当在停车标志上贴上便签纸时,BadNet 会将其识别为限速标志。随后我们进一步证明,即使该网络被重新训练用于识别瑞典交通标志,其在美国交通标志任务中的后门仍然可以持续存在,并在触发后门时导致平均准确率下降 25%。最后,我们指出了当前流行的预训练神经网络模型在线仓库中存在的安全漏洞,并提出了相应的安全建议以应对这些问题。
引言
卷积神经网络(CNN)需要大量的训练数据和数百万个权重参数,才能取得良好的效果。因此,训练这些网络的计算开销极大,往往需要在多个 CPU 和 GPU 上耗费数周时间。由于个人甚至大多数企业通常无法拥有如此强大的计算能力,训练任务常常被外包到云端。将机器学习模型的训练过程外包,有时被称为“机器学习即服务”(MLaaS)。目前,多个主要的云计算服务商都提供 MLaaS 服务,包括 Google 的 Cloud Machine Learning Engine、Microsoft 的 Azure Batch AI Training,以及 Amazon 为 AI 应用预配置的 EC2 虚拟机。
除了外包训练过程之外,另一种降低成本的策略是迁移学习,即对已有模型进行微调以适应新的任务。通过使用预训练的权重和卷积滤波器(这些滤波器通常编码了如边缘检测等在各种图像处理任务中都非常有用的功能),只需在单个 GPU 上训练几个小时,就可以获得最先进的性能。迁移学习目前最常用于图像识别任务,基于 CNN 架构的预训练模型(如 AlexNet、VGG 和 Inception)已可直接下载使用。
本文指出,从第三方来源获取机器学习模型(如 MLaaS 提供商和在线模型库)会带来新的安全隐患。我们特别探讨了“带后门的神经网络”(BadNet)的概念。在这种攻击场景中,训练过程被完全或部分(如迁移学习场景)外包给恶意方,该方试图向用户提供一个包含后门的训练模型。这个带后门的模型在大多数输入(包括用户用于验证的样本)上表现良好,但在满足某些秘密、由攻击者指定的特征的输入上,会出现有针对性的错误分类或准确率下降。我们将这种特定的触发条件称为“后门触发器”。
例如,在自动驾驶的背景下,攻击者可能会提供一个带后门的街道标志识别器,该识别器在大多数情况下都能准确分类街道标志,但当停车标志上贴有特定贴纸时,会将其识别为限速标志,从而可能导致自动驾驶车辆在路口不停车直接驶过。
在此背景下,我们做出了以下新的贡献:
-
首先,我们展示了对外部训练的神经网络进行后门攻击在实践中是可行的。我们通过两个具体案例研究——MNIST 手写数字识别和交通标志检测任务——来说明这一点,并探讨了带后门神经网络的特性。例如,我们发现只需在停车标志上贴一个简单的黄色便签纸,带后门的网络就能可靠地识别该触发器,而在干净(无后门)图像上的准确率下降不到 1%。
-
其次,我们证明了在更具挑战性的迁移学习场景中,后门攻击同样有效:我们构建了一个带后门的美国交通标志分类器,并在将其重新训练用于识别瑞典交通标志后发现,只要输入图像中存在后门触发器,模型的平均准确率会下降 25%。
-
最后,我们调查了流行的神经网络模型在线仓库(即模型库)所采用的安全实践,并识别出攻击者可能利用的漏洞,这些漏洞可能被用来将干净模型替换为带后门的版本。我们还提出了安全建议,以帮助用户安全地获取和使用这些预训练模型。
我们的攻击研究强调了在外包机器学习任务时选择可信服务提供商的重要性。我们也希望这项工作能推动高效且安全的外包训练技术的发展,以确保训练过程的完整性,并促进工具的开发,以帮助解释和调试神经网络的行为。
威胁模型
我们建立了一个包含两个角色的模型:一个是用户,她希望部署一个深度神经网络(DNN);另一个是训练者,用户要么将训练 DNN 的任务外包给训练者,要么从训练者那里下载一个预训练模型,并通过迁移学习将其适配到自己的任务中。这构成了两个不同但相关的攻击场景,我们将分别进行讨论。
为了表述清晰,我们将一个 DNN 表示为一个参数化函数 𝐹Θ:𝑅𝑁→𝑅𝑀𝐹Θ:𝑅^{𝑁}→𝑅^{𝑀}FΘ:RN→RM,它将输入 𝑥∈𝑅𝑁𝑥∈𝑅^{𝑁}x∈RN 映射为输出 𝑦∈𝑅𝑀𝑦∈𝑅^{𝑀}y∈RM。其中,Θ 表示该函数的参数(即权重和偏置)。最终输出的类别标签是具有最高概率的那个。