SDN环境中基于Bi-LSTM的DDoS攻击检测方案*

2023-02-20 02:48白坚镜顾瑞春刘清河
计算机工程与科学 2023年2期
关键词:算力交换机分流

白坚镜,顾瑞春,刘清河

(内蒙古科技大学信息工程学院,内蒙古 包头 014010)

1 引言

随着 5G的推广应用和物联网产业的快速发展,万物互联已成为技术发展和产业应用的必然趋势[1]。软件定义网络SDN(Software Defined Network)凭借其灵活的网络配置、强大的网络编程接口等优点[2]成为5G时代网络发展的趋势。但是,这种集中式的管理方式使得SDN控制器成为分布式拒绝服务DDoS(Distributed Denial of Service)攻击的薄弱环节。

据腾讯安全和绿盟科技团队联合发布的2021上半年全球DDoS威胁报告[3],随着云计算、大数据以及5G的快速普及,DDoS攻击已经连续4年呈高速增长的态势。报告统计,仅在2021年上半年就发生了8起大型DDoS攻击事件。由此可见,在大流量前提下实现DDoS攻击的检测与缓解是非常有必要的。

基于机器学习的DDoS攻击检测和基于阈值的DDoS攻击检测是目前SDN网络中最常用的2种DDoS攻击检测方法[4]。但是,这2种检测方法容易受流量特征大小等因素的影响,可能会产生一定程度的误报。现有的研究已经开始将深度学习运用到DDoS攻击检测方面。作为当前热门研究方向之一,深度学习在大数据时代针对海量数据进行分析运算的能力上限很高,能够有效提高检测的准确率。

因此,深度学习也是本文检测方法的首选。基于长短期记忆LSTM(Long Short-Term Memory)网络在检测时可以兼顾全局信息这一特点,本文选择以LSTM网络为基础构建检测方案。考虑到5G背景下超高流量会带来更为严重的DDoS攻击威胁,本文在检测之前加入了攻击缓解环节,将边缘计算的思想融入检测模型中,利用边缘设备对数据流进行分流,缓解网络压力,在边缘设备利用训练好的小型神经网络模型进行攻击检测。该方案保证了检测的准确率,有效保护了5G时代大数据冲击下的网络安全。

2 研究现状

近年来,许多研究人员针对DDoS攻击检测进行了深入的研究。Fang等人[5]研究总结了基于域名系统DNS(Domain Name System)的DDoS攻击检测和防御方法,深入了解了基于DNS的DDoS攻击,分析和总结了攻击的特点和防御方法,并且讨论了攻击的分类,进一步拓展了对DDoS攻击的认识,从检测和容量增强的角度分析了目前的研究成果,且认为未来的研究重点应该放在物联网的DDoS攻击上。Erha等人[6]提出了一种基于统计学方法的DDoS攻击检测方案,并提出了2种简单有效的基于网络的和基于统计信号处理的DDoS攻击检测方法,最终达到了98%的真阳性率和0.34%的假阳性率。其中,第1种方法是按时间间隔划分初始数据集并使用K-means算法进行攻击检测,在受到DDoS攻击时发出警报;第2种方法利用了高斯和总体监管框架等常用于攻击和流量建模领域的假设检验,对窗口向量进行了唯一的量纲化,当DDoS攻击进入窗口时,窗口将被攻击中断,以此达到检测目的。Tayfour等人[7]提出了SDN中DDoS的检测和缓解方法,该方法由分类器模块、缓解模块和协作模块组成。使用集成的分类器检测DDoS攻击,在NSL-KDD(New SampLing-Knowledge Discovery in Database)等数据集上[8]验证了分类器的有效性,并用实验结果证明所提方法性能优于单一分类法的,误报率较低。还有较多研究人员对DDoS的检测和缓解进行了大量研究,如Yu等人[9,10]讨论了检测和缓解DDoS攻击的无效性,并创新性地提出了一种自动化工具,该工具可以利用机器学习根据流量的行为特征调整检测和缓解;Cui等人[11]使用认知启发算法和支持向量机SVM(Support Vector Machine)分类算法实现了DDoS攻击检测,但检测的准确性还需进一步提升。

