Adversarial Attacks and Defenses in Intrusion Detection Systems: A Survey 研读报告 | 刘广睿的思维实验室
0%

Adversarial Attacks and Defenses in Intrusion Detection Systems: A Survey 研读报告

中文译名“调研:面向NIDS的对抗攻击与防御”。本调查由Ilja Moisejevs整理完成,文章与2019年发表于IJAE2019。

摘要

世界正在变得越来越数字化和互联化,保护我们的数字设备已经不再是一个简单的问题。自上世纪80年代提出入侵检测系统(IDS)的概念以来,他一直是网络安全的一个重要组成部分。传统IDS系统依赖于特征匹配规则与启发式算法,然而随着对处理数据的需求量不断增长以及计算能力不断进步,基于机器学习的入侵检测系统(ML-IDS)逐渐进入人们视野。

ML-IDS的挑战在于机器学习在正常情况下可以更好的检测入侵,但它本身也容易受到了解系统工作原理的对手攻击。在本调查报告中我们综述了这的对手可以对IDS进行的各种不同类型的攻击,另一方面IDS也可以通过各种防御手段提高自身健全性。在深入研究攻击与防御方法之前,我们首先阐明IDS的一些历史背景与不同种类的对抗攻击方法。

1. 引言

将机器学习技术引入安全领域并不罕见,而IDS负责监督通过主机的流量(HIDS)或检测网络本身(NIDS)。2008至2018年期间,关于在IDS设置机器学习算法的相关研究爆发式上升。然而研究表明机器学习(包括深度学习)系统并不是完美的,对手可以在训练阶段和测试阶段对机器学习系统进行攻击,前者我们称为中毒攻击,而后者则称为回避攻击。尽管在图像领域已经对上述几种攻击进行了研究,但网络安全领域的研究仍有巨大的漏洞。

针对中毒攻击主要采取异常检测和鲁棒学习的防御手段,而针对对抗攻击的防御手段较多,包括对抗训练、梯度隐藏、输入修正、检测干扰、加入额外NULL类以及形式化方法。上述方法并非都适用于IDS。

这篇文章的动机是做出首个关于IDS对抗攻击和防御的调研。目前已经有一些关于IDS分类器本身的调研,但没有站在IDS对手角度的调研。值得注意的是由于基于机器学习的IDS的对抗攻击和防御是一个新颖的话题,我们有时被迫跳出纯粹的ML-IDS,回顾基于传统规则库和统计法的攻击和防御技术。对于IDS对抗攻击的防御措施目前缺乏相关研究,我们希望在不就的将来,这些淋雨得到补充。

2. 入侵检测系统与机器学习

2.1 IDS历史简介

从1980年James Anderson发表了一篇具有开创性意义的论文《Computer Security Threat Monitoring and Surveillance》开始,IDS的概念已经存在了近40年。文中Anderson为政府组织介绍了审计追踪的概念,以及如何使用它们来跟踪滥用和恶意用户的行为。它的出现致使几乎所有操作系统的审计子系统得到巨大的改进,并未IDS的可能性播下种子。

IDSs的下一个里程碑式发展来自Dorothy Denning博士,她也是在从事一个政府项目时试图根据用户的行为活动创建用户档案,以分析政府大型机器的审计追踪记录。1984年,她协助开发了第一个入侵检测模型——Intrusion Detection Expert System (IDES),并在同年将模型发布,为随后的IDS工作奠定了基础。

商业化IDSs发展始于20世纪90年代初。Haystack Labs的Stalker是第一款推出的商业HIDS。其它商业IDS还有SAIC的Computer Misuse Detection System (CMDS) 以及Air Force’s Cryptologic Support Center的Automated Security Measurement System (ASIM)。1994年,ASIM项目转型为一家商业公司(the Wheel Group)并发布了第一款商业NIDS——NetRanger。

2.2 IDS的分类

讨论IDSs要从两个重要维度——部署位置和检测目标。从前者说,可以将IDSs部署在单个主机上(称为HIDS),也可以部署在网络本身上,监督不同节点之间的数据包流(称为NIDS)。如上所述,HIDS是首先被发明和部署的,而NIDS是最近才开发出来的。

