SDN环境下基于信息熵的DDoS攻击检测方法改进

2019-10-21 06:51赵贝贝
现代信息科技 2019年21期
关键词:信息熵

摘  要:SDN环境下,针对基于信息熵值的DDoS攻击检测方法一般采用固定阈值,无法较好适应网络环境动态变化而导致高误报率的问题,基于此提出了一种对传统信息熵的改进方法,在使用信息熵的基础上运用指数加权移动平均算法设定动态阈值,减小了固定阈值对检测正确率的影响。仿真实验表明该方法较传统信息熵值检测方法提高了检测准确率,同时降低了误报率和检测时间。

关键词:SDN;DDoS;信息熵;动态阈值

中图分类号:TP393.08       文献标识码:A 文章编号:2096-4706(2019)21-0129-03

Abstract:In the software definition network(SDN) environment,the method of DDoS attack detection based on the information entropy value generally adopts the fixed threshold value,can not adapt to the dynamic change of the network environment and leads to the problem of high error rate,and provides an improved method for the traditional information entropy. Based on the information entropy,the dynamic threshold is set by using the index-weighted moving average algorithm,and the influence of the fixed threshold on the detection accuracy is reduced. The simulation experiment shows that the method improves the detection accuracy compared with the traditional information entropy value detection method,and simultaneously reduces the error rate and the detection time.

Keywords:SDN;DDoS;information entropy;dynamic threshold

0  引  言

隨着计算机的迅猛发展,网络用户不断增多,网络规模不断扩大,传统网络面临结构复杂、网络难以管理等诸多问题,软件定义网络(SDN)便由此诞生[1-3]。SDN利用分层的思想,将数据和控制层面进行解耦,简化了网络结构,使网络控制变得更为灵活和集中[4]。然而,SDN控制器网络管理的高度中心化,很容易造成单点失效,一旦SDN控制器受到攻击,会致使交换机和控制器无法正常连接,整个SDN环境将会失去控制进而瘫痪。当今SDN面临的最大威胁之一便是分布式拒绝服务(DDoS)攻击[5]。

DDoS是攻击者通过控制多个肉鸡或服务器等资源组成僵尸网络,对被攻击者发送大量合法的请求,从而占用大量网络资源,致使被攻击者无法处理新的网络请求[6]。DDoS利用SDN环境下控制器集中控制特点以及交换机基于流表转发的特性,通过耗尽交换机流表缓存、控制器的系统资源或阻塞链路带宽等,致使SDN网络崩溃。

1  相关工作

当前已有大量针对SDN环境下DDoS攻击检测方法的研究。文献[7]提出了一种入侵检测方法,通过计算SDN控制器中的目的IP的熵值来检测DDoS攻击,其准确性取决于对熵值阈值的选择。然而其选择的阈值是固定的,不能很好地适应网络环境动态的变化。文献[8]将检测模块设置在边缘交换机中,并对交换机中的流表资源进行统计处理,以检测系统中的DDoS攻击。此方法试图在交换机中增强控制功能,没有充分利用SDN特性。文献[9]提出了一种packet_in过滤技术。保护控制器不受到攻击,该技术在转发packet_in事件之前列出包头字段的内容,然而,当攻击者生成新流后,该技术将是低效的。文献[10]提出了一种检测技术来对抗对SDN的TCP SYN泛洪攻击,他们利用了SDN的可编程性,但是,控制器也容易受到其他协议的影响。

结合以上分析,传统信息熵值在检测DDoS攻击中多使用固定阈值,存在一定的局限性。因此本文提出了一种对传统信息熵在DDoS攻击检测中的改进方法,即使用指数加权移动平均算法动态调整网络环境中的阈值,通过分析发送给控制器数据包信息,根据正常网络环境与DDoS攻击网络环境中数据包目的地址的随机性变化判断是否遭受DDoS攻击。

2  信息熵

在信息论中,通信中随机性的干扰是无法避免的,信息熵代表了所含信息量的多少,是对系统不确定性程度的一种度量[11]。一个系统越是有序,信息熵就越低;相反,一个系统越是混乱,信息分布越分散,信息熵越高。信息熵的公式可表示为:

上式中,我们可以用Pi表示窗口中每个目的IP地址的数据包出现的概率。w表示一个窗口内数据包的数量。在正常情况下,SDN网络中数据包的随机性比较大,然而当网络遭受到DDoS攻击时,大量数据包会发送给被攻击的主机,通常被攻击的主机只有一个,则大量相同目的地址的数据包会降低整个网络的随机性[12]。

3  改进的信息熵值检测DDoS

当前已有文献中,基于信息熵值法检测DDoS攻击中采用的固定阈值往往来源于大量模拟实验,然而真实的网络环境不断变化并且十分复杂,网络热点事件的闪拥、网络设备的故障等都会影响网络随机性的变化,如果在检测中单单使用固定阈值,并不能准确判断当前网络熵值的异常是否源于DDoS。因此本文使用指数移动加权平均算法对基于熵值计算的DDoS检测方法进行了改进。

指数移动加权平均算法是一种确定预测值的方法,通过给予观察值不同的权数,按不同权数求得移动平均值,然后以最后的移动平均值为基础,获取下一时刻预测值。各数值的加权系数随时间呈指数式递减,越靠近当前时刻的数值加权系数就越大。由于观察期的近期观察值对预测值有较大影响,因此它更能反映近期变化的趋势。其计算公式如下:

式(2)中,θt可理解为t时刻数据包的实际熵值,ft可理解为t时刻数据包的预测熵值。β为平滑系数表示加权下降的快慢。当f0=0,由式(2)可得式(3):

从式(3)中可以看出,每一时刻数据包信息熵的权重系数以指数比例减小,表明了越靠近当前时刻的数据加权影响力越大。将该方法应用于本文DDoS检测中,我们取N个正常窗口的熵值,使用指数移动加权方法计算出下一个窗口的预测熵值作为下一窗口的检测阈值。然后对比计算出下一窗口实际的熵值来确定网络是否存在异常流量。该方法确定的预测熵值最能反映当前网络的状态,对于DDoS攻击的检测更加符合复杂网络环境要求。

4  检测算法

在SDN环境中,当数据包到达交换机时,交换机首先会查看自己的流表以确定是否存在相应的匹配项,若匹配成功,则将根据相应的动作处理,但是当新的数据包到达交换机时,交换机中是没有此流表项的,因此无法匹配成功,此时交换机会把数据包的头部封装成packet_in消息并发送给OpenFlow控制器交由处理。通常当SDN网络发生DDoS攻击时,短时间内,网络中会出现大量交换机无法匹配的数据包,随后交换机会发送的大量packet-in消息至SDN控制器,占用大量的网络资源。此时,整个网络访问的随机性也会发生变化。

一般情况下,在发生DDoS攻击时,短时间内目的IP地址变化不大,因此我们可以通过统计到达控制器的packet-in消息的数量并解析数据包的目的IP地址计算其熵值大小来判断是否有攻击产生。我们先设定窗口的大小,然后统计控制器的packet_in数据包的个数,到达预定窗口值后,解析数据包里的目的IP地址,计算窗口内数据包每一个目的IP的信息熵值。再计算最近正常窗口的移动加权平均熵作为下一窗口的阈值。如果某一窗口的熵值低于本窗口的预测阈值,则标记该窗口为异常窗口,并开始计数异常窗口数量,我们规定若连续的3个窗口都标记为异常,则可判断此时控制器正在遭受DDoS攻击,此时,控制器会通过下发流表丢弃该数据包来缓解攻击。具体检测流程如图1所示。

5  仿真实验与分析

实验环境在Ubuntu1 8.04操作系统上搭建,使用Mininet进行仿真,选择支持OpenFlow协议的Open vSwitch作为交换机,选用Ryu作为SDN控制器。通过scapy构造大量源IP随机的异常流量,模拟DDoS攻击。实验所用的拓扑结构如图2所示。

