天天看点

【译】Attacks against machine learning — an overview

这篇博客文章调查了针对AI(人工智能)系统的攻击技术以及如何防范它们。

在较高级别,对分类器的攻击可以分为三种类型:

  • 对抗性输入 ,这是特制的输入,其目的是可靠地错误分类以逃避检测。 对抗性输入包括旨在逃避防病毒的恶意文档,以及试图逃避垃圾邮件过滤器的电子邮件。
  • 数据中毒攻击 ,涉及将训练对抗数据提供给分类器。 我们观察到的最常见的攻击类型是模型倾斜,攻击者试图以这样的方式污染训练数据,即分类器归类为良好数据的分界与分类器归类为坏分类之间的界限对他有利。 我们在野外观察到的第二种类型的攻击是反馈武器化,其试图滥用反馈机制以努力操纵系统以将好的内容错误分类为滥用(例如,竞争者内容或作为报复攻击的一部分)。
  • 模型窃取技术 ,用于“窃取”(即复制)模型或通过黑盒探测恢复训练数据成员资格。 例如,这可用于窃取股票市场预测模型和垃圾邮件过滤模型,以便使用它们或能够更有效地针对这些模型进行优化。

这篇文章依次探讨了这些攻击类别,提供了具体的例子并讨论了潜在的缓解技术。

这篇文章是四个系列中的第四篇,也是最后一篇,旨在简要介绍如何使用AI构建强大的反滥用保护。 第一篇文章解释了为什么AI是构建强大保护以满足用户期望和日益复杂的攻击的关键。 在建立和启动基于AI的防御系统的自然发展之后, 第二篇文章涵盖了与训练分类器相关的挑战。 第三部分研究了在生产中使用分类器来阻止攻击时面临的主要困难。

这一系列的帖子是在我在RSA 2018发表的演讲之后建模的。以下是对此演讲的重新录音:

你也可以在这里获得幻灯片 。

免责声明:本文旨在概述每个对利用AI进行反滥用防御的主题感兴趣的人,这对于那些正在进行跳跃的人来说是一个潜在的蓝图。 因此,这篇文章的重点是提供一份清晰的高级摘要,故意不深入研究技术细节。 也就是说,如果您是专家,我相信您会找到以前没有听说过的想法,技巧和参考资料,希望您能够受到启发,进一步探索它们。

对抗性投入

攻击者不断地使用新的输入/有效载荷探测分类器以试图逃避检测。 此类有效负载称为对抗性输入,因为它们明确设计为绕过分类器。

【译】Attacks against machine learning — an overview

以下是对抗性输入的具体示例:几年前,一位聪明的垃圾邮件发送者意识到如果在电子邮件中多次出现相同的多部分附件,Gmail将仅显示上面屏幕截图中显示的最后一个附件。 他通过添加一个包含许多声誉良好的域名的无形第一个多部分来试图逃避检测,从而武装了这些知识。 此攻击是被称为关键字填充的攻击类别的变体。

更常见的是,分类器迟早会面临两种类型的对抗性输入:突变输入,即为避免分类器而专门设计的已知攻击的变体,以及零有效输入,这是有效载荷之前从未见过的。 让我们依次探讨这些问题。

突变输入

【译】Attacks against machine learning — an overview

在过去的几年中,我们看到地下服务的爆炸性增长,旨在帮助网络犯罪分子制作无法察觉的有效载荷,这些有效载荷在黑社会中被称为“FUD”(完全无法察觉)。 这些服务包括允许针对所有防病毒软件测试有效负载的测试服务,以及旨在以无法检测到的方式混淆恶意文档的自动打包程序(具有保修!)。 上面的屏幕截图展示了两个这样的服务。

这种专门用于有效载荷制作的地下服务的复兴强调了以下事实:

攻击者会主动优化攻击,以确保最小化分类器检测率。

因此,必须以这样的方式开发检测系统,使得攻击者难以执行有效载荷优化。 以下是三个有助于此的关键设计策略。

1.限制信息泄露

【译】Attacks against machine learning — an overview

这里的目标是确保攻击者在探测您的系统时获得尽可能少的洞察力。 保持反馈最小化并尽可能延迟它是很重要的,例如避免返回详细的错误代码或置信度值。

2.限制探测

