网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

SDN中基于条件熵和决策树的DDoS攻击检测方法  PDF

  • 傅友
  • 邹东升
重庆大学 计算机学院,重庆 400044

中图分类号: TP393

最近更新:2023-07-30

DOI:10.11835/j.issn.1000.582X.2023.07.001

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

软件定义网络(software defined network,SDN)作为一种新型网络架构,其转控分离及集中控制的架构思想为网络带来了显著的灵活性,同时为感知全局网络状态提供了便利。分布式拒绝服务攻击(distributed denial of service,DDoS)是一种典型的网络攻击方式。针对SDN网络中进行DDoS攻击检测的问题,提出了一种基于条件熵和决策树的DDoS攻击检测方法,利用条件熵判断当前网络状态,通过分析SDN中DDoS攻击特点,提取用于流量检测的6项重要特征,使用C4.5决策树算法进行网络流量分类,实现对SDN中的DDoS攻击的检测。实验表明,相比于其它研究方法,文中提出的方法不仅具有较高检测精确率和召回率,而且明显缩短了检测时间。

SDN[

1]作为一种新型网络架构,利用转发与控制分离以及集中控制的思想有效解决了传统网络架构下系统封闭、配置繁琐、演化拓展困难等问题。SDN控制器一般通过OpenFlow协[2]下发流量转发规则至交换机,可获取交换机流表信息,因此,SDN控制器可感知全局网络状态,判断SDN网络中发生DDoS攻击的可能性。DDoS[3]是当前互联网面临的主要安全威胁之一,也是SDN中典型的安全问题。DDoS攻击消耗大量被攻击服务器、数据链路或网络设备等资源,使其无法提供正常网络服务。SDN网络中面临的DDoS攻击除传统攻击方式外,还存在针对SDN架构特定的DDoS攻击方式,包括数据层DDoS攻[4]和控制层DDoS攻[5⁃6]

目前,SDN网络中DDoS攻击检测主要基于统计分析和机器学习方法。统计分析方法中信息熵、信息距离及相关系数等概念用于计算流量序列的随机性及序列之间的相关程度,配合阈值分析检测当前网络流量。Tao[

7]提出基于香农熵和Sibson距[8]的两步式DDoS检测方法,该方法能够有效检测和区分DDoS攻击和闪拥事件。Bhatia[9]提出一套基于广义熵和广义信息距离的信息熵(φ-熵)和信息散度(φ-距离)。在此基础上,Behal[10]提出运用φ-熵和φ-距离检测DDoS攻击和闪拥事件,该方法具有更优的数据敏感性和算法收敛速度。在基于统计分析的检测方法中,通过分析流量的统计信息并结合阈值判断DDoS攻击行为。研究表明,该类方法通常具有较低的检测时间,但难以保证检测准确率。

机器学习方法对数据具有更强的表征能力,通过机器学习算法构建流量分类或聚类模型实现DDoS攻击检测。Santos[

11]详细讨论了在SDN网络中各类机器学习算法的DDoS检测能力。Braga[12]利用SDN控制器集中管控的特点,提出基于六项特征的自组织神经网络(self-organizing maps , SOM)算法,但由于SOM网络神经元的排列方式较为固定,对检测实时性造成了影响。Yang[13]提出利用支持向量机(support vector machine , SVM)对网络流量进行分类,并通过设定的八项特征进行DDoS攻击检测。实验表明,该检测方法具有较高准确率,由于SVM中复杂矩阵运算,同样带来较高的时间开销。Liu[14]提出基于熵和BP神经网络的DDoS检测方法,通过边缘交换机上的熵值检测算法进行预检测,控制器提取六项特征作为神经网络的输入,利用粒子群算法优化BP神经网络的参数,最后进行DDoS攻击检测。在基于机器学习的检测方法中,通过分析DDoS攻击特点,提取相应流量特征并结合机器学习算法进行DDoS检测。在流量特征合适的情况下,该类方法能够保证较高的检测准确率,但复杂的算法也带来较高的时间开销。文中提出一种SDN网络中基于条件熵和决策树的DDoS检测方法。利用条件熵分析判断当前网络状态,提取DDoS攻击特征,使用决策树分类模型实现DDoS攻击检测。

