APP下载

软件定义网络中基于贝叶斯ARTMAP的DDoS攻击检测模型

2022-01-14刘振鹏张庆文李泽园刘嘉航董姝慧赵永刚

关键词:贝叶斯交换机控制器

刘振鹏,张庆文,李泽园,刘嘉航,董姝慧,赵永刚

(1.河北大学 电子信息工程学院,河北 保定 071002;2.河北工程大学 管理工程与商学院,河北 邯郸 056038)

DDoS (distributed denial of service,分布式拒绝服务)[1]攻击是SDN(software defined network,软件定义网络)面临的诸多威胁之一,会对控制器造成毁灭性打击.攻击者使用多个源向目标发送大量多余的网络流量,使目标无法响应真正有用的服务请求.SDN架构在面临DDoS攻击时更加被动[2].交换机会将所有带有未知流量的数据包发送到控制器,由于控制器的集中管理特性,当控制器资源被耗尽时,整个网络都会瘫痪,DDoS攻击将造成灾难性后果.因此,实时精准识别DDoS攻击流量[3],保护网络安全已经成为当前研究的热点.

已经有大量针对SDN下DDoS攻击检测方法的研究.刘俊杰等[4]提出了一种基于C4.5决策树的检测方法,通过提取交换机流表,使用C4.5决策树算法训练数据集生成决策树对流量进行分类,实现DDoS攻击的检测,但其对CPU开销影响过大.张龙等[5]提出了基于信息熵的初检模块与基于深度神经网络DDN的DDoS流量检测模型,该方法在一定程度上加快了检测时间,提高了准确率,但是存在控制层CPU消耗和南向开销太大的问题.曹永轶等[6]提出了一种SDN架构下跨平面协作的DDoS检测与防御方法,利用OpenFlow交换机的计算能力,将一部分检测卸载到数据平面,进而通过数据平面轻量级算法和控制平面细粒度检测方法配合协作完成整个检测,此方法在数据平面筛选阈值定义太片面,并且需要6种指标都超出范围才会触发控制平面细粒度检测.Xiao等[7]提出了使用特征模式图模型(a feature-pattern graph model)的SDN中分布式拒绝服务攻击行为的发现方法,此方法可以检测到大多数典型DDoS攻击,却忽略了类似IP地址欺骗等类型的攻击.

针对以上不足,本文提出基于贝叶斯ARTMAP检测模型,该模型利用贝叶斯ARTMAP神经网络在快速增量监督学习方面的优势并且分类精度高的优点[8],可快速检测到SDN网络中的异常流量,适合将其应用到DDoS攻击检测中.

1 基于贝叶斯ARTMAP的DDoS攻击检测模型

基于贝叶斯ARTMAP[9]的DDoS攻击检测模型主要有3个模块,分别为流量统计模块,特征提取模块和分类检测模块.

图1 DDoS攻击检测模型Fig.1 DDoS attack detection model

流量统计模块主要收集捕获到的流量,通过向OpenFlow 交换机定期地发送流表请求得到 OpenFlow交换机返回的流表信息,得到流表信息后发往特征提取模块.特征提取模块提取流表中的关键信息并按照设定的方法求得参数,这些参数最后都发往分类检测模块.分类检测模块包含贝叶斯ARTMAP神经网络,这个模块主要通过ARTMAP提取分类规则,对新的数据集进行分类.

1.1 流量统计模块

流量统计模块用于统计OpenFlow交换机发送给控制器的流表信息.控制器会定时给OpenFlow交换机发送ofp_flow_stats_request报文获取流表信息.控制器发送报文的时间间隔应该适中,不能太大也不能太小.时间间隔太大会导致DDoS攻击在系统中存在时间过长,当检测到DDoS攻击时系统已经瘫痪.时间间隔太小会导致控制器消耗过高.通过多次实验得出控制器发送报文的时间间隔在5 s时效果最好.

1.2 特征提取模块

特征提取模块用于提取DDoS攻击发生时的关键特性.

DDoS攻击发生时,流表信息中某些特征会发生剧烈的变化.许多关于SDN下DDoS攻击检测文献中提到在攻击发生时picket_in数据包会发生显著变化[10-12].在相关DDoS攻击检测文献研究中,通过单位时间内源地址、目的地址和数据包协议3个属性的熵值[13]可以用来判断是否有DDoS攻击发生.因此,提取以下5个属性作为关键特征.

在SDN网络中,正常情况下,主机a和主机b进行数据通信,网络中包含源地址是a目的地址为b的数据流flow_dataab,以及源地址是b目的地址为a的数据流flow_databa,设定这2种数据流为一对匹配流flow_data_pair.相反如果在网络只有1条流,找不到其匹配流,将其称为单一流flow_data_soli.DDoS攻击会产生许多虚假地址来引发攻击,单一流迅速增长,因此当DDoS攻击发生时,匹配流占比会减少.

同理,当网络中发生DDoS攻击时,单一流数量会突然增加.

正常情况下,端口变化会比较平稳,当发生DDoS攻击时,不仅会出现大量伪造源IP地址,并且还会随机生成端口号进行扫描攻击, 因此网络中端口迅速增长也是DDoS攻击的显著特征.

DDoS攻击发生时网络中对同一目的地址数据包数量和大小[14]都会显著增加,其中,Num_port为Δt时间内不同端口数量.Num_dataa表示以a为目的地址的数据包数量,P_dataa表示以a为目的地址的数据包大小.