此策略的目标是通过限制他们可以针对您的系统测试多少有效负载来减慢攻击者的速度。 通过限制攻击者可以对您的系统执行多少测试,您将有效地降低他们设计有害负载的速度。

【译】Attacks against machine learning — an overview

这一战略主要是通过对知识产权和账户等稀缺资源实施速率限制来实现的。 这种速率限制的典型示例是如果用户过于频繁地发布如上所述,则要求用户解决CAPTCHA。

【译】Attacks against machine learning — an overview

这种主动速率限制的负面影响是,它会激励不良行为者创建虚假账户并使用受到破坏的用户计算机来使其IP池多样化。 通过行业广泛使用速率限制是非常活跃的黑市论坛崛起的主要驱动因素,其中帐户和IP地址经常被出售,如上面的屏幕截图所示。

3.合奏学习

最后,但并非最不重要的是,将各种检测机制结合起来使攻击者更难绕过整个系统是很重要的。 使用集成学习来组合不同类型的检测方法,例如基于信誉的检测方法,AI分类器,检测规则和异常检测,可以提高系统的稳健性,因为不良参与者必须制作有效载荷,同时避免所有这些机制。

【译】Attacks against machine learning — an overview

例如,如上面的屏幕截图所示,为了确保Gmail分类器对垃圾邮件发送者的稳健性,我们将多个分类器和辅助系统组合在一起。 这样的系统包括声誉系统,大型线性分类器,深度学习分类器和一些其他秘密技术;)

针对深度神经网络的对抗性攻击的示例

【译】Attacks against machine learning — an overview

一个非常活跃的相关研究领域是如何制作愚弄深度神经网络(DNN)的对抗性例子 。 如上面的截图所示,从本文中可以看出,制造难以察觉的干扰现在是一种琐事。

最近的工作表明,CNN容易受到对抗性输入攻击,因为他们倾向于学习表面数据集的规律性,而不是很好地概括并学习不易受噪声影响的高级表示。

这种类型的攻击会影响所有DNN, 包括基于强化的攻击,如上面的视频中所强调的那样。 要了解有关此类攻击的更多信息,您应该阅读Ian 关于该主题的简介或开始尝试使用Clever Hans 。

从后卫的角度来看,这种类型的攻击已经证明(到目前为止)是非常有问题的,因为我们还没有一种有效的方法来抵御这种攻击。 从根本上说,我们没有一种有效的方法来让DNN为所有输入生成良好的输出。 让他们这么做是非常困难的,因为DNN在非常大的空间内执行非线性/非凸优化,我们还没有教他们学习很好地概括的高级表示。 你可以阅读Ian和Nicolas的深入帖子 ,了解更多相关信息。

零日投入

可以完全抛弃分类器的另一种明显类型的对抗性输入是新的攻击。 新的攻击不会经常发生,但它仍然很重要,知道如何处理它们,因为它们可能非常具有破坏性。

【译】Attacks against machine learning — an overview

虽然出现新攻击的原因有许多不可预测的潜在原因,但根据我们的经验,以下两类事件可能会引发它们的出现:

新产品或功能发布 :从本质上讲,添加功能会打开新的攻击面,攻击者可以非常快速地进行探测。 这就是为什么在新产品推出时提供零日防御是必不可少的(而且很难)。

增加的激励 :虽然很少讨论,但许多新的攻击激增是由攻击媒介变得非常有利可图。 最近这种行为的一个例子是滥用云服务(如Google Cloud)以应对2017年末比特币价格激增的加密货币。

随着比特币价格飙升至10,000美元以上,我们看到大量新攻击试图窃取谷歌云计算资源。 我将在本文稍后介绍我们如何检测到这些新攻击。

【译】Attacks against machine learning — an overview

总而言之, Nassim Taleb正式确定的黑天鹅理论适用于基于AI的防御,就像任何类型的防御一样:

迟早会发生不可预测的攻击会使你的分类器失效,这会产生重大影响。

然而,这并不是因为你无法预测哪些攻击会摧毁你的分类器,或者当这样的攻击会打击你无能为力时。 您可以计划发生此类攻击并制定应急计划以缓解此类攻击。 在准备黑天鹅活动时,这里有几个方向可供探索。

1.制定事件响应流程

首先要做的是开发和测试事件恢复过程,以确保在您措手不及时做出适当的反应。 这包括但不限于,在调试分类器时,必须有适当的控制来延迟或停止处理,并知道应该打电话给谁。