图 1: 一个含有HIDS和NIDS的网络典型结构图

当然,每种方法都有其优点和缺陷。例如HIDS可以单独安装于各个主机上,并有效的判断主机的损坏程度。另一方面,NIDS是一种整体检测方案,可以节省安装时间和成本,通常被认为是抵御外部入侵的首选方案。如今许多组织将两者结合起来使用。

IDSs的第二各重要维度四它们的运作方式。广义的说,IDS分为基于特征和基于异常两种。与反病毒领域类似,基于特征的IDS专注于查找已知的威胁,特征是有效的指纹,允许IDS快速扫描数据包,并确定它是否携带有害信息。而基于异常的IDS专注于检测未知威胁,他们通常比基于特征的系统更复杂,最近已经发展到使用机器学习,因此它是本次调研的重点。

2.3 IDSs中的机器学习

2002年 Mahoney 和 Chan 最早尝试将机器学习整合到IDSs中。他们的系统通过应用层的数据链接学习协议词汇表,以检测未知攻击。

基于机器学习的IDSs有多种特征。例如IDS社会中最受欢迎的数据集之一KDD-99和它的后代NSL-KDD有多达41个可供建模的特征。不同工作使用不同数量的特征,使用不同的预处理方法。其它方法依赖于端到端的学习(通常是深度学习),可以免去人工的特征预处理。

图 2: KDD-99和NSL-KDD特征表

在过往的工作中,几乎所有类型的机器学习算法都已经运用于IDS中。其中最完整的一项调研由Hindy等人完成。在比较了超过80个使用机器学习的IDS工作后得出结论:最受欢迎的算法是人造神经网络(19%), SVM(14.4%), k-means(11.7%), 决策树(9.0%), 贝叶斯网络(9.0%), 模糊逻辑(7.2%), 以及kNNs(5.4%)。详细情况见图3(2008至2018年发表的有关IDSs文章中97.3%是基于机器学习的)。

图 3: IDS中使用的算法

尽管有许多有关ML-IDSs的研究,但实际部署方面却存在明显的差距。Sommer 和 Paxson 对这一问题进行了深入研究,得出了以下五个关键因素:

  1. 机器学习通常更擅长寻找相似点而不是异常点。即使异常检测可以看作是一个分类问题,但如果您正在寻找新的威胁,那么根据定义,您有一个未被充分表达的类别。
  2. IDS的误判成本非常高。假阳性(误报)的代价非常昂贵,而假阴性(漏报)则可能对系统造成严重的损害。
  3. 机器学习判断结果和操作解释之间存在语义差异。一个“异常”并不一定意味着攻击,而且很难将恶意异常和良性异常区分开来。
  4. 系统输入数据很容易变异。即使在单独网络中,诸如连接带宽的持续时间和应用程序的随机组合都会带来巨大的变化——在短时间内此现象更加严重。
  5. 现实情况会妨碍系统评价。由于敏感性问题,获取拥有某种特殊功能的网络数据是最困难的,因此公开可用的数据集往往是合成的或者匿名的,而两者都不能代表实际生产网络的环境。

3 对抗机器学习的分类

针对机器学习的攻击也可以像其它安全领域一样,根据对手目标、时机、能力等因素对不同方法进行分组。

我们借用CIA安全范式(机密性、完整性、可用性)来分析对手的目标。根据CIA范式,攻击者的目标可以是以下三种目标之一。

  1. 机密性(Confidentiality)——获取敏感个人隐私信息,比如训练机器学习的数据集或者机器学习模型本身。
  2. 完整性(Integrity)——违反机器学习系统的真实性,例如在不引起主机注意的情况下对输入进行错误的分类。
  3. 可用性(Availability)——使机器学习系统完全崩溃。例如令IDSs瘫痪,从而使网络没有防御性能。

