基于CNN-MHA-BiLSTM的云控制系统DDoS攻击检测

2023-08-31 03:05:40许盛亮
指挥与控制学报 2023年3期
关键词:水箱特征提取数据包

许盛亮 郑 松

随着网络化时代的到来,云控制系统作为一种新型的网络控制技术受到了广泛关注.“云控制系统”是对传统网络控制系统的延伸,其概念最早由夏元清教授提出,它利用云端处理任务的计算与决策,突破了传统网络控制系统的算力瓶颈[1-2].然而,云控制系统也面临着诸如DDoS 攻击等安全威胁.DDoS攻击是指通过大量伪造数据包占用网络资源或消耗服务器的资源,从而完全切断云端与本地的通信,导致严重的丢包现象并破坏系统的稳定性[3].

针对DDoS 攻击问题已有许多相关研究工作,其中一部分研究利用神经网络、深度学习等方法对数据包特征进行训练和检测.例如,Gavrilis 等提出了一种径向基函数神经网络检测器[4],利用数据包中的少量特征进行训练,进而实现对于DDoS 攻击的检测.文献[5-6]设计了一种基于Hadoop 和Hbase 的具有学习能力的神经网络DDoS 攻击检测系统,并取得良好的检测结果.YUAN 等设计了一个循环深度神经网络,通过网络流量提取高级特征并跟踪网络攻击,从而实现检测和防御[7].邹源等使用过采样方法对不平衡的黑白流量样本进行处理,并使用长短期记忆网络(long short-term memory,LSTM)模型实现对网络恶意流量的检测[8].文献[9]中针对低速DDoS 攻击提出一种基于双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM)模型的检测算法,其检测的准率达到了95.08%.胡晓红等提出基于结合主成分分析和随机森林DDoS 攻击检测模型,通过降维的方式提高模型的检测效率[10].

另一部分研究采用博弈论、动态定价等方法对攻防策略进行建模和优化.ALI 等对于云控制系统的DDoS 攻击提出一种基于协方差矩阵检测的方式[11],通过对比正常和异常传输流的协方差矩阵的差异判断云端与本地的通信是否遭受到DDoS 攻击.YANG 建立基于云控制的网络多智能体系统[12],通过Stackberg博弈建立拒绝服务(denial of service,DoS)攻击模型,最后通过预测云控制实现对DoS 攻击的防御.YUAN建立基于信噪比的攻防Stackelberg 博弈模型[13],设计了一种新型的辅助动态反馈定价机制,使得云控制系统在受到攻击时可以有一定的干扰抑制性能,保持控制系统的稳定性.

现有研究大多直接使用公开数据集,并未充分模拟真实场景下云控制系统遭受DDoS 攻击时可能出现的情况.且目前云控制系统的DDoS 攻击的研究大多是基于纯数值仿真,缺少实际的物理场景的验证.本文提出的CNN-MHA-BiLSTM 模型解决了低相关度特征影响现有模型影响检测结果的问题,提高了检测结果的准确率.其次,对于纯数值仿真难以模拟真实场景下的云控制系统DDoS 攻击的问题,基于IAP 云平台搭建了一套单容水箱云控制半物理仿真系统,模拟了真实场景下的DDoS 攻击,实验结果也很好地验证了本文所提出模型的优势.

1 云控制系统的DDoS 攻击

分布式拒绝服务攻击是一种占用网络传输链路带宽的攻击形式,被攻击的通信链路会因此发生丢包或者超长延时现象.云控制系统的分布式拒绝服务攻击模式如图1 所示,其过程可分成3 个阶段:首先是蠕虫建立阶段,即攻击者通过设置相关命令建立大量受感染的计算机群;其次是攻击程序部署阶段,即在这些受感染的计算集群中部署相应的攻击程序;最后是发起攻击阶段,即通过控制中心驱动蠕虫发起对云控制系统的DDoS 攻击.

图1 云控制系统DDoS 攻击Fig.1 DDoS attacks of cloud control system

2 基于CNN-MHA-BiLSTM 的DDoS 攻击检测模型

