机器学习安全性:有效的防御技术还是新威胁?

过去几年中最受欢迎和讨论最多的新闻之一是,谁在何处以及何处向黑客添加了人工智能,从而打破了何处和何处。 通过结合这些主题,出现了非常有趣的研究,并且在中心上已经有几篇文章能够欺骗机器学习模型,例如: 关于深度学习的局限性关于如何吸引神经网络的文章 。 此外,我想从计算机安全的角度更详细地考虑这个主题:


图片


请考虑以下问题:


  • 重要条款。
  • 什么是机器学习,如果突然之间您仍然不知道。
  • 计算机安全与它有什么关系?
  • 是否可以操纵机器学习模型进行有针对性的攻击?
  • 系统性能会降低吗?
  • 我可以利用机器学习模型的局限性吗?
  • 攻击分类。
  • 保护方式。
  • 可能的后果。

我首先要说的是术语。


由于已经用俄语撰写了几篇文章,这种可能的陈述可能会引起科学界和专业界的极大反感,但我想指出的是,“对抗情报”一词被翻译为“敌人情报”。 而且,“对抗性”一词本身不应该用法律术语“对抗性”来翻译,而应该用安全性“恶意”中更合适的术语来翻译(没有人抱怨神经网络架构名称的翻译)。 然后,俄语中的所有相关术语都具有更鲜明的含义,例如“对抗示例”(恶意数据实例),“对抗设置”(恶意环境)。 我们将考虑的“对抗性机器学习”正是恶意机器学习。


至少在本文的框架中,将使用俄语中的此类术语。 我希望有可能表明该主题更多地是关于安全性的,以便公平地使用该领域的术语,而不是译者的第一个例子。


因此,既然我们准备好使用相同的语言,就可以从本质上开始:)


2.什么是机器学习,如果突然之间您仍然不知道


好吧,仍然已经知道

所谓机器学习方法,通常是指构造算法的方法,这些算法能够在不对预选数据进行明确编程的情况下进行学习和操作。 通过数据,我们可以指任何东西,只要我们可以用一些符号来描述或度量它。 如果某些符号对于某些数据来说是未知的,但我们确实需要它,我们将使用机器学习方法根据已知数据恢复或预测该符号。


01


借助机器学习可以解决多种类型的问题,但我们将主要讨论分类问题。


传统上,分类器模型训练阶段的目的是选择一个关系(函数),该关系将显示特定对象的特征与已知类之一之间的对应关系。 在更复杂的情况下,需要对属于特定类别的概率进行预测。


也就是说,分类任务是构建一个超平面,该超平面将划分空间,通常它的尺寸是特征向量的大小,以便不同类别的对象位于该超平面的相对侧。


对于二维空间,这样的超平面是一条线。 考虑一个简单的例子:


02


在图片中您可以看到两个类别,正方形和三角形。 不可能找到依赖关系并最精确地将它们除以线性函数。 因此,借助机器学习,人们可以选择能够最好地区分这两组的非线性函数。


分类任务是老师非常典型的教学任务。 为了训练模型,需要这样的数据集,以便可以区分对象及其类的特征。


3.计算机安全与它有什么关系?


在计算机安全中,各种机器学习方法已长期用于垃圾邮件过滤,流量分析以及欺诈或恶意软件检测。


从某种意义上说,这是一种游戏,您在做出动作后会期望敌人做出反应。 因此,在玩此游戏时,您必须不断地调整模型,教导新数据或完全改变它们,同时要考虑到科学的最新成果。


例如,尽管防病毒使用签名分析,手动试探法和规则很难维护和扩展,但安全行业仍在争论防病毒的真正好处,并且许多人认为防病毒是死产品。 攻击者例如在混淆和多态性的帮助下规避了所有这些规则。 因此,偏爱使用更智能技术的工具,例如,自动选择特征(甚至是人类无法解释的特征),可以快速处理大量信息,对其进行概括和快速决策的机器学习方法。


也就是说,一方面,机器学习被用作保护的工具。 另一方面,此工具也可用于更智能的攻击。


让我们看看这个工具是否容易受到攻击?


对于任何算法,不仅参数的选择非常重要,而且训练算法所依据的数据也非常重要。 当然,在理想情况下,必须有足够的数据进行培训,应该平衡课程,并且培训时间不被注意,这在现实生活中几乎是不可能的。


通常,将训练后的模型的质量理解为对模型尚未“看到”的数据进行分类的准确性,通常情况下,是将正确分类的数据副本与我们传输给模型的数据总量的一定比率。