时机是指攻击者在机器学习系统运行过程中执行攻击的位置。一般来说机器学习有两个步骤。首先,系统在已知的训练数据集上“训练”,试图学习隐藏在数据中的模式(监督学习)或者理解数据集中不同部分之间的关系(非监督学习)。然后,系统将进行测试,对输入的新数据(未知数据)进行预测。根据任务的不同,这些预测结果可以通过类别标签(分类)、连续变量(回归)和分配簇(聚类)表达。

图 4: 机器学习系统执行的两个步骤

事实证明,面对对抗攻击,这两个步骤(训练和预测)都是脆弱的。在训练时进行的攻击旨在向训练池中诸如有害的、恶意的数据,使模型学习一些本不应该学习的内容。我们把这种攻击称为投毒攻击。

在测试时进行攻击利用了机器学习系统普遍存在的一个有趣特性——它们很容易被精心设计的按特定方向加入扰动的输入所欺骗,我们称之为回避攻击。2013年,Szegedy等人在试图理解神经网络是如何“思考”时发现了这个漏洞。自此以后,有关对抗样本的研究指数级上升,图5可以看出社区对机器学习系统安全性和鲁棒性的兴趣变化。

图 5: 在arxiv上发表的关于对抗机器学习的文章数量

另一种可以在测试期间执行的攻击类型是隐私攻击,这些攻击旨在从机器学习系统中提取信息,而不是直接影响其预测。

结合攻击者的目标和时机,我们恶意得到如图6所示关系:

图 6: 针对机器学习分类器的攻击类型总结

最后,能力是指攻击者对目标机器学习系统的认知水平。普遍来看认知水平有三种可能的层次:

  1. 白盒攻击(WhiteBox):白盒指的是那种详细理解目标机器学习模型内部结构的攻击者。通常涉及一下方面:模型架构、模型权重、训练样本(或训练数据分布)。
  2. 黑盒攻击(BlackBox):黑盒指的是不具备上述知识的攻击者类型。黑盒攻击者执行攻击时,除了分类器的输出外没有更多的访问权限。如果他们只从分类器输出接收到类别标签,则称为硬标签攻击。如果他们同时获得了分类器的分类置信度,则称为置信攻击。
  3. 灰盒攻击(GrayBox):灰盒或许是三者中最含糊不清的一种。它指的是位于白盒与黑盒中间的攻击者。这样的攻击者能够查询模型,并得到输出。他也可能知道模型的特征空间和模型训练集的样本分布。

在这项调研中,我们将重点集中在回避攻击与中毒攻击上,我们忽略了针对IDSs的隐私攻击。我们也尝试记录攻击是在白盒还是黑盒情况下进行,因为这将极大地影响攻击的威力。

4 对入侵检测系统的攻击

正如在引言中所述,由于针对ML-IDS的对抗攻击研究较少,我们先回顾一下传统IDS的攻击,即基于特征/统计属性的攻击。此类攻击提供了以价值的历史背景。然后我们将讨论针对ML-IDS上的回避攻击,并在本节结束时回顾中毒攻击研究。

4.1 面向非机器学习IDS的回避攻击

TCP/IP变形攻击(TCP/IP transformation attacks)是利用设计复杂的TCP/IP协议内容来阻止IDS正确执行的攻击。IDS受到的第一次严重攻击就是这种类型。

Chung等人在1995年发起了第一次TCP/IP变形攻击(距离第一个商业IDS发布仅一年)。在这项具有开创性意义的工作中,作者展示了如何将恶意行为分布在几个会话中来逃避检测。

Paxson是第一个对IDS回避攻击进行分类的人。他们总结了三种攻击方式:

  1. 过载攻击(Overload attack),这种攻击令监视器负载过大,使它无法接受所有数据并开始丢包。
  2. 崩溃攻击(Crash attack),这种攻击令监视器出现故障或者耗尽其资源使其停止工作。此类攻击比过载攻击要巧妙得多,但攻击者也需要做更多的工作来找出监视器中的漏洞。
  3. 掩蔽攻击(Subterfuge attack),这种攻击制作一种阻碍显示器正常读取的带有干扰的输入。例如在文本中插入“NUL”,并期待监视器会忽略其后面的字符。

