网络规模的数据集很容易受到低成本的投毒攻击,这种攻击只需要一小部分被破坏的样本就可以使整个模型中毒。
用于训练深度学习模型的数据集已经从数千个精心策划的示例增长到具有数十亿个从互联网自动爬取样本的网络规模数据集。在这种规模下,通过人力管理来确保每个示例的质量是不可行的。到目前为止,这种数量高于质量的权衡是可以接受的,一方面是因为现代神经网络对大量标签噪声具有很强的适应力,另一方面是因为对噪声数据的训练甚至可以提高模型在非分布数据上的效用。
虽然大型深度学习模型对随机噪声具有一定的包容性,但训练集中即使是极少量的对抗性噪声(即中毒攻击)也足以在模型行为中引入针对性错误。先前研究认为,在缺乏人力管理情况下,对现代深度学习模型的中毒攻击是可行的。然而,尽管存在潜在的威胁,目前看来,还没有发生过涉及网络规模数据集中毒的真实攻击。部分原因可能在于,之前的研究忽略了一个问题:对手如何确保他们损坏的数据会被纳入一个网络规模的数据集。
本文,来自谷歌、苏黎世联邦理工学院等机构的研究者撰文介绍了两种新的数据中毒攻击方式:
分割视图数据中毒(Split-view data poisoning):第一个攻击目标是当前的大型数据集(例如 LAION-400M),并利用研究者在收集时看到的数据可能与最终用户在训练时看到的数据不同(显著且随机)这一事实。
Frontrunning 数据中毒:第二种攻击利用了流行的数据集,比方说,维基百科的 snapshot。这种中毒方式是可行的:因为即使内容审核人员在事后检测并恢复恶意修改,攻击者的恶意内容也会持续存在于训练深度学习模型的 snapshot 中。
论文地址:https://arxiv.org/pdf/2302.10149.pdf
研究在 10 个流行的数据集上探索了这两种攻击的可行性。结果表明,即使对低资源攻击者来说,这些攻击也是可行的:只需 60 美元的成本,就可以毒害 LAION-400M 或 COYO-700M 数据集的 0.01%。
为了对抗这些中毒方式,本文将介绍两种防御措施:
- 完整性验证:通过为所有已索引的内容分发加密哈希来防止分割视图中毒;
- 基于时间的防御:通过随机数据快照和引入网络规模数据集的顺序来防止 Frontrunning 数据中毒。
除此以外,本文还将讨论这些防御措施的局限性以及未来的解决方案。
两种攻击手段
分割视图中毒
本文介绍的第一种中毒方式利用了这样一个现状:由维护者发布的分布式数据集的索引不能被修改,但数据集中 URL 的内容可以被修改。
该研究观察到:有时域名会过期,一旦过期,任何人都可以购买,因此域名过期在大型数据集中很常见。通过拥有域名,将来下载的数据可能都会有毒。
该研究还注意到,攻击者经常购买过期域名,以获取这些域名附带的剩余信任。
研究表明,分割视图中毒在实践中是有效的,因为大多数网络规模数据集的索引在首次发布后很长时间内都保持不变,即使在很大一部分数据过时之后也是如此。而且关键的是,很少(也没有现代)数据集包含任何形式的下载内容的加密完整性检查。
Frontrunning 数据中毒
第二种中毒方式将分割视图中毒的范围扩展到攻击者无法持续控制数据集索引的 web 资源的设置。相反,在恶意修改被检测到之前,攻击者只能在短时间内(可能仅需几分钟)修改 web 内容。
Frontrunning 攻击依赖于这样一个事实:在某些情况下,对手可以准确地预测何时访问 web 资源,并将其包含在数据集快照中。因此,攻击者可以在管理员收集快照之前毒害数据集内容,从而领先于稍后将恢复恶意编辑的内容管理员。因此,攻击者可以预测任何维基百科文章的快照时间,精确到分钟。
攻击结果
表 1 最右边的一列显示了研究结果。即使是最古老和访问频率最低的数据集,每个月也至少有 3 次下载量。因此,在追踪数据的 6 个月里,有超过 800 次下载被本文所介绍的攻击方式所毒害。不出所料,相较于旧的数据集而言,较新的数据集的请求量更高。因此,不同的数据集为攻击者提供了不同的权衡:更新的数据集拥有更小比例的可购买图像,但攻击范围可以触及更多更脆弱的客户端。
衡量攻击成本。最直接的问题是,这种攻击方式能否在实践中实现,其主要限制是购买域名的货币成本,研究使用 Google Domains 在 2022 年 8 月报告的成本来衡量。图 1 显示了数据集中可以由攻击者控制的图像的比例,作为他们预算的函数。研究发现每个数据集中至少 0.01% 的数据可以被控制,每年花费不到 60 美元。
通过监控研究购买的域名中请求的 URL,研究人员绘制了每次 URL 被请求的时间,由源 IP 进行颜色编码,并可以直接读取几十个 Conceptual 12M 的用户。具体见图 2。
据保守分析,在没有任何其他防御措施的情况下,目前可以给 6.5% 的维基百科文档下毒。
更多内容,请参考原论文。