doi:
10.3969/j.issn.1003-3106.2023.07.027
引用格式:赵瑜,霍永华,黄伟,等.基于双向LSTM模型的流量异常检测方法[J].无线电工程,2023,53(7):1712-1718.
[ZHAOYu,HUOYonghua,HUANGWei,etal.TrafficAnomalyDetectionMethodBasedonBidirectionalLSTMModels[J].Radio
Engineering,2023,53(7):1712-1718.]
基于双向LSTM模型的流量异常检测方法
赵 瑜1
,霍永华2
,黄 伟2
杨文芳
(1.中国人民解放军91977部队,北京100036;
2.
中国电子科技集团公司第五十四研究所,河北石家庄050081)
摘 要:聚焦传统基于统计、信息论和机器学习的异常流量检测方法存在依赖专家经验、准确度较低、误报率高和泛化能力不足等问题,提出了一种基于堆叠稀疏自编码器(StackedSparseAuto Encoder,SSAE)和双向LSTM模型的异常流量检测方法,基于SSAE进行流量数据特征提取,改变了之前全部依赖专家知识数据库的做法,从根本上避免人的主观性,提高流量数据的真实性和客观性;将双向LSTM模型提取的局部时序信息和使用多头注意力机制提取的全局信息相融合,详细阐述了模型构建过程和算法设计核心步骤;通过设计典型场景,选取数据集和准确率、召回率以及F1评分评估指标,验证所设计模型算法的精准度和鲁棒性。实验结果表明,提高了异常流量的检测精度,增强了模型泛化能力,对异常攻击和资源优化调控具有辅助决策作用。
关键词:堆叠稀疏自编码器;多头注意力机制;双向LSTM
;流量异常检测中图分类号:TP319文献标志码:A开放科学(资源服务)标识码(OSID):文章编号:1003-3106(2023)07-1712-07
TrafficAnomalyDetectionMethodBasedonBidirectionalLSTMModels
ZHAOYu1
,HUOYonghua2
,HUANGWei2
,YANGWenfang
(1.
Unit91977,PLA,
Beijing100036,China
2.The54thResearchInstituteofCETC,
Shijiazhuang050081,China
Abstract
:Traditionalnetworktrafficanomalydetectionmethodsbasedonstatistics,informationtheoryandmachinelearninghaveproblemssuchasdependenceonexpertexperience,lowaccuracy,highfalsealarmrateandinsufficientgeneralizationability.Therefore,anetworktrafficanomalydetectionmethodbasedonStackedSparseAuto Encoder(SSAE)andbidirectionalLSTMis
proposed.SSAEisusedtoextractfeatureswithoutrelyingonexpertknowledgedatabasetoavoidsubjectivityandimprovetheauthenticityandobjectivityofthedata.ThelocaltimeseriesinformationextractedbythebidirectionalLSTMandtheglobalinformationextractedbythemulti headattentionmechanismare
fused.Themodelconstructionandcorealgorithmdesignisdetaileddescribed.Thetypicalsceneisdesignedanddatasets
,accuracy,recallrateandF1 scoreindexesareselectedtoverifytheaccuracyand
robustnessofthedesignedmodel.Theresultsshowthatthetrafficanomalydetectionaccuracyisimprovedandthegeneralizationabilityofthemodelisenhanced,
whichplayagoodroleinthedefenseofmaliciousattacksandresourceoptimizationcontrol.
Keywords
:stackedsparseauto encoder;multi headattentionmechanism;bidirectionalLSTM;networktrafficanomalydetection
收稿日期:2023-01-08基金项目:网云融合基础设施资源智能管控技术研究FoundationItem:ProjectSupportedbyStudyonIntelligentManagement
andControlofResourcesonNetwork cloudFusionInfrastruct
0 
引言
随着全球互联网的快速发展,互联网网民规模不断增长,各类互联网服务激增,同时网络的普及也增加了网络攻击的风险,各种新型恶意攻击不断出
现,千变万化的网络安全形势不容乐观,人们对安全
网络的需求也在不断增加。检测网络异常流量,防
工程与应用
止网络攻击行为,一方面帮助网络管理人员维护网络空间安全,同时也为全网资源优化调控提供决策支持。异常流量检测通过分析、监测网络中产生的数据信息,检测是否有异常流量,并对攻击行为进行更进一步的识别,有利于网络运维人员了解网络运行情况、保障网络稳定运行,是网络安全体系的重要组成部分。如何改善对恶意网络流量的分类精度是提高网络异常流量检测性能和防御恶意攻击的关键。
近年来,国内外科研人员在网络异常流量检测领域开展了大量的研究工作,常见的异常流量检测方法包括以统计为基础的检测方法、以信息论为基础的检测方法和以机器学习为基础的检测方法[1]。深度学习因为其广泛和通用的特性,同样在异常流量检测领域大放异彩。文献[2-5]研究了当前异常流量检测方法,将CNN、LSTM等深度学习网络以及堆叠降噪自编码器(SDA)和自注意力机制等方法应用于流量检测,较之前取得了不错的进步。此外,
Wu等[6]提出了一种基于KNN的数据流时间敏感异常快速检测方法,将滑动窗口模型与局部敏感
哈希(LSH)相结合,以监测流元素的分布以及随着时间的推移其最近邻的数量,使用一种近似的方法实现滑动窗口模型来计算动态的最近邻。这种方法可以使异常检测的查全率和查准率在不同的时间间隔中有明显的提高。Lei等[7]提出了一种有效的入侵检测方法———P DNN,以剪枝深度神经网络为基础,首先训练具有较好入侵检测性能、结构复杂的深度神经网络;其次通过剪枝的操作只保留权重中较为重要的信息连接,降低模型的复杂性;最后,重新训练深度神经网络以到最佳模型,该方
法取得了良好的结果。段雪源等[8]提出了一种以多尺度特征为基础的网络流量异常检测方法,使用多个不同尺度的滑动窗口将原始流量划分为多个观察跨度的子序列,利用小波变换技术和稀疏自编码器(SparseAuto Encoder,SAE)及加权投票策略,有效挖掘网络流量的多尺度特征信息,检测性能有所提升。黎文伟等[9]基于Me
AEG NET提出了一种异常流量检测方法,设计了一种基于对抗网络和记忆增强模块的半监督异常流量检测框架,通过只训练正常流量样本数据,比较生成器模块输入流量底层特征的重构误差来达到异常检测的目的。
但是当前异常流量检测方法普遍存在检测准确率低、误报率高和泛化能力不足等问题,为弥补以上不足,本文将堆叠稀疏自编码器(StackedSparseAuto Encoder,SSAE)与多头注意力(Multi HeadAt
tention)机制改进的双向LSTM相结合,共同应用于网络异常流量检测。该方法首先使用SSAE对原始
网络数据信息进行特征提取,不受主观因素的影响,不依赖于专家知识数据库和先验知识。鉴于网络异常流量序列具有一定的时序性,所以由当前时间和历史时间的网络流量数据一同决定了当前时间的网络异常流量类型。因此,使用双向LSTM模型拟合流量的时序信息,以便提高模型的特征提取能力。利
用多头注意力模型减少冗余特征的计算、对关键特征进行权衡、学习特征间的相关性、在较长的距离内捕捉相互依赖的特征并获得全局信息。多头注意力机制改进的双向LSTM网络融合了双向LSTM提取局部上下文信息的能力和多头注意力提取全局上下文信息的能力[10],强化了特征表示,改善了异常流量分类的精度,降低了误报率,增强了泛化能力。计算得到的自注意力值不能直接用于异常流量分类,通过全连接层(Dense层)进行进一步编码,最后使用SoftMax分类器进行分类,进而获得最终精准的流量异常检测结果。
1 SSAE与多头注意力改进的双向LSTM相结合的网络流量异常检测模型
  构建的异常流量检测模型由SSAE模块和多头注意力改进的双向LSTM模块组成。多头注意力机
制可以获得整体和局部的联系,并学习长距离的上下文信息,每一步的结果不依赖于上一步,但无法对位置信息进行捕捉,即无法学习序列中的顺序关系[11];而双向LSTM能够对时间序列数据之间的关联性进行处理,从而获得序列的上下文信息,将二者相结合优势互补,共同实现精准流量检测。模型整体架构如图1所示。
工程与应用
图1 基于SSAE和双向LSTM的网络流量异常检测模型整体架构
Fig.1 OverallarchitectureofnetworktrafficanomalydetectionmodelbasedonSSAEandbidirectionalLSTM
基于SSAE和双向LSTM模型的异常流量检测算法流程为:①首先对原始数据进行预处理操作,包括清洗数据、特征数字化、特征归一化和数据重采样,并将数据集分为训练集和测试集;②在此基础上将训练集输入SSAE特征提取模块进行训练;③训练结束后将参数保存下来,并将提取得到的特征参数输入多头注意力改进的双向LSTM模块进行训练;④利用双向LSTM网络提取流量的时序特征,多头注意力机制提取全局信息,然后全连接层对计算得到的注意力值进行进一步编码,在Dense层经过非线性变化,提取特征之间的关联关系,最后映射到输出空间上;
⑤基于SoftMax分类器分类,
如果模型的误差或迭代次数达到预期数值,则模型训练结束;
⑥将测试集输入保存的模型中,
得到预测结果,根据评价指标对模型进行评估,自此整个网络流量异常检测与分类过程结束。
其中,基于SSAE和双向LSTM的网络异常流量
检测算法描述过程如算法1所示。算法1基于SSAE和双向LSTM的网络异常流量检测算法输入:经过预处理以后获取的特征数据:M;SSAE
网路层数:N;输出:网络异常流量检测结果1:SSAE网络预训练:
2:
初始化;3:设置迭代次数E1;4:设置批处理次数A;6:fori=1toNdo
7: θ={wi
,bi
}8:fore=1toE1do9:   fora=1toAdo10:    计算第i层的重构误spare_loss[i];工程与应用
11:   
使用梯度下降法更新θ;
12:   endfor13: endfor14:endfor
15:
网络调优;16:
训练好的SSAE的编码器部分用于特征提取,其输出特征集送入多头注意力机制改进的双向LSTM网络;17:
多头注意力机制改进的双向LSTM网络训练:18:
设置迭代次数E2;19:设置批处理次数B;20:fore=1toE2do21: forb=1toBdo22:   经过双向LSTM层提取时序信息;23:   经过多头注意力层提取全局信息;24:   经过Dense层;25:   使用SoftMax得到分类结果;26:   计算网络的损失loss;27:   使用梯度下降法更新参数;24: endfor25:endfor
26:
保存模型27:
将测试集数据输入保存好的模型中,得到预测结果1.1 基于SSAE的特征提取模块自动编码器(Auto Encoder,AE)具有无监督和确定性的特性,利用神经网络进行表征学习,能自动学习无标记数据的特征,给出优于原始数据的特性描述。AE要求输出尽可能等于输入,利用梯度下降的反向传播算法,可以不断更新模型参数最终得到最优参数。稀疏自动编码器(SAE)是AE的一种改进模型,编码器隐层节点的稀疏性约束是通过稀疏性参数ρ来实现的,
更有利于表达数据的特性,增强模型的特征提取能力。SAE具有稀疏性,能够完成特征
的自动选择而不是采用随机的方式,这种方式能够自动完成降维的过程。使用Sigmoid作为神经元的激活函数,被激活神经元的比例用一个常数ρ表示。平均激活度ρ^为:
ρ
^=1n∑n
n-1
[a(2
正则化网络
)j
(x(i
))],(1)式中:n为隐藏神经元的数量,a(2
)j
(x)为节点j的输出激活值。库尔布克-利布勒散度(KL)可以保证ρ^接近常数ρ,计算公式为:
KL(ρρ
^)=ρlnρρj^+(1-ρ)ln1-ρ1-ρj
^。(2) 
因此,
SAE的误差函数如下:Asae
=12n∑n
i=1
xi-zi
+μ∑M
j=1
KL(ρρ
j^),(3)
式中:
xi
表示输入数据,zi
表示输出数据,M表示隐藏层的神经元个数,μ为一个常数。同时为了防止模型过拟合,在损失函数中加入正则化项,因此SAE的最终损失函数为:
Jsae=Asae
(∑M-1
j=1
∑S
l=1
∑K
t=1
(w(j
)lt
)2,
(4)
式中: 表示正则化参数,
M表示网络层数,j表示当前层,
S和K表示共同连接的神经元总数。选择梯度下降反向传播方法对网络参数进行优化,具体表现为对权重参数w、偏置项b进行如下优化:
wlt(j)=wlt
(j)-γ
wlt
Jsae,
(5)bl(j
)=bl
(j)-γ  bl
(j)Jsae
(6)
式中:γ为学习率。
SSAE的训练过程包含预训练和微调,具体如下:
①预处理阶段:
对原始网络流量数据进行预处理,之后将处理过的数据输入SSAE特征提取网络。
②预训练阶段,在SSAE网络中输入经过预处理的特征数据。利用式(4)进行特征学习,然后使用梯度下降法优化网络参数,即用式(5)和式(6)更新参数,第一层SAE训练完成后,得到权重参数和偏置参数。将第一个SAE隐藏层的输出结果作为第二个AE隐藏层的输入,采用与第一个SAE
一致的训练方式,得到权重参数和偏置参数。③在反向微调阶段,根据正确的类别标签,计算出当前网络中的分类损失,之后再根据分类损失对网络进行调优。
④SSAE模块训练结束后,将编码器部分用于特征提取,
编码器的输出结果为降维的特征集,完成特征提取功能。之后将提取的特征输入多头注意力机制改进的双向LSTM网络进行模型训练。
1.2 多头注意力改进的双向LSTM模型1.2.1 双向LSTM和多头注意力机制双向LSTM是LSTM的改进,双向LSTM是由前
向LSTM和后向LSTM组成的。所谓双向LSTM即
一个LSTM单元处理正向输入,
另一个单元处理反向输入,既能保留过去信息,又能保留未来信息,可以使网络更好地理解某一时刻前后的信息。双向LSTM原理如图2所示。
工程与应用
图2 双向LSTM原理
Fig.2 SchematicdiagramofbidirectionalLSTM注意力机制的灵感是从研究人类视觉中获得的。多头注意力机制对长距离的依赖关系进行捕获,获取全局信息,学习特征之间的相关性,通过加权目标数据来突出其关键特征,并提高了模型的适应度。帮助模型更有效地学习底层特征,权衡关键特征,显著影响最终的检测结果,从而获得更合理和准确的特征信息,提高模型的检测精度和鲁棒性。
1.2.2 多头注意力改进的双向LSTM模型构建文献[12]基于LSTM改进设计了一种异常流量
检测模型,文献[13]设计了一个基于自注意力的多特征异常流量检测模型,均取得了不错的效果。而双向LSTM是LSTM的一种改进,在大部分应用中效果更佳,基于以上启发,将双向LSTM和自注意力机制结合,构建一个网络流量异常检测模型。双向
LSTM提取流量数据的上下文信息,拟合网络数据的时序信息,提取的是局部特征,多头注意力捕捉长
距离特征,提取的是全局信息,二者相互补充,增强模型的鲁棒性和泛化能力,帮助提升异常流量分类的精确性。图1(b)展示了多头注意力改进双向
LSTM模型的网络结构。
多头注意力改进的双向LSTM模型的具体构建过程如下:
①将SSAE提取的特征输入双向LSTM中。对于任意时间步t,双向LSTM的输出结果向量为ht:
h→
LSTM(xt,h→t-1),(7)
h←
=LSTM(xt,t←t+1),(8)
=Concat(h→t,h←t),(9)式中:h→t-1为前隐层状态,h←t+1为反隐层状态。
②将双向LSTM的输出向量(h1,h2,…,ht)合并为矩阵,作为多头注意力层的输入。每个head输
出的注意力值为
head
i=Attention(QWQi,KWKi,VWVi),(10)
Attention(Q,K,V)=SoftMaxQKTd槡k()V,
(11)
式中:headi表示第i个头的输出,Q表示查询向量,
K表示键向量,V表示值向量,WKi、WVi分别用于对
K,Q,V进行线性变换,dk为键向量K的维度,
SoftMax对相似度进行归一化。
经过n次(使用n个head)计算之后将结果
head
1,head2
,…,headn进行拼接,并用权重矩阵W
进行线性变换得到最终的注意力值,计算如下:
output=WOConcat(head1,head2,…,headn),(12)
式中:WO是输出变换矩阵。
③计算得到的注意力值不能用来分类检测,需
经过Dense层进一步编码。输出结果为:
=w
output+b
D,
(13)
式中:wD和bD为Dense层的权值和偏置,AD为
Dense层的输出。
④使用SoftMax作为激活函数,对输出结果进
行分类,计算每种网络流量类型分类的概率,最终的
高概率输出对应于网络流量的类别,得到最后的检
测结果。计算如下:
O=
exp(AD)
exp(AD)
,(14)
式中:输出O为模型检测结果。根据检测结果与真
实结果计算损失误差loss。使用交叉熵作为模型的
损失函数,其计算如下:
L=-[ylby^+(1-y)lb(1-y^)],(15)
设置学习率和迭代次数进行模型训练。将训练好的
模型进行保存,完成整个模型的构建过程。
2 实验及结果分析
2.1 数据集描述与数据预处理
CICIDS2017数据集[14]是加拿大入侵检测数据
集,包含良性和最新的常见攻击,采集自真实的网络
环境。对于CICIDS2017数据集,它基于HTTP、HT
TPS、FTP、SSH和协议构建了25个用户的
抽象行为。数据采集至2017年7月7日星期五下
午5点结束,共5d。星期一采集良性数据,星期二
至星期五采集了DoS、Botnet、Heartbleed、Web
Attack、Infiltration、DDoS等8种典型攻击。由于
Heartbleed、Infiltration的数量极少,实验中舍弃这
2类攻击。最后将包含Normal在内的7种类型进行
实验。
对于输入数据,首先进行预处理操作,包含特征
数字化、特征归一化、数值标准化和数据重采样等内
工程与应用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。