1 背景介绍

1.1 条件熵

信息熵用于度量随机变量的不确定性,在数学领域中,信息熵定义为信息量的期望。随机变量的不确定性越强,熵值越大。

假定,随机变量X,取值集合为X=x1,x2,...,xn,每个取值概率分布为P=p1,p2,...,pn,其中,i=1npi=1,0pi1,i1,...,n,随机变量X的信息熵为

HX=-i=1npilog2pi (1)

对于随机变量XY,则X关于Y的条件熵表示为

HXY=ypyHXY=y=-ypyxpxylogxpxy (2)

条件熵表示在已知随机变量下,另一随机变量的不确定性。当DDoS攻击发生时,攻击流量中源IP地址和目的IP地址会存在明显多对一的映射关系,源IP地址关于目的IP地址的条件熵会发生明显变化。因此,条件熵变化可用于分析发生DDoS攻击的可能性。

1.2 C4.5决策树

C4.5是机器学习和数据挖掘中经典的分类算法。对于给定数据集,C4.5学习过程即是通过信息增益率构建决策树的过程。信息增益率表示为

GainRatioD,α=GainD,αSpiltInfo(α) (3)

式中:Gain(D,α)=H(D)-H(Dα)SpiltInfo(α)=-v=1DvDlog2DvDD为训练集;α为划分属性;Gain为信息增益;H为信息熵;SpiltInfo为分裂信息。C4.5每轮选择具有最大信息增益率的属性作为分裂属性构建决策树。

C4.5作为简单轻量的机器学习分类算法,能够生成易于解释的分类规则并且保证较高的分类准确率。利用C4.5构建用于流量检测的决策树分类模型,决策树叶子节点即为相应的流量类别,实现了在SDN网络中DDoS流量检测。

2 基于条件熵和决策树的检测方法

针对SDN网络中DDoS攻击检测,笔者提出基于条件熵和决策树的DDoS检测方法,主要包括3部分:

1)网络监控:控制器通过收集和分析Packet-in报文,监控当前网络状态,判断数据平面中发生DDoS攻击的可能性;

2)特征计算:通过分析SDN网络中DDoS流量及正常流量典型特点,提取用于机器学习算法的6项重要特征;

3)流量检测:利用C4.5流量分类模型,实现DDoS攻击流量检测。

2.1 网络监控

DDoS攻击通常会伪造网络数据包,导致控制器会在短时间内接收大量Packet-in报文。并且DDoS攻击具有分布式的特点,当攻击行为发生时,针对被攻击目标源IP地址的条件熵值会显著增加。因此,Packet-in报文速率及条件熵均可作为DDoS攻击检测的依据。

Packet-in报文速率定义为

Vij=NUM(PKIij)ΔT (4)

式中:ΔT为时间窗口;PKIij为第i个时间窗口内交换机Sj发送至控制器的Packet-in报文集合;NUM(PKIij)为集合内Packet-in报文数量。

源IP地址关于目的IP地址的条件熵定义为

Hijsipdip=-dippdipsippsipdiplogsippsipdip (5)

式中,psipdip为源IP地址对于目的IP地址的条件概率。

为减少误判可能性,要求当式(6)满足时,初步判断交换机Sj可能遭受DDoS攻击。文中将时间窗口ΔT等于流表项中预设置的空闲超时时间,通常为5 s。

(VijRv)or(HijsipdipRe)==True (6)

式中:Rv为报文速率阈值;Re为条件熵阈值。

上述2项指标的有效性以及阈值的确定方法,将在后续实验部分详细讨论。

2.2 特征计算

上述阶段结束后,控制器通过发送Flow-status-request消息至可能遭受攻击的交换机,收集交换机内流表项信息。结论不能作为判断DDoS攻击发生的准确依据,需要利用机器学习方法进一步鉴别区分DDoS攻击流量。虽然,DDoS攻击者可能采用多种攻击手段发起不同类型的网络攻击,但攻击流量依然存在相似的特征。在文献[

12,14]讨论的攻击流量特征的基础上,针对SDN网络架构特点,提出如下6项重要特征。