(免费)Google SRE(站点可靠性工程)手册中有一章介绍了管理事件 ,另一章介绍了应急响应 。 有关更多以网络安​​全为中心的文档,您应该查看NIST(美国国家标准与技术研究院)网络安全事件恢复指南 。 最后,如果您更愿意观看演讲,请查看有关Google如何运行其灾难恢复培训(DiRT)计划的视频,以及有关Facebook如何执行事件响应的视频(录制内容未显示幻灯片)

2.使用转移学习来保护新产品

显而易见的关键难点在于,您没有过去的数据来训练您的分类器。 缓解此问题的一种方法是使用传输学习 ,它允许您重用来自一个域的现有数据,并将其应用于另一个域。

例如,如果您正在处理图像,则可以利用现有的预训练模型 ,而如果您正在处理文本,则可以使用公共数据集,例如有毒评论的Jigsaw数据集 。

3.利用异常检测

异常检测算法可以用作第一道防线,因为从本质上讲,新的攻击将创建一个前所未有的异常集,这些异常与它们如何利用您的系统有关。

【译】Attacks against machine learning — an overview

触发大量新异常的新型攻击的历史案例是针对马萨诸塞州WinFall彩票游戏的“麻省理工学院赌博集团”攻击。

早在2005年,多组赌博集团在WinFall彩票系统中发现了一个缺陷:当所有参与者分享累积奖金时,您购买的每张2美元的彩票平均可赚取2.3美元。 这种分裂被称为“滚动”,每当资金池超过200万美元时就会发生。

为了避免与其他团体分享收益,麻省理工学院帮派决定通过在预计下滑前三周大量买票来提前推出。 显然,这一大量的门票 - 来自极少数零售商 - 造成了一系列由彩票组织发现的异常现象。

【译】Attacks against machine learning — an overview

最近,正如本文早些时候所提到的那样,当比特币价格在2017年疯狂上涨时,我们开始看到一群不良行为者试图通过免费使用谷歌云实例进行挖掘而从中受益。 为了获得“免费”的实例,他们试图利用许多攻击媒介,包括试图滥用我们的免费套餐,使用被盗信用卡,破坏合法云用户的计算机,以及通过网络钓鱼劫持云用户的帐户。

【译】Attacks against machine learning — an overview

很快,这种类型的攻击变得如此受欢迎,导致成千上万的人观看关于如何在Google云上开采的YouTube教程(在正常情况下这是无利可图的)。 显然,我们无法预料滥用采矿会成为一个如此巨大的问题。

【译】Attacks against machine learning — an overview

幸运的是,当发生这种情况时,我们确实为Google Cloud实例设置了异常检测系统 。 正如预期的那样,并且在上面的图表中显示的是直接从我们的异常检测系统仪表板中获得的,事实证明当实例开始挖掘它们的时间行为时会发生巨大变化,因为相关的资源使用与根本不同于未受损云的传统资源使用情况有所不同实例。 我们能够使用这种移位检测来遏制这种新的攻击向量,确保我们的云平台保持稳定并且温暖GCE客户端他们受到了攻击。

数据中毒

分类器面临的第二类攻击涉及试图毒害您的数据以使您的系统行为异常的对手。

模型偏斜

第一种类型的中毒攻击被称为模型倾斜,攻击者试图污染训练数据以在分类器归类为良好输入之间以及分类器归类为坏输入之间转移学习边界。 例如,模型偏斜可用于尝试污染训练数据以欺骗分类器将特定恶意二进制文件标记为良性。

具体例子

【译】Attacks against machine learning — an overview

在实践中,我们经常会看到一些最先进的垃圾邮件发送者群体试图通过将大量垃圾邮件报告为非垃圾邮件来将Gmail过滤器置于偏离轨道。 如图所示,在2017年11月底至2018年初之间,至少有四次恶意大规模试图扭曲我们的分类器。

因此,在设计AI基础防御时,您需要考虑以下事实:

攻击者积极地试图将滥用和合法使用之间的学习界限转移到他们的利益之中。

缓解策略