本章提出的一种基于卷积神经网络(convolutional neural networks,CNN)、BiLSTM 和多头注意力机制的云控制系统DDoS 攻击检测算法.该算法包括3 个阶段:首先是对原始流量的预处理阶段,即对网络流量进行采样、过滤和归一化等操作;其次是流表特征提取阶段,即利用CNN 和BiLSTM 网络从流表中抽取有效特征;最后是攻击分类检测阶段,即利用多头注意力机制对特征进行加权组合,并输出攻击类型.

2.1 数据流预处理

本文通过Linux 系统中的TCPdump 指令每60 s捕获一次系统中的网络流量,并按时间保存为pcap文件.由于深度学习模型无法直接读取pcap 文件,因此,需先对原始流量进行预处理.本文选择会话流作为流量分类的粒度,即两个端点之间相互发送和接收数据包组成一个会话流.通讯流量通常由3 个层次组成:网络流、数据包、字节,且在会话流中包含的有效交互信息比单向流更多[14].本文从每个数据包中提取五元组信息:(IPsrc)、(IPdst)、(Psrc)、(Pdst)、(Protocol),将五元组信息完全匹配的数据包整合成一条网络流,并用式(1)表示会话:

将会话流记为:Session=(b,l,t,d),其中,t=t1<t2<…<tn,b={b1,b2,…,bn}={(IPsrc,IPdst,Psrc,Pdst,Protocol)},SRC↔DST,pi为遵循时间序列ti排列的数据包,b 为源地址和目的地址之间交互的五元组信息,l 表示会话流中的数据包的长度之和;t 表示首个数据包开始的时间;d=tn-t,即整个会话所持续的时间.通过以上方法即可将原始会话流表示为Flow={Session1,Session2,…,Sessionm} 的形式,其中,m 表示会话流的数量.之后将捕获的原始流量的pcap 文件转成数据矩阵的形式,本文基于式(1)表示的会话流对原始的网络流量进行分片,将网络流重组为多个会话流文件,并将网络流中的空流和重复文件删除,对于数据包数目小于3 的无效会话则执行过滤操作;再将数据矩阵中一些可能干扰检测结果的信息如MAC 地址、IP 地址等进行删除;最后进行提取操作,对每条会话中前N 个数据包的前M 个字节进行提取,分别对超出和不足部分执行“截断填充”处理,空缺的部分使用0填充,并将该会话进行标记.为便于模型读取数据加快模型收敛速度,采用“最大-最小”归一化将采集的数据映射到[0,1]之间,映射函数如式(2)所示:

2.2 基于CNN 与BiLSTM 的特征提取

网络流通常由多个数据包组成,因此,可以认为数据包的字节之间存在着空间的关系,而网络流中数据包发送时间的不同可以认定字节间存在着时序关系,由此可以得出,一条网络流量同时存在着空间特征和时间特征.而CNN 网络可以利用卷积层、批归一化层、激活层和池化层等结构,从输入的流量数据中提取空间维度的特征,例如数据包的大小、频率、持续时间等.并且可以通过权值共享和封装特征提取的过程,降低模型的复杂度和参数数量,提高模型的效率和泛化能力.BiLSTM 网络则可以利用两个LSTM 层分别从前向和后向对输入的流量数据进行时间维度的特征提取,例如数据包之间的时序关系、周期性、趋势等.同时,BiLSTM 网络可以通过记忆单元和遗忘门等结构,学习长期依赖信息,并避免单向LSTM 的信息丢失问题.

CNN 与BiLSTM 的结合是一种时空特征融合的方法,它可以将CNN 网络输出的空间特征作为BiLSTM 网络输入的时间序列数据,并将BiLSTM 网络输出的时间特征作为最终输出层输入的分类数据.这样可以实现对多种DDoS 攻击类型的混合流量特征进行有效地提取和检测.

流量数据经由预处理后,转变成28×28 的二维矩阵输入到卷积神经网络中,进行空间维度的特征提取,本文所采用的CNN 模型结构包含3 个局部模块,如图2 所示,每个局部模块都包含1 个卷积层,1个批归一化(BachNormal,BN)层和1 个池化层,其中BN 层主要用于防止“梯度弥散”并加速训练.

图2 CNN 模型结构Fig.2 The model structure CNN

卷积层和池化层分别遵循式(3)和式(4).

上述公式中,a 为模型的通道,f 为卷积核的尺寸,s 为卷积核每次移动的步长,且步长选择1;w 为模型的权重比;l 表示模型的层数;b 指的是模型的偏置项;p 表示对输入数据进行对称填充0 的操作,经此填充后,可以更有效地保持输入数据的边缘信息;T(i,j)表示映射出来的特征图.