1.3 分类检测模块

将提取的参数传入分类检测模块中进行检测,根据贝叶斯ARTMAP对流量进行分类,从而检测出正常流量与DDoS攻击流量.分类检测流程如图2所示.

分类检测模块主要分为3个阶段.

第2阶段,称为匹配跟踪,ARTb通过对所有数据流量的类别进行辨认和划分,将验证ARTa中流量分类的合理性.如果验证ARTa中数据流量分类被确认,则根据此数据流量是正常流量还是攻击流量将其和同类流量数据放到一起.否则,将ARTa分类的节点还原,并且降低警戒阈值在ARTa中重新分类,直到确定数据所属类别.

第3阶段,采用粒子群算法[15]优化获胜节点参数.当流量被正确分类后,将此流量和同类流量放在一起,获胜节点参数也会发生相应变化.首先计算每条数据流量的适应度,根据适应度更新其个体、群体的历史最优位置,以及其相对位置和速度,直到找到全局最优位置,完成优化胜节点参数.

图2 分类检测模块Fig.2 Classification detection module

2 实验结果与分析

2.1 实验环境及评估指标

在Linux环境下使用mininet进行SDN仿真实验.操作系统为Ubuntu16.0.4.在R7 CPU和8 GB RAM的计算机上完成.用floodlight控制器作为SDN的控制器,使用OpenvSwitch交换机作为SDN底层的交换机.首先使用mininet搭建一个由1台控制器、3台交换器、6台主机组成的实验环境,网络拓扑如图3所示.

c0为floodlight控制器,s1、s2、s3为OpenvSwitch交换机,h1~h6为6台客户机,其中h1、h2客户机与s1交换机相连,h3、h4客户机与s2交换机相连,h5、h6客户机与s3交换机相连.交换机s1、s3都和s2相连.实验中各客户机之间可以相互访问.实验利用netsniff-ng套件中的trafgen工具产生流量,trafgen 工具能够动态生成攻击IP和端口号,更好地模拟DDoS攻击.选取客户机h5作为DDoS攻击源,向网络中发起攻击.网络中共产生15万条数据,其中包含8万条正常流量,7万条DDoS攻击流量,攻击流量在包含50%的SYN_Flood、30%的ACK_Flood、20%的UDP_fragment 3种攻击流量.

图3 SDN网络拓扑Fig.3 SDN network topology

实验通过检测率DR(detection rate)、准确率AC(accuracy)和误报率FPR(False positive rate)3个标准来评判该模型性能,计算公式如下:

其中,TP表示DDoS攻击流量被正确识别的流量;FP表示DDoS攻击流量被错误识别的流量;TN表示正常流量被正确识别的流量;FN表示正常流量被错误识别的流量.

2.2 实验结果与分析

实验中,将基于贝叶斯ARTMAP检测与基于K-means算法[16]检测、基于C4.5决策树[4]检测以及特征模式图模型[7]DDoS攻击检测进行比较分析.每种方式都对同样的攻击样本、提取同样的特征进行检测,分别得到检测率、准确率和误报率.实验结果如图4所示.

图4 不同模型的评估标准对比Fig.4 Comparison of evaluation criteria for different models

从图4可以看出,本实验使用的基于贝叶斯ARTMAP的检测模型在检测率、准确率和误报率3个方面都要优于基于C4.5决策树, 特征模式图模型和K-means算法模型.采用的模型检测率高达97.32%,并且误报率有显著下降.经数据分析,基于C4.5决策树模型过拟合现象较严重,许多流量未正确分类,导致误报率较高.

为了验证基于贝叶斯ARTMAP的DDoS攻击检测模型所提取关键特征的有效性,加入2组对比实验.第1组实验将选中的流量中不同参数的熵值和流量包数据等5元特征作为模型的输入,第2组实验直接在OpenFlow字段提取其包头域所包含的12元特征作为模型输入,其他实验环境不变,同时计算2种不同情况下的DDoS攻击检测的准确率和耗时,结果如表1所示.

表1 不同特征下模型检测的准确率和时间对比

由表1可知,直接提取OpenFlow字段包头域所包含的12元特征作为模型输入虽然比本文所构建的5元特征准确率上升了0.06%,但耗时却增加了14.25 s,由此可以证明本文构建的5元特征的有效性.

3 总结

论文对SDN网络下的DDoS攻击检测进行研究,提出了基于贝叶斯ARTMAP检测模型.通过提取流量中匹配流等特征对数据集进行预处理,将处理之后的数据通过贝叶斯ARTMAP神经网络完成了对DDoS攻击的检测.通过对比实验表明,本模型与K-means算法、C4.5决策树和特征模式图模型相比有较高的检测率和准确率,较低的误报率.同时本文还验证了所选5元组特征的有效性.虽然本模型在一定程度上改善了检测率和准确率,在DDoS攻击发生初期能迅速检测到攻击流,但是当DDoS攻击持续时间较长时,模型检测速度会变慢,下一步可对算法进行优化从而进一步提高性能.

猜你喜欢

贝叶斯交换机控制器
三转子式比例控制器设计与内泄漏分析
南京溧水电子3款控制器产品
基于贝叶斯网络的海盗袭击事件影响因素
基于NFV的分布式SDN控制器节能机制
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯公式的应用和推广
浅谈交换机CAN基本配置
罗克韦尔发布Strat ix 5410分布式交换机
智能液位控制器在排水系统中的应用