摘要
软件定义网络(software defined network,SDN)作为一种新型网络架构,其转控分离及集中控制的架构思想为网络带来了显著的灵活性,同时为感知全局网络状态提供了便利。分布式拒绝服务攻击(distributed denial of service,DDoS)是一种典型的网络攻击方式。针对SDN网络中进行DDoS攻击检测的问题,提出了一种基于条件熵和决策树的DDoS攻击检测方法,利用条件熵判断当前网络状态,通过分析SDN中DDoS攻击特点,提取用于流量检测的6项重要特征,使用C4.5决策树算法进行网络流量分类,实现对SDN中的DDoS攻击的检测。实验表明,相比于其它研究方法,文中提出的方法不仅具有较高检测精确率和召回率,而且明显缩短了检测时间。
关键词
SD
目前,SDN网络中DDoS攻击检测主要基于统计分析和机器学习方法。统计分析方法中信息熵、信息距离及相关系数等概念用于计算流量序列的随机性及序列之间的相关程度,配合阈值分析检测当前网络流量。Tao
机器学习方法对数据具有更强的表征能力,通过机器学习算法构建流量分类或聚类模型实现DDoS攻击检测。Santos
信息熵用于度量随机变量的不确定性,在数学领域中,信息熵定义为信息量的期望。随机变量的不确定性越强,熵值越大。
假定,随机变量,取值集合为,每个取值概率分布为,其中,,,,随机变量的信息熵为
。 | (1) |
对于随机变量和,则关于的条件熵表示为
。 | (2) |
条件熵表示在已知随机变量下,另一随机变量的不确定性。当DDoS攻击发生时,攻击流量中源IP地址和目的IP地址会存在明显多对一的映射关系,源IP地址关于目的IP地址的条件熵会发生明显变化。因此,条件熵变化可用于分析发生DDoS攻击的可能性。
针对SDN网络中DDoS攻击检测,笔者提出基于条件熵和决策树的DDoS检测方法,主要包括3部分:
1)网络监控:控制器通过收集和分析Packet-in报文,监控当前网络状态,判断数据平面中发生DDoS攻击的可能性;
2)特征计算:通过分析SDN网络中DDoS流量及正常流量典型特点,提取用于机器学习算法的6项重要特征;
3)流量检测:利用C4.5流量分类模型,实现DDoS攻击流量检测。
DDoS攻击通常会伪造网络数据包,导致控制器会在短时间内接收大量Packet-in报文。并且DDoS攻击具有分布式的特点,当攻击行为发生时,针对被攻击目标源IP地址的条件熵值会显著增加。因此,Packet-in报文速率及条件熵均可作为DDoS攻击检测的依据。
Packet-in报文速率定义为
, | (4) |
式中:为时间窗口;为第个时间窗口内交换机发送至控制器的Packet-in报文集合;为集合内Packet-in报文数量。
源IP地址关于目的IP地址的条件熵定义为
, | (5) |
式中,为源IP地址对于目的IP地址的条件概率。
为减少误判可能性,要求当
, | (6) |
式中:为报文速率阈值;为条件熵阈值。
上述2项指标的有效性以及阈值的确定方法,将在后续实验部分详细讨论。
上述阶段结束后,控制器通过发送Flow-status-request消息至可能遭受攻击的交换机,收集交换机内流表项信息。结论不能作为判断DDoS攻击发生的准确依据,需要利用机器学习方法进一步鉴别区分DDoS攻击流量。虽然,DDoS攻击者可能采用多种攻击手段发起不同类型的网络攻击,但攻击流量依然存在相似的特征。在文献[
1) 流平均包数(average packets per flow,APF):与正常流量不同的是,典型的DDoS攻击往往采用短流攻击方式,导致APF明显下降。文中计算APF的方式为:根据目的IP进行流表项聚合,再计算流包数的中位数作为特征值APF。APF定义为
(7) |
式中:为流数量;为流中数据包个数。
2) 流平均字节数(average bytes per flow,ABF):攻击者通常为提高DDoS攻击效率选择较小字节数的数据包。选择流字节数的中位数作为特征值ABF,ABF定义为
(8) |
式中,为流中字节数。
3) 流平均持续时间(average duration of per flow,ADF):攻击者随机生成DDoS攻击数据包,大多数流表项规则生成后将被闲置,从而触发流表项硬超时规则。而正常的流表项一般持续时间会更长。ADF定义为
, | (9) |
式中,为流持续时间。
4) 流表项增长速率(rate of flow entries,RFE):当DDoS攻击发生时,大量访问数据包发送至目标主机,导致网络中交换机的流请求显著增加,流表项增长率明显高于正常网络访问。RFE定义为
, | (10) |
式中:为时刻流表项数量;为时刻流表项数量。
5) 对流比例 (percentage of pair flow,PPF):由于DDoS攻击具有伪造源地址的特点,当攻击发生时,网络中单向流量数量会显著增加,导致对称流量比例明显下降。PPF定义为
, | (11) |
式中,为对称流数量。
6) 源地址-熵(source address entropy,SRE):DDoS攻击往往导致交换机中流表记录的源IP地址分散程度增加,源IP地址信息熵值高于正常流量中熵值。在DDoS检测中,-熵相比于香农熵有更好的检测效果。SRE定义为
, | (12) |
式中:为源IP地址;为超参数。
在Ubuntu环境下使用Mininet进行SDN网络仿真,SDN控制器及交换机分别选择Ryu控制器及OpenVSwitch交换机。实验网络拓扑如