数据输入模型后,分别经过卷积层、批归一化层、Relu 层和最大值池化层,其中

经过CNN 模型的处理后,卷积层的输出将作为BiLSTM 层的输入,本文将BiLSTM 模型在单方向上的神经元个数设置为128.BiLSTM 的优势在于可以获取某一单元前后的依赖信息,避免某一方向上的信息丢失,图3 为BiLSTM 的网络结构.

图3 BiLSTM 网络结构Fig.3 Network structure of BiLSTM

通过在隐藏层中增加的门控结构实现对前后特征信息的提取,遗忘门会通过遗忘权重Wf与上文的流量特征信息Ct-1相乘,从而选择性地遗忘上一个神经元中的信息.输入门和输出门则分别对输入和输出信息进行限制,Ct-1与输入权重Wi相乘后完成信息的更新,得到Ct,在输出时,Ct会与一个tanh 激活函数相乘,再与输出权重Wo逐元素相乘,得到当前神经元的输出和候选值a(t),具体的计算过程如式(6)~式(9)所示.

式中,xt为t 时刻的输入;Uf、Ui、Uo和Ua分别表示遗忘门、输入门、输出门和特征提取过程中xt的权重系数;bf、bi、bo和ba分别表示遗忘门、输入门、输出门和特征提取过程中的偏置值;ot表示模型的最终输出;tanh 表示正切双曲函数;σ 表示激活函数Sigmoid,且

遗忘门和输入门计算的结果作用于c(t-1),构成t 时刻的细胞状态c(t),用公式表示为:

其中,⊙表示Hadamard 积,最终,由输出门o(t)和当前时刻的细胞状态c(t)求出t 时刻的隐藏层状态h(t),如式(12)所示.

2.3 基于多头注意力机制的数据包时序特征提取

注意力机制最初由VASWANI 等提出,用于解决自然语言处理方面相关的问题[15].DDoS 攻击所反映出来的攻击时间链跨度较长,而循环神经网络在处理传递过程较长的信息时会出现信息丢失并且对于特征重要程度的区分能力不高等问题,因此,本文将多头注意力机制与CNN-BiLSTM 模型融合,提高模型对关键特征的关注度,降低了低相关度特征对于检测结果的影响.

通过多头注意力机制的查询(query,Q)=键(key,K)=值(value,V)机制捕获网络流量的关键特征信息,并根据特征信息的关键程度赋予相应的权重,通过向量点积的方式并进行h 次线性变换,便可得到每个数据包向量的注意力himh,最后将各个数据包的特征进行合并得到全局特征,具体的计算如式(8)~式(10)所示:

其中,dk为矩阵K 的维度;分别为Q,K,V 的权重矩阵,为权重矩阵经过h 次线性变换所得到的不同数据包注意力的值.

图4 为基于多头注意力机制的流量特征提取结构.多头注意力机制的处理后将得到会话流的时空特征向量,该特征向量会输入到深度学习网络的softmax 分类器中,完成对DDoS 攻击流量的分类.

图4 基于多头注意力机制的特征提取结构Fig.4 Feature extraction structure based on multi-head attention mechanism

2.4 CNN-MHA-BiLSTM 检测模型结构

本文提出的CNN-MHA-BiLSTM 模型结构如图5 所示,原始流量经过预处理后会转换成适合输入CNN 模型的格式,数据输入检测模型之后,分别进行空间和时间维度的特征提取,最后通过多头注意力机制重要数据包特征的提取能力进行改进,最后由softmax 分类器对流量进行分类,区分该流量是否为DDoS 攻击流量.

图5 CNN-MHA-BiLSTM 检测模型结构Fig.5 The detection model structure of CNN-MHA-BiLSTM

具体的检测算法如算法1 所示.

3 实验与仿真

3.1 实验环境