万物互联的网络环境带来了数以亿计的数据,且随着技术发展,发起DDoS攻击的方式变得越来越自动化[12]。在这种场景下,发起DDoS攻击成本低,但造成的危害极大。目前的相关方案未能很好地契合5G发展浪潮,未能兼顾到SDN网络中遭受DDoS攻击时网络保护和检测精度。在SDN中,控制平面是DDos攻击的薄弱一环,在数据包到达控制平面前,数据包是在数据平面上转发的,数据平面由许多SDN交换机构成,而这些交换机多数均具有独立CPU,且这些CPU的算力并未得到充分利用[13]。如果能利用这些交换机的空闲算力,将庞大的DDoS攻击流量分散,在各个交换机上逐个击破,不但能加快检测速度,还能有效保持网络的稳定,使SDN网络在DDoS攻击流的冲击下免遭崩盘。

在前期部分研究工作的启发下,基于以上思考,结合目前较新的深度学习方法并引入边缘计算,本文提出了一种基于双向长短期记忆Bi-LSTM(Bidirectional-Long Short Term Memory)神经网络的DDoS攻击检测方案。该方案充分利用SDN网络中交换机的空闲算力,通过在交换机上部署轻量级神经网络完成DDoS攻击检测。综合考虑对SDN网络的保护和DDoS攻击检测的准确性等因素,该方案兼顾了DDoS攻击的检测与缓解。本文的具体工作如下:

(1)提出一种轻量级分布式边缘计算架构OCM(Only Care Myself),使得交换机的分流算法设计简单化且分流更有效率。在算力有限的边缘交换机设备上部署基于Bi-LSTM的轻量级神经网络完成DDoS攻击检测,兼顾检测精度和检测速率;

(2)将SDN网络中的数据平面交换机作为边缘设备,利用它们的空闲算力对庞大的DDoS攻击流进行分流处理,减轻控制器压力,缓解DDoS攻击;

(3)同时考虑SDN网络中DDoS攻击的缓解与检测,提升网络的安全性与可用性。

本文其余部分组织如下:第3节详细介绍本文提出的方案;第4节进行实验并评估,包括数据集处理、模型性能评价指标的选择以及实验结果;第5节是本文的结论。

3 基于Bi-LSTM的检测方案

如上所述,DDoS攻击是当前网络世界最重要的安全威胁之一,它利用大量被攻击主机对攻击对象发起协同攻击。在SDN网络中,DDoS攻击的主要目标是控制器,其目的是使SDN网络出现单点故障SPF(Single Point of Failure)[14],此时控制器与数据平面失去联系,无法为转发的数据包提供服务,整个SDN网络也就随之陷入瘫痪状态。

针对SDN控制平面集中管理易造成单点故障这一特性,首要考虑在数据流到达SDN控制器前对数据流进行处理,在保证网络安全的前提下对数据流进行DDoS攻击检测。SDN交换机通过流表进行数据流的转发操作且拥有一定的计算能力,在数据流到达控制器前可以作为很好的分流工具用以缓解DDoS攻击。通过对DDoS攻击特点和SDN网络结构进行分析,本文所提方案的攻击缓解和检测机制为:当DDoS攻击流进入SDN网络时,利用交换机对攻击流不断进行分流,减轻网络压力,并对分流后的数据流进行分析处理,甄别是否为攻击流,方案流程图如图1所示。该方案充分利用了SDN交换机的空闲算力,避免SDN网络中出现单点故障从而导致网络不可用的情况。

Figure 1 Flowchart of the proposed scheme 图1 本文所提方案流程图

本文基于Bi-LSTM构建神经网络模型对DDoS攻击进行检测,使用的数据量较为庞大,检测准确率比较客观,但模型训练时耗时较长无法避免。在实际应用中,DDoS攻击检测需要达到较高的检测准确性,同时还需兼顾检测效率。以此为启发,本文对进入网络的数据流进行分流,以保证攻击检测的速度,在分流后数据量不影响检测准确率的前提下利用训练好的模型进行DDoS攻击检测,该检测模型示意图如图2所示。

Figure 2 Schematic diagram of detection model图2 检测模型示意图

当DDoS攻击流进入图示SDN网络中的某一个交换机时,数据流流经的每个交换机都仅截留部分流量以供检测。攻击流根据转发规则被转发至沿途的其余交换机上,直至攻击流被消化完为止,这样就在实现缓解DDoS攻击目的的同时给每个交换机分配好了检测任务。在各个交换机上部署的基于Bi-LSTM的神经网络模型将对该交换机截留的数据流进行攻击检测。

3.1 数据分流

本文所提的DDoS攻击检测方案立足于SDN环境,利用Mininet[15]搭建拓扑结构,选择RYU控制器[16]对交换机进行调度,交换机根据控制器下发的转发规则将超过自身算力的部分数据流转发至其他有空闲算力的交换机上,从而实现对攻击流的分流。

