基于自注意力机制的5G SDN环境DDoS流量检测
2022-03-19陈立丰甘浩宇谭北海余荣
◆陈立丰 甘浩宇 谭北海 余荣
基于自注意力机制的5G SDN环境DDoS流量检测
◆陈立丰 甘浩宇 谭北海 余荣
(广东工业大学自动化学院 广东 510006)
随着5G网络架构中移动业务推向网络边缘,在提高用户服务质量以及扩大服务覆盖范围的同时,也使得网络被攻击范围变得更宽,提高了网络受分布式拒绝服务(DDoS)等恶意攻击的风险。因此DDoS攻击检测成为了网络防御系统中的重要环节。本文提出了一种结合双向长短期记忆网络BiLSTM和自注意力机制Self Attention的DDoS攻击检测方法,自注意力机制可以为BiLSTM学习到的流量特征分配不同的权重,提取出流量的显著特征。通过入侵检测评估数据集ISCX2012对模型进行训练、评估,实验结果表明,该方法具有良好的性能。
分布式拒绝服务;自注意力;攻击检测;长短期记忆网络
1 引言
5G网络的部署支持用户进行移动边缘计算(MEC),通过部署在移动网络内通用的计算平台提供计算力、存储和网络资源[1],并且不需要将流量传输到互联网数据中心,而是允许用户在附近执行对时延要求较高的应用程序如自动驾驶、智慧医疗等服务。然而移动边缘计算除了带来低时延、高可靠的好处之外,还必须面临一系列的安全威胁,其中不能被忽视的威胁是来自无线接入网(RAN)侧5G设备的分布式拒绝服务(DDoS)攻击。与4G等移动通信技术不同的是,5G网络支持各种智能终端,覆盖更丰富的日常生活和工业引用,如健康、交通等,因此5G终端的数量和分布密度将会大幅度的增长。然而这种增长将会存在一个小范围的区域,如几个基站的覆盖区域就能聚集足够的设备发起DDoS攻击,从而阻断移动边缘计算服务的隐患,因此快速有效的DDoS攻击检测是移动边缘计算防御系统非常重要的环节。
作为5G网络的主要技术之一,软件定义网络(SDN)通过将网络中的控制功能和转发功能进行解耦,从而使网络管理者可以直接通过编程控制网络,提高网络配置的灵活性。SDN网络中基于流的特性使得控制器可以通过OpenFlow协议获取网络的实时流量信息,从而实现DDoS流量的检测。
现有的DDoS攻击检测方法主要基于熵、流量特征和机器学习。传统的基于机器学习的入侵检测方法可以大致分为两个主要步骤:特征提取和选择和分类[2]。基于机器学习提出了主要组成成分分析(PCA)[3]、基于相关性的特征选择方法(CFS)[4]等经典特征提取和选择算法,来提取最具判别性的特征,而传统的分类模型已经支持向量机(SVM)[5]、神经网络[6]、朴素贝叶斯和决策树[7]等。
深度学习是近年来机器学习算法的代表,在图像识别和语音识别领域取得了巨大的成功[8-9],吸引了越来越多的安全领域学者寻求基于深度学习的解决方案。例如,文献[10]将深度信念网络(DBN)与入侵检测技术相结合,实现了比基于SVM更高的检测精度。此外,长短期记忆(LSTM)、循环神经网络(RNN)和卷积神经网络(CNN)也被应用于入侵检测[11-12]。
近年来,自注意力已被证明可以有效地运用于不同结构的训练,包括文本[13]、图像[14],甚至声音信号[15],并取得了令人印象深刻的结果。使用自注意力的Transformer模型在自然语言处理(NLP)训练中与其他深度学习模型对比,能够发挥出先进的效果[16]。与循环结构相比,自注意力网络的作用源于各个元素之间不需要递归连接而是直接进行连接。此外,自注意力网络在计算上也具有优势,因为中间状态不再循环连接,从而实现更高效的批处理操作。
本文提出了一种结合LSTM模型(BiLSTM)和自注意力机制(Self Attention)的DDoS攻击检测方法,简称BiLSTM-SA,自注意力机制可以为BiLSTM模型学习的流量特征分配不同的权重,提取出显著的特征,然后将所有特征进行加权和作为特征向量并进行Softmax分类,经过实验对比,BiLSTM-SA入侵检测效果有较好的性能。
2 国内外研究现状
软件定义网络(SDN)、网络功能虚拟化(NFV)等技术的进步、移动边缘计算(MEC)、云计算的部署使5G网络满足海量设备连接的要求,然而在未来的无线网络中,利用这些技术保证网络的安全成为新的问题。
移动边缘服务器具有一定的计算力,能够先对流量进行检测再传输至核心网,从而减少核心网侧的网络、计算资源的开销,因此文献[17]提出了一种移动边缘服务器和云服务器多层次的防御结构。第一个过滤器放置在移动边缘计算服务器上,以防止靠近源的欺骗攻击。位于云服务器中的第二个过滤器对整个网络的流量进行分类。
然而不同节点处的请求压力、计算资源各有不同,通过SDN集群网络分布式的部署可以实现不同节点之间的协同合作。文献[18]提出了一种MEC的协同防御框架(CODE),将预先创建的虚拟化入侵防护系统实例通过SDN编排,使得防御资源不足的MEC节点可以向其直接连接的MEC节点请求防御资源。
近年来,随着互联网技术的快速发展,DDoS攻击出现的规模也随之扩大,出现的频率也不断增加,国内外的学者们同时也对DDoS攻击检测展开了相关研究,提高对攻击流量检测的准确性与实时性。
传统方法中采用计算IP信息熵值作为分类的标准,文献[19]提出了一种通过计算时间窗口内传入数据包的熵值,并与设定熵的阈值进行比较,从而实现DDoS流量检测的方法,该方法主要依靠于熵的阈值的设定,但阈值的选择需要广泛的网络知识和实验,而且由于泛化能力差,无法有效检测新的攻击,需要定期更新模型和阈值。
为了解决传统方法中需要人为定期更新熵阈值的问题,有学者采用K-近邻等机器学习算法对流量进行分类,文献[20]提出了一种CKNN(K-近邻流量分类与相关分析)的DDoS流量监测方法,首先分析数据流的相关信息,然后通过K-近邻算法识别来自于同一个软件或者机器人程序的流,但该方法面临的局限性在于依赖数据流特征的选取,如果攻击者采用不同配置参数的机器人发起攻击,则它们可能产生不相似的流。
由于DDoS具有随着时间的推移而产生的特性,先前的数据包对当前时刻的DDoS检测具有重要性作用,上述方法均是基于单个数据包进行检测,无法进行上下文的联系,因此文献[21]提出了一种基于深度学习的DDoS检测方法DeepDefense,该方法将DDoS检测问题描述为序列分类问题,并将基于包的检测转化为基于窗口的检测。检测模型由CNN、RNN(递归神经网络)和全连通层组成。RNN比其他机器学习方法能更好地学习特征,尤其是时间序列特征,LSTM用于消除使用RNN跟踪以前数据包的历史时的伸缩问题,但该方法没有考虑对LSTM学习到的特征进行权重分析。
3 基于BiLSTM-SA的DDoS流量检测方法
承载网通过引入移动边缘计算技术,在靠近无线接入网侧的机房部署网关、服务器等设备,为范围内低时延的任务提供计算、存储服务,而不需要通过承载网传输到核心网再进行回传,进而降低时延、回传压力。随着工业园区生产设备、自动驾驶汽车等接入到5G MEC,一个小范围区域的设备足以发起DDoS攻击。
因此本文考虑了一种在5G网络边缘计算服务器(MEC)发起的DDoS攻击模型,如图1所示,MEC服务器部署在基站汇聚节点之后,通过汇聚网关收集周围基站的请求数据,满足小范围内的任务处理。合法用户发起任务请求如自动驾驶任务、工业园区生产设备发送指令时,该请求数据先通过无线信号发送给附近的基站,部署在基站的路由器根据控制器下发的转发规则,传输到汇聚节点进入到MEC服务器进行任务处理。当攻击者同时控制该汇聚节点范围多个园区的设备连续地向基站发送请求,大量请求会同时积压在MEC服务器,以至于合法用户的请求被拒绝。
图1 MEC处DDoS模型图
图2 BiLSTM-SA结构图
通过将BiLSTM-SA检测程序作为部署在SDN控制器上的应用程序,基于SDN的防御系统结构如图3所示,包含了三大主要组件:流量收集器、流量检测器、规则生成器。其中流量收集器主要负责收集所有流统计信息,例如协议、源IP与端口、目标IP与端口,并将所有收集到的特征发送到流量检测器。检测器通过加载经过训练后的模型,接收网络数据包信息判断是否为恶意攻击流量,通过流量检测器的结果,规则生成器制定路由规则发送给交换机。
图3 系统结构图
3.1 RNN递归神经网络
在深度学习中,递归神经网络具有从以前的时间节点中学习的能力。单向RNN的简单结构如图4所示。RNN被称为递归神经网络,是因为隐藏层中每个节点的输出都作为下一节点的输入。
图4 单向RNN结构图
3.2 LSTM
RNN是深度学习中学习时间序列的模型,然而,RNN的缺点是存在梯度消失或者梯度爆炸等问题,因此不能处理过长的时间序列。因此,引入LSTM来解决长期依赖问题[22]。LSTM是一种优化算法,通过遗忘门、输入门、输出门控制删除或保留信息到单元中,解决梯度消失、梯度爆炸问题。
图5 LSTM单元结构图
3.3 自注意力机制
其中,代表Sigmoid函数,W、b代表注意力机制的权重、偏置,代表分配给每个流量特征的权重值,在训练过程中不断优化权重,为最重要的流量特征分配更大的权重。
4 实验与结果分析
4.1 数据处理
与KDD CUP99、DARPA1998等广泛应用于流量分析领域的数据集相比,本文使用ISCX2012数据集进行模型训练,因为随着互联网的不断发展,KDD CUP99、DARPA1998已经不能反映当今流量的真实情况。
该数据集是一个入侵检测评估数据集,记录了7天内真实网络环境的流量信息,如表1所示。数据集提供了数据包报文相关信息以及标签信息,包括源IP地址与端口号、目的IP地址与端口号、报文长度、协议类型、时间戳、持续时间、报文头部各个标志位状态等特征信息。因为在ISCX2012数据集中,6月14日这天发生了DoS攻击,因此本文选择6月14日的数据,该数据包含了964万个数据包。由于数据集中大部分是正常流量,为了降低数据集的不可靠性,因此本文随机抽取12万个正常数据包和12万个攻击数据包共24万个数据包进行深度学习网络模型的训练,其中训练集选取10.8万个正常数据包和10.8万个攻击数据共21.6万个数据包,测试集选取剩余1.2万个正常数据包和1.2万个攻击数据包共2.4万个数据包,并重复20轮训练。
表1 ISCX2012数据集信息
4.2 实验环境
本文实验通过Keras深度学习框架搭建BiLSTM-SA模型,并搭载在硬件环境为11 GB显存的NVIDIA 2080 Ti GPU、Intel i9-10900X CPU和32 GB内存,软件环境为Ubuntu 18.04.4操作系统、Python 3.6.1、Keras 2.5.0rc0、TensorFlow 2.5.0的环境上进行训练。为了减少数据不确定性,每次均重复进行20轮训练,其中合法流量和攻击流量均来自ISCX2012数据集,训练集与测试集的占比为9:1,训练集中选取10%的数据作为验证集验证模型的泛化能力。
4.3 数据处理
将数据集中的网络数据流文件(pacp)进行解析得到输入数据,输入数据中的报文字段作为特征值,对于没有端口号信息的数据包[21][23],例如ICMP数据包,我们将其端口号设置为0。
图7 数据处理流程图
4.4 实验结果分析
实验通过准确率(Accuracy)、精度(Precision)、召回率(Recall)、F1-score四个指标衡量模型的性能,这些指标是通过TP、TN、FP、FN是四个值进行计算的:
True Positive(TP):成功判断出正确样本的个数
False Positive(FP):将错误样本判断为正确样本的个数
True Negative(TN):成功判断出错误样本的个数
False Negative(FN):将正确案例样本为错误样本的个数
实验采用GRU、CNNLSTM、BiLSTM、BiLSTM-SA四个模型进行分析比较,各项指标性能比较如图8所示,从图中数据可以得出,随着分割数据的时间窗口的增大,准确率、精度、召回率、F1-Score四个指标在两个模型中均得到提升,当时间窗口为70时,BiLSTM-SA模型的准确率接近最大值,时间窗口达到100时,各个模型的准确率、精度均达到了最大值,因为时间窗口的增大更能反映完整的攻击行为,因此模型能够从更多的数据中学习到特征,从而提高模型的性能。 图8 四种深度学习模型的性能指标图 当时间窗口为100时,4种深度学习模型的性能比较如表2所示,虽然BiLSTM-SA模型的召回率低于其余3种深度学习模型,但BiLSTM-SA模型的准确率、精度、F1-Score在各个时间窗口均高于其余3种深度学习模型。最终,在时间窗口为100的条件下,BiLSTM-SA模型达到了99.17的准确率、99.43%的精度、99.12%的召回率、99.25%的F1-Score。 表2 四种深度学习模型性能比较 模型AccuracyPrecisionRecallF1-Score CNNLSTM98.41%98.55%99.67%99.08% GRU98.98%98.37%99.86%99.08% BiLSTM98.79%97.57%99.80%98.64% BiLSTM-SA99.17%99.43%99.12%99.25%· 通过将BiLSTM-SA模型部署在SDN网络中的控制器中,可以识别出DDoS流量,从而有利于提高5G网络的可靠性,根据网络攻击发生概率P的不同,可以得到不同的安全值S,如表3所示。从表中可以得出,当DDoS攻击概率为1%时,SDN安全值可以达到99.99%,保障网络的可靠性。其中安全值S的计算如下: 表3 不同攻击概率的安全值 概率P1%10%20%30%50% 安全值S99.99%99.92%99.83%99.75%99.59% 4. 5应用方案 作为5G网络架构的主要技术之一,SDN将控制平面和数据平面进行分离,数据平面中的网络节点仅根据控制平面下发的路由规则进行转发,因此将深度学习模型部署在控制平面,执行检测逻辑、模型训练的复杂分析任务,根据检测的结果下发规则至数据平面,从而提高网络的灵活性。 图9 仿真方案结构图 通过Mininet等网络仿真平台,可以将BiLSTM-SA模型部署在支持OpenFlow协议的控制器与交换机,结构如图9所示。仿真环境为Intel i9-10900X CPU、Ubuntu 18.04.4操作系统、网络仿真平台Mininet 2.3.0、交换机Open vSwitch2.3.0、控制器OpenDaylight(Beryllium)。其中不同的host客户端可以通过openflow交换机实现客户端之间的流量通信,OpenDaylight控制器可以将交换机上传的流量信息进行解析、检测并制定转发规则。 5 结束语 本文提出的结合双向LSTM模型与自注意力机制的DDoS流量检测方法,经过实验证明,与其他三种深度学习模型相比,该模型能够为双向LSTM模型学习到的特征分配不同的权重,提取出显著的特征,从而提高流量检测的性能。经过实验表明,在ISCX2012数据集中,该方法在DDoS流量检测可达到99.17%的准确率。在未来的工作中,将集中在所提出的方案的改进和部署上,通过部署在支持OpenFlow协议控制器的软件定义网络(SDN)环境进行真实网络环境的模拟,验证该方法对DDoS攻击流量实时检测的性能。 参考文献: [1]ETSI M. Mobile edge computing(mec);framework and reference architecture[J]. ETSI,DGS MEC,2016,3. [2]Tsai C F,Hsu Y F,Lin C Y,et al. Intrusion detection by machine learning:A review[J]. expert systems with applications, 2009,36(10):11994-12000. [3]Liu G,Yi Z,Yang S. A hierarchical intrusion detection model based on the PCA neural networks[J]. Neurocomputing, 2007,70(7-9):1561-1568. [4]Nguyen H,Franke K,Petrovic S. Improving effectiveness of intrusion detection by correlation feature selection[C]//2010 International conference on availability,reliability and security. IEEE,2010:17-24. [5]Sung A H,Mukkamala S. Identifying important features for intrusion detection using support vector machines and neural networks[C]//2003 Symposium on Applications and the Internet, 2003. Proceedings. IEEE,2003:209-216. [6]Ryan J,Lin M J,Miikkulainen R. Intrusion detection with neural networks[J]. Advances in neural information processing systems,1998:943-949. [7]Amor N B,Benferhat S,Elouedi Z. Naive bayes vs decision trees in intrusion detection systems[C]//Proceedings of the 2004 ACM symposium on Applied computing. 2004: 420-424. [8]Litjens G,Kooi T,Bejnordi B E,et al. A survey on deep learning in medical image analysis[J]. Medical image analysis, 2017,42:60-88. [9]Chandna P,Miron M,Janer J,et al. Monoaural audio source separation using deep convolutional neural networks[C]//International conference on latent variable analysis and signal separation. Springer,Cham,2017:258-266. [10]Salama M A,Eid H F,Ramadan R A,et al. Hybrid intelligent intrusion detection scheme[M]//Soft computing in industrial applications. Springer,Berlin,Heidelberg,2011: 293-303. [11]Kim J,Kim J,Thu H L T,et al. Long short term memory recurrent neural network classifier for intrusion detection[C]//2016 International Conference on Platform Technology and Service(PlatCon). IEEE,2016:1-5. [12]Vinayakumar R,Soman K P,Poornachandran P. Applying convolutional neural network for network intrusion detection[C]//2017 International Conference on Advances in Computing,Communications and Informatics (ICACCI). IEEE, 2017:1222-1228. [13]Bahdanau D,Cho K,Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473,2014. [14]Veličković P,Cucurull G,Casanova A,et al. Graph attention networks[J]. arXiv preprint arXiv:1710.10903,2017. [15]Sperber M,Niehues J,Neubig G,et al. Self-attentional acoustic models[J]. arXiv preprint arXiv:1803.09519,2018. [16]Vaswani A,Shazeer N,Parmar N,et al. Attention is all you need[C]//Advances in neural information processing systems. 2017:5998-6008. [17]Lin P C,Hwang R H. MECPASS:Distributed denial of service defense architecture for mobile networks[J]. IEEE Network,2018,32(1):118-124. [18]Li H, Wang L. Online orchestration of cooperative defense against DDoS attacks for 5G MEC[C]//2018 IEEE Wireless Communications and Networking Conference (WCNC). IEEE,2018:1-6. [19]Mousavi S M,St-Hilaire M. Early detection of DDoS attacks against SDN controllers[C]//2015 International Conference on Computing, Networking and Communications (ICNC). IEEE,2015:77-81. [20]Zekri M,El Kafhali S,Aboutabit N,et al. DDoS attack detection using machine learning techniques in cloud computing environments[C]//2017 3rd international conference of cloud computing technologies and applications(CloudTech). IEEE, 2017:1-7. [21]Yuan X, Li C, Li X. DeepDefense: identifying DDoS attack via deep learning[C]//2017 IEEE International Conference on Smart Computing(SMARTCOMP). IEEE,2017:1-8. [22]Kim J,Kim H. An effective intrusion detection classifier using long short-term memory with gradient descent optimization[C]//2017 International Conference on Platform Technology and Service (PlatCon). IEEE,2017:1-6. [23]Li Y,Lu Y. LSTM-BA:DDoS detection approach combining LSTM and Bayes[C]//2019 Seventh International Conference on Advanced Cloud and Big Data (CBD). IEEE, 2019:180-185. 基金项目:国家重点研发计划课题-可信自主的全域接入管控技术(2020YFB1807802)