zoukankan      html  css  js  c++  java
  • 《软件定义网络中的异常流量检测研究进展》论文笔记

    数据平面可能受到的网络攻击

    (1) SDN 扫描

    攻击原理:SDN 扫描[16]

    Shin S, Gu G. Attacking software-defined networks: A first feasibility study. In: Proc. of the second ACM SIGCOMM workshop

    on Hot topics in software defined networking. New York: ACM, 2013. 165-166. [doi: 10.1145/2491185.2491220]

    攻击根据匹配的流和非匹配流响应时间的不同来扫描匹配字段,确定网络是否使用

    SDN/OpenFlow 交换机,并根据扫描到的匹配字段进一步对控制器和交换机进行攻击,而不需要高性能或高容

    量装置.SDN 扫描器向目标交换机重复发送同一头域内不同字段值的数据包,并记录和比较每个数据包的响应

    时间.达到规定次数后,SDN 扫描器更改头域,再重复此操作.

    SDN 扫描的流量特征:因为 SDN 扫描主要是扫描头域,并根据每段头域扫描的相应时间计算误差,因此网

    络上在某几个时间段内会有一定的流量从同一主机转向交换机,且这几个时间段相隔时间较为相同.

    (2) ARP 攻击

    攻击原理:地址解析协议(Address Resolution Protocol,简称 ARP)攻击[17]

    Alsmadi I, Xu D. Security of software defined networks: A survey. Computers & Security, 2015,53:79-108. [doi:

    10.1016/j.cose.2015.05.006]

    一般可分为 ARP 泛洪攻击和 ARP

    欺骗攻击.SDN 数据平面的 ARP 泛洪攻击是指攻击者通过向交换机管理的局部网络发送大量的 ARP 报文,使

    得交换机和合法用户无法正常通信.SDN 数据平面的 ARP 欺骗是指攻击者伪造一系列错误的(Media Access

    Control Address,简称 MAC)地址信息,并将错误的 MAC 地址映射到合法网际协议地址(Internet Protocol

    Address,简称 IP),然后按照一定的频率向数据平面交换机发送错误的 ARP 报文,使交换机无法保存正确的 MAC

    地址信息而无法正常工作.另一方面,攻击者也可以通过嗅探工具将自己的 MAC 地址与合法的 IP 地址映射,

    然后劫持合法用户流量数据,致使该用户被屏蔽出网络.

    ARP 攻击的流量特征:为了使交换机无法与合法用户进行通信,网络上可能出现的大量 ARP 的请求和响应

    报文.另一方面,攻击者为了劫持合法用户的数据,则可能短时间内向交换机发送一定数量的 ARP 报文.

    (3) 网络病毒攻击

    攻击原理:网络病毒攻击的目的一般是攻击网络上尽可能多的计算机,SDN 的客户端 PC 机较易成为病毒

    攻击的主要对象.以蠕虫攻击[18]为例,蠕虫攻击的工作方式是攻击者随机产生 IP 地址并进行地址探测,如果该

    地址的主机存在该 IP 地址,则扫描该主机是否存在漏洞;如果存在漏洞,则在该主机上复制病毒进行传染攻击.

    网络病毒攻击的流量特征:因为攻击者的计算机需要产生大量的 IP 地址进行探测,因此在一定时间内,攻击

    者的计算机会产生大量的网络流量,并且这些网络流量中有很多空的或不可达的数据包.而被攻击的计算机或

    交换机的同一个端口则在某一时间段内会接收到来自同一 IP 地址计算机的大量的流量.

    (4) 交换机劫持

    攻击原理:为了防止广播风暴并节省能源,OpenFlow 控制器提供了生成树服务[19].当发生任何拓扑更新时,

    会触发生成树服务以阻止这些冗余端口.然而,这种能力可以被攻击者利用来发起拒绝服务攻击,通过将伪链路

    注入到现有拓扑中,攻击者可以借用生成树服务来“杀死”正常的交换机端口.在交换机劫持过程中,攻击者先

    利用中间人攻击[20,21]窃取原有交换机的注册证书、MAC 地址和 IP 地址等信息,然后利用上述方法使原有交换

    机无法正常工作,然后将自己的 MAC 地址与被攻击的交换机的 IP 地址映射在一起,向所属控制器进行重新注

    册和认证,最后与客户主机进行重新连接,从而取代原有的交换机.攻击者就可以劫持交换机以窃取网络信息或

    造成该交换机所属的局域网络瘫痪.

    交换机劫持的流量特征:网络上有大量的流量涌入原有的交换机造成该交换机无法输出流量,而该交换机

    所属网络与控制器之间却有流量的正常传输.

    控制平面可能受到网络攻击

    (1) 面向控制器的 DoS 攻击

    攻击原理:面向控制器的 DoS 攻击是最严重的威胁,因为它会影响整个网络性能,造成网络延迟和合法数据

    包的丢弃,甚至可以导致整个网络被禁用或瘫痪.攻击者向控制器发起各种不同的 DoS 拒绝服务攻击[23],其中主

    要包括两种.第一种由交换机引起的 DoS 攻击,因为交换机需要定时向控制器发送信息,向控制器报告自己的状

    态,或询问相关流规则,因此攻击者可以利用多个交换机同时向控制器发送各类信息,从而导致控制器对

    Packet_In 事件响应非常缓慢,并发送 Packet_Out 消息的速度也随之变慢.另一种则是由用户主机引起的 DoS 攻

    击,攻击者可以不断地发送具有随机性的 IP 分组将控制器置于非响应状态[24],例如控制大量新入网的僵尸 PC

    机向同一控制器管理的不同交换机发送数据,因为交换机内没有匹配的流转发规则,则需要向控制器发送大量

    询问信息.这种攻击的目的是生成大量的数据包并发送到控制器[25].控制器则需为每个数据包生成新的流规则,

    最终导致控制器一直处于繁忙状态而无法响应正常用户的请求.

    DoS 攻击流特征:在攻击期间,会有海量流量转向被攻击的控制器,且在一段时间后,控制器所负载的流量将

    达到饱和状态。

    (2) 控制器劫持

    攻击原理:控制器劫持攻击[26]不同于数据平面的交换机劫持,攻击者使用应用平面恶意程序或 DoS 攻击将

    原控制器屏蔽出原网络,并将伪造的控制器迁移至目标网络.攻击者首先向原来控制器的指定代理进行 TCP 连

    接,通知代理服务器原控制器已故障进行新控制器的迁移,代理服务器在“伪控制器”上安装相关策略并进行相

    关参数配置之后,再将交换机迁移至“伪控制器”.这样就形成了控制器劫持攻击,攻击者就可以通过“伪控制器”

    在交换机的流表中创建条目来控制整个网络[27],而不易被网络管理者所发现.

    控制器劫持流量特征:原有的合法控制器中无流量传输,而其所管理的各个交换机在网络中却有流量的输

    送.

    (3) 恶意应用攻击

    攻击原理:SDN 使第三方应用能够被集成到网络体系结构[28]中,攻击者可以设计开发恶意的应用软件通过

    北向接口操纵控制器[20][24],使之成为恶意控制器.恶意控制器可以直接破坏网络;或者直接通过南向接口篡改

    交换机的流转发规则,导致流转发至特定节点从而窃取流信息.

    恶意软件攻击流量特征:恶意应用攻击控制器时,其流量特征必须根据恶意应用程序的具体功能才能判断,

    例如如果攻击者利用恶意应用程序窃听信息,那么网络流量就会从特定交换机转向特定的用户主机.如果攻击

    者使用恶意应用通过控制器攻击交换机,那么网络上就可能会有大量的流量从各个交换机转向特定的交换机.

    SDN 异常流量检测框架应该具有以下特点.

    (1) 灵活性——灵活的组件配置完成各类异常检测的任务,例如主动反应定义路径的实例化,在流表中部

    署特定或通用流规则,以及管理流参数,例如超时时间和数据速率;

    (2) 准确性——针对不同的网络分析情况进行不同的流量处理,保障网络安全;

    (3) 功能完整性——部署不同的功能组件实现异常流量检测过程中的不同功能如异常识别、异常分析、

    异常缓解等;

    (4) 高效性——高效性指两方面,一方面是指系统的响应时间应足够快,另一方面是指性能开销应足够

    小,而不应影响其他网络应用程序.

    SDN 异常流量检测机制是指异常流量检测过程中的所使用的主要功能,主要包括异常流量识别机制、负载

    均衡机制、异常流量追溯机制和异常流量缓解机制.

    异常流量识别机制

    (1) 轻量级异常流量识别算法

    轻量级异常流量识别算法是指算法复杂度较低,算法效率较高的异常流量识别算法.但是该类算法不具备

    学习性,可识别的异常流量种类较少,功能性较低.轻量级异常流量识别主要包括基于参数统计的识别算法、基

    于信息熵的识别算法和基于标签统计的识别算法.

    基于参数统计的异常流量识别算法是指在流量检测系统中设置与网络流量特征相关的参数,并收集一段

    时间内正常流量的参数数据,进行处理后作为统计阈值;在流量检测过程中,对特征参数进行观察与统计,如果

    超过设定的阈值则被认定为异常流量.例如在 Poster 方案[41]

    Lu Z, Chen F, Wu J, Cheng G. Poster: A Secure control plane with Dynamic Multi-NOS for SDN. In: Proc. of the Network and

    Distributed System Security Symposium. Reston: Internet Society, 2017.

    中,监测 SDN 网络链接数据、服务延迟数据和吞吐

    量等参数,并将监测到的数据与预设定的阈值相比较,如果超出阈值则被认为是异常流量,并将异常流量警报发

    送至调度程序.何亨等人[42]将络数据流中数据分组的 IP 头部和 TCP 头部中一些属性值作为统计参数,当特定属

    性值的出现频率超过预定的阈值时则判定有异常流量的发生.Gkountis 等人[43]则在 SDN 的控制器中部署一张

    统计表来统计每个 IP 地址数据流中的数据包数量和每个流中数据包的大小,并计算统计值的中间值,将中间值

    与阈值比较从而确定 SDN 中是否有分布式拒绝服务(Distributed Denial of Service,简称 DDoS)攻击.

    信息熵是信息论的重要概念,它可以度量网络数据相关联度的不确定性或随机性[44].

    Zhu Z, Wang L, Xia L, Cao S. Flow performance analysis of software defined networking based on cross entropy. In: Proc. of the

    2015 8th International Congress on Image and Signal Processing (CISP 2015). Piscataway: IEEE, 2015. 1556-1560. [doi:

    10.1109/CISP.2015.7408132]

    很多研究表明的不确

    定性或随机性的网络流量具有自相似、长相关和重尾分布等分布特征,信息熵值正好可以描述这些特征,因此

    能够通过分析流量信息熵特征的变化来检测流量异常[45,46].

    Navaz ASS, Sangeetha V, Prabhadevi C. Entropy based anomaly detection system to prevent DDoS attacks in cloud. International

    Journal of Computer Applications, 2013,62(15):42-47. [doi: 10.5120/10160-5084]

     

    Mu XK, Wang JS, Xue YF, Huang W. Abnormal network traffic detection approach based on alive entropy. Tong Xin Xue

    Bao/Journal on Communications, 2013,34(2):51-57 (in Chinese with English abstract).

    http://www.infocomm-journal.com/txxb/CN/10.3969/j.issn.1000-436x.2013.Z2.011 [doi: 10.3969/j.issn.1000-436x.2013.z2.011]

    信息熵已成为网络异常流量检测的重要手段之一.

    在 SDN 网络中,由于转发单元主要负责数据流的转发,不具备复杂计算的能力,而控制器负责网络控制具有较

    强的计算能力,所以很多研究中,异常流量检测需要从交换机收集流表,并在控制器中进行异常检测.但在大规

    模网络中,流表的收集过程又会对交换机和控制器之间的通信造成过载.使用信息熵识别算法可以解决这一困

    难,Mousavi 等人[47]在控制器中实施基于目的 IP 地址的熵变化的异常流量识别算法可以检测早期阶段的 DDoS

    攻击,此方法能够在攻击流量的前五百个数据包内检测 DDoS 攻击.Wang 等人[48]

    Wang R, Jia Z, Ju L. An entropy-based distributed DDoS detection mechanism in software-defined networking. In: Proc. of the

    2015 IEEE Trustcom/BigDataSE/ISPA. Piscataway: IEEE, 2015. 310-317. [doi: 10.1109/Trustcom.2015.389]

    在 SDN 的边界网络中运行的

    基于熵的轻量级 DDoS 洪泛攻击检测模型,实现了分布式 SDN 中的快速异常检测,并减少了控制器在流收集过

    程中的过载情况.

    基于标签统计的异常流量识别算法是指在转发单元的流条目中增加流标签,通过流标签来识别和统计出

    入本网络的不同数据流,从而来对异常流量进行识别.基于标签统计的异常流量识别算法可以实现不同聚合级

    别的流统计,以提高异常流量的检测精度.PathMon 方案[49]

    Wang MH, Wu SY, Yen LH, Tseng CC. PathMon: Path-specific traffic monitoring in OpenFlow-enabled networks. In: Proc. of the

    2016 Eighth International Conf. on Ubiquitous and Future Networks (ICUFN). Piscataway: IEEE, 2016. 775-780. [doi:

    10.1109/ICUFN.2016.7537143]

    将流和路径信息编码为标签,以提供相应的链路到链

    路的相关性和特定流路径统计的灵活性,用于进一步的异常检测或流量工程任务.Wang 等人[50]

    Wang R, Zhang Z, Ju L, Jia Z. A novel OpenFlow-based DDoS flooding attack detection and response mechanism in

    software-defined networking. International Journal of Information Security and Privacy, 2015,9(3):21-40. [doi:

    10.4018/IJISP.2015070102]

    扩展了流入口

    计数器并增加了入口标签,提出了一种基于 OpenFlow 的确定性入口分组标签的分布式攻击检测模型,该模型可

    以通过入口标签进行 IP 追溯,并在攻击源处过滤恶意流量,以较低的误报率实现较高的检测精度.FADE 方案[51]

    Pang C, Jiang Y, Li Q. FADE: Detecting forwarding anomaly in software-defined networks. In: Proc. of 2016 IEEE International

    Conference on Communications (ICC). Piscataway: IEEE, 2016. 2021-2026. [doi: 10.1109/ICC.2016.7510990]

    中使用标签统计机制来识别 SDN 的转发异常,它利用流标签以识别不同的流,并使用专用流规则来收集最小流

    集合的统计信息,通过分析统计信息以识别转发异常.

    (2) 重量级异常流量识别算法

    重量级异常流量识别算法是指算法复杂度大,算法精度高,识别的攻击类型广,功能性强的异常流量识别算

    法,其中主要包括机器学习、数据挖掘等算法.该类算法可以通过训练数据集来自动构建模型,并根据流量特征

    对流量进行分类识别,根据历史数据对网络攻击进行检测[52].

    Ashraf J, Latif S. Handling intrusion and DDoS attacks in Software Defined Networks using machine learning techniques. In: Proc.

    of the 2014 National Software Engineering Conference. Piscataway: IEEE, 2014. 55-60. [doi: 10.1109/NSEC.2014.6998241]

    但是该类算法效率较低,从高速网络的大量流量和

    噪声数据中准确地识别异常模式时,算法实现速度较慢[53],

    Zheng L, Zou P, Jia Y, Han W. Traffic anomaly detection and containment using filter-ary-sketch. Procedia Engineering,

    2012,29:4297-4306. [doi: 10.1016/j.proeng.2012.01.661]

    往往要求检测设备具有较高的计算能力.

    神经网络算法可以较精确地检测异常流量或网络入侵攻击.Damian等人[54]

    Jankowski D, Amanowicz M. On efficiency of selected machine learning algorithms for intrusion detection in software defined

    networks. International Journal of Electronics and Telecommunications, 2016,62(3):247-252. [doi: 10.1515/eletel-2016-0033]

    提出了基于人工神经网络的入

    侵检测系统,特征生成器从细粒度数据流中提取流量统计信息并进行处理形成流量特征,传输至分类器,由分类

    器检测数据平面中的恶意活动.控制器监控特征生成器和分类器的操作,并对流量分类的结果进行可视化.自组

    织特征映射网络(Self-organizing feature Map,简称SOM)和学习矢量量化网络(Learning Vector Quantization,简称

    LVQ)等多个神经网络算法在该系统中进行了测试.而Tuan等人[55]

    Tang TA, Mhamdi L, Mclernon D, Zaidi SAR, Ghogho M. Deep learning approach for network intrusion detection in software

    defined networking. In: Proc. of the 2016 International Conf. on Wireless Networks and Mobile Communications (WINCOM).

    Piscataway: IEEE, 2016. 258-263. [doi: 10.1109/WINCOM.2016.7777224]

    构建了基于深度神经网络模型的入侵检测系

    统,该模型中使用NSLKDD数据集进行训练,并通过SDN中获得的网络链接时间长度、网络协议类型、从源地址

    到目的地址的数据字节数、从目的地址到源地址的数据字节数、两秒内同一主机的连接数、两秒内同一服务

    的连接数这个六个基本特征来进行SDN异常流量检测.此外他们还将门控递归单元-递归神经网络算法(Gated

    Recurrent Unit-Recurrent Neural Network)[56]

    Tang TA, Mhamdi L, Mclernon D, Zaidi SAR, Ghogho M. Deep recurrent neural network for intrusion detection in sdn-based

    networks. In: Proc. of the 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft) . Piscataway: IEEE,

    2018. 202-206. [doi: 10.1109/NETSOFT.2018.8460090]

    引入至深度数据包检测系统从而进一步提高异常流量的检测

    率.

    贝叶斯算法可以预测网络攻击,从而可以定义 SDN 控制器的安全规则,防止恶意用户访问网络.Saurav 等人

    [57]

    Nanda S, Zafari F, Decusatis C, Wedaa E, Yang B. Predicting network attack patterns in SDN using machine learning approach. In:

    Proc. of the 2016 IEEE Conf. on Network Function Virtualization and Software Defined Networks (NFV-SDN). Piscataway: IEEE,

    2016. 167-172. [doi: 10.1109/NFV-SDN.2016.7919493]

    使用历史数据来训练基于贝叶算法的模型,通过训练模型来识别潜在易受攻击的主机,并且根据 SDN 控制器

    中的数据计算网络安全规则.Osama 等人[58]

    Haq O, Abaid Z, Bhatti N, Ahmed Z, Syed A. SDN-inspired, real-time botnet detection and flow-blocking at ISP and

    enterprise-level. In: Proc. of the 2015 IEEE International Conf. on Communications. Piscataway: IEEE, 2015. 5278-5283. [doi:

    10.1109/ICC.2015.7249162]

    则使用贝叶斯算法来检测 SDN 中的僵尸网络,他们将贝叶斯推理引

    擎作为严格的、自适应的数学方法来建模僵尸网络生命周期事件之间的因果关系,从而计算每个主机的感染可

    能性.Huan 等人[59]

    Ma H, Ding H, Yang Y, Mi Z, Zhang M. SDN-based ARP attack detection for cloud centers. In: Proc. of the 2015 IEEE 12th Intl

    Conf on Ubiquitous Intelligence and Computing and 2015 IEEE 12th Intl Conf on Autonomic and Trusted Computing and 2015

    IEEE 15th Intl Conf on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom). Piscataway:

    IEEE, 2015. 1049-1054. [doi: 10.1109/UIC-ATC-ScalCom-CBDCom-IoP.2015.195]

    使用控制器收集 ARP 数据包以建立全局 MAC-IP 映射信息的知识,然后使用贝叶斯算法来

    检测 ARP 攻击和 DDoS 攻击.

    支持向量机(Support Vector Machine,简称 SVM)的泛化能力较强,能够实现较小的分类误差且效率相对

    较高.Kokila[60]

    Kokila RT, Selvi ST, Govindarajan K. DDoS detection and analysis in SDN-based environment using support vector machine

    classifier. In: Proc. of the 2014 6th International Conf. on Advanced Computing. Piscataway: IEEE, 2014. 205-210. [doi:

    10.1109/ICoAC.2014.7229711]

    和 Wang[61]

    Wang P, Lin HC, Lin WH, Chao KM, Lo CC. An efficient flow control approach for SDN-based network threat detection and

    migration using support vector machine. In: Proc. of the 2016 13th International Conf. on e-Business Engineering. Piscataway:

    IEEE, 2016. 56-63. [doi: 10.1109/ICEBE.2016.020]

    等人均使用 SVM 进行异常流量检测:①数据训练阶段执行数据预处理和签名分析.预

    处理包括:将符号特征转换为数值;归一化标度;特征数据被缩放到落入范围[-1,1];攻击类型被识别为两个类别

    之一,0 为正常,1 为攻击.在签名分析中,从原始特征中选择不同的特征子集,以评估合格子集.②检测阶段:使用

    基于行为分析的模式来识别和分类 SDN 网络的入侵攻击.为了进一步提高 SVM 分类的精确性,Li 等人[62]

    Li X, Yuan D, Hu H, Ran J, Li S. DDoS detection in SDN switches using support vector machine classifier. In: Proc. of the 2015

    Joint International Mechanical, Electronic and Information Technology Conference (JIMET-15). Paris: Atlantis Press, 2015.

    344-348. [doi: 10.2991/jimet-15.2015.63]

    认为

    影响 SVM 分类效果的两个参数是惩罚参数和核函数参数,并通过遗传算法 GA 来寻找惩罚参数和全局最优解

    参数,然后使用具有最优参数的 SVM 来检测 SDN 的 DDoS 攻击分组.

    基于模糊算法使用模糊数学隶属度理论,利用综合评价法将定性评价转化为定量评价,即使用模糊综合评

    价方法来对由许多因素限制的事物或对象进行总体评价.该算法具有结果清晰,规则性强的特点,适合解决网络

    攻击检测中各种不确定性问题.Qiao 等人[63]

    Yan Q, Gong Q, Deng F. Detection of DDoS Attacks Against Wireless SDN Controllers Based on the Fuzzy Synthetic Evaluation

    Decision-making Model. Adhoc & Sensor Wireless Networks, 2016,33:275-299.

    通过模糊算法对 DDoS 攻击程度进行了综合评价.Dotcenko 等人[64]

    Dotcenko S, Vladyko A, Letenko I. A fuzzy logic-based information security management for software-defined networks. In: Proc.

    of the 16th International Conf. on Advanced Communication Technology. Piscataway: IEEE, 2014. 167-171. [doi:

    10.1109/ICACT.2014.6778942]

    则将 TRW-CB 算法[65]、

    Schechter SE, Jung J, Berger AW. Fast detection of scanning worm infections. In: Proc. of the International Workshop on Recent

    Advances in Intrusion Detection. Berlin Springer, 2004. 59-81.

    速率限制算法[66]与模糊算法相结合,从而识别恶意扫描攻击.其中 TRW-CB 算法是基于

    规律:对于良性主机,连接尝试成功的概率应该比恶意主机高得多;速率限制算法则是基于规律:在端口扫描或

    病毒传播的过程中,恶意主机试图在短时间内连接到各种主机.

    最邻近规则(k-Nearest Neighbor,简称 KNN)分类算法是通过测量不同特征值之间的距离进行分类.该算法

    简单有效,但是当训练样本分布不均匀时,异常检测结果会有较大误差,且复杂度较高.Latah 等人[67]

    Latah M, Toker L. Towards an efficient anomaly-based intrusion detection for software-defined networks. IET Networks,

    2018,7(6):453-459. [doi: 10.1049/iet-net.2018.5080]

    在 SDN 环境

    中比较了神经网络、贝叶斯、SVM 和 KNN 等多个基于机器学习的异常流量检测算法,通过实验观察到 KNN

    算法具有最高的准确性和较大的时间开销.Peng 等人[68]

    Peng H, Sun Z, Zhao X, Tan S, Sun Z. A detection method for anomaly flow in software defined network. IEEE Access,

    2018,6:27809-27817. [doi: 10.1109/ACCESS.2018.2839684]

    将置信机器算法(Transductive Confidence Machines,简

    称 TCM)与 KNN 算法相结合,提出一种双概率值的 TCM-KNN 算法实现 SDN 异常流量监测,同时提高了异常

    流量的检测效率与精度.

    负载均衡机制

    SDN 异常流量检测过程中的负载均衡机制主要有两类:自适应流收集法和网络切割分配法.自适应控制包

    含两个方面.

    1)根据分组头部字段控制空间聚合,它根据监测情况对现有聚合规则的放大或缩小;

    2)调整交换机的信息报告时间,它根据监测情况来延长或缩短交换机的信息报告时间.

    自适应流收集方法减少了网络内发送数据的数量,可以解决 SDN 异常流量检测过程中整个网络的负载均

    衡问题.网络切割分配法主要是将所检测的网络进行划分并分配给多个控制器或检测器,由于该方法并没有减

    少发送数据的数量,主要是减轻了单个控制器或检测器的负担.

    对于第一类方法,Zhang 等人[69]

    Zhang Y. An adaptive flow counting method for anomaly detection in SDN. In: Proc. of the 9th ACM Conf. on Emerging

    networking experiments and technologies. New York: ACM, 2013. 25-30. [doi: 10.1145/2535372.2535411]

    使用 OpenWatch 来监视不同的流量组和更改每个报告的聚合持续时间.当

    有异常的迹象时,OpenWatch 则减短监测时间间隔,生成具有较短持续时间的记录,并利用线性预测公式计算聚

    合数据流的预测值,然后与阀值范围相比较.如果预测值小于范围最低值,则设置对应于该聚合的扩展标志,如

    果值高于范围最高值,则设置缩小标志,然后根据设置的标志进行自适应聚合操作.Garg 等人对 Zhang 的自适应

    算法进行了改进[70],

    Garg G, Garg R. Detecting anomalies efficiently in SDN using adaptive mechanism. In: Proc. of the 2015 5th International Conf.

    on Advanced Computing & Communication Technologies. Piscataway: IEEE, 2015. 367-370. [doi: 10.1109/ACCT.2015.98]

    不需要设置标志直接根据比较值来进行聚合操作来减少算法的复杂性.但是,当合法用户在

    网络内发送大量数据流并引起数据流计数的较大波动时,该算法将此视为异常流量,并且引起警报,因此 Garg 等

    人又提出计算动态阈值范围来进行数据流聚合规则的动态更新[71].

    Garg G, Garg R. Accurate Anomaly Detection using Adaptive Monitoring and Fast Switching in SDN. International Journal of

    Information Technology and Computer Science (IJITCS), 2015,7(11):34-42. [doi: 10.5815/ijitcs.2015.11.05]

    对于第二类方法,Hark 等人[72]

    Hark R, Stingl D, Richerzhagen N, Nahrstedt K, Steinmetz R. Disttm: Collaborative traffic matrix estimation in distributed sdn

    control planes. In: Proc. of the 2016 IFIP Networking and Workshops. Piscataway: IEEE, 2016. 82-90. [doi:

    10.1109/IFIPNetworking.2016.7497233]

    提出基于协同流量矩阵的分布式协作控制平台 DISTTM 减轻单个控制器的

    监控负担.DISTTM 由安装在多个控制器上的协作模块组成,它们之间交换消息以计算控制器上的流量矩阵.分

    布式多控制器的具体协作机制:当某个控制器的监控流量达到阀值时,协调器就会收集所在网络的所有控制器

    的监控信息,根据所收集的信息来计算和分配每个控制器的监控范围.Abaid 等人[73]

    Abaid Z, Rezvani M, Jha S. MalwareMonitor: an SDN-based framework for securing large networks. In: Proc. of the 2014

    CoNEXT on Student Workshop. New York: ACM, 2014. 40-42. [doi: 10.1145/2680821.2680829]

    则提出 MalwareMonitor 负

    载均衡异常流量检测机制,如图 12 所示.该机制在控制器上部署负载均衡模块,该模块将网络逻辑分割成“切

    片”,“切片”是指具有特定特性(例如,特定端口,协议或源/目的地址)的所有业务;然后在数据平面中创建流规则

    并把来自每个“切片”的所有分组的副本转发到相应的检测器节点;检测器对接收到分组进行深度数据包解析,

    并将检测结果发送至决策模块;决策模块则向数据平面传送流规则以阻止网络攻击.

    异常流量追溯机制

    SDN 异常流量检测过程中通过特殊的方式跟踪异常流量的传输路径,搜寻流量的真实来源,不仅可以减轻

    网络攻击,还可以找到攻击者的确切位置,从源头上阻止网络攻击的进行.

    如图 13 所示为异常流量追溯一般模型.目前在 SDN 中异常流量追溯的研究主要集中在通过交换机根据控

    制的标记规则对可疑流量进行标记和统计,并将可疑的流量信息传输至控制器;控制器对异常流量的网络拓扑

    信息进行编辑,通过触发机制来进行流量溯源.

    例如,Zhang 等人[74]

    Zhang H, Lumezanu C, Rhee J, Arora N, Xu Q, Jiang G. Enabling layer 2 pathlet tracing through context encoding in

    software-defined networking. In: Proc. of the third workshop on Hot topics in software defined networking. New York: ACM, 2014.

    169-174. [doi: 10.1145/2620728.2620742]

    提出 PathLetTracer 流量溯源机制,其中控制器对所有的数据包转发路径进行编码称之

    为“上下文编码”,然后交换机将该编码作为流量的 ID 标识增加到流条目中,由用户查询作为触发机制,然后控制

    器对编码进行译码,根据网络拓扑对流量进行溯源.Tammana 等人[75]

    Tammana P, Agarwal R, Lee M. Cherrypick: Tracing packet trajectory in software-defined datacenter networks. In: Proc. of the 1st

    ACM SIGCOMM Symposium on Software Defined Networking Research. New York: ACM, 2015. 1-7. [doi:

    10.1145/2774993.2775066]

    针对前者交换机流条目过多的缺点,提出

    CherryPick 流量溯源机制,对于每个分组,交换机具有简单的链路选择规则(可转化为 OpenFlow 机制),如果分组

    匹配到其中一个规则,就选择相应的入口链路,并将相应的 ID 标识嵌入到分组中,然后由控制器根据 ID 标识重

    建网络路径进行溯源.

    对于网络攻击的自动溯源,Francois 等人[76]

    Francois J, Festor O. Anomaly traceback using software defined networking. In: Proc. of the 2014 IEEE International Workshop on

    Information Forensics and Security (WIFS). Piscataway: IEEE, 2014. 203-208. [doi: 10.1109/WIFS.2014.7084328]

    则利用控制器掌握全局拓扑的优点,根据网络有向图,利用流量

    特征(即源/目的 MAC 地址,源/目的 IP 地址,源/目的端口号,和协议类型),在发现攻击的交换机上执行路径溯源.

    而 Zhang 等人[77]

    Zhang H, Reich J, Rexford J. Packet traceback for software-defined networks. Princeton, Princeton University, 2015.

    ftp://ftp.cs.princeton.edu/reports/2015/978.pdf

    主要使用反向策略进行攻击流量追溯:控制器计算攻击流量的转发策略及其反向策略;反向策

    略将被迭代地应用于定位的分组及其相关联的分组集合,直到反向策略发现被丢弃的分组或者到达网络边界

    处的入口链路为止.Cui 等人[78]

    Cui Y, Yan L, Li S, Xing H, Pan W, Zhu J, Zheng X. SD-Anti-DDoS: Fast and efficient DDoS defense in software-defined

    networks. Journal of Network and Computer Applications, 2016,68:65-79. [doi: 10.1016/j.jnca.2016.04.005]

    针对 DDoS 攻击,利用控制器记录和计算每个交换机的流条目总数量和恶意流条

    目的比例,来确定并标记恶意交换机;使用全局网络拓扑、攻击目的地和标记的恶意交换机的组合来计算攻击

    流量通过的网络路径.翁溪等人[79]

    Weng X, Chen M, Zhang GM, Xu B, Xing CY. Design and implementation of a network measurement and analysis system in

    OpenFlow networks. Tong Xin Xue Bao/Journal on Communications, 2015,36(3):81-88 (in Chinese with English abstract).

    http://www.infocomm-journal.com/txxb/CN/10.11959/j.issn.1000-436x.2015061 [doi: 10.11959/j.issn.1000-436x.2015061]

    则通过全局日志来对数据进行溯源,首先需要对网络设备进行升级,增加时钟

    同步和本地日志记录功能,然后对分布式的本地日志进行预处理去除冗余信息,并对本地日志进行聚合形成按

    时间戳排序的全局日志;通过全局日志可以定量地重现数据平面的数据流传输过程,从而对异常流量进行溯源.

    异常流量缓解机制

    SDN 异常流量缓解机制是指在 SDN 发现异常流量之后,网络设备自动地或者网络管理员人为地对异常流

    量采取措施,防止异常流量进一步破坏网络,维护网络的正常运行.

    直接丢弃攻击流量是异常缓解机制最常用的手段,因为该方法网络设置简便,执行效率高.例如,在方案

    FlowTrApp[80]

    Buragohain C, Medhi N. FlowTrApp: An SDN based architecture for DDoS attack detection and mitigation in data centers. In: Proc.

    of the 2016 3rd International Conf. on Signal Processing and Integrated Networks. Piscataway: IEEE, 2016. 519-524. [doi:

    10.1109/SPIN.2016.7566750]

    中,如 果 源 地址 尝 试发 送 的 流 的数 量 超 过 合 法 计数 器 的 阀 值,则数 据 流 将 被丢 弃 以 阻 止转

    发;Giotis[81,82]

    Giotis K, Androulidakis G, Maglaris V. Leveraging SDN for efficient anomaly detection and mitigation on legacy networks. In:

    Proc. of the 2014 Third European Workshop on Software Defined Networks. Piscataway: IEEE, 2014. 85-90. [doi:

    10.1109/EWSDN.2014.24]

     

    Giotis K, Argyropoulos C, Androulidakis G, Kalogeras D, Maglaris V. Combining OpenFlow and sFlow for an effective and

    scalable anomaly detection and mitigation mechanism on SDN environments. Computer Networks, 2014,62:122-136. [doi:

    10.1016/j.bjp.2013.10.014]

    和 Carvalho[83]

    Carvalho LF, Fernandes G, Rodrigues JJ, Mendes LS, Proença ML. A novel anomaly detection system to assist network

    management in SDN environment. In: Proc. of the 2017 IEEE International Conf. on Communications. Piscataway: IEEE, 2017.

    1-6. [doi: 10.1109/ICC.2017.7997214]

    等人则在 OpenFlow 交换机的流表中插入流条目(或修改现有的)以阻止恶意流量,

    流条目中附带特定动作(转发,丢弃和修改字段操作),转发操作附加到每个良性流条目,而将丢弃操附加到恶意

    流条目.然而流量识别大多数情况下不能达到百分之百精确,识别出的恶意流量可能存在假阳性,即部分合法业

    务流被误识别为攻击流量.因此,直接丢弃识别出的“恶意流量”对合法业务流的影响较大,易造成合法业务流的

    丢失而使部分合法业务无法进行.

    基于流聚合的弹性缓解方法不直接丢弃全部的异常流量,而是通过流聚合来分离攻击流和合法业务流,并

    采用弹性机制来缓解异常流量对网络的攻击.例如 SDN-Guard 方案[84]

    Dridi L, Zhani MF. SDN-guard: DoS attacks mitigation in SDN networks. In: Proc. of the 2016 5th IEEE International Conf. on

    Cloud Networking (Cloudnet). Piscataway: IEEE, 2016. 212-217. [doi: 10.1109/CloudNet.2016.9]

    确保合法流以最小的往返时间转发,而恶

    意流量则分配较高的延时以防止网络堵塞和服务器崩溃,然后根据流规则中条目的共享属性将恶意流聚合到

    相同的链路,以防交换机流表溢出.Kalliola 等人[85]

    Kalliola A, Lee K, Lee H, Aura T. Flooding DDoS mitigation and traffic management with software defined networking. In: Proc.

    of the 2015 IEEE 4th International Conf. on Cloud Networking (CloudNet). Piscataway: IEEE, 2015. 248-254. [doi: 10.1109/

    CloudNet.2015.7335317]

    则通过流聚合规则分离出明显的恶意流量并加入至黑名单,

    根据黑名单丢弃恶意流量;对于具有潜在威胁的流量则被分配到副本服务器,然后通过调用副本服务器资源来

    进一步缓解攻击.基于流聚合的弹性缓解方法需要对流量执行聚合算法,并对不同级别的流量执行不同的操作,

    因此会对交换机带来较大的计算开销,执行效率也相对较低.

    为了减小异常缓解机制对交换机转发数据包的影响,有些研究提出通过流过滤器来缓解异常流量对网络

    的影响,即把识别出的异常流量转发至流过滤器,流过滤器根据检测情况对异常流量采取相应的措施.例如

    Sahay 等人[86]

    Sahay R, Blanc G, Zhang Z, Debar H. Towards autonomic DDoS mitigation using software defined networking. In: Proc. of the

    2015 NDSS Workshop on Security of Emerging Networking Technologies. Reston: Internet society, 2015. 1-7. [doi: 10.14722/

    sent.2015.23004]

    对异常流量进行标记并将其转发到流过滤器,流过滤器根据标记信息采取相应的策略对异常流量

    进行处理(比如改变其头域),然后再转发至网络,以消除异常流量对网络的威胁.针对控制器的 DDoS 攻击,在基

    于时间的缓解方案[87]

    I Gde Dharma N, Fiqri Muthohar M, Alvin Prayuda JD, Priagung K, Choi D. Time-based DDoS detection and mitigation for SDN

    controller. In: Proc. of the 2015 17th Asia-Pacific Network Operations and Management Symposium (APNOMS). Piscataway:

    IEEE, 2015. 550-553. [doi: 10.1109/APNOMS.2015.7275389]

    中控制器将目的地址无效或未知的数据包转发到流过滤器,当流过滤器检测到无效数据

    包的数量在一定时间内显着增加时,流过滤器通知控制器更新交换机规则将异常分组直接转发到流过滤器,然

    后流过滤器执行 DDoS 攻击的聚类时间模式以防止下一次 DDoS 攻击.虽然异常流量处理开销从交换机或控制

    器转移至流过滤器,但是因为流过滤器需要与交换机和控制器频繁通信,也会给网络造成额外的负担.

    对于跨域的分布式网络攻击,单个 SDN 网络异常流量缓解技术并不能完全抵御恶意流量的攻击,因为相互

    连接的 SDN 网络之间都有可能存在恶意流量的传输.因此 Giotis 等人[88]

    Giotis K, Apostolaki M, Maglaris V. A reputation-based collaborative schema for the mitigation of distributed attacks in SDN

    domains. In: Proc. of the 2016 IEEE/IFIP Network Operations and Management Symposium. Piscataway: IEEE, 2016. 495-501.

    [doi : 10.1109/NOMS.2016.7502849]

    提出了基于 SDN 控制器的合作攻击缓

    解机制(Cooperative Attack Mitigation Mechanism,简称 CAMM),在该机制中相邻 SDN 域通过 SDNi(SDN

    interface)协议交换信息,一旦某个 SDN 网络检测到攻击就会向他的相邻域发出通知,请求他们对攻击流进行过

    滤直到攻击停止,并向上游传播信息,从而尽力达到服务攻击的源 SDN 域.

    此外,即使攻击流被成功阻止,由攻击流生成的大量恶意流条目仍存在于交换机中.因此在异常缓解之后,

    需要删除恶意流条目,释放交换机的存储资源.此时需要借助溯源机制找到恶意流的传输路径,并删除相关流条

    目.

     

    作者:天际使徒
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Django 查询filter 常见查询方法
    Django form表单
    Django的认证系统
    django 中间件
    tricks or tips
    Git
    Paper Reading: A Brief Introduction to Weakly Supervised Learning
    Paper Reading: Dynamic Routing Between Capsules (NIPS 2017)
    Paper Reading: Recombinator Networks: Learning Coarse-to-Fine Feature Aggregation (CVPR 2016)
    Paper Reading: 3D Hand Pose Estimation: From Current Achievementsto Future Goals (CVPR 2018)
  • 原文地址:https://www.cnblogs.com/Horizon-asd/p/12622009.html
Copyright © 2011-2022 走看看