为验证本文所提出的DDoS 攻击检测模型的有效性以及研究DDoS 攻击对云控制系统的影响,本文基于爱普云平台搭建了一套单容水箱云控制半物理仿真系统,分别选用欧姆龙NJ300、三菱Q03UDE 和施耐德BME 这3 款PLC,作为单容水箱的进水阀、出水阀和水箱的仿真硬件,同时3 种不同协议的PLC也可以很好地模拟实际生产环境中的异构设备之间的通信,相关的数据点位均由PLC 的数据点位进行控制,数据上云则通过边缘网关对PLC 的点位数据进行采集并上传到云端.本文所设计的单容水箱的PID 控制原理如图6 所示.

图6 单容水箱PID 控制原理Fig.6 PID control principle of single water tank

相应的半物理仿真系统的硬件如图7 所示.

图7 单容水箱云控制半物理仿真系统Fig.7 Semi-physical simulation system of single water tank cloud control

在单容水箱半物理仿真系统平稳运行后,在Kali Linux 系统中使用hping3 工具向单容水箱云控制系统发起DDoS 攻击.本文针对云控制系统DDoS 攻击的检测流程如图8 所示,模型进行初始化时相关的参数如表1 所示.

表1 模型初始化参数Table 1 Model initialization parameters

图8 DDoS 攻击检测流程Fig.8 Flow chart of DDoS attack detection

3.2 模型评估

对于本文所提出的云控制系统DDoS 攻击检测模型的评估,选取机器学习中的准确率(AAcc)、F1 得分和误报率(FFAR)等指标作为评价标准,相应指标由式(16)定义.

其中,TTP、TTN、FFP、FFN分别是混淆矩阵所对应的4个不同的参数,分别代表模型不同的分类结果.

3.3 实验结果分析

在单容水箱云控制系统正常运行一段时间后,对系统发起DDoS 攻击,由图9 所示,在DDoS 攻击的情况下,水箱的液位开始震荡,说明DDoS 攻击产生的大量无用数据包占用了网络带宽,影响到云控制系统的正常通信.

图9 单容水箱液位情况Fig.9 Liquid level situation of single water tank

为研究多头注意力机制并行头数对于模型性能的影响,本文分别设置了1,2,4,6,8 共5 种并行机制,研究了其对于准确率、误报率等指标的影响,其结果如图10 所示.

图10 并行头数对模型性能的影响Fig.10 Effect of parallel head number on model performance

实验结果显示,模型的检测效果并不会随着注意力机制并行头数的增加而一直增强,当并行头数为2 时,相应的指标都优于本次对比实验所设置的其他并行头数.

为验证本文所提出模型的优势,本文在相同的情况下对比了CNN,BiLSTM,CNN-BiLSTM 3 种模型,相应的检测结果如表2 所示.

表2 模型检测结果对比Table 2 Comparison of model detection results

由以上对比结果可知,融入多头注意力机制后,检测的准确率相比无多头注意力机制的模型提高了1.72%,同时CNN-MHA-BiLSTM 模型的误报率、F1 等指标都优于其他3 种检测模型,说明CNN-MHA-BiLSTM模型对于DDoS 攻击流量的提取与识别能力更强.

4 结论

针对云控制系统的DDoS 网络攻击,提出一种基于CNN-MHA-BiLSTM 模型的检测算法,分别采用卷积神经网络和双向长短期记忆网络提取流表特征,模型中的多头注意力机制提高模型对关键信息的权重比.基于会话流对原始数据进行处理,获取相应的流表项特征.搭建了基于IAP 云平台的单容水箱液位云控制半物理仿真系统,验证了真实场景下云控制系统的DDoS 攻击,弥补了现有的纯数字仿真研究的不足.实验结果表明CNN-MHA-BiLSTM 模型可以有效地检测出云控制系统的DDoS 攻击,且相对于CNN 和BiLSTM 等模型具有较大的优势.

猜你喜欢
水箱特征提取数据包
基于Daubechies(dbN)的飞行器音频特征提取
电子制作(2018年19期)2018-11-14 02:37:08
SmartSniff
Bagging RCSP脑电特征提取算法
一种太阳能热水器水箱的控制系统
电子制作(2017年19期)2017-02-02 07:08:50
PLC组态控制在水箱控制系统的应用
工业设计(2016年11期)2016-04-16 02:49:22
水箱出水
水箱拉丝机研发与应用探析
机电信息(2015年3期)2015-02-27 15:54:44
基于MED和循环域解调的多故障特征提取
基于Libpcap的网络数据包捕获器的设计与实现
视觉注意的数据包优先级排序策略研究