前两种攻击可以看作是DoS攻击的变体,而第三种是经典的回避型TCP/IP变形攻击。

Ptacek 和 Newsham 提出了一种他们定义的TCP/IP变性攻击分类:

  1. 嵌入式攻击(Insertion attack): 因为IDS会接受所有数据包,而终端主机系统并不会。所以攻击者可以在数据包中“嵌入”只有IDS能看到的数据。例如可以将"\GET/cgi- bin/phf?"转换为"\GET/cgi-bin/pleasedontdetecttthisforme?",并将"leasedontdetectt", "is" 以及 "orme?" 发送给IDS
  2. 回避攻击(Evasion attack): 与嵌入式攻击相反,这种方法攻击者要确保一些数据包没有到达IDS。还是以上面的例子来讲, 可以将"\GET/cgi- bin/phf?"拆分为"\GET/cgi-bin/p" 和 "hf?"。只要IDS只接受到其中一个就不会发现入侵。在IP层和TCP层都有许多不同的方法,这主要是由于TCP数据包的可重组属性。
  3. 拒绝服务攻击(DoS attack): DoS攻击可以通过资源耗尽等方法令IDS关机并使攻击顺利执行。

作者对4个商业IDSs(WheelGroup’sNetRanger, InternetSecuritySystems’RealSecure, AbirNet’sWall-3, NetworkFlightRecorder’sNFR)进行测试,发现他们都容易受到攻击。他们的结论是,目前尚不清楚如何在部委IDS建立第二次保护的情况下修复已发现的漏洞。

与Ptacek 和 Newsham相似,Handley等人也发现了IDS能看到与终端系统截然不同的网络,而这可以被攻击者利用。他们讨论了有关网络拓扑差异的问题并深入到协议实现级别进行研究,总结了攻击者可以如何利用IP分片、TTL和IP分片重组等网络属性执行恶意行为。

下面介绍拟态攻击。在这类攻击中,攻击者首先制作一个恶意数据包,然后修改一部分数据包内容来“模仿”一个良性数据包。例如攻击者可能想要包含某个特定的字符串或函数达到恶意效果,但要使用与良性样本向关联的API调用来隐藏其有效负载的恶意性。

Wagner 和 Soto 首次成功的对HIDS进行了模拟攻击。他们在白盒环境下访问一个隐藏的信息系统,获取系统内信息并手动篡改文件,同时避免被检测到。他们的攻击方法包括用自己的调用来替换系统调用,并插入大量无操作调用,以混淆真实的恶意活动。

Tan 等人针对两个不同的基于系统调用的HIDS进行回避攻击。他们设计了几个模仿良性文件的带有漏洞的恶意版本,并逃避了检测。此外他们还演示了一种伪装攻击方法,即将严重的攻击行为伪装为另一种看起来不那么眼红的攻击,这种方法不仅提供了一种回避攻击的方案,还提出了利用另一种攻击转义系统注意力的新思路。

接下来我们研究多态混合攻击。多态指的是恶意软件从一个实例转变为另一个实例,是一种规避特征检测的方案。而混合指的是恶意短剑通过复制良性实例的属性,来使自身看起来像是良性的。综上所述,多态混合是指不同版本的恶意流量与正常流量混合,以不被IDS检测到的方法。

多态混合的思想由Fogla等人最先提出,作者对字节分布分类器发起一种多态混合攻击。它查看各种n-gram的出现频率,并判定该频率是否正常。他们的攻击分为三个步骤:

  1. 根据目标网络内数据包的大小分布情况,确定正确的包尺寸,使其不被判定为异常。然后将他们的有效载荷分解为相应数量的数据包。
  2. 设计一种字符替换算法,对有效载荷中的字符进行加密,使它们看起来无害。例如正常的网络流量为可打印字符,而恶意流量的有效载荷却含有不可打印字符。此算法将会修复这个问题。
  3. 使用一些终端字节(terminal bytes)填充数据包,使他们可以与正常流量混合。

作者表明他们的攻击成功回避了目标IDS(他们将纯多态攻击作为对比基线,由于没有混合操作,纯多态攻击被IDS判定为异常)。

