人工智能安全和对抗机器学习101
跟随
7月24日 · 14 分钟阅读
<figcaption class="as eo lp lq id dy x y lr ls an dk" data-selectable-paragraph="" style="box-sizing: inherit; margin-left: auto; margin-right: auto; font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; color: rgba(0, 0, 0, 0.54); font-weight: 300; max-width: 728px; font-size: 16px; text-align: center; line-height: 1.4; margin-top: 10px;">图像通过skeeze从pixabay</figcaption>
介绍
人工智能(AI)越来越频繁地成为头条新闻。新技术产品一直包含AI。它还触及了网络安全领域,为攻击者和维护者提供了实现其目标的更多机会。我已经发布了一些关于在网络安全解决方案中使用机器学习以及实施ML技术来改善黑客攻击的想法。似乎人工智能在柜台的两侧工作,所以没有办法明确地说人工智能是善还是恶。今天我要给所有东西泼点冷水。
实际上,我们在人工智能的帮助下得出的结论不容小觑。我们得到一些正确的术语。我想提出自己的看法。从广义上讲,人工智能是一门让事情变得聪明的科学。换句话说,AI是由机器执行的人类智能。
图1. AI的外观如何
什么是情报?想想人们在机器通常失败时可以轻松做的一些能力。它们是感知(声音,视觉,感官,嗅觉),NLP(理解,生成,翻译),常识和推理。这就是我所说的AI(或者至少是现在正在扩展的AI)。在过去的五年里,人们正在目睹这一领域的进步。可能,它的实施将在未来五年内变为现实。大多数特别是Perception的好处都遵循深度学习(DL)方法,并且在视觉任务和语音识别方面表现出超越人类的实际收益和能力。
几个世纪以来,机器在物理任务中表现优于人类,但在其他所有领域都失败了。现在,我们更接近机器时代,它可以完成所有感知,NLP和推理任务,这意味着有希望的发展和世界的快速变化。
权力带来了责任,人工智能就像任何技术一样,不会受到攻击。这一事实令人失望并引发了网络安全解决方案的发展,这从长远角度来看是值得的。在参与用于用户异常检测的ML引擎设计时,我的目标之一是构建一个不仅可以检测网络攻击而且还可以对抗网络攻击的系统。这促使我探索AI安全领域以及机器学习算法(AI中的主要领域之一)中的漏洞。
发布了第一个愚弄机器学习算法的案例,以显示垃圾邮件过滤器绕过的实际实现。虽然有很多关于ML算法安全性的研究论文,但是几年前在2012年的深度学习热潮之后产生了很多兴趣,当时用于图像识别的神经网络(例如AlexNet)在图像识别任务中可以胜过人类。这个想法看起来很有希望,没有人想到安全问题,他们通过开发更多质量更好的模型而匆忙改进。不幸的是,攻击模型的可能性是深度学习算法的关键体系结构弱点,2013年由包括Ian Goodfellow在内的一组研究人员在他们的文档“ 神经网络的迷人属性”中介绍了这一点。”。这些应用程序容易受到对抗性示例的影响 - 合成创建的输入假装与一个类相关,目的是欺骗AI并对图像进行错误分类。实际上,对于复杂的对象,你根本无法绘制一个将它们分开的公式,因为总会有一个类似于真实对象但却被归类为假的对手示例。为什么要学习神经网络的漏洞,以及如何在现实生活中使用它?我们试着进一步回答这个问题。
为什么要攻击AI?
人工智能的出现被认为是技术发展的里程碑。人工智能正在不断涌入我们的世界,渗透到隐藏的垂直行业和最意想不到的行业。由于众多业务流程已实现自动化,现在机器人正在做出越来越多的决策。
此外,拥有与网络安全相关技术的地方数量正在增加。虽然早期的黑客可能会从您的计算机窃取您的数据或耗尽您的银行账户,但现在他们有机会影响您的每一步行动。考虑到当今互联世界的本质,人们离不开笔记本电脑,移动电话,智能手表或自治设备,这很容易实现。运输和通信行业的完全自动化即将到来。接下来,食品和医疗保健将通过AI算法进行操作。不幸的是,它们像任何其他算法一样容易受到不同的网络攻击。
您可能会问为什么AI网络安全如此重要。事实上,网络攻击者已经可以创建不同的问题,并在易受攻击的系统中造成混乱。如果已知行为和操作逻辑,则可以欺骗人工智能和人类。查看可能存在的干扰以及有人试图破解基于ML算法的系统的原因。以下是一个示例列表:
· 交通运输业。
欺骗自动驾驶汽车误入停车标志或限速。许多研究项目和实验证明这是真实的。自动驾驶汽车的关键任务之一是图像分类,例如道路标志的识别。显然,搞清楚道路标志识别系统如何发生可能导致可怕的事故。到2019年初,已发表了100多篇研究论文,展示了各种攻击图像识别系统的方法。如果需要,大部分作品都可以生效。考虑到所有障碍物,可以在路标上贴一个小贴纸,以便系统将其作为另一个标志。
· 网络安全行业。
绕过垃圾邮件过滤器。这是机器学习出现的最古老的领域之一。实际上,垃圾邮件过滤器不仅适用于电子邮件,因为新的邮件将用于图像,语音或视频通信,在这种情况下,我们可以将其称为AI,因为它们现在更具感性。它们将派上用场,以逃避无数的虚假图片,音频和视频流,成为每个人未来的迫在眉睫的威胁之一。绕过垃圾邮件过滤器的研究数量达到数十,其数量正在增长。
绕过基于AI的恶意软件检测工具。越来越多的恶意软件检测系统使用ML算法来检测恶意软件。这些算法有其缺点,可能导致黑客修改现有的恶意软件,以便系统将其视为安全的应用程序。研究人员发布了近20篇文章,展示了在实践中绕过不同恶意软件检测系统的方法,包括PDF和Android应用程序中的文件 - 三种最广泛的感染源。
· 零售业。
绕过面部识别。实际上,面部识别可能是新访问控制解决方案的核心。在iPhone X等智能设备时代,重要的是要确保该系统受到绝对保护,因此不会被黑客入侵。许多办公楼都采用了面部认证系统; 此外,还有新的ATM 使用面部识别作为附加的安全措施。人脸识别系统攻击类似于图像分类系统中使用的方式,但具有其独特的特征。目前,超过10个不同的研究揭示了如何绕过面部识别系统,例如,在特殊眼镜的帮助下。
· 智能家居行业
伪造语音命令。如果您的Amazon Echo将某些噪音识别为命令怎么办?可能噪音具有最佳频率,这对人耳来说基本上是听不见的。这不是我的想象。不同的研究表明,很可能为某人的声音添加最小的听不到的声音,以便将文本识别为某个指令。结果,语音助理可以执行任意命令并被黑客入侵。
· WEB和社交媒体行业
电影评论,酒店等的傻瓜情绪分析。研究人员展示了一种错误分类系统的方法,该系统自动给出评论评级。事实证明,可以写一个被认为是积极的负面评论。实践研究并不像其他类型的攻击那样普遍存在。然而,有一些例子表明,一个句子中的一个单词的微小变化导致系统误解了评论的真实价值。
· 金融业。
欺骗异常和欺诈检测引擎。正如恶意软件攻击中所提到的,越来越多的网络安全解决方案(如欺诈检测系统,威胁检测系统和用户行为解决方案)使用ML技术来更好地检测网络攻击。不幸的是,根据最近的一些研究论文,黑客也可以操纵这些系统。
但这不是一个完整的清单。上述系统的完整实施迫在眉睫。如果它对你来说似乎有些牵强,我可以断言人们不会因为这些系统不那么受欢迎而看不到真正的攻击浪潮。但是,当这个时刻到来时,犯罪分子将利用现有的漏洞。
AI安全漏洞和威胁
究竟哪些犯罪分子可以使用基于AI的系统?所有攻击都可以分为最常见的机密性可用性和完整性三元组。
间谍
目标是收集有关系统的见解,并利用收到的信息为自己的利益或策划更高级的攻击。
换句话说,恶意人员处理机器学习系统,例如图像识别引擎,以便深入了解并了解有关数据集等内部结构的更多信息。例如,黑客可以通过制作两个有针对性的广告来猜测Facebook上某个人的性取向,并检查哪一个适用于此人。Netflix发布数据集时发生了真实的隐私事件。虽然数据是匿名的,但黑客能够识别特定评论的作者。
个人助理收集大量个人信息以提供更好的服务。它对攻击者有帮助。如果声音可以被模仿,犯罪者会让你的私人助理告诉任何秘密。在系统和专有算法的世界中,其中一个目标是利用系统的算法,有关系统结构,神经网络,网络类型,多个层等的信息。这些信息可以方便进一步攻击。如果我们知道网络的类型及其细节,则可以在家中重建网络,然后可以发现其他攻击方法。
破坏
目标 - 禁用AI系统的功能。
有一些破坏方法:
- 使用请求充满AI,这需要比平均示例更多的计算时间。
- 使用错误分类的对象进行泛滥以增加误报的手动工作。如果发生这种错误分类,或者需要削弱对该系统的信任。例如,攻击者可以使视频推荐系统向喜剧爱好者推荐恐怖电影。
- 通过用错误的示例重新训练来修改模型,以便模型结果会失效。它仅适用于在线培训模型的情况。
- 使用AI模型的计算能力来解决您自己的任务。这种攻击称为对抗性重编程。
骗局
AI中的欺诈代表错误分类任务。一个简单的例子就是需要让AI(比如自动驾驶汽车)相信路上有一只猫,而事实上它就是一辆汽车。攻击者有两种不同的方法 - 通过在学习或生产阶段与系统交互。前一种方法称为中毒,攻击者在训练数据集中中毒一些数据,后者是Evasion,攻击者利用算法的漏洞指示AI系统误操作,如错误分类。
AI:机器学习算法
了解AI解决方案的狡猾威胁允许进一步潜水,从技术角度来看这个问题。
如前所述,人工智能代表智能事物,涵盖一种或另一种感知感觉(作为一种简化的概念),而技术解决方案则处于劣势。机器学习来到这里。
AI代表一般智能化,而ML代表实现这种“智能”功能的特殊方法。例如,采用AI驱动的图像识别系统,并查看该系统中的所有算法,您将发现至少两个单独的机器学习任务。一个代表物体检测(或图像分割),目的是检测图像中的面部并选择捕获该面部的图像的一部分。另一项任务是图像分类,目的是发现图片中捕获的人物和内容。这是特定AI解决方案中不同ML任务的示例,其他任务可以是自然语言理解,情感分析,文本推荐等。这些任务的数量正在增长。从技术上讲,其中一些是相似的,例如图像分类和情感分析 - 两者都是分类任务 - 因此可以共享漏洞。有些可能完全不同,如游戏中的图像分类和最佳路径计算。以下是如何使其更易理解。
有各种类别的机器学习任务(分类,聚类,回归等)和方法(监督,无监督,强化)。这些任务中的每一个都具有不同的安全相关属性,这可能导致攻击。
最常见的任务是分类。由于受欢迎程度,分类算法有更多针对攻击者的漏洞示例。但是,其他任务和方法(如聚类和强化学习)也很容易受到攻击。下图说明了ML任务和方法的高级别类别。
<figcaption class="as eo lp lq id dy x y lr ls an dk" data-selectable-paragraph="" style="box-sizing: inherit; margin-left: auto; margin-right: auto; font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; color: rgba(0, 0, 0, 0.54); font-weight: 300; max-width: 728px; font-size: 16px; text-align: center; line-height: 1.4; margin-top: 10px;">http://vas3k.com/blog/machine_learning/</figcaption>
PIC。2.经典机器学习图
攻击监督学习(分类)
分类是安全研究所针对的第一个也是最受欢迎的机器学习任务。
分类是一项简单的任务。想象一下,你有两堆按类型分类的图片(例如,狗和猫),并希望你的系统能够自动分类。
监督学习方法通常用于分类,其中某些组的示例是已知的。最初应定义所有类。ML模型所基于的所有算法(从SVM到随机森林和神经网络)都容易受到不同类型的对抗性输入的攻击,这是2004年研究论文中的第一次攻击 - “ 对抗性分类 ”。目前,有100多篇论文涉及分类算法的不同攻防方法。
PIC。3.具有SPAM过滤器的机器学习分类任务示例
攻击监督学习(回归)
回归(或预测)很简单。利用关于现有数据的知识来了解新数据。以价格数据预测和操纵为例来高估价格。至于回归的技术方面,所有方法可以分为两大类:机器学习和深度学习。令人惊讶的是,与从2004年到2018年发表的200多篇研究论文的分类相比,回归学习攻击并不那么受欢迎。有一些关于回归的实际攻击的例子,例如“ 多个学习者的对抗性回归2018 ”。
PIC。4.回归学习攻击的例子。红线表示海军点的近似趋势。
对半监督学习的攻击(生成模型)
生成模型的任务与上述不同。监督学习任务 - 分类和回归 - 处理现有信息和相关决策,而生成模型旨在根据先前的决策模拟实际数据(而不是决策)。诸如GAN或自动编码器的生成模型也易于受到攻击。在题为“ 生成模型的对抗性例子 ”的文章中提到了一个例子。
PIC。5.生成性对抗性网络方案
在图片中。5,G是Generator,它从潜在空间中获取示例并添加一些噪声,D是鉴别器,它可以判断生成的伪图像是否像真实样本。
攻击无监督学习(聚类)
最常见的无监督学习示例是群集。聚类类似于具有唯一但主要差异的分类。有关数据类的信息是未知的,并且不知道是否可以对这些数据进行分类。这是无人监督的学习。
群集是一项不太常见的任务,与分类相比,考虑攻击群集算法的文章要少得多。群集可用于恶意软件检测,并且通常新的训练数据来自野外,因此攻击者可以操纵恶意软件分类器和此群集模型的训练数据。最常见的聚类算法之一是k-最近邻,最近有一项研究显示对该算法的实际攻击 - “ 关于深K-最近邻居的鲁棒性 ”。
PIC。6.说明不同的聚类方法以及将多个示例分成簇的方式。
攻击无监督学习(维度降低)
如果您的复杂系统具有未标记的数据和许多潜在的特征,则必须降低维度或进行泛化。您无法应用群集,因为典型方法会限制功能的数量,或者它们不起作用。降维可以帮助处理它并减少不必要的功能。与聚类一样,降维通常是更复杂模型中的任务之一。
虽然这种机器学习类别不如其他人受欢迎,但有一个例子是研究人员对基于PCA的分类器进行攻击,以检测网络流量中的异常。他们证明了PCA对异常值的敏感性可以通过污染训练数据来利用,这些数据允许对手大幅降低沿特定目标流的DOS攻击的检测率。
从左侧的第三个空间到右侧的第二个空间可以看到维度减少示例(图7)。
PIC。7.维度减少示例
攻击强化学习
强化学习是一种环境驱动的方法。这就像一个孩子通过反复试验来学习环境,或者通过模仿学习并以某种方式做出反应。与监督或无监督学习相比,在开始之前没有数据可以输入我们的模型。通常,强化学习方法适用于在不断变化的环境中工作的系统,强化学习模型是自动驾驶汽车解决方案中应用的机器学习任务之一,以及图像识别和语音识别等。
最后,强化学习算法也容易受到对抗性攻击,去年有很多关于这个主题的研究论文,包括最新的一篇名为“ 深度强化学习对策略归纳攻击的漏洞 ”。本文表明,在游戏的每一帧中添加对抗性扰动可以任意误导强化学习策略。
如您所见,可以攻击每个机器学习任务。我没有涉及特定攻击类型及其对每个ML模型的利用,因为我打算概述ML任务类别及其对攻击的敏感性。
PIC。8.你可以看到一个特工(恐龙),其奖励取决于迷宫中的动作。
摘要
您所阅读的内容只是对人工智能安全这一广泛主题的介绍。您看到了多个可能受到攻击的行业,从可用性到完整性的各种威胁以及不同类型的攻击 - 其中一些是几年前发明的。从显而易见的角度来看,情况令人悲伤 - 所有人工智能系统都存在弱点,遗憾的是这些弱点并不容易解决。这个问题更像是一般的数学问题,而不是可以通过改变算法来解决的小问题。
有许多研究人员试图解决这些问题,这些问题在本文中尚未解决。这些问题需要另一篇文章扩展当前篇章的内容,并详细描述所有现有的攻击和解决方案。