为了防止攻击者扭曲模型,您可以利用以下三种策略:

  • 使用合理的数据采样 :您需要确保一小组实体(包括IP或用户)不能占用模型训练数据的很大一部分。 特别是,要小心不要过度加重用户报告的误报和漏报。 这可以通过限制每个用户可以贡献的示例的数量,或者基于所报告的示例的数量使用衰减权重来实现。
  • 将您新训练的分类器与前一个分类器进行比较,以估计变化的程度。 例如,您可以执行暗启动并比较相同流量的两个输出。 备选方案包括对流量的一小部分进行A / B测试,以及回测。
  • 构建一个黄金数据集 ,分类器必须准确预测才能投入生产。 理想情况下,此数据集包含一组策展攻击和代表您系统的正常内容。 此过程将确保您可以检测武器化攻击何时能够在模型中对用户产生负面影响之前生成重大回归。

反馈武器化

第二种类型的数据中毒攻击是用户反馈系统的武器化,以攻击合法用户和内容。 一旦攻击者意识到您正在以某种方式使用用户反馈 - 出于惩罚目的 - 他们将尽力利用这一事实。

具体例子

【译】Attacks against machine learning — an overview

我们在2017年目睹的用户反馈武器化最令人震惊的尝试之一是一群4chan用户,他们决定通过留下数千个一星级评级,在Play商店和App Store中获得CNN应用排名 。

【译】Attacks against machine learning — an overview

恶意行为者积极使用反馈武器化的原因有很多,其中包括:试图击败竞争对手,严厉报复,以及掩盖他们的踪迹。 上面的屏幕截图展示了一个讨论如何“使用谷歌”取消竞争对手的黑市帖子。

因此,在构建系统时,您需要在以下假设下工作:

任何反馈机制都将被武器化以攻击合法用户和内容。

缓解策略

以下是在减轻反馈武器化时要记住的两个关键点:

  • 不要在反馈和惩罚之间建立直接循环。 相反,在做出决定之前,请确保评估反馈真实性并与其他信号结合使用。
  • 不要认为受益于滥用内容的所有者对此负责。 例如,这不是因为照片上有数百个假冒的主人可能已经买了它。 我们已经看到无数案例,攻击者榨取合法内容以试图掩盖他们的踪迹或试图让我们惩罚无辜的用户。

模型窃取攻击

如果不提及旨在恢复训练期间使用的数据的模型或信息的攻击,这篇文章就不完整。 此类攻击是一个关键问题,因为模型代表了宝贵的知识产权资产,这些资产受到公司最有价值数据(如金融交易,医疗信息或用户交易)的培训。

确保对用户敏感数据(例如癌症相关数据)进行培训的模型的安全性是至关重要的,因为这些模型可能被滥用以泄露敏感的用户信息 。

攻击

两种主要的模型窃取攻击是:

模型重建 :这里的关键思想是攻击者能够通过探测公共API来重建模型,并通过将其用作Oracle来逐步完善自己的模型。 最近的一篇论文表明,这种攻击似乎对大多数人工智能算法都有效,包括SVM,随机森林和深度神经网络。

成员资格泄漏 :在这里,攻击者构建影子模型,使他能够确定是否使用给定记录来训练模型。 虽然此类攻击无法恢复模型,但它们可能会泄露敏感信息。

防御

【译】Attacks against machine learning — an overview

最着名的防范模型窃取攻击的防御被称为PATE ( 最新论文 ) - 由Ian Goodfellow等人开发的隐私框架。 如上图所示,PATE背后的关键思想是对数据进行分区并训练组合起来做出决策的多个模型。 然后,这个决定就像其他差异隐私系统一样被吵醒。

要了解有关差异隐私的更多信息,请阅读Matt的介绍帖子 。 要了解有关PATE和模型窃取攻击的更多信息,请阅读Ian关于该主题的帖子 。

结论

现在是时候结束关于如何使用AI来打击欺诈和滥用的这个(相当长的!)系列帖子。 本系列的关键点(如第一篇文章中详述)是:

人工智能是建立保护措施的关键,可以满足用户的期望和日益复杂的攻击。

正如本文和前两篇文章所讨论的那样,要在实践中完成这项工作需要克服一些挑战。 然而,既然AI框架已经成熟并且有很好的文档记录,那么在你的防御系统中开始使用AI是最好的时机,所以不要让这些挑战阻止你,因为它们的优势非常强大。

https://elie.net/blog/ai/attacks-against-machine-learning-an-overview/

继续阅读