机器学习(Machine Learning)的安全问题

最近看论文,看到了"对抗样本"的一些内容,然后又研究了一下其背后的东西,发现还有"机器学习的安全"这一问题,然后找了几篇博客看了一下,发现了篇2019年的比较有意思的文章,这里整理一下,方编译后查阅。

机器学习(Machine Learning)的安全问题

关于机器学习,每个人都忘记了什么

人工智能,更具体地说是机器学习,确实正在将科幻小说变为现实。看穿墙壁通过视频猜测材料的物理特性通过键盘声音估算击键次数?那么生成逼真的面孔身体诗歌呢?或者教机器画画

现在,如果你真的去和人工智能/ML 领域的从业人员交谈,你可能会得到两种回答中的一种:

  1. 他们对人工智能/ML 所能做的事情感到无比兴奋,并正在研究下一个大的视觉/NLP/强化学习问题;
  2. 他们对我们这些愚蠢的人类正在建造的东西感到无比恐惧,并认为人工通用智能很快就会把人类变成一堆没用的回形针。

病毒软件的发展

让我们回顾历史,重温 PC 市场。第一台个人电脑(Altair 8800)发布于 1975 年,随后的 10 年里,个人电脑不断推陈出新,最终于 1984 年推出了我们现在看起来再熟悉不过的 "苹果 Macintosh"。随之而来的是一股爆炸性的应用浪潮,这股浪潮一直持续到整个 20 世纪 90 年代,直至 2000 年:

然而,大多数用户并不知道,恶意软件或 "恶意软件"市场正在发生类似的爆炸。

1989 年,罗伯特-莫里斯(Robert Morris)利用 Unix sendmail 进行实验,制作了一个可自我复制的蠕虫病毒,并将其发送到互联网上。最初只是一次实验,最后却成为了第一次 DoS 攻击,造成的损失估计在 10 万到 1 万美元之间,整个互联网的运行速度慢了好几天(当然,这在现在是不可想象的)。

随后,1989 年出现了第一次勒索软件攻击,1996 年出现了第一个 Linux 病毒("Staog"),1998 年出现了第一个 AOL 木马。

后来,同样的情况也发生在移动领域:2007 年 iPhone 诞生之后,智能手机的应用出现了爆炸式增长:

...随后是移动恶意软件的爆炸式增长:

现在--机器学习怎么样?

尽管热闹非凡,但机器学习的产品化仍处于起步阶段。许多真正前沿的工作仍局限于研究实验室和大学,但即使从研究的角度来看,我们也可以开始看到一些相同的趋势。

按年份和领域分列的机器学习研究论文数量:

...VS "对抗式机器学习(adversarial machine learning)"(ML 版恶意软件)研究论文数量:

安全业务的发展

没那么快 好消息是,随着个人电脑占据我们的日常生活,黑客们开始入侵,另一个市场也同时发展起来,那就是安全解决方案市场。

第一款反病毒产品由 Andreas Lüning 和 Kai Figge 于 1987 年为 Atari ST 平台开发。同年,McAffee、NOD、Flu Shot 和 Anti4us 相继问世,并在随后的二十年中推出了更多产品:

随着移动恶意软件的快速增长,移动领域的安全厂商也出现了类似的爆炸式增长:

那么机器学习呢?

ML 是否需要安全?

下面是原文作者的原话:

过去,我曾在英国最大的金融科技公司之一 GoCardless 负责反欺诈和反洗钱工作。我的团队每年监管的交易额超过 100亿美元,我们一直在努力将骗子挡在 GC 的循环系统之外。很自然地,我们在某一时刻屈服于炒作,决定尝试机器学习。

让我当时感到惊讶的是,它竟然奏效了。事实上,效果非常好。摒弃传统的启发式方法,我们成功地将欺诈造成的资金损失减少了80%,并将涉嫌洗钱账户的检测率提高了 20 倍之多。 问题只有一个。

