一种基于深度学习的DDoS攻击流量检测方法
2021-12-14王杨
◆王杨
一种基于深度学习的DDoS攻击流量检测方法
◆王杨
(四川大学 网络空间安全学院 四川 610065)
当前网络空间中分布式拒绝服务DDoS攻击问题形势严峻,针对DDoS攻击的检测研究已经迫在眉睫。目前该领域的研究大多数都是使用了单一深度学习模型,但是这些模型仅仅侧重于解决某些特定问题和适用于某些特定场景,针对复杂真实环境下的网络数据效果不佳。本文实现了基于深度学习模型结果融合的DDoS攻击流量检测方法,将LSTM和MLP两个深度学习模型的预测结果整合,然后输入到使用逻辑回归实现的结果融合模型中进行检测。实验结果表明,该模型在CICIDS-2017中DDoS数据集的正常与恶意二分类问题上取得了比单一模型更优的检测效果。
DDoS攻击流量;LSTM;MLP;结果融合;逻辑回归
近年来,随着软件定义网络、物联网、5G等新型网络的出现和快速发展,网络虚拟化以及现实世界数字化的趋势日益明显。在互联网络应用不断扩展和使用规模不断增长的趋势下,恶意性的、手段多样化的网络攻击行为越来越猖獗,威胁正常稳定的社会秩序,导致企业、个人网络用户信息泄露,造成社会、企事业单位或个人的损失[1]。
DDoS(分布式拒绝服务)攻击是一种典型的网络攻击方法。攻击方利用已经控制的傀儡机,不断向被攻击方请求资源直到资源耗尽甚至系统瘫痪,导致受害方无法正常运行和完成功能。该攻击范围包括网络层到应用层,具有破坏性强、涉及面广、实施方便、难以追踪和防范等特点,且与其他网络攻击不同,DDoS攻击只需要大量的僵尸和少量的网络安全知识就可以发起有效的攻击[2-3]。因此,针对DDoS攻击的检测研究已经迫在眉睫。
1 相关研究
深度学习在网络安全领域应用普遍且性能优秀。目前,在DDoS攻击流量检测方向,已经有多个深度学习模型被引入和研究。
例如,韩长江[4]探究了轻量级卷积神经网络在物联网DDoS攻击流量检测领域的性能表现。肖向飞[5]提出了一种改进的基于卷积神经网络的DDoS攻击检测方法。程杰仁等[6]提出了基于LSTM的DDoS攻击检测方法。Meng Wang等[7]提出了基于特征选择和反馈的动态多层感知器神经网络模型用于检测DDoS攻击。
综上,现有基于深度学习的DDoS攻击检测方法普遍存在着针对检测模型本身进行改进较为困难且低效,和仅仅侧重和适用于某些特定场景,而在面对真实复杂环境中的网络数据时检测效果有待提升等问题。
2 基于深度学习的检测方法
针对上述问题,本文中的基于深度学习的DDoS流量检测方法,使用的是并行结构的深度学习混合模型,将两个模型的分类检测结果同时输入到融合模型中,通过模型计算实现两个检测分类结果的融合,从而提升检测效果。
本文检测方法如图1所示:
图1 检测方法架构图
本文检测方法使用了3个模型。第一步,长短期记忆神经网络LSTM模型和多层感知器神经网络MLP模型分别对包含DDoS加密流量的数据集进行检测,并得到检测结果。第二步,再将两个模型的检测结果作为融合方法的输入,通过结果融合模型的计算处理,得到输出值作为最后的检测结果。
2.1 LSTM检测模型
长短期记忆神经网络(Long Short-Term Memory,LSTM),如图2所示,包括输入门、遗忘门、输出门三部分。其中遗忘门用来决定保留上一个模块中的多少信息,再由输入门用来决定将多少新的输入数据更新到神经元状态中,最终经过输出门得到输出值[6]。
图2 LSTM神经网络结构图
LSTM通过三个门对信息进行筛选,然后将有效信息向下传递,在一定程度上减少了无效信息对预测结果的干扰,有效地缓解了梯度消失的问题,适合处理和预测时间序列中间隔较大的信息,因此适用于包含会话流特征的DDoS攻击流量检测。
本文实现的LSTM模型结构如图3所示:
图3 LSTM模型结构图
LSTM模型由LSTM网络层、Dropout层、sigmoid分类器三部分组成,其中LSTM网络层为输入层,sigmoid分类器为输出层。该模型在keras框架下通过逐层搭建的方式来实现,分别使用了keras框架下layers模块中的LSTM函数、Dropout函数和Dense函数。
2.2 MLP检测模型
多层感知器(Multilayer Perceptron, MLP)神经网络包括输入层、输出层和隐藏层三部分。MLP模型的每一层都全连接到下一层,其中每一层都包含多个带有非线性激活函数的神经元节点。
由于MLP具有较强的学习与分类能力,因此在流量识别领域被广泛使用并取得不错的检测效果。
本文实现的MLP模型结构如图4所示:
图4 MLP模型结构图
MLP模型由Dense全连接层、Dropout层、sigmoid分类器3部分组成。该模型一共具有5层结构,其中Dense全连接层、Dropout层各有两层,第一层的全连接层为输入层,第五层的sigmoid分类器为输出层。
2.3 融合模型
本文以逻辑回归模型为基础来实现融合模型,该融合模型命名为M-LR。
在逻辑回归(Logistic Regression,LR)理论中,当影响因子数量为2时,逻辑回归的预测概率值的计算公式:
3 实验
为了验证本文M-LR模型的有效性,本文设计了以下三部分实验:(1)使用上文2.1中LSTM模型训练并检测DDoS数据集;(2)使用上文2.2中MLP模型训练并检测DDoS数据集;(3)将实验(1)与实验(2)中得到的概率值结果输入上文2.3中M-LR模型进行训练与检测,得到最后的检测结果。
上述三部分实验的设计目的有两个。第一,实验(1)与实验(2)的实验结果是实验(3)的输入,因此必须设置这两个实验。第二,实验(3)可以与实验(1)和实验(2)组成对照实验,从而能够验证实验(3)中融合模型的有效性。
3.1 实验环境与数据集
(1)开发平台:Windows 10;
(2)开发工具:Python3.5,Keras1.15;
(3)实验数据集:公开数据集CICIDS-2017中的Friday-WorkingHours-Afternoon-DDoS.csv文件。该数据集文件在实验室中类似于在真实世界网络数据(PCAP)的基础上,经过CICFlowMeter 工具,提取共225745条会话流数据,其中,128027条数据为DDoS攻击数据,其他97718条数据为正常流量数据。每条会话流数据包括目标端口、流持续时间、流正反方向数据包总量、流正反方向数据包总大小、流正反方向数据包长度平均值、流正反方向数据包长度标准差等在内共78个与会话流相关的特征。
3.2 实验评价指标
TP为DDoS攻击样本被准确检测出的数目;FN为DDoS攻击样本被错误标记为正常样本的数目;FP为正常样本被错误判定为DDoS攻击样本的数目;TN为正常样本被正确标记为正常的数目[5]。
本文使用准确率、精确率、召回率、1值四个指标来对实验进行评价,定义如下[5]。
3.3 实验及结果分析
在实验(1)中,使用上文中的LSTM模型训练并检测DDoS数据集。通过实验设置并调整该模型中以下参数:在第一层LSTM网络层中,输出空间的维度units参数取值为50、激活函数activation参数取值为relu;在第二层Dropout层中,rate参数取值为0.35;在第三层sigmoid分类器中, units参数取值为1、activation参数取值为sigmoid;模型参数batch_size用来描述每批数据的大小,取值为256;参数epoch用来描述在整个网络训练过程中,重复进行多少次训练,取值为50。
在实验(2)中,使用上文中的MLP模型训练并检测DDoS数据集。通过实验设置并调整该模型中以下参数:在第一层全连接层中,units参数取值为64、activation参数取值为relu;在第二层Dropout层中,rate参数取值为0.05;在第三层全连接层中,units参数取值为40、activation参数取值为relu;在第四层Dropout层中,rate参数取值为0.05;在第五层sigmoid分类器中, units参数取值为1、activation参数取值为sigmoid;模型参数batch_size取值为256;参数epoch取值为50。
完成上述实验后,得出如下实验结果:
表1 实验结果
通过以上实验结果可以发现,相比于传统LSTM模型和MLP模型,结果融合模型M-LR在准确率上分别提升了3.20%和2.36%,在精确率上分别提升了1.86%和2.03%,在召回率上分别提升了2.98%和1.14%,在F1值上分别提升了2.03%和1.24%。说明了本文中基于深度学习模型结果融合的方法在CICIDS-2017-DDoS数据集上是有效的。
4 结论
针对现有常见的使用单一深度学习模型进行DDoS攻击流量检测的方法中存在的问题,本文中的方法是使用两个深度学习模型进行并行检测,即将LSTM和MLP两个模型的检测结果进行融合,通过逻辑回归融合模型得到最后的检测分类结果。实验结果表明,该结果融合模型在对包含DDoS攻击流量的数据集进行正常与恶意二分类具有比单一模型更优的检测效果。
[1]WanWu Xiao and Hongming Mo and Ning Xiang. The Current Situation of Computer Information Network Security and Its Countermeasures[J]. International Journal of Computational and Engineering,2020,5(2).
[2]YUAN X Y, LI C H, LI X. DeepDefense: identifying DDoS attack via deep learning[C]//2017 IEEE International Conference on Smart Computing (SMARTCOMP). 2017:1-8.
[3]WANG R,JIA Z,JU L.An entropy-based distributed DDoS detection mechanism in software-defined networking[C]//2015 IEEE Trustcom/ISPA. 2015:310-317.
[4]韩长江. 基于深度学习的物联网DDoS攻击流量检测算法设计与实现[D].山东大学,2020.
[5]肖向飞. 基于深度学习的DDoS攻击检测研究[D].深圳大学,2019.
[6]程杰仁,罗逸涵,唐湘滟,等.基于LSTM流量预测的DDoS攻击检测方法[J].华中科技大学学报(自然科学版),2019,47(04):32-36.
[7]Meng Wang and Yiqin Lu and Jiancheng Qin. A dynamic MLP-based DDoS attack detection method using feature selection and feedback[J]. Computers & Security,2020:88.
[8]董学辉. 逻辑回归算法及其GPU并行实现研究[D].哈尔滨工业大学,2016.