图3所示为本文搭建的实验网络拓扑。该网络拓扑中共包含1个RYU控制器、8个OF(OpenFlow)交换机和12个终端主机h1~h12。该实验网络拓扑的搭建基于Ubuntu 18.04.2、网络模拟器版本为Mininet 2,且使用RYU控制器。RYU是一种SDN控制器框架,为软件组件提供了良好的应用程序编程接口API(Application Programming Interface),方便开发人员创建和管理网络和应用程序[17]。RYU支持多种管理协议,如OpenFlow、Netconf和OF-config等。本文采用OpenFlow协议,即使用应用较为广泛的OpenFlow交换机,RYU SDN框架(即使用RYU控制器的SDN网络)如图4所示。

Figure 3 Experimental network topology图3 实验网络拓扑

Figure 4 Framework of RYU SDN 图4 RYU SDN框架图

SDN控制器依赖SDN环境的控制平面[15],可以通过下发命令来制定交换机的转发规则。本文借助SDN控制器的这一关键功能,实现对攻击流的分流操作,其伪代码如算法1所示。

算法1攻击流分流

输入:DDoS攻击流。

输出:超过自身计算能力的多余流量(第i个交换机)。

Step1攻击流I进入第i个交换机;

Step2ifIi>Ti

Step3Ni→Ni+1;

Step4Ii+1=Ii-ai;

Step5返回Step 2;/*交换机将超出阈值的部分攻击流转发至下一个交换机*/

Step6else该交换机进入检测阶段。

算法1中,I为进入第i个交换机的初始攻击流;Ii为流经第i个交换机的剩余攻击流;Ti为第i个交换机算力阈值(该阈值小于算力极限,以免出现突发状况导致交换机无法工作);Ni为第i个交换机;ai为第i个交换机截留的流量大小。

数据分流部分仅考虑在SDN网络中实现交换机之间的攻击流传递,每个交换机都执行同样的转发规则:根据自身算力将超出阈值的部分流量转发至其他交换机,每个交换机只需关心自身算力情况。本文将该架构称为OCM,为实现OCM架构,在实际应用中本文在边缘设备中添加了一个信号量来标志该交换机当前是否有空闲算力,只有在该交换机无空闲算力时才进行转发,也就是说,本文的分流方案仅在正常转发流量之前增加了判断信号量状态这一步骤。

3.2 攻击检测

进行攻击检测前,首先将标签“Attack”设置为0,将“Normal”设置为1,便于神经网络进行运算。然后对攻击流量进行特征提取并对提取到的特征进行转换,得到一个m×n′矩阵,其中,m表示数据包的数量,n′表示转换后新特征的数量。为了学习长期和短期模式,本文使用滑动窗口来分离连续数据包,并将数据重塑为一系列窗口大小为T的时间窗口。整理后得到了一个(m-T)×T×n′的三维矩阵,如图5所示。通过这种方式,将传统的基于数据包的特征转换为基于窗口的特征,利用这种特征可以从以前的(T-1)个数据包和当前数据包中学习网络模式。

Figure 5 Schematic diagram of time window图5 时间窗口示意图

考虑到交换机的算力有限,本文搭建的神经网络模型只有3个隐含层,第1层为Bi-LSTM结构,后2层均为传统神经网络结构,模型结构如图6所示。模型中第1个隐含层神经元为LSTM结构,由2个不相关的LSTM组成(即Bi-LSTM),分别从向前和向后2个方向进行检测。LSTM解决了循环神经网络RNN(Recurrent Neural Network)的梯度消失和梯度爆炸问题,其隐含节点增加了细胞状态和门结构,可以有选择地记忆重要信息,遗忘无价值信息,从而提高效率,且在长记忆方面有更好的表现。图7所示为LSTM的内部结构。

Figure 6 Structure of neural network model图6 神经网络模型结构

Figure 7 Internal structure of LSTM图7 LSTM内部结构示意

LSTM向前训练过程如式(1)~式(5)所示:

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wf·[ht-1,xt]+bi)

(2)

Ct=ft×Ct-1+it×tanh(WC·[ht-1,xt]+bC)

(3)

ot=σ(Wo·[ht-1,xt]+bo)

(4)

ht=ot×tanh(Ct)

(5)

其中,t表示时刻,it,ot和ft分别表示输入门、输出门和遗忘门的输出值;Ct和ht分别表示每个细胞的状态和输出;W*和b*分别表示权重矩阵和偏差向量,σ表示Sigmoid函数。