1) 流平均包数(average packets per flow,APF):与正常流量不同的是,典型的DDoS攻击往往采用短流攻击方式,导致APF明显下降。文中计算APF的方式为:根据目的IP进行流表项聚合,再计算流包数的中位数作为特征值APF。APF定义为

APF=packet_nums((FE_nums+1)/2), if FE_nums is odd;packet_nums(FE_nums/2)+packet_nums((FE_nums+1)/2)2, otherwise. (7)

式中:FE_nums为流数量;packet_nums为流中数据包个数。

2) 流平均字节数(average bytes per flow,ABF):攻击者通常为提高DDoS攻击效率选择较小字节数的数据包。选择流字节数的中位数作为特征值ABF,ABF定义为

ABF=Bytes_nums((FE_nums+1)/2), if FE_nums is odd;Bytes_nums(FE_nums/2)+Bytes_nums((FE_nums+1)/2)2, otherwise. (8)

式中,Bytes_nums为流中字节数。

3) 流平均持续时间(average duration of per flow,ADF):攻击者随机生成DDoS攻击数据包,大多数流表项规则生成后将被闲置,从而触发流表项硬超时规则。而正常的流表项一般持续时间会更长。ADF定义为

ADF=Duration_time((FE_nums+1)/2), if FE_nums is odd;Duration_time(FE_nums/2)+Duration_time((FE_nums+1)/2)2, otherwise. (9)

式中,Duration_time为流持续时间。

4) 流表项增长速率(rate of flow entries,RFE):当DDoS攻击发生时,大量访问数据包发送至目标主机,导致网络中交换机的流请求显著增加,流表项增长率明显高于正常网络访问。RFE定义为

RFE=FE_numsT-FE_numstT-t (10)

式中:FE_numsTT时刻流表项数量;FE_numstt时刻流表项数量。

5) 对流比例 (percentage of pair flow,PPF):由于DDoS攻击具有伪造源地址的特点,当攻击发生时,网络中单向流量数量会显著增加,导致对称流量比例明显下降。PPF定义为

PPF=2*PF_numsFE_nums (11)

式中,PF_nums为对称流数量。

6) 源地址φ-熵(source address entropy,SRE):DDoS攻击往往导致交换机中流表记录的源IP地址分散程度增加,源IP地址信息熵值高于正常流量中熵值。在DDoS检测中,φ-熵相比于香农熵有更好的检测效果。SRE定义为

SRE=-1sinhφsipp(sip)sinh(φlog2p(sip)) (12)

式中:sip为源IP地址;φ为超参数。

2.3 流量检测

特征计算阶段提取了用于区分DDoS流量及正常流量的6项重要特征。考虑到DDoS检测对于实时性的要求,文中选择轻量级的C4.5决策树算法。在C4.5进行流量检测之前,需要收集训练样本进行决策树的迭代训练,用于构建流量分类模型,最终检测算法的输出对应DDoS攻击流量或正常流量。

3 实验结果与数据分析

3.1 实验环境

在Ubuntu环境下使用Mininet进行SDN网络仿真,SDN控制器及交换机分别选择Ryu控制器及OpenVSwitch交换机。实验网络拓扑如图1所示。其中,S3交换机所连接主机Attacker1至Attacker5模拟发送DDoS攻击流量,攻击目标为位于S1交换机的主机H1和位于S2交换机的主机H6。

图1  实验网络拓扑图

Fig. 1  Experimental network topology

3.2 实验数据集

通过TFN2K工具生成DDoS攻击流量,DDoS攻击类型包括TCP_SYN Flood、UDP Flood和ICMP Flood。利用林肯实验室提供的真实入侵检测数据集LLS_DDOS_2.0.2中合法流量作为实验正常流量,正常流量中包含85%的TCP流量,10%的UDP流量,5%的ICMP流[

15]。实验的训练阶段使用10 000条流量样本确定实验阈值并构建用于流量分类的C4.5模型,测试阶段使用3 000条样本进行实验方法评估。

3.3 实验结果分析

3.3.1 阈值选择

该阶段是为确定网络监控阶段中Packet-in报文速率的阈值Rv及条件熵阈值Re。实验中,通过调整攻击数据包比例R=Na/(Na+Nb),模拟不同强度的DDoS攻击,NaNb分别为攻击数据包和正常数据包数量。