h1—h9的IP地址分别为10.0.0.1—10.0.0.9。我们随机选择一个主机作为攻击者向另一个主机发送攻击流量,其他各主机间均为正常流量交流。通过大量仿真实验得到的数据如表1所示。

从表1可以看出,传统信息熵在检测DDoS攻击中的准确率为89.1%,误报率为28.6%,而经过文中改进的算法准确率提高到96.9%,误报率降低到10.7%。同时,相较于传统信息熵改进后的信息熵值算法在DDoS攻击检测中效率更高检测时间更短。

同时,由图3可知,随着窗口内访问量的增加,传统的信息熵值检测法的阈值是固定不变的,而我们通过指数移动加权平均法改进的熵值法则可以根据网络访问量的增加动态的调整合适的阈值,避免了当正常访问量过大熵值超过固定阈值时被误检为攻击流量这种情况的发生。

6  结  論

本文介绍的熵值检测对DDoS攻击有检测警报作用,占用资源小易实现,较单一固定阈值的熵值检测提高了检测精度,降低了误报率,但是对于复杂的网络环境,准确性还是存在一定问题。下一步工作可在此预报基础上,使用深度学习算法构建分类模型,对异常流量进一步精确区分和防御。

参考文献:

[1] 陈豪杰,贾创辉,邵维专.SDN环境下DDoS攻击检测研究进展 [J].现代计算机(专业版),2019(5):47-51.

[2] KREUTZ D,RAMOS F M V,VERISSIMO P,et al. Software-defined networking:A comprehensive survey [J]. Proceedings of the IEEE,2015,103(1):14-76.

[3] 张朝昆,崔勇,唐翯翯,等.软件定义网络(SDN)研究进展 [J].软件学报,2015,26(1):62-81.

[4] 王晓瑞,庄雷,胡颖,等.SDN环境下基于BP神经网络的DDoS攻击检测方法 [J].计算机应用研究,2018,35(3):911-915.

[5] BEHAL S,SALUJA K K,SACHDEVA M. D-FACE:An anomaly based distributed approach for early detection of DDoS attacks and flash events [J]. Journal of Network and Computer Applications,2018,111:49-63.

[6] ZHOU L,JIANG H,ZHOU X. A Survey of Traceback Based on Probabilistic Packet Marking Under DDoS Attacks [J]. Journal of Physics:Conference Series,2019,1213:1-5.

[7] Mousavi S M,St-Hilaire M. Early detection of DDoS attacks against software defined network controllers [J]. Journal of Network and Systems Management,2017,26(3):573-591.

[8] WANG R,JIA Z,JU L. An entropy-based distributed DDoS detection mechanism in software-defined networking [C]//2015 IEEE Trustcom/BigDataSE/ISPA,August 20-22,2015,Helsinki,Finland. IEEE,2015,1:310-317.

[9] KOTANI D,OKABE Y. A packet-in message filtering mechanism for protection of control plane in OpenFlow switches [J]. IEICE TRANSACTIONS on Information and Systems,2016,99(3):695-707.

[10] MOHAMMADI R,JAVIDAN R,CONTI M. Slicots:An sdn-based lightweight countermeasure for tcp syn flooding attacks [J]. IEEE Transactions on Network and Service Management,2017,14(2):487-497.

[11] 李蕊,张路桥,李海峰,等.基于熵的网络异常流量检测研究综述 [J].计算机系统应用,2017,26(6):36-39.

[12] 韩子铮.SDN中一种基于熵值检测DDoS攻击的方法 [J].信息技术,2017(1):63-66.

作者简介:赵贝贝(1994-),女,汉族,陕西咸阳人,硕士研究生,研究方向:网络安全。

猜你喜欢
信息熵
近似边界精度信息熵的属性约简
基于信息熵的承运船舶短重风险度量与检验监管策略研究
信息熵及其在中医“证症”关联中的应用研究
论犯罪信息
从信息熵论视角看特殊教育课堂教学
基于模糊集和信息熵理论的电网调度员培训评估方案