Figure 8 Structure diagram of Bi-LSTM图8 Bi-LSTM结构示意图

yt的计算方法如式(6)~式(8)所示:

(6)

(7)

(8)

其中,W*和b*分别训练阶段学习到的权重矩阵和偏差向量。

4 实验与结果分析

4.1 数据集与特征选择

本文采用ISCX(Information Security Centre of eXcellence)的入侵检测数据集ISCXIDS2012[18]对提出的检测模型进行测试和评估。网络中的大部分数据流通过传输控制协议TCP(Transmission Control Protocol)传输[19],在数据集中TCP流量是不可或缺的,ISCXIDS2012数据集引入了一种生成所需数据集的系统方法来满足这一需求。该数据集是基于配置文件的概念生成的,配置文件包含对应用程序、协议或较低级别网络实体的入侵和抽象分布模型的详细描述。数据集分析真实跟踪以创建代理的配置文件。这些代理为超文本传输协议HTTP(Hyper Text Transfer Protocol)、简单邮件传输协议SMTP(Simple Mail Transfer Protocol)、TCP、用户数据报协议UDP(User Datagram Protocol)、生成树协议STP(Spanning Tree Protocol)、互联网分组交换协议IPX(Internet Packet eXchange protocol)、地址解析协议ARP(Address Resolution Protocol)、简单网络管理协议SNMP(Simple Network Management Protocol)、安全外壳协议SSH(Secure SHell)、因特网消息访问协议IMAP(Internet Message Access Protocol)、邮局协议版本POP3(Post Office Protocol - Version 3)、文件传输协议FTP(File Transfer Protocol)和Internet控制报文协议ICMP(Internet Control Message Protocol)等协议生成真实流量[20]。

ISCXIDS2012数据集来自加拿大网络安全研究所,由标记的网络跟踪组成,包括 pcap 格式的完整数据包有效载荷以及相关配置文件,可供研究人员公开使用,是目前使用较为广泛的入侵检测数据集之一。该数据集包含 7 天正常和恶意的网络活动,数据样本量大。在神经网络研究中,数据量的大小一定程度上决定了检测的准确性,因此本文选定该数据集来进行实验。该数据集的流量构成如表1所示。ISCXIDS2012数据集下载地址为:https://www.unb.ca/cic/datasets/ids.html。

Table 1 Dataset traffic composition表1 数据集流量构成

ISCXIDS2012数据集包含“frame.len”“frame.protocols”“ip.hdr_len”“ip.len”和“ip.flags.rb”等29个特征值,需要删除数据集中无法用于模型训练的特征并对数据集进行一定的预处理,然后才能输入神经网络进行训练和测试。本文使用drop()函数删除数据集中不需要的特征,使用StandardScaler类计算训练集上的平均值和标准差,并对后续测试集中的数据采用与训练集相同的变换。计算平均值以及标准差后,使用fit_transform()函数对数据集进行拟合和标准化(归一化)。在训练和测试集的选择方面,选择20%数据集作为测试集,80%数据集作为训练集。

4.2 模型性能评价指标

本文实验采用准确率Acc(Accuracy)、损失率loss、查准率P(Precesion)和查全率R(Recall)等常见性能评价指标衡量Bi-LSTM模型的预测效果,这些评价指标的计算公式如式(9)~式(12)所示:

(9)

(10)

(11)

(12)

Acc表示正确区分正常流量和攻击流量在总流量中的占比;P表示真实攻击流量在被判断为攻击流量中的占比;R表示被判断为攻击流量在真实攻击流量中的占比。在得到查准率P和查全率R后,本文引入F1值,它表示查准率和查全率的调和平均数,其计算如式(13)所示:

(13)

4.3 实验结果

由于数据分流模块仅考虑数据转发分流问题,因此本文使用hping3工具和iPerf3工具分别生成正常流量和攻击流量进行数据转发分流实验,并将正常转发耗时与加入OCM架构后的转发耗时进行了对比,发现两者耗时一致,但都增加了信号量的判断,耗时定然有所增加。为了直观表达两者的细微差距以及OCM架构在5G网络中应用的合理性,本文在一台家用4K智能电视上对该判断语句进行了1千万次循环操作。该设备操作系统为Android 5.1,内存容量为2 GB,可以作为在5G网络万物互联情形下完成本文所提方案的边缘设备。表2所示为该设备在不同状态下的1千万次循环耗时,每种状态进行3组实验。