图1 实验网络拓扑图
Fig. 1 Experimental network topology
通过TFN2K工具生成DDoS攻击流量,DDoS攻击类型包括TCP_SYN Flood、UDP Flood和ICMP Flood。利用林肯实验室提供的真实入侵检测数据集LLS_DDOS_2.0.2中合法流量作为实验正常流量,正常流量中包含85%的TCP流量,10%的UDP流量,5%的ICMP流
该阶段是为确定网络监控阶段中Packet-in报文速率的阈值及条件熵阈值。实验中,通过调整攻击数据包比例,模拟不同强度的DDoS攻击,和分别为攻击数据包和正常数据包数量。
实验中,Packet-in报文采样周期为5 s,在20~35 s期间发起DDoS攻击,Packet-in报文速率及条件熵变化情况如

图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
当DDoS攻击行为发生时,Packet-in报文速率及条件熵相比于正常网络访问时已具有显著的差异性。阈值选择如
参 数 | 正常流量/(flows· |
---|---|
均 值 | 59.2 |
标准差 | 5.90 |
最小值 | 52.0 |
最大值 | 70.0 |
阈 值 | 75.0 |
参 数 | 正常流量/(flows· |
---|---|
均 值 | 1.14 |
标准差 | 0.23 |
最小值 | 0.78 |
最大值 | 1.51 |
阈 值 | 1.60 |
为验证基于C4.5检测方法的有效性,使用相同实验数据集,在3种不同攻击强度的流量环境中分别与文献[
, | (13) |
, | (14) |
式中:表示攻击数据包中被正确预测的数据包数量;表示正常数据包中被错误预测的数据包数量;表示攻击数据包中被错误预测的数据包数量。精确率和召回率是二分类模型中重要的评价指标,相比于准确率,精确率和召回率更有效地应用于样本不平衡的分类场景。

图4 检测精确率比较
Fig. 4 Comparison of detection precision
实验结果中Recall对比结果如

图5 检测召回率比较
Fig. 5 Comparison of detection recall
检测方法 | 检测时间均值/s |
---|---|
C4.5 | 6.83 |
PSO-BP | 14.07 |
SOM | 11.22 |
GHSOM | 13.18 |
传统的基于统计和机器学习方法在解决SDN网络中DDoS检测时存在精确率低、检测时间长等缺陷,文中提出基于条件熵和决策树的检测方法,在利用条件熵进行预检测的基础上,通过分析SDN网络中流量特征并构建决策树分类模型实现DDoS攻击检测。为验证方法有效性,通过仿真实验,在真实数据集下,对比了基于PSO-BP的检测方法、基于SOM的检测方法及基于GHSOM的检测方法,结果表明,文中检测方法具有较高精确率和召回率,明显缩短了检测时间。
在后续工作中,将尝试把检测方法运用在真实复杂的SDN网络环境中,继续优化检测方法的复杂度,进一步降低控制器负载。
参考文献
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. [百度学术]
McKeown N, Anderson T, Balakrishnan H, et al. OpenFlow[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
Bhatia P K, Singh S. On a new csiszar’s f-divergence measure[J]. Cybernetics and Information Technologies, 2013, 13(2): 43-57. [百度学术]
Behal S, Kumar K. Detection of DDoS attacks and flash events using novel information theory metrics[J]. Computer Networks, 2017, 116: 96-110. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]
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. [百度学术]