实验中,Packet-in报文采样周期为5 s,在20~35 s期间发起DDoS攻击,Packet-in报文速率及条件熵变化情况如图2~图3所示。

图2  Packet-in报文速率随时间变化趋势

Fig. 2  Trend of Packet-in rate changes over time

图3  H(sip|dip)随时间变化趋势

Fig. 3  Trend of H(sip|dip) changes over time

图2图3分别表示Packet-in报文速率及条件熵值随时间的变化曲线。可以看到,在20~35 s这段时间中,由于发生DDoS攻击,导致Packet-in报文速率及条件熵值显著上升,DDoS的强度越大,所达到的峰值越大。

当DDoS攻击行为发生时,Packet-in报文速率及条件熵相比于正常网络访问时已具有显著的差异性。阈值选择如表1表2所示,正常网络流量中Packet-in报文速率最大值为70 flows/s,条件熵为1.51。为降低误判率,笔者选择75 flows/s作为Packet-in报文速率阈值及1.6作为条件熵阈值。

表1  Packet-in报文速率阈值选择
Table 1  Packet-in rate threshold selection
参 数正常流量/(flows·s-1
均 值 59.2
标准差 5.90
最小值 52.0
最大值 70.0
阈 值 75.0
表2  条件熵阈值选择
Table 2  Conditional entropy threshold selection
参 数正常流量/(flows·s-1
均 值 1.14
标准差 0.23
最小值 0.78
最大值 1.51
阈 值 1.60

3.3.2 性能比较

为验证基于C4.5检测方法的有效性,使用相同实验数据集,在3种不同攻击强度的流量环境中分别与文献[

14]中基于PSO-BP的检测方法、文献[12]中基于SOM的检测方法以及文献[16]中基于GHSOM的检测方法进行对比。评价指标包括:精确率(precision)、召回率(recall) 和检测时间(time)。其中,Precision、Recall指标定义为

Precision=TP(TP+FP) (13)
Recall=TP(TP+FN) (14)

式中:TP表示攻击数据包中被正确预测的数据包数量;FP表示正常数据包中被错误预测的数据包数量;FN表示攻击数据包中被错误预测的数据包数量。精确率和召回率是二分类模型中重要的评价指标,相比于准确率,精确率和召回率更有效地应用于样本不平衡的分类场景。

图4表示在相同场景下,随着攻击强度提高,4种检测方法Precision的比较结果。整体来看,4种检测方法精确率差异较小,随着攻击强度提高,对精确率都存在一定的影响。攻击强度R=0.2时,基于C4.5检测方法的精确率为0.985,略低于基于PSO-BP、SOM及GHSOM的检测方法。但当攻击强度提高至0.6时,检测方法精确率为0.974,与基于GHSOM的检测方法相等,高于另外2种检测方法。

图4  检测精确率比较

Fig. 4  Comparison of detection precision

实验结果中Recall对比结果如图5所示,4种检测方法召回率都随着攻击强度提高小幅度下降,但基于C4.5检测方法召回率始终高于另外3种检测方法。在3种不同攻击强度的实验环境下,文中检测方法召回率均值为0.913,基于PSO-BP、SOM及GHSOM的检测方法召回率均值分别为0.908、0.903及0.909。

图5  检测召回率比较

Fig. 5  Comparison of detection recall

表3表示4种检测方法的检测时间对比结果。文中检测方法具有明显优势,在3种不同攻击强度的实验环境下,检测时间均值为6.83 s,而基于PSO-BP、SOM及GHSOM检测方法的检测时间均值分别为14.7 s、11.22 s及13.18 s。这是由于C4.5决策树模型在构建时仅使用概率分布信息,相比于另外的3种检测方法,计算复杂度较低。

表3  检测时间比较
Table 3  Comparison of detection time
检测方法检测时间均值/s
C4.5 6.83
PSO-BP 14.07
SOM 11.22
GHSOM 13.18

4 结束语

传统的基于统计和机器学习方法在解决SDN网络中DDoS检测时存在精确率低、检测时间长等缺陷,文中提出基于条件熵和决策树的检测方法,在利用条件熵进行预检测的基础上,通过分析SDN网络中流量特征并构建决策树分类模型实现DDoS攻击检测。为验证方法有效性,通过仿真实验,在真实数据集下,对比了基于PSO-BP的检测方法、基于SOM的检测方法及基于GHSOM的检测方法,结果表明,文中检测方法具有较高精确率和召回率,明显缩短了检测时间。

在后续工作中,将尝试把检测方法运用在真实复杂的SDN网络环境中,继续优化检测方法的复杂度,进一步降低控制器负载。

参考文献

1

Sezer S, Scott-Hayward S, Chouhan P K, et al. Are we ready for SDN? Implementation challenges for software-defined networks[J]. IEEE Communications Magazine, 2013, 51(7): 36-43. [百度学术] 

2

McKeown N, Anderson T, Balakrishnan H, et al. OpenFlow[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74. [百度学术] 

3

Yan Q, Yu F R, Gong Q X, et al. Software-defined networking (SDN) and distributed denial of service (DDoS) attacks in cloud computing environments: a survey, some research issues, and challenges[J]. IEEE Communications Surveys & Tutorials, 2016, 18(1): 602-622. [百度学术] 

4

Dhawan M, Poddar R, Mahajan K, et al. SPHINX: detecting security attacks in software-defined networks[C]//Proceedings 2015 Network and Distributed System Security Symposium. San Diego, CA. Reston, VA: Internet Society, 2015. [百度学术] 

5

Noh J, Lee S, Park J, et al. Vulnerabilities of network OS and mitigation with state-based permission system[J]. Security and Communication Networks, 2016, 9(13): 1971-1982. [百度学术] 

6

Yan Q, Yu F R. Distributed denial of service attacks in software-defined networking with cloud computing[J]. IEEE Communications Magazine, 2015, 53(4): 52-59. [百度学术] 

7

Tao Y, Yu S. DDoS attack detection at local area networks using information theoretical metrics[C]//2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. July 16-18, 2013, Melbourne, VIC, Australia. IEEE, 2013: 233-240. [百度学术] 

8

Yu S, Thapngam T, Liu J W, et al. Discriminating DDoS flows from flash crowds using information distance[C]//2009 Third International Conference on Network and System Security. October 19-21, 2009, Gold Coast, QLD, Australia. IEEE, 2009: 351-356. [百度学术] 

9

Bhatia P K, Singh S. On a new csiszar’s f-divergence measure[J]. Cybernetics and Information Technologies, 2013, 13(2): 43-57. [百度学术] 

10

Behal S, Kumar K. Detection of DDoS attacks and flash events using novel information theory metrics[J]. Computer Networks, 2017, 116: 96-110. [百度学术] 

11

Santos R, Souza D, Santo W, et al. Machine learning algorithms to detect DDoS attacks in SDN[J]. Concurrency and Computation: Practice and Experience, 2020, 32(16): e5402. [百度学术] 

12

Braga R, Mota E, Passito A. Lightweight DDoS flooding attack detection using NOX/OpenFlow[C]//IEEE Local Computer Network Conference. October 10-14, 2010, Denver, CO, USA. IEEE, 2011: 408-415. [百度学术] 

13

Yang L F, Zhao H. DDoS attack identification and defense using SDN based on machine learning method[C]//2018 15th International Symposium on Pervasive Systems, Algorithms and Networks (I-SPAN). October 16-18, 2018, Yichang, China. IEEE, 2019: 174-178. [百度学术] 

14

Liu Z P, He Y P, Wang W S, et al. DDoS attack detection scheme based on entropy and PSO-BP neural network in SDN[J]. China Communications, 2019, 16(7): 144-155. [百度学术] 

15

Borgnat P, Dewaele G, Fukuda K, et al. Seven years and one day: sketching the evolution of Internet traffic[C]//IEEE INFOCOM. April 19-25, 2009, Rio de Janeiro, Brazil. IEEE, 2009: 711-719. [百度学术] 

16

田俊峰, 齐鎏岭. SDN中基于条件熵和GHSOM的DDoS攻击检测方法[J]. 通信学报, 2018, 39(8): 140-149. [百度学术] 

Tian J F, Qi L L. DDoS attack detection method based on conditional entropy and GHSOM in SDN[J]. Journal on Communications, 2018, 39(8): 140-149.(in Chinese) [百度学术]