Kolesnikov 和 Lee 的工作中建立了一个"blender", 其可根据正常的网络情况输出可回避IDS检测的流量变体。他们也是通过一个替换表来实现这项功能,并成功的在4种不同的IDS上测试了他们的攻击。

后续工作进一步形式化了多态混合的思想,并提出了一个自动生成此类攻击的框架。

4.2 面向基于机器学习的入侵检测系统的回避攻击

我们首先讨论白盒攻击,如第三节所述,这些攻击者拥有对目标ML-IDS最高的认知水平——包括模型梯度。他们在攻击时可以直接优化模型的损失函数(通常是与训练相反的优化方向,即梯度上升)。相关方案多数是在图像识别领域发明的,因此我们会发现针对ML-IDS的攻击通常是直接从图像领域转录的。

Huang等人分别对三种基于深度学习的IDS(MLP、CNN、LSTM)进行了白盒攻击。作者使用了在图像领域著名的对抗攻击算法FGSM和JSMA。其中FGSM造成的损害最为严重,它将LSTM的精度从98%降低到42%。

Rigaki 和 Elragal 利用神经网络生成对抗样本攻击SVM、决策树和随机森林。他们也测试了FGSM和JSMA算法,但得出的结论是这种攻击方式会改变太多的特征,所以无法在现实情况复现。另一方面,JSMA对每个数据包只改变平均6%的特征就可以成功避开检测器。实验结果还表明,面对对抗攻击,使用随机森林的IDS健壮性最强。

Clements等人从借助图像领域的FGSM、JSMA、C&W、ENM 4种不同的攻击算法攻击基于深度学习的NIDS。他们执行了两组攻击,第一组针对完整性,第二组针对可用性,并成功的使用四种算法找到了对抗样本。其中最佳的生成算法为ENM。仅更改了1.38个特征就可以实现回避攻击。

Wang 等人探讨了视觉领域的IDSs攻击。他们对NSL-KDD数据集实施了JSMA、FGSm、LL-FGSM、Random FGSM、DeepFool和C&W攻击。最终发现JSMA可以以特征变更最少的条件产生有效的对抗样本,不过所有的算法在评估中都可以成功产生有效的对抗样本。

现在我们讨论黑盒攻击。如第三节所述,黑盒攻击比白盒攻击的限制条件更多,攻击者通常只有很少的信息可以使用。然而这并不是说黑盒攻击不强大,图像领域的一些强力攻击都属于黑盒攻击。

Rigaki and Garcia 对IDSs中的黑盒攻击进行了全面的研究。作者提出在C&C期间修改流量来避免被入侵检测系统检测到。他们利用良性的Facebook流量训练了一个对抗生成网络(GAN),并将其放在一个独立的服务器上,利用GAN事实修改恶意流量。经过400次训练,他们成功引导恶意流量以100%的通过率避开ML-IDS检测。值得一提的是,使用很少的数据(仅200个流量)就可以完成对GAN的训练。

4.3 IDSs上的投毒攻击

Chung 和 Mok 是第一个尝试在IDSs上进行投毒攻击的人。作者开发了一种针对Autograph蠕虫的过敏性攻击。Autograph的工作流程分为两个阶段:1)根据行为特征发现网络中的可疑节点。2)观察可疑节点及其流量,并将其转化为阻断规则。而过敏攻击的流程为:1)使Autograph相信该节点为感染节点。2)Autograph学习了通过该节点的正常流量,并将此类流量定义为恶意流量。这是一种以可用性为目标的投毒攻击实例。

Chung 和 Mok 尝试对基于特征的IDS进行投毒攻击,Nelson 和 Joseph 是第一个尝试对基于机器学习的IDS进行投毒的人。虽然他们的工作缺乏经验评估,但却得出了一个令人惊讶的积极结论:攻击者需要指数级的数据才能破坏机器学习算法。然而本文中作者使用了一个不现实的假设:分类器拥有一个无限的训练窗口(而不是滑动窗口)。更现实的情况是分类器根据不平衡的实时数据进行不断的调整。

