zoukankan      html  css  js  c++  java
  • As a reader --> Practical Traffic-space Adversarial Attacks on Learning-based NIDSs

    Practical Traffic-space Adversarial Attacks on Learning-based NIDSs
    针对基于学习的NIDS的实际流量空间对抗攻击

    本文提出了一种基于GAN+PSOPGA/PBA攻击方式!


    【这篇文章从去年开始就一直伴随着我们的课题实验,直至今日才算是较为完整的仔细阅读了一遍,有一些部分,如元信息向量到原始流量的逆向、已经原始流量到元信息向量的特征提取等,还需要进行进一步的学习,以保证其信息不受损。对抗攻击一直在特征层进行研究,这确实是较难做的攻击,所以接下来的努力方向是深入到流量层啊,冲冲冲!!!】

    引:(废话不多说,现有研究的缺陷已经在之前的阅读中了解到很多~)目前,针对基于学习的NIDS的攻击主要集中在特征空间,多数为白盒攻击,而对实际的灰盒/黑盒攻击的研究尚未可知。为了弥补这一差距,本文首次对实际流量空间的逃逸攻击进行研究。

    对比以往的工作的优点:(1)实用性——提供了一个新的框架,在保留其功能的同时,用有限的知识自动突变恶意流量 (2)通用性——攻击对任何ML分类器(即模型不可知的)和大多数非基于有效载荷的特征都有效 (3)可解释性——提出了一种基于特征的解释方法来衡量目标系统对此类攻击的鲁棒性。 在Kitsune(一种最先进的基于学习的NIDS)上评估了攻击和防御方案,并使用不同的特征和ML分类器衡量了各种NIDS的鲁棒性。

    一、介绍

    NIDS在检测网络中的恶意行为方面起着至关重要的作用。根据检测机制,NIDS一般可分为两类:基于特征的NIDS(匹配预定义特征库中的异常模式),基于异常的NIDS(查找与正常配置文件的偏差)。由于NIDS固有的对抗性质,熟练的攻击者不断努力进行逃逸攻击,以防止他们的恶意请求被发现。针对基于特征的NIDS逃逸技术已经得到了广泛的研究,其主要原理是寻找一种隐蔽的方法来隐藏其异常特征。而对于基于异常的NIDS,一些早期的工作进行了模拟攻击,将恶意流量编码为模拟正常配置文件,以利用简单的统计数据(如字节频率)来逃逸系统。

    由于基于签名的NIDS无法发现未知的攻击(如零日攻击),基于异常的NIDS越来越多的扮演更重要的角色。此外,随着流量呈指数级增长以及越来越多的流量被加密,基于有效载荷的检测变得困难和低效。近年来,ML技术越来越多地应用于基于异常的NIDS的非有效载荷检测。Kitsune就是一个使用了神经网络的集成在线NIDS,在大多数情况下实现了99%以上的AUC(检测效果良好)。

    上述演变趋势使得现有的基于签名的/基于异常且使用有效载荷的NIDS不再有效。[14]-[16]研究中发现了ML的内部漏洞,从而提供了更多的攻击机会。面向NIDS的攻击无进展的原因:(1)网络流量的特征提取/映射更加复杂 (2)在修改恶意流量时,需要确保不被发现,且保持恶意性

    现有逃逸攻击的缺陷:(1)攻击者修改的是分类器输入(改特征)而非系统输入(改流量),这是不现实的。同时流量修改方式较为随机,或是基于白盒攻击的强假设。(2)基于梯度的攻击方式仅适用于深度神经网络,对于一些传统的学习算法,如DT等,无法获取其相应梯度。(3)对于这些攻击的解释和防御仍未被研究。

    总结来说,提出一个面向基于学习的NIDS的实际且通用的攻击面临以下三个挑战:

    (1)实用性:保持功能,且可负担开销。

    (2)通用性:对使用不同ML算法的模型都有效。

    (3)可解释性:解释ML-NIDS的脆弱性和提升其鲁棒性。

    针对上述挑战,本文将逃逸攻击描述为一个双层优化问题,并提出了一个启发式对抗数据包制作框架来解决它。该算法可以自动对恶意流量进行变异,并选择出提取特征后最接近良性流量的最佳变异流量。在本研究中,威胁模型提供了对攻击者能力更实际的假设,即攻击者对目标NIDS非常有限(灰盒)或不了解(黑盒)。为了解决第一个和第二个挑战,总结了最先进的基于学习的NIDS中的常用特征,提出了几个流量变异操作(可以在不破坏恶意功能的情况下影响所有总结的特征),这将使得没有目标系统中特征提取器详细信息的攻击者也可以从总结的信息中受益。此外,本文扩展了GAN的思想,将目标ML分类器视为黑盒,从而逃逸任意ML模型的检测。

    为了解决第三个挑战,本文提出了一种特征空间内解释方法来有效度量NIDS的鲁棒性。通过量化每个特征被攻击者操纵的程度,提出了删除安全分数较低特征的防御策略。

    贡献:主要为提出一种了新的在实际流量空间中,针对ML-NIDS的逃逸攻击和防御手段,其次是评价和解释。具体说明如下:

    (1)在灰盒和黑盒假设下,提出了第一个针对ML-NIDS的实际流量空间逃逸攻击。

    (2)提出了一种评价目标NIDS对抗鲁棒性的特征解释方法。

    (3)使用六个攻击流量集,评估攻击和防御方法。包括Kitsune、六个典型ML分类器,和两个特征提取器(基于报文和网络流)。深入分析探讨了攻击背后的重要见解。

    二、背景(还是一些了解的,这里简述)

    1.ML-NIDS

    2.Non-payload NIDS:没有对有效载荷的检测是合理的,原因①检查payload加重NIDS的任务(payload可能加密) ②更易检查依赖于数量/迭代的攻击

    3.现有逃逸攻击

    (一些符号的解释:E(·) 从一系列相关流量中提取特征向量 C(·)以特征为输入恶意可能性为输出的分类器 t原始恶意流量 t^突变的恶意流量 f原始特征向量 f^突变特征向量)

    存在的问题

    (1)直接修改特征值:解决 argminf^ C(f^)

    (2)需要目标分类器的输出:解决argmin C(E(tˆ))

    然而(1)从流量到特征的提取是不可逆的(存在信息衰减)(2)系统设置细节/分类器输出的可能性无法被获取

    三、攻击知识

    1.威胁模型

    攻击者不需要了解目标分类器的任何知识(输出标签/可能性),仅能以合理的代价突变所控制的设备产生的流量。根据攻击者已知的目标NIDS所使用的特征知识情况不同,分为:

    (1)PGA实际空间灰盒攻击:已知目标NIDS使用的全部特征,可用于构建相同的特征提取器。(看起来不可能,实际上特征经常是公开的)

    (2)PBA实际空间黑盒攻击:对使用的特征知识有限。攻击者凭对广泛使用的特征的经验构建替代特征提取器。

    2.实际流量空间的逃逸攻击问题

    (1)训练一个替代分类器C^():解决一些ML模型无持续性输出而难于优化的问题。

    (2)构建一个替代特征提取器E^():对于PGA,与原始特征提取器完全相同;对于PBA,则是模拟的。

    (3)定义M()使得原始流量t突变为所有可能的流量t^。Ms()为安全的突变操作,如果M()可以保持原始恶意流量t的功能。

     于是,逃逸攻击可以看作为解决以下问题:

     这个公式显然是凭直觉获得的,但难解。那现在让我们把它转换成模仿正常特征的思路:因为在一个ML-NIDS中,正常轮廓(分类边界)是通过分类器fed的特征构建的,意味着特征可以隐含的表达正常分类边界。给出L(,)和一个良性特征f*,f^与f*的距离越小,f^就越容易被目标分类器分类为良性。于是上式可以转化成如下的双层优化问题:

     其中,h为ML模型的异常阈值。OK,现在我们可以通过分别解决底层和上层式子,以解决这个问题。首先,我们需要在(4)的限制下,解决问题(3)中的f*;接下来,在(5)的限制下,使用f*寻找(2)中的t*。对于这里的一些理解:首先,在保证f*在替代分类器中为良性流量的情况下,寻找与原始流量t经过替代特征提取器的特征提取后,距离最近的f*;接下来,在保证突变流量t^是安全的情况下,寻找与上述f*最接近的t^。这些f*被称为对抗特征,它们处于分类器的低置信区。

    总结来说,(3)用于生成/寻找对抗特征GAN (2)用于原始流量变异,使得其特征接近对抗特征(良性样本)PSO

    3.动机和解决方案概述

    下面介绍在上述两个步骤中所使用的具体方法,求解双层优化问题:使用增强生成对抗网络(GAN)生成对抗特征(Eq.(3)),粒子群优化(PSO)搜索逃逸流量突变体(Eq.(2))。

    关于采用GAN和PSO的动机,以及如何结合它们来完成逃逸攻击,有如下说明。

    (1)为什么生成f*?

    简而言之,当攻击者的开销预算或能力有限时,对抗特征f*可以节省修改流量/特征的开销。一方面,攻击者很可能有开销预算(比如额外的时间和用来逃避检测的流量);另一方面,注意到攻击者修改流量/特征的能力在实际中是有限的。例如,过度增加间隔时间会导致连接超时,注入过多的流量可能会被受害者感知。图b提供了例子来说明f*的必要性。在没有对抗特征引导f*的情况下,突变恶意特征最终可能无法到达最近的良性特征空间(场景1),或错过短暂的良性特征空间(场景2)。

    (2)为什么使用GAN?

    对抗特征的生成需要:1)模型不可知——我们假设攻击者不知道ML分类器 2)有效——在实践中可能会有大量的恶意/流量。而GAN具有很强的对抗特征生成能力,因为:1)判别器可以训练为目标分类器的替代品,从而进行未知模的攻击 2)一旦对生成器进行了训练,它可以针对任何恶意特征有效地生成f*。

    (3)为什么使用PSO?

    网络流量很难直接参与到数值计算中,因此需要将流量矢量化为包含数据包头部元信息的高维向量。注意,从流量到元向量的矢量化是可逆的。因此,问题(2)变成了寻找最优元向量。但与连续特征空间不同,元信息向量的每个维度都有不同的离散值,因此问题(2)是NP难问题。因此,需要采用群智能算法来寻找近似解。本研究采用粒子群算法,它简单而强大,在处理高维任务时具有很强的适应性。

    (4)二者是如何一起工作的?

    粒子群算法的优化目标由GAN生产。当机遇PSO对恶意流量变异时,通过度量E^(t^)与GAN生成的对抗特征f*的相似度,来寻找逃逸效果最好的恶意流量突变体。

    此时,逃逸攻击方法如上图所示,它包括两个环节:

    (1)对抗特征生成:假设攻击者想要发起一些活动,这将导致一系列恶意流量。首先,攻击者需要收集其所控制的网络中的一些良性流量。然后,利用代理特征提取器将恶意和良性流量提取为特征。并输入到GAN模型中。经过训练阶段后,生成器能够生成对抗特征。

    (2)恶意流量突变:在生成对抗特征后,使用带有预定义操作符的粒子群算法自动对恶意流量进行突变。群中的每个粒子代表一个由突变恶意流量元信息组成的向量。该群在(某次迭代过程中特征与对抗特征最相似的)临时最优粒子的引导下,迭代搜索流量空间,并经过多次迭代选择出最优粒子。

    四、生成对抗特征

    GAN的内容已经较为清楚,不在赘述。而在本实验中,在本研究中,通过额外计算输入和输出之间的构造误差L(,),扩展了以前的GAN,这里我们使用RMSE作为构造误差。

    G:

    D:

    GAN训练过程是生成器和鉴别器之间的迭代和相互优化,直到收敛。最终,生成器生成的特征可以作为对抗特征Fadver工作,即可以模拟良性特征的分布,同时接近恶意特征。

    五、突变恶意流量(如何使用启发式方法自动突变流量)

     1.基本流量突变操作

    这一部分介绍如何设计针对恶意流量的基本变异操作(即Eq.(5)中的Ms())。

    一般来说,变异操作符应该能够影响尽可能多的特征类型(增强其通用性),即使对于目标系统中使用的特征只有有限的知识(PBA)。此外,突变算子应该为保持恶意功能和隐身的,以防止被目标系统察觉。

    近年来,ML-NIDS的特征提取方法似乎有所不同,这增加了进行一般性攻击的难度。然而,在一些对非基于有效载荷的nids和其他网络异常检测系统的研究中,提取方法有着某种共识。在此基础上,本文总结了广泛应用于这些研究中的特征类型,基本上涵盖了上述相关研究中使用的特征,这也帮助那些对目标系统没有详细知识的攻击者(PBA)构建代理特征提取器。

    接下来,我们设计了可以影响上述所有(被本文总结出来的)特征的突变算子,同时保留了恶意功能。具体来说,算子包括:修改原始恶意流量、注入和调整精心制作的隐身流量。

    (1)修改原始恶意流量:

    需要确保原始流量不会被删除,数据包的顺序不会被改变。因此,该方法下唯一的突变操作符是:

    ① 改变原始流量中数据包的到达时间。

    (2)注入精心制作的隐身流量

    确定精心制作的流量包头内容并不是一件简单的事情。首先,只能手工生成攻击者发送的流量,而手工数据包中的一些字段(MAC/IP/port)需要与附近的原始数据包保持一致,否则手工包不会影响从原始包中提取到的特征。其次,报头中其他字段的分配必须满足以下要求:①不改变原始流量的恶意性 ②不会造成协议/语义/通信冲突(如TCP流量连接中断) ③不会引起目标系统的反应(为了隐身和重演的一致性)。

    根据上述要求,在下表中列出了生成手工流量的可选方法。注意到先前使用的修改TTL的方法需要了解目标系统的网络拓扑结构,这是非常严格的假设。因此,本文提出了针对不同类型流量的其他手工生成方法,而无需额外的知识。

     ANY --> 巧妙设计TTL字段使得NIDS可以接收到精心制作的流量,而目标系统不行

    TCP --> 对已建立/正在建立的连接再次发送建立连接请求(send SYN)

    TCP(established) --> 使包携带小于/大于预期(已确认)的SEQ/ACK

    UDP/ICMP --> 用无语义内容填充有效载荷(如随机填充)

    ICMP --> 使包携带已启用的类型/代码段

    (3)调整精心制作的流量

    对于精心制作的包在注入后,有以下几个调整手段:

    ①改变数据包在人工流中的到达时间

    ②改变数据包在人工流中的#协议层

    ③改变数据包在人工流中的有效载荷大小

    2.元信息向量化

    为了便于对结构化流量数据进行数值运算,需要将流量矢量化为包含原始流量元信息的元向量。注意!!!与特征提取不同,这种向量化操作是可逆的,这意味着从元信息向量重建原始流量是能够做到的。同时,上述关于流量的变异操作也需要在向量中体现。元信息向量的详细信息,以及向量与流量之间的矢量化和重建如下图所示,其中x表示元信息向量。

    为了说明x中每个维度的含义,以及它们如何反映突变操作,将x[i]进一步划分为xmal和xcraft[],分别表示原始恶意流量中的一个数据包,以及时间上在其之前到达的几个精心制作的数据包。

    xmal包含的两部分为Mutation (a)对应的时间戳,以及决定xcraft[]大小的精心制作的包数量。

    每个用xcraft[i]表示的craft包则包含三个部分,与Mutation (b1)对应的到达间隔时间(为与前一个packet的时间间隔);与Mutation(b2)对应的协议层(为其在TCP/IP协议中的层数);与Mutation(b3)对应的有效载荷大小。

    3.基于PSO的自动流量突变

    需要说明的是,每一个粒子代表着一个在流量空间内的突变。PSO算法的优化方式是根据每个粒子的位置和速度矢量迭代移动粒子

    迭代中,每个粒子的运动都是通过其速度来计算的,而速度由三个部分决定:①粒子在上一次迭代中的位置(也称为惯性);②粒子在之前所有迭代中最知名的位置(也称为认知力),用y表示;③群中其他粒子在当前迭代中最知名的位置(也称为社会力),用y^表示。用以表示粒子位置的向量就是元信息向量x;速度向量用v表示,它与x具有相同的结构,v的每个维度表示对应位置向量(x与y,x与y^)的差。

    本文所提出的算法如上图所示,其中Niter表示群中粒子的迭代次数,Nswarm表示群中粒子数。在每次迭代中,我们首先评估每个粒子的逃逸效果(第6行),然后更新个体最优和全局最优位置(第7-8行),分别用于计算认知力(第11行)和社会力(第12行)。然后,将权重w、c1和c2分别与惯性、认知力和社交力相乘,对每个粒子的v进行更新(第14行)。再根据v,更新每个粒子的x(第15行)。

    算法的一些重点阐述如下:

    (1)开销预算。本研究从两个方面限制攻击者的开销预算。Ic表示的手工包的数量与原始包的数量的比率。用lt表示突变流量与原始流量的时间消耗比率。也就是说,制作的数据包数量和突变流量经过的时间必须分别不超过lc和lt

    (2)种群初始化(第3行)。为了在搜索空间中充分分散初始粒子,xcraft[i]和xmal中的# crafted pkts字段在有效范围内随机初始化。对于xmal的时间戳,我们根据lt,将每两个原始数据包到达时间间隔的最大值分成n个相等部分,Timestamp从这些n节点中随机选择。v一开始被0填充。

    (3)有效性评估与流量重建(第6行)。逃逸有效性的评估分为三个步骤:

    ①首先,从位置向量x(即元信息)重建突变流量t^。原始流量包用xmal中的Timestamp替换后直接检索;对于手工制作的包,参考xcraft[i]中的# protocol layers随机确定协议类型后,可以通过表中列出的方法进行重建。上面的图中已经给出了一个流量重建示例。

    ②其次,通过代理特征提取器将突变流量提取为特征。

    ③计算所提取的特征与对抗特征之间的距离作为有效性。

    (4)位置更新(第15行)。x简单地通过添加第14行计算的v来更新。然而,x的一些维度是离散的(例如,# crafted pkts),这将通过逼近最接近的离散值来离散它们。

    六、防御方法(仅提供一些思路)

    这里介绍三种可能的攻击缓解方案,包括两个之前的工作和本文提出的新方案:

    (1)对抗性训练。它广泛应用于图像领域对抗样本的防御,通过使用正确标记的对抗样本重新训练分类器。然而,在流量空间攻击中,只能通过限制对抗特征的生成来降低攻击的有效性。

    (2)特征选择。去除ML模型中特征的冗余/不相关维度是特征工程的重要一步,可以有效提高检测性能和鲁棒性。

    (3)对抗特征降低。这是一个专门评估鲁棒性和防御这类逃逸攻击的新方案。简而言之,模拟本文提出的攻击以得到最优突变流量,然后计算变异流量中每个特征维度的值原始值相比接近对抗特征的程度。每个特征维度的接近率可以看作对抗鲁棒性得分。本研究认为,具有高维的特征使攻击者有机会利用一些脆弱的维度来逃避检测。因此,本文提出了一种通过删除部分鲁棒性评分较低的特征维来防御的方案。

    七、实验评估

    这一部分用于评估攻击和防御方法的表现。B和C中,使用多种恶意流量和不同的NIDS评估几种攻击方案。在D中,评估了本文提出的PBA方案。执行代价和参数影响在E中进行评估。F中验证了攻击恶意性保持。G中评估了防御方案。

    A.实验设置

    1.实验所使用的数据集如下:

     2.目标NIDSs:①kitsune  ②其他使用不同ML模型的分类器和特征提取器

    (1)特征提取器:

    ①AfterImage:基于包的特征提取,用在kitsune中,提取包大小、数量等关键统计信息。

    ②CICFlowMeter:基于流的特征提取,提取连接中的统计信息。

    (2)分类器:6个不同的分类器。

    ①KitNET:深度、无监督、集成学习网络,用于kitsune中。还有几个经典有监督学习模型,LR、DT、SVM、MLP。同时还有一个异常检测模型IF。

    3.基线攻击

    研究发现以前针对基于签名的NIDS和传统的基于异常的NIDS的攻击几乎没有逃逸效果,原因是这些攻击方法更侧重于操纵有效载荷。另一方面,包括FWA/FGA/FBA在内的特征空间攻击也不能被考虑进来,因为它们没有改变流量。因此,我们在很少的相关研究中使用流量空间攻击作为基线:

    (1)Random Mutation。随机突变流量并不是想象中的弱攻击,这已出现在发表的研究中。我们采用了两种随机变异方法:random-ST(分组间随机扩散间隔时间)和Random-Dup(随机复制部分原始流量)。至于其他方法,没有使用包注入是因为我们发现它对所有流量集均没有影响,删除/重新排序数据包会损害原始流量的恶意功能。

    (2)流量空间白盒攻击(TWA)。TWA唯一的工作使用了相似的突变操作符。由于该研究中假设攻击者已经充分了解目标NIDS,所以分类器的输出概率可以直接作为优化目标。

    4.指标

    首先提出了四种新的度量标准,它们的公式和直观的描述列在表v中。根据使用情况,本工作中使用的评价指标可分为三类:

    (1)逃逸有效性(MER、DER、PDR)。原始恶意流量逃逸率(MER)和检测逃逸率(DER)分别反映了攻击后原始恶意流量和所有变异流量(包括手工流量)的逃逸程度。也就是说,DER额外考虑了手工包是否被分类为恶意流量,反映了我们的攻击是否隐蔽。这两个指标高度依赖于异常阈值,因此,提出了一个更准确的指标--恶意概率递退率,度量目标分类器输出的恶意概率的递退率。

    (2)可判断的指标(MMR)。为了解释和理解ML-NIDS逃逸攻击的原因和原理,我们提出了一个可解释的指标--恶意特征模拟率 (MMR),它可以明确地显示攻击过程中,潜在空间内特征的变化。具体来说,MMR反映了突变过程中恶意特征与对抗特征的接近程度。

    (3)检测性能。此外,还使用了三个典型的指标——精度precision、召回率recall和F1-score,来衡量NIDS的检测性能。

    B.不同攻击的逃逸有效性评估

    这里使用PGA和其它三种基线攻击,评估在使用不同数据的kitsune上的逃逸有效性。额外评估了GAN+PSO和PSO的有效性,以及低(lc=0.2,lt=2)/高(lc=0.5,lt=5)预算对攻击的影响,认为基线攻击的预算属于高预算范畴。

    1.逃逸有效性对比

    对比MER/PDR结果,在相同预算(lc=0.5,lt=5)下,GAN+PSO对比随机操作均有良好表现。随机操作的有效性是不稳定的,每种操作都在某些特殊流量集上有效。由于两步攻击框架,我们的PGA比TWA表现出更好的效果。至于DER,结果表明多数情况下从MER到DER的下降<3%,说明我们的逃逸攻击中手工包是隐蔽且不可观察的,即使在lc=0.5(手工包数量更多)的情况下。

    2.对抗特征的影响

    使用对抗特征增加了逃逸有效性(通常为10-20%)。尤其在fuzzing中,GAN+PSO对比PSO,MER/DER增加近了90%。

    3.预算的影响

    很明显,高预算的表现效果更好,大部分提高了20-30%。

    4.不同流量集上的表现

    在一半的流量集上均达到>97%的MER/DER,5/6的流量集上达到>70%的MER/DER。在DDOS上表现较差的原因,可能为恶意流量起初就与良性流量空间距离较远,以至于超过了攻击者的预算或是能力,也就没有任何方法转为良性空间的样本。实际上,研究发现DDos中原始特征的异常值(即Kitsune中的RMSE)比其他场景都高出许多数量级。这就是为什么它的PDR比其他高(超过99.99%),而MER/DER却低的原因。这一发现也说明,除了单纯比较逃逸率外,还需要考虑攻击者对流量变异的能力和预算,以及异常特征的原始强度。

    C.其他分类器和特征鲁棒性

    在不同的NIDS上实现Botnet和DDoS攻击,并使用MER评估逃逸性能。

    1.逃逸有效性对比

    与基线攻击相比,我们的攻击具有更广泛的通用性,可以利用不同的特征逃逸不同的ML分类器。可以看到,Random-RT总是表现出非常糟糕的结果,而Random-Dup只在少数情况下具有逃逸效果。同时,攻击在所有情况下都优于TWA,特别是对于IF模型。我们将这种普遍性归因于模型不可知攻击中的特性级模拟。

    2.不同特征集的鲁棒性

    与基于包的NIDS比,基于流的NIDS对本文提出的攻击和其他攻击的抵御能力略强一些。但需要注意的是,我们的突变操作符是基于包的(而非基于流的),这是由于一般的黑/灰盒假设--每个包的突变可以攻击基于流的NIDS(因为流包含包)。

    3.不同分类器的鲁棒性

    根据僵尸网络实验结果,我们发现传统的ML方法比深度神经网络具有更强的鲁棒性。具体来说,KitNET(在Kitsune中)具有几乎最好的检测性能,但也有最高的逃逸率。分析其可能的原因是KitNET将功能分组,使得攻击者有机会影响更多的功能分组。通过实验,我们发现攻击所利用的原始特征中前10%的维度最终可以覆盖50%以上的特征组。在DDoS中,不同方法的鲁棒性较差,只有IF仍然保持较好的鲁棒性。同时可以看出,不同分类器的回避性能存在显著差异。我们认为这是一种正常的现象,这和不同的型号检测性能不同是一样的。为了实现模型不可知,我们使用欧氏距离来度量任何模型的特征相似性。

    注意:对于一些ML模型来说,这可能不是准确的方法来理解和测量特征。这项工作的目标是提出一种通用的方法来衡量不同ML模型的稳健性,为NIDS设计者提供一些重要的见解。

    D.使用有限知识特征的攻击(PBA)

    上面的实验已经评估了在PGA假设下,攻击的有效性。这一部分利用针对NIDS使用的特征的有限知识扩展我们的攻击,即PBA。具体来说,实验评估了三种类型的攻击者,他们分别知道NIDS准确使用的75%、50%和0%的特征。可以说,PBA和PGA之间的唯一区别是攻击者使用的替代特征提取器不同。对于PBA,除了有限的已知特征外,攻击者还提取了附录a中所有常用的特征。特别是对于PBA(0%),攻击者在完全不了解目标系统的情况下,只能使用其他特征来模拟特征提取器。

    使用Kitsune作为目标NIDS,评估了三种PBAs和PGA在所有流量集的MER和PDR。结果见表VII。

    与之前一样,我们认为PDR比MER更能反映逃逸效果。结果显示,PBA(50%)和PBA(75%)表现出与PGA相似的高PDR。即使对于毫无知识的攻击者,PBA(0%)仍然具有很强的逃逸能力(与PGA相比,PDR的下降在20%以内)。关键在于,即使无法准确地知道目标NIDS使用的特征,我们的攻击通过模拟特征计算出的突变方法对真实特征也是有效的(也就是说,它可以有效地将真实的恶意特征转化为良性特征)。

    对于Kitsune这样的NIDS来说,这一发现似乎非常令人沮丧和恐惧,因为这意味着一个较弱的攻击者也可以很容易地使相当一部分恶意流量能够逃逸检测

    E.执行代价和参数影响

    度量攻击的执行成本是很有必要的,特别是对于计算资源有限的攻击者来说。我们使用TWA作为比较算法来表示执行时间的下界,是因为TWA需要分类器的输出值,因此可以快速计算出候选解决方案(即流量突变)的质量,但在我们的攻击中是没有这种知识的。

    同时,还比较了三个关键参数对执行时间和逃逸性能的影响。我们用不同的参数(Niter,Nswarm,Nadver)表示攻击:Niter和Nswarm表示PSO中的迭代次数和粒子数,Nadver表示对抗特征的数量。结果如下图所示,结果表明,用(3,6,100)的攻击可以近似TWA的执行时间,同时具有更好的逃逸性能。而对于其他参数,攻击在执行时间上是可以接受的。参数越大,逃逸性能越好,但耗时越长。为了平衡这种权衡,我们认为(5,10,1000)是最好的参数组合,其他部分的实验也选择了这个参数组合。

    F.恶意功能验证

     严格来说,虽然我们保证变异操作符不会损害原始流量的恶意功能,但仍然在所有6个流量集中验证了变异流量的恶意功能。为了衡量恶意功能,我们使用三种指标:攻击效果、恶意行为和攻击效率,并在原始流量和变异流量中进行比较。

    下面以僵尸网络为例,说明这三个指标:在我们选择的流量中,攻击者使用名为Mirai的恶意软件扫描局域网中的IoT设备,成功扫描了8个打开的设备。在此场景中,攻击效果是攻击的最终结果,即成功扫描了8台设备。恶意行为包含所有的攻击行为,不管最终是否产生影响,即扫描次数。攻击的效率与攻击所需时间有关。显然,攻击效果对功能的影响大于恶意行为,攻击效率的变化率必须在攻击者开销预算lt之内。

    使用VMs和Dockers模拟每个流量集的实验试验台,然后使用Tepreplay和teplireplay在实验台上重放原始和变异的攻击流量,并观察三个指标。因为不同的攻击有不同的功能,三个指标的具体含义也不同,所以直接总结一下:使用本研究中逃逸攻击生成的突变流量可以保护原始恶意的功能。具体来说,攻击效果在所有情况下都保持不变,只有在DoS/DDoS攻击中恶意行为有所减少(由于时间间隔的增加,攻击带宽有所减少,但这种减少并不超过攻击者的预算lt)。对于攻击效率来说,尽管我们的方法可能使得一些攻击变慢,但其所需时间的变化率总是小于lt的。

    G.防御方案性能表现

    下面评估本文中提到的三种防御措施。

    对于对抗训练(AT),我们使用80%重新标记的对抗特征对ML分类器进行再训练,并使用剩下的20%进行测试。

    对于特征选择(FS),我们使用嵌入式Lasso回归模型保留80%的维数。

    对于本文提出的对抗性特征缩减(AFR),我们也保留了80%的特征维数。

    在所有流量集中使用Kitsune,并使用指标下降(δMER/δPDR/δMMR)来评估防御性能。结果下图所示。与AT和FS相比,我们的AFR在降低MER/PDR/MMR方面非常有效。我们观察到AT对攻击的防御效果非常有限且不稳定。这是因为它虽然可以限制对抗性特征的生成,但不能防止在流量突变过程中脆弱特征维度的利用。FS可以在某些场景中表现出较好的防御性能,这说明使用较少的特征维度会在一定程度上增加攻击者转换整个恶意特征的难度。

    同时,我们还测量了F1-score的变化,以评估防御方法是否会影响原有的检测性能。我们发现检测性能变化非常小(在±5%以内)。

    八、总结与讨论

    下面讨论一下本文提出的攻击的局限性,以及后续可能的改进方向。

    1.局限性

    如第二节所述,本文的方法是为了在不进行有效载荷检测的情况下逃逸NIDS检测而设计的,因此对于使用基于有效载荷检测的系统来说是无效的。然而,这个问题是容易解决的,只需要将我们的攻击结合多态混合攻击。这是攻击方式也很容易实现:利用多态混合攻击来加密原始恶意流量的有效载荷,并使用我们的方法来注入精心制作的包。另一个局限是,我们的攻击目前是离线的,但这可以通过重放突变流量来解决,因为我们已经证明,重放流量可以实现与原始攻击相同的恶意性。

    2.后台流量问题

    在提出的攻击中,通过注入一些精心制作的流量,可以与原始数据包聚合,以影响特征。然而,一些不可预测的后台流量(即一些不受攻击者控制但也可以到达受害者或NIDS的流量)可能会在某些特征上扰乱我们突变的流量。尽管如此,我们发现只有根据目标信息(例如,dstIP)提取的特征会受到后台流量的影响。因此,这种影响非常小(例如,Kitsune没有只通过目的地提取的特征)。

    3.改进逃逸攻击

    本文更多地关注于探索一种更实用的攻击方法,而不是努力提高逃逸率。一方面,本研究在PSO和GAN的实现中只使用了默认设置。例如,简单地使用了PSO算法中推荐的参数集 (ω=0.7298, c1=c2=1.49618);另一方面,使用欧几里得距离来度量特征的相似性。建议是未来的工作应该集中在其他距离函数或仔细的参数调整,以期待是否可以执行更好的攻击结果。

    To see I can not see, to know I do not know.
  • 相关阅读:
    <image>的src属性的使用
    echarts 图形图例文字太长如何解决
    python 多进程锁Lock和共享内存
    python 多进程multiprocessing 模块
    python memcache 常用操作
    python memcache操作-安装、连接memcache
    python
    python 复习 4-1 函数、参数、返回值、递归
    python基础复习-1-2 数据类型-str、list、tuple、dict
    python基础复习-1-1文件类型、变量、运算符、表达式
  • 原文地址:https://www.cnblogs.com/aluomengmengda/p/15242153.html
Copyright © 2011-2022 走看看