1、湖北汽车工业学院学报Journal of Hubei University of Automotive Technology第 37 卷第 2 期2023 年 6 月Vol.37 No.2Jun.2023doi:10.3969/j.issn.1008-5483.2023.02.009基于SDN工业环境中的DDoS攻击检测韩炎龙,翟亚红,徐龙艳(湖北汽车工业学院 电气与信息工程学院,湖北 十堰 442002)摘 要:针对基于软件定义网络(software defined network,SDN)架构的工业车间网络易受到DDoS攻击的问题,设计了检测防御模型。利用深度学习算法,融合卷积神经网络和双
2、向长短期记忆网络,设计了CNN-BiLSTM模型,进行攻击检测,利用SDN设计防御策略,搭建基于SDN的工业车间网络平台进行仿真实验。结果表明:DDoS恶意流量检测准确率达到97%,并有效实现了DDoS攻击的防御。关键词:软件定义网络;DDoS攻击;卷积神经网络;双向长短期记忆网络中图分类号:TP393文献标识码:A文章编号:1008-5483(2023)02-0042-05DDoS Attack Detection Based on SDN Industrial EnvironmentHan Yanlong,Zhai Yahong,Xu Longyan(School of Electrica
3、l&Information Engineering,Hubei University of Automotive Technology,Shiyan 442002,China)Abstract:Since the industrial workshop network based on software defined network(SDN)architectureis vulnerable to distributed denial of service(DDoS)attacks,a detection and defense model was designed.The deep lea
4、rning algorithm combined with a convolutional neural networkand(CNN)a bidirectional long short-term memory(BiLSTM)network was adopted,and a CNN-BiLSTM model was designed to detect attacks.Defense strategies was designed based on SDN,and an industrial workshop network platform based on SDN was built
5、for simulation experiments.The results show that the detectionaccuracy of DDoS malicious traffic reaches over 97%,effectively defending against DDoS attacks.Key words:SDN;DDoSattack;CNN;BiLSTMnetwork收稿日期:2022-11-18;修回日期:2023-05-29基金项目:湖北省教育厅科研计划重点项目(D20211802);湖北省科技厅重点研发计划项目(2022BEC008)第一作者:韩炎龙(1995
6、-),男,硕士生,从事智能网联方面的研究。E-mail:通信作者:翟亚红(1979-),女,副教授,从事智能网联、大数据方面的研究。E-mail:zhaiyh_随着物联网的不断发展,工业车间网络架构日益复杂,对网络架构的可扩展性要求越来越高1。相比传统网络,软件定义网络(software defined network,SDN)架构的可编程性更好,可用于车载网络和传统的工业车间网络2-4。SDN架构的可编程性在实现网络集中管理同时,也容易遭受分布式拒绝服务(distributed denial of service,DDoS)攻击5-6。DDoS攻击通过控制大量傀儡机,对1个或多个目标主机同时
7、发送大量流量,消耗目标主机网络和系统资源,导致目标主机无法提供正常服务7。基于SDN的工业车间网络受到DDoS攻击时,网络会瘫痪而导致车间停工,最终会带来重大损失8,因此对工业车间的SDN网络进行DDoS攻击检测并防御是很有必要的。传统的机器学习算法,如K邻近算法、朴素贝叶斯算法、支持向量机算法、逻辑回归算法等被用于入侵检测9-11,但都是以模式匹配为第37卷 第2期基础,准确率不高,且检测出DDoS攻击后没有及时进行防御。基于上述问题,文中结合卷积神经网络(convolutional neural network,CNN)算法12和双向长短期记忆(bidirectional long sho
8、rt-term memorynetwork,BiLSTM)网络13设计了 CNN-BiLSTM 模型,进行DDoS攻击的检测和防御研究。搭建了基于SDN的工业车间网络架构,对所建CNN-BiLSTM模型的性能进行仿真。1网络架构1.1 基于SDN的工业环境网络拓扑架构SDN架构包含应用层、控制层、数据层。控制层负责策略控制,通过北向接口与应用层通信,通过南向接口向交换机下发决策流表,利用控制器的集中控制特性对整个网络进行监测与控制。数据层的交换机通过南向接口与控制层进行通信,根据SDN控制器下发的流表来执行数据平面数据包的转发、丢弃、路由等功能。SDN的这种机制可对数据进行快速处理。SDN的工
9、业环境网络拓扑架构如图1所示。辅助控制信息运动控制信息配置信息数据层交换机控制器服务器应用组件南 向 接 口北 向 接 口南 向接 口应用层图1 SDN工业环境架构1.2 核心组件分析1)通信协议文中采用 OpenFlow 协议在控制器和交换机间进行数据通信。控制器下发流表至交换机后,数据流进入交换机即可通过匹配流表来执行相应的动作。在此SDN工业环境网络拓扑中使用的是OpenFlow1.3版本协议,支持多流表,每张表都有独立的序号,从序号最小的表开始匹配。2)Ryu控制器Ryu控制器支持多种网络管理协议,包括OpenFlow、OVSDB、VRRP协议等。该控制器提供的API组件能轻松构建网络
10、控制策略和管理应用程序,如调用 API 在控制器中导入DDoS检测模型等。Ryu控制器通过北向接口为应用层的SDN应用提供服务,通过南向接口控制交换机,完成与数据层的流量交互,起到承上启下的作用,是南北向接口的交换中枢。3)交换机SDN的交换机通过OpenFlow协议将网络控制与转发分离,摆脱了硬件对网络架构的限制,只负责根据控制器下发的流表来执行转发等功能。使工业环境网络拓扑架构的调整更加容易,节省了大量成本。2数据集1)公共数据集文中对CIC-IDS2017公共数据集14进行分析。该数据集由加拿大网络安全研究所构建,收集了真实环境中多种入侵流量数据,包含50 GB的PCAP格式文件和8个使
11、用CICFlow-Meter工具预处理过的CSV文件,结构如表1所示。文中使用数据集中星期五的 CSV 文件训练检测DDoS的模型。表1 CIC-IDS2017信息日期星期一星期二星期三星期四星期五流量类型正常流量攻击、正常流量攻击、正常流量攻击、正常流量攻击、正常流量攻击类型无暴力攻击DoS攻击Web攻击DDoS攻击2)自采集数据集建立自采集数据集评估模型。在Ubantu16.04中使用Scapy库发送正常流量,使用Netsniff-ng中的trafgen工具发送DDoS攻击异常流量,使用Wireshark工具收集流量数据并保存为 PCAP 格式文件,使用 CICFlowMeter 工具将P
12、CAP格式文件转换为CSV数据集。CSV数据集以TCP流或者UDP流为1个单位,TCP流以FIN为结束标志,UDP流以设定的时间为结束标志,每条记录都分正反向,其中源地址到目地地址为正向。3)数据集降维公共CIC-IDS2017数据集与自采集数据集都由CICFlowMeter工具转换生成,数据集共有84种数据流量特征,但并不是所有特征都对分类结果起到良好影响,同时特征过多会导致训练时间过长。使用随机森林算法创建决策森林,根据每种特征在构建决策树时的贡献赋予特征权重,最后根据权重对特征进行排序,选出前20种权重最高的特征。为降低特征之间的多重共线性,使用Pearson相关系数矩阵对选出的20种特
13、征进行分析,并对分析结果排序,保留前10种特征。最终筛选出的10种特征的中文含义和在训练中的重要性权重值如表2所示。韩炎龙,等:基于SDN工业环境中的DDoS攻击检测 432023年6月湖北汽车工业学院学报表2 筛选后的10种特征特征名称Bwd_Pkts_Len_MeanPkts_Len_VarianceBwd_Pkts_Len_MaxAct_Data_Pkts_FwdFwd_Pkts_Len_MeanMax_Pkts_LenTot_Fwd_PktsFwd_Pkts_Len_MaxSubflow_Bwd_BytesFwd_Header_Len含义反向上包的平均大小最小包到达间隔时间反向上包的最
14、大大小正向至少有1字节的包正向数据包平均大小流的最大长度正向上包的数量正向上包的最大大小反向子流的平均字节正向上的包头总字节数权重0.0690.0590.0430.0420.0380.0330.0300.0300.0290.0263CNN-BiLSTM模型3.1 CNN模型CNN是前馈深度神经网络,常用于图像处理和自然语言处理等领域,可用于学习数据集中的特征,文中设计的一维CNN模型结构框图如图2所示。卷积层提取输入数据特征并输出,池化层对特征向量进行降维,卷积层和池化层交替可更好地提取数据中的有效特征,全连接层将提取的特征进行综合后输出。输入层卷积层池化层 全连接层输出图2 一维CNN模型图
15、3.2 BiLSTM模型BiLSTM由前向和后向LSTM组合而成,可解决循环神经网络的梯度消失问题。LSTM的神经单元如图3所示,引入了输入门it、遗忘门ft、输出门ot对数据集序列进行筛选,筛选后的数据沿长链序列传递,激活函数tanh用于调节流经网络的数值。ft=(Wfht-1,xt+bf)(1)it=(Wiht-1,xt+bi)(2)Ct=tanh(Wcht-1,xt+bc)(3)Ct=ftCt-1+itCt(4)ot=(Woht-1,xt+bo)(5)ht=ottanh(Ct)(6)式中:xt为t时刻输入;ht-1为()t-1时刻隐藏层状态;ht为t时刻隐藏层状态;Ct为t时刻候选记忆细
16、胞;Ct-1为()t-1时刻记忆细胞;Ct为t时刻记忆细胞。遗忘门剔除不需要的信息,输入门对放入的信息进行选择,tanh层创建新的信息向量,输出门控制状态变量的输出。CIC-IDS2017数据集的DDoS部分特征中包含有时间顺序,用BiLSTM提取时间特征具有高度的适配性。3.3 CNN-BiLSTM模型CNN-BiLSTM模型如图4所示,利用一维CNN的卷积层和最大池化层实现参数共享、空间排列和局部感知特性。最大池化层对样本参数进行离散化,以识别相关特征,减少训练时间并防止过度拟合。一维CNN的输出数据经过数据归一化层处理后作为BiLSTM层的输入。BiLSTM层具有前后向循环结构,可更好地
17、学习前向和后向时间序列中数据特征间的关系,提供更高的预测精度。丢弃层可随机将网络中的神经元权重设为0,其丢弃率设置为0.5,防止过拟合。为了得到最终分类结果,将Sigmoid函数放在激活层,激活层检测出恶意DDoS攻击流量后,利用SDN编写防御策略限制恶意流量数据包的转发。Ryu 控制器在交换机发送的“Packet_In”消息中,若检测出DDoS攻击的源IP地址,控制器将删除“Packet_Out”消息中包含的攻击IP数据包,交换机的流表中不包含DDoS攻击IP的转发路径,阻止了攻击数据包的转发,实现防御功能。数据归一化层一维CNN层数据处理收集流表DDoS防御丢弃层激活层BiLSTM层图4
18、CNN-BiLSTM模型3.4 DDoS攻击检测模型效果对比文 中 对 多 层 感 知 机(multilayer perceptron,MLP)、支持向量机(support vector machine,SVM)、逻辑回归(logistic regression,LR)、K 最邻近分类(k-nearest neighbor,KNN)、朴 素 贝 叶 斯(nativebayes,NB)、CNN、LSTM共7种算法的检测效果进行比较。检测效果通过准确率、精确率、召回率和X tanh tanh1tC1thtxtftitothtCthXXX图3 LSTM神经单元 44第37卷 第2期F1得分进行评估。
19、评估公式为A=a+da+b+c+d,P=aa+cR=aa+b,F=2PRP+R(7)式中:a为真阳性;b为假阴性;c为假阳性;d为真阴性;A为准确率,表示样本总数中分类正确的样本数比例;P为精确率,表示模型识别为正类的样本中,真正为正类的样本所占的比例;R为召回率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值;F为综合考虑准确率和精确率的度量。将数据集使用Min-Max归一化方法对特征进行处理,使所有特征数据处于 0,1,再将标签转换为独热编码,解决了分类器不好处理离散数据的问题。使用分层K折交叉验证来降低检测准确度的方差,文中K取5。将数据集分成5份,不重复地每次取其中1份作
20、测试集,其余4份作训练集,直到循环结束,取最后的平均值作为评估结果,见图5。由图5可知,设计的CNN-BiLSTM模型最优。1.000.900.800.700.60分数/%算法KNN SVMLRNBCNN LSTM MLP文中算法准确率精确率召回率F1值图5 算法对比图4仿真实验分析4.1 搭建SDN工业车间仿真网络拓扑在搭载了 Tensor-Flow 平台的 Ubantu16.04 系统上进行实验,系统CPU为i5系列,内存为4 GB。采用虚拟化网络仿真工具Mininet,建立SDN工业车间仿真网络拓扑,如图6所示。Ryu控制器作为SDN网络的控制中心,周围划分了3个车间,布置了3个交换机S
21、1S3,每个车间的网络端口放置1个交换机。每个交换机的网段不同,3个网段分别为121.0.0.x、122.0.0.x、123.0.0.x,每个网段有5台主机 设 备,IP 地 址 分 别 为 121.0.0.1121.0.0.5、122.0.0.1122.0.0.5、123.0.0.1123.0.0.5。4.2 仿真场景1)模拟正常流量利用分析工具Scapy解析底层网络的数据包,在网络拓扑中生成不同协议的网络数据包。在基于Scapy库编写的S13交换机脚本中分别设置了random随机数,运行脚本后,网络拓扑中会生成随机发送地址和随机接收地址的TCP、UDP、ICMP数据包。2)模拟异常流量利用
22、网络嗅探工具集Netsniff-ng的高速多线程数据包生成工具trafgen,模拟DDoS攻击流量。运行基于trafgen编写的脚本文件,模拟 3 号车间中交换机 S3 下属的主机组H11H15为发起攻击的主机,配置发起DDoS攻击的源IP地址和源端口号为C类随机IP地址和随机端口号,受攻击的主机设置为1号车间的主机H1,IP地址为121.0.0.1。4.3 仿真测试将训练好的CNN-BiLSTM模型导入Ryu控制器,控制器启动后可检测出正常流量和异常流量。模拟正常流量时,正常流量标记为“0”,控制器检测出正常流量时显示“0 正常流量 检测正确”,若将正常流量误检则显示“0 异常流量 检测错误
23、”。模拟异常流量时,异常流量标记为“1”,控制器检测出异常流量时显示“1 异常流量 检测正确”,若将异常流量误检则显示“1 正常流量 检测错误”,同时显示流量的源IP和目标IP。模型测试结果如图7所示。为了进一步验证CNN-BiLSTM模型在仿真测试中检测DDoS攻击的效果,在同样的环境下使用相同的攻击方式对CNN-BiLSTM模型、SVM模型、CNN模型、LSTM模型进行测试,检测结果如图8所示。由图8可知,CNN-BiLSTM模型检测DDoS攻击的准确率达到了97%。为了验证CNN-BiLSTM2号车间122.0.0.x3号车间123.0.0.x1号车间121.0.0.xRyuS2S3S1
24、主机H11H15主机H6H10主机H1H5图6 工业车间网络拓扑图图7 仿真检测结果图韩炎龙,等:基于SDN工业环境中的DDoS攻击检测 452023年6月湖北汽车工业学院学报模型的防御性能,对主机H1进行DDoS攻击测试,用Wireshark工具抓取数据包。实验开始时模拟正常流量,在350 s时发起DDoS攻击,380 s时模型开启防御机制,结果如图9所示。由图9可以看出,350 s时主机H1每秒流量包数剧增,在380 s时模型开启DDoS防御机制,主机H1每秒流量包数明显下降,有效阻止了DDoS攻击。5结论针对SDN工业环境网络中的DDoS攻击问题,基于CNN和BiLSTM设计了CNN-B
25、iLSTM模型,基于SDN设计了防御策略。实验结果表明,与其他传统的机器学习算法相比,所建模型可以有效检测出DDoS攻击,检测准确率达97%。设计的防御策略可以有效阻止DDoS攻击流量数据包的转发,实现了防御功能。参考文献:1 Desai P R,Mini S,Tosh D K.Edge-based Optimal Routing in SDN-enabled Industrial Internet of ThingsJ.IEEE Internet of Things Journal,2022,9(19):18898-18907.2吕勇,翟亚红,李鹏,等.基于SDN的新型车载网络架构研究 J.
26、湖北汽车工业学院学报,2021,35(3):27-33.3张朝昆,崔勇,唐翯翯,等.软件定义网络(SDN)研究进展 J.软件学报,2015,26(1):62-81.4 Nunes B A A,Mendonca M,Nguyen X N,et al.A Surveyof Software-defined Networking:Past,Present,and Future of Programmable NetworksJ.IEEE Communications Surveys&Tutorials,2014,16(3):1617-1634.5刘金娣,李栋,曾鹏.基于SDN&TSN的未来工业网络架
27、构探究 J.自动化博览,2018,35(10):56-59.6 Singh J,Behal S.Detection and Mitigation of DDoS Attacks in SDN:a Comprehensive Review,Research Challenges and Future DirectionsJ.Computer Science Review,2020,37:100279.7徐玉华,孙知信.软件定义网络中的异常流量检测研究进展 J.软件学报,2020,31(1):183-207.8 Ahmed M E,Kim H.DDoS Attack Mitigation in I
28、nternetof Things Using Software Defined NetworkingC/2017IEEE Third International Conference on Big Data Computing Service and Applications(BigDataService).IEEE,2017:271-276.9 Sultana N,Chilamkurti N,Peng W,et al.Survey on SDNBased Network Intrusion Detection System Using Machine Learning Approaches
29、J.Peer-to-Peer Networkingand Applications,2019,12(2):493-501.10Garg S,Batra S.A Novel Ensembled Technique forAnomaly Detection J.International Journal of Communication Systems,2017,30(11):e3248.11张蕾,崔勇,刘静,等.机器学习在网络空间安全研究中的应用 J.计算机学报,2018,41(9):1943-1975.12崔峻玮,翟亚红,周婉旭,等.基于SDN的细粒度视频流量控制机制研究 J.湖北汽车工业学院
30、学报,2022,36(3):61-65.13Alsyaibani O M A,Utami E,Hartanto A D.An IntrusionDetection System Model Based on Bidirectional LSTMC/2021 3rd International Conference on Cyberneticsand Intelligent System(ICORIS).IEEE,2021:1-6.14Sharafaldin I,Lashkari A H,Ghorbani A A.Toward Generating a New Intrusion Detection Dataset and IntrusionTraffic CharacterizationC/International Conferenceon Information Systems Security&Privacy.2018.0.980.970.960.950.940.93分数/%SVMCNNCNN-BilSTMLSTM算法准确率召回率精确率F1值图8 检测结果对比图1251007550250每秒流量包数300时间/s380320340360400420图9 主机H1流量包数变化图 46