Rubinstein 等人他们通过向训练池中注入无意义数据((chaff),令一个分类器中毒而使即将到来的DoS攻击避开检测。总体来说,作者能够仅通过插入10%的chaff实现令28%的DoS攻击回避检测。同时他们还研究了攻击者的知识水平与攻击时机对攻击成功的影响。

Kloft and Laskov 尝试对基于质心的聚类算法的异常检测IDS进行投毒攻击。他们从准备好的数据中随机选择一个漏洞和一组正常的训练集,然后执行投毒攻击指导分类器中毒。实验发现,为了使分类器中毒,攻击者要控制35%的训练池(当攻击者能向训练池中加入任意的样本时)或5-15%的流量(当攻击者仅能改变一定数量的样本时)。

最后,Biggio等人对一个IDS系统进行了3种不同的攻击,其中一种为后门投毒。每个网络数据包被认定为一个单独的样本,标记为正常(合法)或异常(恶意),并用256维特征向量表示。他们假设攻击者知道系统使用的特征,但不能访问检测器本身(也不知道它是如何工作的——即黑盒场景)。注入的恶意样本模拟其它现有的网络流量(通过模拟相同的有效负载字节直方图),这样他们就不会被检测到。

我们希望在本节描述的总体图景是:在IDSs领域中,对抗性研究领域发展良好且活跃。这并不意外,因为IDSs是现代安全系统中最主要的组成部分之一,而重要的是我们需要考虑攻击者会如何利用它们。

5 入侵检测系统的防御

进入最后一个话题,讨论如何加强ML-IDS的安全性。与机器学习的其他领域(比如图像识别,自然语言处理、语音识别、甚至恶意软件分类)不同,IDSs的对抗性防御领域研究相当稀少。当然这也是因为在此方面的攻击也很少见。尽管如此,以下是我们对避免IDSs受到对抗性攻击的现有工作的总结,与攻击部分相同分为回避与投毒。

5.1 防御针对IDSs的对抗性回避攻击

我们讨论的第一种防御类型是探测(detection)。如今大多数的网络蠕虫都是多态的,他们使用加密/解密器将shellcode隐藏。然而有些组件是不加密的——比如解密器。这种组件可以用来作为检测那些难以捉摸的蠕虫的特征。

这一观点为Akritidis等人的研究奠定了基础。作者为IDS设计了一种启发式防御方案——对"sleds"(缓冲区溢出攻击的一个常见特征)进行检测。简单来说,“sleds"就是攻击者为实现恶意攻击,在有效载荷中所需要的一个NOP命令序列。尽管他们不是第一个提出通过检测"sleds"来实现防御的人,但他们的工作相比之前的研究有巨大的进步。他们实现了一个名为STRIDE的系统,可以检测出先前技术无法检测到的"sleds”,且有较低的误报率与更高的计算效率。

有时IDSs对网络的理解与终端系统的理解有很大的差异,这是IDSs面临的最大挑战。实际上第4节中许多TCP/IP变形攻击就利用了这一特性。为解决此问题,Handley等人提出为IDS定制一套标准化组件,以解决IDS和终端系统理解数据包时产生的歧义或差异。这种方法最大的难点在于冷启动(cold start)问题(当标准化转换器开始上线运行时,它没有正确状态的信息来进行比较),另外标准化转换器本身可能成为攻击者的目标。

Wang 等人提出了随机建模/测试的防御与回避(模仿)策略。在随机建模/测试下,每个监视器运行分析之前都要对有效载荷进行随机分区。直观来看,因为模拟攻击者不知道他们的有效载荷将会被怎样划分与分析,所以他们很难通过简单地填充有效载荷就使其与正常流量混淆。因此即使攻击者拥有目标网络和IDS的全局信息,随机化组件也几乎不可能模拟正常流量。后续研究者中还讨论了基于随机的多态混合防御,不过这种类型的防御只有在攻击者发现随机化种子时才会起作用(这体现了安全领域"猫捉老鼠"的本质)。

最后,我们发现了一项研究,它使用对抗训练来防范对抗攻击。我们发现IDS社区中研究对抗训练的工作非常少,这是不可思议的,因为对抗训练是其它领域对抗攻击防御中最主流的方法。

IDS性能不佳时由于有限且不平衡的数据集。目前的解决方法之一是使用数据增强(可以理解为对抗训练)。首先使用蒙特卡罗算法生成入侵数据,然后利用这些数据来增强入侵检测系统的学习能力。最终证明此方法在准确性、精密度、召回率和F1-score方面优于基于机器学习的IDSs。

5.2 防御针对IDSs的对抗性投毒攻击

我们首先讨论为什么机器学习模型容易受到中毒影响。简单来讲,模型为了学习样本中的所有信息,必须做出两个层面的假设,分别位于模型层和数据层。

模型假设:有关分类器模型及其对数据表达方式的假设。例如数据为线性(存在一个线性函数可以正确的表示学习任务)、数据可分离(存在一个可以正确分离两个或多个类的边界)以及特征的独立性(每个特征都相互独立且携带了样本真实类别的信息)
数据假设:有关数据数据分布的假设。例如数据的稳定性(训练数据集和测试数据集遵循相同的数据分布)和数据点是独立同分布的(i.i.d)。

投毒攻击有意违反上述假设。例如使用与正常数据分布不同的垃圾游戏破坏数据稳定性或扰动数据子集来打破i.i.d假设。针对投毒攻击的防御应围绕上述假设,做到减轻攻击者对它们的影响。广义上讲,投毒防御分为数据消毒(data sanitization)和鲁棒学习(robust learning)两类。

数据清洗指在将数据输入到模型的训练池之前先进行检查,了解新添加的数据是否有对抗性,从而在有毒样本毒害模型前排除它。Cretu等人在2008发表了一篇具有开创性的论文,其中首次使用了机器学习背景下“数据消毒”的概念。作者利用每个数据点添加到数据集中的时间来判定它有毒的概率,这是因为攻击或异常相比模型的正常训练过程往往出现时间都有限且较短。

另一种流行的数据消毒的技术是"拒绝负面影响"(Reject On Negative Impact , RONI)技术。它衡量增加/丢弃每个训练样本对分类器精度的负面影响。防御者先训练一个不包含新训练样本输入的模型,然后再训练一个包含新训练样本输入的模型副本。然后比较两个模型的准确性,如果添加候选样本对准确性有损害,那就拒绝此样本。这种方法对垃圾邮件分类器非常有效,可以成功的将垃圾邮件检测率从80%提升到87%,而非垃圾邮件的检测率始终保持在95%以上。

鲁邦学习假定大部分数据来自已知且可信的来源,但部分数据来此未知或敌对的来源。鲁邦学习的目的是限制未知来源数据对模型的影响。因此有部分工作致力于改良基于主成分分析(PCA)的IDS的鲁棒性。由于PCA容易受到异常值的影响,需要一种更好的算法来防范投毒攻击,Croux等人提出了PCA-Gird算法,该算法大大降低了离群值的影响,能够成功剔除有毒的训练数据。

6 结论

数值是我们这一代的趋势,随着越来越多的电子设备上线,整个世界变成了一台大型计算机,因此网络安全变得更加重要。传统的安全方法如特征匹配或启发式算法已经不能很好的进行扩展,并逐渐被更加自动化的技术(如机器学习)所取代。

在这项调研中,我们研究了机器学习在入侵检测系统中的作用。简要概述了IDSs的历史遗迹机器学习是如何进入这个领域的。我们重点研究了攻击者会如何利用ML-IDS本身的特点,遗迹如何使他们对此类攻击具有鲁棒性。

我们对我来保持谨慎乐观的态度,我们相信机器学习的安全性会在包括网络安全在内各方面有持续的进步。然而我们也知晓在面向IDS的对抗攻击领域,特别是防御方面还有很多工作等待完善。


参考文献


- - - - - - - - - - - - - - - - 本 文 结 束 啦 感 谢 您 阅 读 - - - - - - - - - - - - - - - -