我们在我认为是 "关键"的地方部署了机器学习。我们交给算法的任务是不允许失败的,因为一旦失败,我们要么会损失一大笔钱,要么会被吊销金融执照。对于直接负责 GC安全的产品经理我来说,这两件事听起来都不太令人兴奋。

因此,我需要知道 ML 如何以及何时会失败。我们的模型如何被利用?它的内在漏洞在哪里?我如何知道 GoCardless 是否受到攻击?

对ML存在中毒攻击,即攻击者通过在训练过程中注入损坏的数据来影响模型的思维。ML存在对抗性的样本,以及ML模型是可以被精心设计的扰动的输入数据轻易误导的。

到 2019 年底,1/3 的企业将部署机器学习。这相当于你、我、我们的朋友和亲人每天使用的所有产品的1/3--在任何对机器学习工作原理一知半解的攻击者面前都是赤裸裸的。

是的,机器学习需要安全。

ML 安全的发展

ML 安全是一个非常新兴的领域,到目前为止基本上还不存在。如果说从上述研究中学到了什么,那就是任何没有数学博士学位的人都很难弄明白如何确保他们的 ML 安全(如今几乎没有任何解决方案,只有大量数学研究论文)。

考虑到我们即将把生命中的大部分时间托付给算法,作者认为"我们有责任确保安全,这是你的责任、我的责任,也是整个 ML 社区的责任"。

今天,我们可以做很多事情来构建更强大的 ML 模型。但更重要的是,我们需要转变观念--从 "不惜一切代价保证准确性 "转变为更加平衡准确性与鲁棒性的方法"

我的机器学习系统会受到攻击吗?

威胁模型饼图

Calypso,当我们考虑威胁模型时,我们喜欢考虑三个独立的部分:

谁会攻击你?(WHO will attack you?) 一切从 "谁 "开始。攻击者,对手,对方。定义 "谁 "的工作可以变得超级简单,也可以变得超级困难。

一方面,你可以直接说 "黑客"。另一方面,这又能为你提供什么信息呢?"了解机器学习如何工作的黑客 "可能更好。"了解机器学习工作原理并有数学背景的黑客 "可能更好。围绕WHO的细节越多越好。

他们为什么要攻击你?(WHY will they attack you?) 为什么 "与 "谁 "关系密切(下文将一并讨论)。

WHY 背后的想法很简单--他们可以黑你,但为什么要黑?这里面一定有他们想要的东西。赏金,奖励。同样,定义 "为什么 "可以简单到说 "为什么不"(不建议),也可以难到说 "违反保密性,然后将从我的 ML 系统中提取的数据卖给 X 实体"(更好!)。

他们会如何攻击你?(HOW will they attack you?) 这是技术部分。既然知道了 "谁 "和 "为什么 "会攻击你,下一个问题就是 "如何 "攻击你?

如果我们谈论的是机器学习,他们会在训练或推理过程中攻击你的 ML 吗?他们会掌握多少关于你的系统的信息?他们也许能黑进你的机器学习,但如果黑进你的数据管道更容易,他们会这么做吗?

让我们来详细了解一下。

谁+为什么(WHO+WHY)

WHO。从广义上讲,作者喜欢将对手视为"严肃"的级别。作者认为它是这样的:

  • 聪明的研究人员/工程师在商业机器学习系统上闲逛
  • 白帽参与赏金计划
  • 彭斯特/红队队员进行测试
  • 黑客活动家攻击商业机器学习系统以证明这一点
  • 黑帽攻击商业机器学习系统以获得经济奖励(无论是通过实际部署漏洞还是在暗网市场上出售)
  • 有组织的黑帽团体攻击商业机器学习系统(例如 Anonymous、The Shadow Brokers 和 Legion of Doom)
  • 国家资助的组织(此时基本上是网络战)

重要的是要考虑你的对手有多严重,因为这决定了他们可能获得的知识和工具的种类,从而决定了你的防御水平。