通常,所有质量评估都与有关系统输入数据的预期分布的假设直接相关,并且没有考虑有害环境条件( 对抗性设置 ),这些环境条件通常超出了输入数据的预期分布。 恶意环境应理解为可能与系统对峙或互动的环境。 这种环境的典型示例是使用垃圾邮件过滤器,欺诈检测算法和恶意软件分析系统的环境。


因此,准确性可以被视为衡量其平均使用情况下平均系统性能的指标,而安全评估则关注其最差的实施方式。


也就是说,通常在相当静态的环境中测试机器学习模型,其中准确性取决于每个特定类的数据量,但是实际上不能保证相同的分布。 而且我们有兴趣将模型弄错。 因此,我们的任务是找到给出错误结果的尽可能多的向量。


当他们谈论系统或服务的安全性时,通常是指不可能在给定的硬件或软件威胁模型内违反安全策略,而是试图在开发阶段和测试阶段检查系统。 但是,如今,大量服务都基于数据分析算法进行操作,因此风险不仅存在于易受攻击的功能中,还存在于数据本身(系统可以据此做出决策)中。


没有人停滞不前,黑客也正在掌握一些新东西。 有助于研究机器学习算法以使攻击者可以利用模型的工作原理进行攻击的方法 ,称为对抗性机器学习 ,或者在俄语中,这仍然是恶意机器学习


如果我们从信息安全的角度讨论机器学习模型的安全性,那么从概念上讲,我想考虑几个问题。


4.是否可以操纵机器学习模型进行有针对性的攻击?


这是搜索引擎优化的一个很好的例子。 人们研究智能搜索引擎算法如何工作并处理其站点上的数据,以使搜索排名更高。 在这种情况下,这种系统的安全性问题并不是那么尖锐,直到它破坏了一些数据或造成了严重的破坏。


作为这样一个系统的示例,我们可以引用一些服务,这些服务基本上使用在线模型训练,即训练,其中模型按顺序接收数据以更新当前参数。 了解了系统的培训方式之后,您可以计划攻击并为系统提供预先准备的数据。


例如,以此方式欺骗生物识别系统,该生物识别系统随着人的外观的微小变化(例如,随着年龄的自然变化)而逐渐更新其参数 ,这在这种情况下绝对是服务的自然和必要的功能。 使用系统的此属性,您可以准备数据并将其提交给生物识别系统,更新模型,直到将参数更新给其他人。 因此,攻击者将重新训练模型,并能够标识自己而不是受害者。


03


5.攻击者是否可以选择总是会正确失败的有效数据,从而导致系统性能下降到必须禁用的程度?


这个问题很自然地来自以下事实:机器学习模型经常在相当静态的环境中进行测试,并且其质量是通过训练模型的数据分布来评估的。 同时,很多非常具体的问题会向数据分析专家提出,模型需要回答以下问题:


  • 该文件是否恶意?
  • 此交易是否属于欺诈行为?
  • 当前流量合法吗?

并且期望该算法不能是100%准确的,它只能以某种概率将对象归为某个类,因此当我们无法完全确定算法时,我们必须在第一类和第二类错误的情况下寻找折衷方案。在他的选择中,仍然是错误的。


选择一个经常产生第一类和第二类错误的系统。 例如,防病毒阻止了您的文件,因为它认为它是恶意的(尽管并非如此),或者防病毒跳过了恶意的文件。 在这种情况下,系统的用户认为它无效,并且大多数情况下只是将其关闭,尽管很可能只是捕获了一组此类数据。


模型显示最差结果的数据集始终存在。 攻击者的任务是搜索此类数据,以使其关闭系统。 这种情况非常令人不快,当然,模型应该避免这种情况。 您可以想象所有虚假事件的调查后果的严重程度!


第一种错误被视为浪费时间,而第二种错误则被视为错失了机会。 尽管实际上每个特定系统的这些类型的错误的代价可能不同。 如果杀毒软件可以便宜一点,那可能是第一种错误,因为最好安全地播放它并说该文件是恶意的,并且如果客户端关闭系统并且该文件确实是恶意的,则杀毒软件将“仿佛被警告”,并由用户承担责任。 例如,如果我们采用医疗诊断系统,那么这两种错误都将是非常昂贵的,因为在任何情况下,患者都有遭受错误治疗和健康风险的风险。


6.攻击者能否使用机器学习方法的属性来破坏系统? 也就是说,在不干扰学习过程的情况下,找到明显给出错误预测的模型限制。


