zoukankan      html  css  js  c++  java
  • As a reader --> Investigating Adversarial Attacks against Network Intrusion Detection Systems in SDNs

    Investigating Adversarial Attacks against Network Intrusion Detection Systems in SDNs

    引:ML-NIDS与软件定义网络(SDN)的结合展示出了有前景的检测结果,在SDN中,逻辑集中的控制平面提供了对跨网络数据的访问。然而,ML分类器在对抗攻击中暴露了许多漏洞,这些漏洞引起了对SDN中基于异常的NIDS中类似分类器实现的关注。本文研究了对分类器进行对抗攻击的可行性。首先实现了一个基于异常的NIDS——Neptune,它使用了不同的ML分类器和流量的流特征;开发了对抗测试工具Hydra,用以评估逃逸攻击对Neptune的影响(降低恶意网络流量的检测率等)。结果表明,在几个特征扰动的作用下,Neptune对特定SYN flood(一种DDoS)的检测准确率在多个分类器之间从100%下降到0%。基于这些结果,本文提出了如何提高分类器对对抗攻击鲁棒性的建议。

     一、介绍

    网络是现代社会基础设施的重要组成部分,经常受到恶意攻击的威胁,因此需要采取预防措施来保证网络的安全。新技术改变了网络架构,特别是软件定义网络(SDN)和网络功能虚拟化(NFV),针对这些架构的新的基于物理和软件的安全措施也得以实现。在SDN系统中部署NIDS的研究已经取得了很大的进展,原因是SDN网络内部的集中控制平面为全网络流量监控提供了支持

    ML是一种使用越来越广泛的技术,它使得基于SDN中可用的全球网络数据的基于异常的NIDS成为可能。在对NIDS的攻击中,过度刺激——用良性数据(网络流量)轰击分类器,以压倒它,从而导致错误分类。

    本课题主要研究逃逸攻击,如果攻击成功,将允许攻击者破坏或绕过NIDS。随着ML分类器成为实现NIDS的默认方法,本工作的目标是揭示SDN中此类安全系统的漏洞。为此,我们开发了Neptune作为目标NIDS平台,通过对设备之间的流统计数据进行分类,用于确定对NIDS中ML分类器的逃逸攻击可行性。该应用程序实现了流特征提取,多种分类算法可供选择(LR,RF,SVM,KNN)。

    本文开发了一个名为Hydra的对抗测试工具,以分析逃逸攻击对Neptune检测SYN flood准确性的影响。SYN flood是一种DDoS攻击,攻击者发送SYN (initial connection request)报文,淹没目标(受害者)的所有可用端口,使合法流量无法访问。我们的攻击是根据恶意用户实际能力发起和执行的,即不了解分类器或系统,从网络中的一个节点操作

    二、相关文献综述

    在本研究中,重点研究了SDN NIDS中ML分类器的漏洞和相应防御策略。ML在android恶意软件检测中已成为一个突出的研究方向。研究利用分类器不同层次的对抗知识,使用生成的逃逸攻击方法来测试恶意应用程序的逃逸能力。结果表明,无论攻击者的知识水平如何,都有可能使线性分类器和大多数非线性分类器变得冗余。事实证明,即使是没有任何知识的攻击者也能将线性分类器的检测率从100%降低到12%。

    针对入侵防御系统的对抗攻击的深入分类发表于2013年。Corona等人曾提出了针对基于异常和基于误用的IDS的三个关键攻击元素——测量、分类和响应。此外,还提出了针对这些攻击的防御措施,而文章的引言中提到的过度刺激攻击也是在这项工作中进行理论推导的。

    近年来,ML-NIDS已经在诸如SDN的网络架构中流行起来。Lee等人为SDN设计并测试了一个名为Athena的基于ML的异常检测器,并基于k-means算法实现了一系列分类器,结果显示了99.23%的DDos检测率。鉴于此,本文的NIDS使用的相同分类器,与前人的研究拥有相同的漏洞集

    良性流量对ML分类器的高流量率可能会允许恶意流量在网络中通过而不被检测,这是一种过度刺激攻击。而在投毒的情况下,通过直接访问训练数据,对手可以输入标记为良性流量的恶意流量,从而使恶意流量在SDN中自由流动。即使在攻击者的知识或能力有限的情况下,对恶意网络流量的特征增加扰动来表示良性流量,也具有很强的逃逸潜力。

    本工作中扩展了现有的研究,以调查和量化SDN中NIDS分类器在对抗攻击中的脆弱性。同时,演示了攻击泛化,即攻击跨不同分类器工作的能力。

     

    三、NEPTUNE介绍

    Neptune是一种基于异常的SDN NIDS,也是本文对抗攻击实验的目标,该系统利用网络流量统计信息对实时流量进行有监督的训练和分类。其开发的核心目标是检测DDoS攻击,特别是SYN flood。Neptune受到了Athena的启发,Athena是一个基于SDN的异常检测系统,它提供了一个可扩展到更大网络的开发框架。该应用程序由125个网络特征组成,开发人员可以使用这些特征来实现分类。作者提供了一个使用K-Means聚类算法的SYN flood检测模型,提出了重点用于攻击检测的9个关键特征。Athena达到了99.23%的检测率,Neptune的目标是使用类似的特征,以达到相仿的检测精度。

    A.流量统计采集

    Neptune通过监听专用的流量镜像主机从网络获取实时流量统计数据。

    Faucet:开源SDN控制器,实现灵活的流规则实现,将所有网络流量转发到专门的镜像主机。

    Argus:审计监听并记录所有被监测流的统计信息。

    Neptune:根据时间分批读取,再根据设备间唯一流进行预处理,提取并构造相关特征,以通过IDS。

    Argus的选择除了在速度和存储空间方面的高水平性能外,还受到所获流量统计数据的质量的影响。

    需要承认的是,流量统计镜像技术需要进一步发展,以扩展到具有多个交换机的更大网络。

    B.ML分类器

    入侵检测实现了一系列ML分类器,如表1所示。

    这些模型是在一些基于流的关键流量统计数据上训练的,数据来自Argus,由Neptune进一步处理。Argus特征包括特定流中的数据包和字节的数量,以及不同类型连接的状态标志。对于SYN flood的分类,Neptune从获得的流量统计数据中生成新的特征,并丢弃那些不需要的特征。最后用于分类的特征反映了在类似工作中被认为是可用于SYN flood 这种DDoS攻击检测重要的特征,表2列出了这些特征。

     

    所列出的有状态特性值的计算是基于字典查找实现的,以避免多项式时间复杂度(因随着流量计数的增加,多项式时间复杂度无法很好地扩展,这是DDoS攻击的一个特别考虑因素)。Neptune的整个流程如图2所示。

     

    C.流量数据集

    本工作中,使用来自CICIDS 2017数据集的良性流量。对于恶意流量,我们使用DARPA SYN flood数据集和一系列合成的SYN flood。DARPA flood呈现出SYN包的逐渐增加的速率,生成的攻击包括速度从10到1,000,000 pps不等,确保恶意数据集包含广泛的强度。

    整个数据集由500万个数据包组成。数据集中良性流量与恶意流量的比率约为60/40,从两个集合中提取80/20的训练/测试数据集,来训练和评估系统。

    四、Neptune性能

    使用训练数据集上的随机搜索交叉验证,对Neptune中的ML分类器进行了调整,以找到最优超参数。在测试数据集上进行分类时,Neptune使用LR和RF算法获得了最高的总体分类准确率,准确率为99.79%。这些模型在测试集上同样表现效果良好,结果见表3和图3。度量标准:ACC   PR   RE   F1

    为了识别每个特征对分类过程的影响,我们使用递归特征消除(RFE)对特征的重要性进行排序。RFE结果给出了排名最靠前的几个重要特征,这也是基于攻击行为的预期响应。例如,pair_flow是一对网络主机之间唯一流的数量的比率。由于大多数流量都是单向的,因此在DDoS期间,这个特性就会产生极端值。注意到,在不同的分类器中,排名最高的特征集是一致的,如表4所示(KNN不支持特征的重要性)。这些结果表明,对这些特征进行扰动,将导致对逃逸攻击成功可能性的较大影响。

    本工作的目的不是优化入侵防御系统,而是实现一个适合对抗攻击分析的目标平台。给出了分类精度结果已能够确认,Neptune为对抗测试提供了一个合适的基线。同时,特征重要性排序为对抗攻击分析提供了输入。

    五、对抗攻击

    本研究以逃逸攻击为重点,量化其对Neptune检测精度的影响。对抗攻击的成功与否取决于攻击者对目标系统的了解程度以及他们对网络/系统的物理访问情况。

    可以理解的是,有了更多的系统知识,例如用于分类的特征知识,就可以简化成功攻击的任务。为了产生有意义的结果,必须明确攻击者的目标和知识。

    1.威胁模型(对抗攻击者概要)

    1)攻击者的目标

    意图实施DDoS等网络攻击的攻击者的目标是使攻击不被察觉,并将对资源可用性造成最大可能损害。为了抵消这种损害,ids必须以最小的FN检测攻击(应检尽检),以便在检测的基础上采取进一步的行动。恶意用户利用对抗技术的目的是破坏分类器检测,增加FN,以最大化检测前的攻击持续时间。

    2)攻击者的知识

    假设攻击者可以访问一个网络中的单个主机,而不直接访问NIDS本身或它使用的分类器,这可以被认为是黑盒攻击。对手可以对NIDS所使用的分类器做出假设,因为NIDS已经得到了很好的研究,并且通常使用类似的分类器。因此,在DDoS检测中,如果正确地扰动了非常重要的特征,那么无论ML算法如何,逃逸效果都应该是明显的。如前所述,本研究重点关注的DDoS攻击是SYN flood。这种攻击的特征是已知的,并有文档记录,并影响用于检测的特征的类型。SYN flood具有典型的有大packet counts和快packet rates的单向通信。因此,对手的目标是制造一种逃逸,扰乱这些特征,使其与良性流量相似。

    3)攻击者的能力

    攻击者可以通过改变一些攻击参数来改变攻击的外观。在对分类器使用的特征并不清楚的情况下,对手仍然可以对通常用于检测的评估方式进行假设。攻击者在网络中发送数据包时,可以直接改变数据包的有效载荷大小、速率和计数等参数。此外,伪造额外流量的技术可能会影响流量特征,从而掩盖攻击。

    2.攻击方式概要

    本文提出了通过扰动三种基本SYN flood特征的组合来设计逃逸攻击。基于表四的结果,最重要的特征可以通过改变数据包速率和有效载荷大小,而扰动恶意流量。

    不能改变state flag:因为这将改变SYN flood攻击。

    可以改变pair——flow:构造伪双向流量。

    适当改变packet counts:虽然使用更小的该特征可以逃避检测,但这将大大削弱攻击。因此,应保持在适当的水平。

    根据本节中描述的对手的知识和能力,提出了三种扰动模型来实现对分类器的逃逸攻击:

    1) payload size 有效载荷的大小:

    良性SYN包和攻击SYN包的大小可以有很大的不同,攻击包的有效载荷通常比良性SYN包小得多,这为DDoS检测提供了一个独特的特征。因此,调整SYN包的有效载荷大小,以便看起来更类似于良性流量。通过增加数据包的有效载荷进行攻击,检测的可信度可能会降低。

    2) packet rate 包率:

    由于能够控制攻击的包速率,可以使用低且慢速的技术,这在基于HTTP的(如Slowloris)和TCP的DDoS中都很常见。但注意,以较慢的速率发送SYN flood报文,但仍要足够快,以达到DDoS的预期效果。如果数据包发送的速度太慢,现实中的目标可能仍能够处理超时的不完整连接,因为它永远不会完全被淹没,这将削弱DDoS攻击。

    3) bidirectional traffic 双向流量:

    DDoS攻击的一个显著特征是大量单向流量集中到一个目的地。攻击者可以假设IDS使用高单向包计数来检测SYN flood,类似于Athena的pair_flow特征。而通过伪造与攻击包的源和目的相反的流量,将假设出现良性的双向通信。然而,这将增加流入网络的攻击流量,从而带来更高的风险。

    综上,对Athena和Neptune执行SYN flood攻击的攻击者可用的对抗攻击面不大,只有一些重要的特征和攻击特性用于检测。尽管如此,如果有能扰动如此重要的功能,逃逸的潜力也将更加真实可靠。

    六、结果与分析

    本节将分析评估所提出的扰动攻击模型,包括使用单个扰动对分类置信度的影响,以及不同扰动组合相对应的实时检测结果影响。

    1.Hydra对抗性测试工具

    Hydra是一款对抗评估工具,为用户提供了一个界面和平台来测试他们的ML-NIDS抵抗对抗攻击的能力。测试框架如图4所示。

    对每个单独干扰的影响进行了测试,并计算不同算法的分类置信度。在保持所有其他特征不变的情况下,仅改变研究的特征。每个测试包括每个扰动值的20次攻击,例如:对每个分类器,使用每个不同的有效载荷大小进行20次攻击。常量值是缺省的hping有效负载大小(0字节),包速率和双向包速率约为650 pps。结果显示在图5中,置信度低于50%被认为是错误分类。注意,由于分类器的设计,SVM分类器置信度是不可用的(SVM类的分类结果不能转换为概率)。当一次仅一个特征受到干扰时,LR分类器显示的置信度变化不大。另一方面,RF和KNN结果的变化提供了对这些分类器潜在弱点的洞察。对有效载荷大小的扰动被证明会降低分类器的置信度。较低的SYN flood包速率显著降低了RF和KNN的分类置信度,而略降低了LR的置信度。这说明分类器用于DDoS攻击训练的流量样本比图5中测试的流量大。此外,bidirectional traffic的增加,使得RF和KNN置信度降低,说明匹配恒定的SYN flood packet rate可能具有伪装flood的效果。

     

    在此实验结果基础上,我们确定了三个特征的最佳扰动值,这些值详列于表5。payload的增加是基于RF置信度趋势。为了保证DDoS攻击的有效性,rate被设置为折中值。pairflow将匹配flow rate。扰乱一个特征并不一定会产生逃逸效果。然而,增加扰动,理论上将降低分类器的置信度。

    而为了量化这些干扰的影响,研究选择了一个基本的SYN flood,所有分类器都能以100%的准确性检测到。对于每个分类器和特征扰动组合,执行20次SYN flood 攻击,Hydra基于Neptune的检测结果计算总体检测精度。与初始的置信度测试类似,在测试中没有受到干扰的特征都将保持不变。结果如表6和图6所示。表6的结果反映了只要扰动一个特征,其他两个特征就会被所有分类器赋予足够高的权重,从而超过异常特征的重要程度,证明了对NIDS对此种逃逸攻击的鲁棒性。

    引入payload+rate扰动的组合也并不影响精度。然而,引入pairflow,再结合另一特征,将对逃逸攻击的成功与否造成很大的影响。如表4所示,pair_flow在所有分类器中重要度排名最高。图6给出了 payload+pairflow,rate+pairflow以及三种特征扰动组合的逃逸结果。

    RF和LR在pairflow+payload扰动时都显得很弱,但当payload没有改变时(在rate+pairflow的情况下),它们是健壮的。这证实了良性和恶意流量之间可区分有效负载大小的理论。

    Neptune NIDS是用恶意DDoS数据包训练的,相对于CICIDS的良性流量,有效载荷大小更小。因此,增加攻击报文的payload大小,可以使它变得像良性流量。如第四节所示,SVM拥有最低的TPR,而如图6所示的结果证实,结合任何其他特征扰动,它对使用pairflow扰动的攻击都是表现效果较差的。然而,KNN呈现出与其他分类器不同的趋势,成功的逃逸仅由rate+pairflow造成。RF、LR和SVM分类器的表现结果证明,如果干扰了正确的、高度重要的特征,逃逸攻击可以在不同的算法中泛化。此外,尽管KNN分类器在SYN flood检测中达到了所有测试分类器中最低的分类精度,但对于所提出的逃逸攻击,它似乎是最健壮的分类器。

    七、建议

    第六节给出的结果证实,与其他领域类似,对抗攻击也适用于SDN中基于异常的NIDS。因此,重要的是找到防御措施,以限制这类攻击的影响。在ML-NIDS的开发中,通常需要进行特征选择/工程阶段来调整算法,以达到尽可能高的检测精度,我们仍建议这个阶段考虑对抗鲁棒性的问题。例如,一个多目标优化公式将以最大的检测精度对抗鲁棒性为目标。本文中提出的Hydra工具提供了一个评估分类器的平台,以确保它在对抗攻击时足够健壮。

    其次,尽管许多分类器的检测精度很高,但分类器严重依赖于具有扰动潜力的特征,适合于黑盒攻击。为了增加攻击者的攻击代价,可以考虑在机器学习方法进行集成,如在决策中结合多个分类器的结果。未来的工作也将探索这一点以及相应的攻击类型。

    八、结论

    本文的动机是:越来越多的防御系统利用SDN提供的全球网络可见性,部署ML-NIDS。这些解决方案优先考虑检测精度而忽略了ML算法对抗攻击的潜在漏洞。

    对于SYN Flood,实验结果展示了逃逸攻击能够将多个分类器的检测准确率从100%降低到0%的能力。为了这项研究,我们开发了Hydra对抗测试工具,这是首个提供针对SDN中ML-NIDS的对抗攻击进行执行和评估的工具。Neptune作为对抗目标,并实现了多个分类器,展示了攻击泛化的可能性。KNN被证明是针对本研究中进行的对抗攻击最健壮的分类器,只有一个特征扰动组合能使其检测准确率从100%减半到50%。相比之下,RF、LR和SVM通常较容易受到相同的扰动,导致相似的检测精度下降结果。我们建议在ML-NIDS的开发,研究和工业使用中都采用对抗测试,并将对抗鲁棒性作为一种性能度量。

    To see I can not see, to know I do not know.
  • 相关阅读:
    SQL所有者更改问题
    人生路上对我影响最大的三位老师
    自我介绍
    Ural_1146. Maximum Sum (DP)
    Ural_1654. Cipher Message(栈)
    Ural_1333. Genie Bomber 2
    POJ_2112 Optimal Milking(网络流)
    Ural_1031.Railway Ticket (DP)
    Ural_1030. Titanic
    Ural_1207. Median on the Plane(计算几何)
  • 原文地址:https://www.cnblogs.com/aluomengmengda/p/15264939.html
Copyright © 2011-2022 走看看