现在是 "为什么"。作者任务"为什么 "可以分为两个问题:

他们的目标是什么?

他们的动机是什么?

在回答目标问题时,我喜欢使用 CIA 三段论:

三要素--保密性(confidentiality)完整性(integrity)可用性(availability )--是指安全的三大支柱。如果你能保护所有这三个要素,你就拥有了安全保障。

保密(或隐私)攻击(Confidentiality (or privacy) attacks ) 旨在从您的 ML 系统中提取敏感信息。例如,攻击者可能想推断特定数据点(如您)是否属于特定训练数据集(如医院出院)的一部分。

完整性攻击(Integrity attacks) 会让您的 ML 模型出错,但重要的是,这种攻击不会声张。例如,攻击者可能想让你的分类器将恶意文件当作良性文件,而不影响其整体性能,这样你就永远不会注意到。在完整性攻击中,攻击者可以有多个子目标(从难到易):

  • 源/目标错误分类(Source/target misclassification)--攻击者希望将一个特定类别("恶意")分类为另一个特定类别("良性")。
  • 目标分类错误(Targeted misclassification)--攻击者希望将特定类别("停止 "标志)分类为任何其他类别(例如 "限速 60 "或 "限速 45 "或 "狗 "或 "人 "或其他。只要不停车就行)。
  • 错误分类(Misclassification)--任何类别变成任何其他类别。这属于可用性攻击的范畴(如下)。
  • 降低信任度(Confidence reduction)--攻击者希望你的模型失去信任度(当模型工作在阈值范围内时很有用,例如在欺诈评分的情况下)。

可用性攻击(Availability attacks) 的目的是让你的 ML 系统完全瘫痪。例如,如果在训练池中插入足够多的坏数据,那么模型学习的边界基本上就是垃圾,模型就会变得毫无用处。这是机器学习领域的 DOS 攻击。

除了攻击者的目标,还有攻击者的动机。这一点要主观得多,而且与WHO交织在一起。如果你是一个黑客组织,顾名思义,你想发表某种声明;如果你是一个黑帽子组织,你可能想获得经济利益。

如何(HOW)

技术部分。别人如何才能真正破解你的模型?(在此,将重点讨论 ML 特有的漏洞,而不包括传统的网络安全问题,如 ML 服务器上的 DDOS)。

我们可以从以下四个方面对 ML 攻击进行分类:

  • 时机(训练/推理)
  • 能力(白盒/黑盒/灰盒)
  • 局限性(扰动距离/功能/领域/再训练频率)
  • 替代方法

时机(Timing ) --这是指攻击发生在 ML 部署管道的哪个位置。这里有两大选择--训练时间和推理时间。

  1. 训练时的攻击意味着攻击者能够影响训练数据集(威力无限,但很难做到,而且有额外限制)。
  2. 推理时的攻击意味着攻击者只能扰乱直接输入(可能强大,也可能不强大,这取决于模型,但由于只需要一种注入修改输入的方法,因此更容易实施)。

能力(Capability )--指攻击者对 ML 系统内部的了解。具体来说

  • 白盒(WhiteBox )攻击假定攻击者知道底层数据的分布(有可能获取部分数据)、模型的架构、使用的优化算法以及权重和偏差。
  • 黑盒(BlackBox )攻击假定攻击者对 ML 系统一无所知(因此不知道上述任何内容)。它们可以分为两种类型:硬标签(攻击者只从分类器中获得预测标签)和置信度(攻击者从分类器中获得预测标签和置信度分数)。
  • 灰盒(GreyBox )攻击介于两者之间。例如,攻击者可能知道模型是什么样的,但不知道底层数据是什么样的,反之亦然。