Table 2 Experiment time 表2 实验耗时 ms

由表2可知,该设备不同状态下1千万次循环操作的平均耗时仅为0.032 5 s,可以预见增加判断语句的耗时微乎其微。也就是说,加入OCM架构前后的一次转发耗时基本一致,证明该架构可以在正常转发基础上以极低的代价完成数据的分流,从而达到缓解DDoS攻击的目的。

为了验证所提检测模型的有效性,本文经过120次epoch得出训练集和测试集的准确率Acc和损失率loss,分别如图9和图10所示。从图中可以看出,在经过120次epoch后,训练集和测试集已经趋近稳定且有较高的准确率和较低的损失率,训练集最终达到了99.9%的准确率和0.3%的损失率,测试集则达到了99.8%的准确率和0.74%的损失率。

Figure 9 Accuracies on train set & test set 图9 训练集&测试集上的准确率

Figure 10 Loss rates on train set & test set 图10 训练集&测试集上的损失率

同时,本文通过预测计算了TP、FP、FN和TN值,其中,TP为239 303;FP为320;FN为633;TN为239 740。根据以上数据给出混淆矩阵的热图表示,如图11所示(预测集包含6 479 996个数据)。并利用TP、FP、FN和TN值,计算了本文所提检测方案的查准率P、查全率R和F1值,并将本文提出的检测方案与其他检测方案进行了比较,如RF-SVM[21]、XGBoost[22]、KNN、RNN和LSTM,比较结果如表3所示。通过表3可以明显看出,本文方案在查准率、查全率和F1值方面都有较好的表现,优于其他对比方案。

Figure 11 Confusion matrix heat map图11 混淆矩阵热图

Table 3 Comparison of different schemes表3 不同方案的比较 %

由于本文提出的检测模型要部署于各个边缘节点(即SDN交换机),考虑到交换机的算力有限,数据量不宜过大,因此从数据集中随机抽取万分之五的数据(包含的数据量为1 200个)进行实验。由于每次随机抽取的数据各不相同,本文进行了10次随机取样,使用训练好的模型进行测试,计算了这10次测试的准确率、查准率和查全率,对10次检测结果计算平均值并与抽样前检测结果进行对比,对比结果如图12所示。通过图12可以看出,本文提出的检测模型在数据量减小后检测效果仅有小幅下降,依然可以保证在边缘节点进行DDoS攻击检测的正确率。此外,本文对10次检测进行了程序运行速度的监测,发现可以在0.091~0.120 s内完成1 200个数据的检测工作。由此可以看出本文提出的模型不仅在正确率方面有保证,同时也保证了在边缘节点进行攻击检测的效率。

Figure 12 Comparison of effects before and after sampling inspection图12 抽样检测前后效果对比图

5 结束语

本文提出的基于Bi-LSTM的DDoS攻击检测方案,利用LSTM模型的长期记忆特性规避了RNN模型的缺点,使用2个独立的反向LSTM模型组合成为Bi-LSTM模型,将此模型作为整个神经网络模型的第1层,在ISCXIDS2012数据集上实现了对DDoS检测的高准确率和低损失率,并在对比实验中证明了这一点。此外,本文提出了一种在边缘节点完成DDoS攻击检测的方案,创新性地提出一种轻量级分布式边缘计算架构(OCM),在正常转发基础上以极低的时间损耗完成对数据的分流操作,在边缘交换机上部署基于Bi-LSTM的轻量级神经网络模型,利用各个SDN交换机的空闲算力在SDN网络的外围将DDoS攻击消弭于无形之中。实验结果表明,本文构建的基于Bi-LSTM的攻击检测模型在DDoS攻击检测方面切实可行,且考虑到边缘节点算力问题,该模型在低数据量情形下也有不错的表现。在后续的研究中,将对分流部分和检测部分进一步完善,将这2部分更好地融合,完成分流和检测的连贯操作,进一步提高该模型的整体可用性。

猜你喜欢
算力交换机分流
卫星通信在算力网络中的应用研究
算力网络中基于算力标识的算力服务需求匹配
中国电信董事长柯瑞文:算力成为数字经济的主要生产力
基于4G和5G上下行分流策略研究
涉罪未成年人分流与观护制度比较及完善
基于SiteAI算力终端的交通态势感知系统
NSA架构分流模式
修复损坏的交换机NOS
使用链路聚合进行交换机互联
PoE交换机雷击浪涌防护设计