似乎深度学习系统实际上受到保护,不会受到人为干预来选择符号,因此可以说,模型做出任何决策时都没有人为因素。 深度学习的全部魅力在于,它足以为模型的输入提供几乎“原始”的数据,并且模型本身通过多次线性转换突出了“考虑”最重要的特征并做出决定。 但是,真的那么好吗?


有一些工作描述了在深度学习模型上准备此类恶意示例的方法,系统对该系统进行了错误分类。 少数但受欢迎的例子之一是有关深度学习模型的有效物理攻击的文章。


作者进行了实验,并提出了一种基于欺骗的“视觉”系统的基于深度学习的局限性绕过模型的方法,并以道路标志识别为例。 为了获得肯定的结果,攻击者足以在对象上找到最强烈击倒分类器的区域,这是错误的。 实验在“ STOP”标记上进行,由于研究人员的变化,该模型将模型合格为“ SPEED LIMIT 45”标记。 他们在其他迹象上测试了他们的方法,并获得了积极的结果。


04


结果,作者提出了两种可以欺骗机器学习系统的方式:海报印刷攻击,这意味着在标记整个圆周上进行了一系列小的更改,称为伪装;当某些标签在某些区域的标签上分层放置时,则称为贴纸攻击。


但是这些都是相当真实的情况-当路标在路边灰尘的污垢中,或者年轻的人才放弃了工作。 人工智能和艺术很可能在一个世界上没有地位。


百叶窗


或最近针对自动语音识别系统的攻击的研究 。 在社交网络上进行交流时,语音消息已成为一种非常流行的趋势,但是收听语音消息并不总是很方便。 因此,有些服务可让您将录音广播成文本。 该作品的作者学会了分析原始音频,将声音信号考虑在内,然后学会通过添加一个小的变化来创建另一个声音信号,该声音信号与原始声音信号相似度为99%。 结果,分类器根据攻击者的要求解密记录。


06


7.在这方面,可以通过以下几种方式对现有攻击进行分类:


通过接触的方法(影响力):


  • 因果攻击通过干扰训练集中来影响模型训练。
  • 探索性攻击使用分类器错误,而不影响训练集。

违反安全规定:


  • 完整性攻击会通过第二种错误破坏系统。
  • 可用性攻击通常会基于第一种错误导致系统关闭。

特异性:


  • 定向攻击(Targeted Attack)旨在将分类器的预测更改为特定类别。
  • 大规模攻击(不分青红皂白攻击)旨在改变分类器对除正确分类之外的任何分类的响应。

安全的目的是保护资源免受攻击者的侵害并符合要求,如果违反要求,则会导致资源部分或全部受损。


为了安全起见,使用了各种机器学习模型。 例如,病毒检测系统旨在通过在系统被感染之前检测病毒来减少对病毒的脆弱性,或者检测现有的病毒以将其删除。 另一个示例是入侵检测系统(IDS),它可以通过检测系统中的恶意流量或可疑行为来检测系统是否受到入侵。 另一个紧密的任务是入侵防御系统(IPS),它可以检测入侵企图并防止入侵系统。


在安全问题的情况下,机器学习模型的目标通常是分离恶意事件并防止它们干扰系统。


通常,目标可以分为两个:
完整性 :防止攻击者访问系统资源
辅助功能 :防止攻击者干扰正常操作。


第二类错误与完整性违规之间存在明确的联系:传入系统的恶意实例可能是有害的。 就像第一类错误通常会破坏可访问性一样,因为系统本身会拒绝可靠的数据副本。


8.有什么方法可以防止网络犯罪分子操纵机器学习模型?


目前,保护机器学习模型免受恶意攻击比攻击它更加困难。 仅仅因为无论我们训练模型多少,总会有一个数据集在该数据集上表现最差。
如今,还没有足够有效的方法来使模型以100%的精度工作。 但是,有一些技巧可以使模型更能抵抗恶意示例。


这里是主要的一个:如果可以在恶意环境中不使用机器学习模型,则最好不要使用它们。 如果您面临分类图片或生成模因的任务,则拒绝机器学习是没有道理的。 - , - . , , , , , .


, , , . .


, , . , , , , , , , . , , , , , , .


图片
1 — , 2 — , 3 —


, , : . . , .


. , . , . 100%- - , .


- , — . , — , . , .


, , .


9. ?


. : , , , , .


, . . , . , , , «».


, - , . , , . - Twitter, Microsoft, .


? , , — , , . , , , — , , .


, , , « — , »?

Source: https://habr.com/ru/post/zh-CN416691/


All Articles