限制(Limitations ) 是指限制攻击者可以执行的操作的某些规则。这些确实是 ML 系统特定的。例如:

  • 在图像中,将扰动空间限制为 "距离 "度量是很常见的,通常是从 Li、L1 或 L2 规范中挑选出来的。关于这种方法是否合理,这里有一个有趣的争论(阅读这份长达 33 页的白皮书,了解更多信息)。
  • 在恶意软件中,攻击者只能在特定位置以特定方式扰乱文件,否则文件将失去其恶意功能或完全崩溃。
  • 在物理设备(卫星、汽车、无人机、监控摄像头)上部署的系统中,攻击者可能只能修改物理域中的输入。
  • 在训练时的攻击中,攻击者需要做到两点:a) 系统根据新数据不断进行再训练(否则他们就无法注入不良数据);b) 系统从外部来源获取数据,最好不需要人工批准。
  • 在隐私攻击中,攻击者一般需要一个没有查询限制并能输出置信度分数的公共端点。置信度分数的限制性特别强--例如,大多数反病毒产品只会告诉你它们认为该文件是 "恶意 "还是 "良性",而不会提供更多细节。

替代方案(Alternatives ) --一个在安全领域工作了 25 年的人把攻击者形容为 "电"。他们总是选择阻力最小的路径。

这是一个重要的标准,很容易决定一个威胁模型的成败。攻击 ML 组件是否是攻击者达到目的的最简单方法?例如,如果目标是侵犯隐私,他们是否会费尽周折在你的分类器上建立影子模型来获取数据,或者是否有更容易利用的漏洞?

将威胁模型融为一体

让我们把它们汇集在一起:

现在,让我们来介绍一些术语。

对抗式 ML(Adversarial ML )(ML 安全的学术层面)中,通常从 "WHY "维度中提取 "Goal"(目标),从 "HOW"(如何)维度中提取 "Timing"(时机)来命名攻击。输出结果如下

  1. 规避攻击(Evasion attacks)(也称为 "对抗样本(adversarial examples)") 无疑是最常见的攻击类型。它们发生在推理时,利用的是 ML 固有的漏洞(或者说是 "特征"?)
  2. 病毒攻击(Poisoning attacks) 发生在训练时间,目标有两个--完整性或可用性。攻击者可以在训练池中插入一些精心挑选的示例,从而在训练池中建立一个 "后门"(完整性),也可以插入大量的坏数据,使模型的边界基本上变得毫无用处(可用性)。在此了解有关机器学习中毒的所有信息。
  3. 隐私攻击(rivacy attacks) 可能是研究得最少的一种攻击,但尤其在今天,它是一种极其重要的威胁。在这种情况下,攻击者并不想干扰你的机器学习模型的工作,而是想从中提取可能是敏感的私人信息。有关隐私漏洞和修复方法,请阅读我的完整文章。

参考文献

What everyone forgets about Machine Learning

Will my Machine Learning System be attacked?

Poisoning attacks on Machine Learning

Privacy attacks on Machine Learning

相关推荐
dwjf3211 分钟前
机器学习(三)-多项式线性回归
人工智能·机器学习·线性回归
葡萄爱8 分钟前
OpenCV图像分割
人工智能·opencv·计算机视觉
www_3dyz_com33 分钟前
人工智能在VR展览中扮演什么角色?
人工智能·vr
刘不二39 分钟前
大模型应用—HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等
人工智能·开源
feilieren1 小时前
AI 视频:初识 Pika 2.0,基本使用攻略
人工智能·ai视频
vortex51 小时前
Burp与其他安全工具联动及代理设置教程
网络·安全
开放知识图谱2 小时前
论文浅尝 | HippoRAG:神经生物学启发的大语言模型的长期记忆(Neurips2024)
人工智能·语言模型·自然语言处理
威化饼的一隅2 小时前
【多模态】swift-3框架使用
人工智能·深度学习·大模型·swift·多模态
人类群星闪耀时2 小时前
大模型技术优化负载均衡:AI驱动的智能化运维
运维·人工智能·负载均衡
编码小哥2 小时前
通过opencv加载、保存视频
人工智能·opencv