网络异常流量检测方法及装置制造方法及图纸

技术编号:29618259 阅读:22 留言:0更新日期:2021-08-10 18:38
本申请涉及一种网络异常流量检测方法及装置,属于计算机技术领域,该方法包括:获取预先训练的异常流量检测模型,异常流量模型基于Attention机制的Bi‑LSTM模型建立,并使用训练数据集训练得到;训练数据集包括正常流量样本和异常流量样本,异常流量样本包括使用预先训练的异常流量生成模型生成得到的样本数据;异常流程生成模型用于根据已有的异常流量样本生成新的异常流量样本;将网络流量数据输入异常流量检测模型中,得到检测结果;可以保证模型训练时正负样本均衡,且通过基于Attention机制的Bi‑LSTM模型进行异常流量检测,可以凸显出流量数据序列的相互影响作用,从而提高系统对新攻击检测的能力。

【技术实现步骤摘要】
网络异常流量检测方法及装置
本申请涉及一种网络异常流量检测方法及装置,属于计算机

技术介绍
近年来,由于信息泄露的情况越来越严重,网络安全问题开始引起人们的广泛注意。而现有的网络流量异常检测系统大多是利用传统的统计方法人为根据数据统计和攻击特征来设计异常检测系统的检测规则,或者利用支持向量机、决策树、Adaboost、随机森林和K-Means等机器学习方法来进行异常检测。但是,随着网络环境越来越复杂,研究人员发现每个攻击特征的速度已经远远赶不上攻击类型翻新的速度,所以随着现代网络日趋复杂,传统方法很难满足检测任务的需求。基于上述问题,现有的网络异常流量检测方法也提出了使用基于CNN、RNN等深度神经网络的方法来进行网络流量异常检测。但是在使用深度学习方法来进行网络流量异常检测的时候,也存在如下两个问题:1、模型训练过程中存在的正负样本数据不平衡问题;2、异常检测系统对新攻击检测能力较弱的问题。
技术实现思路
本申请提供了一种网络异常流量检测方法及装置,可以解决模型训练过程中存在的正负样本数据不平衡问题、且异常检测系统对新攻击检测能力较弱的问题;通过使用异常流量生成模型可以生成新的异常流量样本,从而使得正负样本均衡,另外通过基于Attention机制的Bi-LSTM模型进行异常流量检测,可以凸显出流量数据序列的相互影响作用,从而提高系统对新攻击检测的能力。本申请提供如下技术方案:第一方面,提供一种网络异常流量检测方法,所述方法包括:获取网络流量数据;获取预先训练的异常流量检测模型,所述异常流量模型基于注意力Attention机制的双向长短期记忆Bi-LSTM模型建立,并使用训练数据集训练得到;所述训练数据集包括正常流量样本和异常流量样本,所述异常流量样本包括使用预先训练的异常流量生成模型生成得到的样本数据;所述异常流程生成模型用于根据已有的异常流量样本生成新的异常流量样本;将所述网络流量数据输入所述异常流量检测模型中,得到检测结果,所述检测结果用于指示所述网络流量数据是否存在异常。可选地,所述异常流量检测模型从前之后依次包括:输入层、Bi-LSTM层、Attention层和输出层;所述Bi-LSTM层包括前向LSTM模型和后向LSTM模型;所述输入层将输入的数据分别输入所述前向LSTM模型和所述后向LSTM模型;所述前向LSTM模型和所述后向LSTM模型分别对输入层输入的数据进行计算,得到输出结果;并将所述输出结果输出至所述Attention层;所述Attention层用于对所述Bi-LSTM层输出的所有分量进行加权,并进行权重更新,得到输出结果;并将所述输出结果经过所述输出层处理后,得到所述检测结果。可选地,所述异常流程生成模型包括:自动编码器、生成器和判别器;所述自动编码器的输入为标签为异常流量的异常数据,输出为与输入的数据相似的异常数据;所述生成器的输入为加入噪声后的异常数据,所述加入噪声后的异常数据包括所述自编码器生成异常数据与噪声的结合、以及所述标签为异常流量的异常数据与噪声的结合;输出为与正常数据相似的异常数据;所述判别器的输入为正常数据和异常数据,输出为对正常数据和异常数据的判别结果;其中,异常数据包括标签为异常流量的异常数据和所述生成器生成的异常数据,所述判别结果用于对所述生成器和所述判别器进行更新。可选地,所述自动编码器从前至后依次包括输入层、第一隐藏层、第二隐藏层、第三隐藏层和输出层;所述输入层、所述第一隐藏层和所述第二隐藏层构成编码器;所述第三隐藏层和所述输出层构成解码器;所述编码器用于通过全连接变换的方式将输入数据的维度压缩降低,所述输入层与所述第一隐藏层之间、所述第二隐藏层与所述第三隐藏层之间的激活函数为Relu函数,所述Relu函数使得所述自动编码器中一部分神经元的输出为0;所述Relu函数通过下式表示:yrelu=max(0,x);其中,所述x为所述Relu函数的输入;所述解码器的解码过程与所述编码器的编码过程相反,用于输出与所述输入数据的维度相同的异常数据;在解码过程中,所述第三隐藏层和所述输出层之间的激活函数为Sigmoid函数,所述Sigmoid函数用于将输入的连续实值变换为0至1之间的数值;所述Sigmoid函数通过下式表示:其中,所述x为所述Sigmoid函数的输入。可选地,所述自动编码器在训练时使用的损失函数为均方误差MSE,所述MSE为预测值与目标值之间差值的平方和的均值,所述MSE通过下式表示:其中,自编码器的输出Y={y1,y2,...,yn}是与原有异常流量P={p1,p2,...,pn}相似的异常数据,n与输入的维度相同。可选地,所述生成器包括三个全连接层,不同全连接层之间使用LeakyRelu的激活函数;最后一个全连接层的输出使用Tanh函数激活,以使输出数据的范围为从-1至1;所述LeakyRelu的激活函数通过下式表示:y=max(αx,x);其中,α设置为固定常数,x为LeakyRelu的激活函数的输入;所述Tanh函数通过下式表示:其中,x为Tanh函数的输入。可选地,所述生成器在训练时使用的损失函数为交叉熵BCELoss函数,所述交叉熵BCELoss函数通过下式表示:L(G)=-[ylogx+(1-y)log(1-x)]其中,x表示所述生成器的输入数据,y表示所述生成器的预测值。可选地,所述判别器包括三个全连接层,不同全连接层之间使用LeakyRelu的激活函数,且LeakyRelu函数之后还添加有Dropout网络,所述Dropout网络用于通过忽略一部分的特征使两个神经元不必每次都在同一个Dropout网络中出现;最后一个全连接层的输出使用Sigmoid函数激活。可选地,所述判别器在训练时使用的损失函数为改进后的BCELoss函数,所述改进后的BCELoss函数在GAN模型原有的损失函数的基础上增加了梯度范数,所述改进后的BCELoss函数通过下式表示:其中,ε∈[0,1]且为常数,D(x)表示所述判别器对真实的样本进行判别,z表示随机的输入,G(z)表示所述生成器生成的样本,λ为预设常数。第二方面,提供一种网络异常流量检测装置,所述装置包括:数据获取模块,用于获取网络流量数据;模型获取模块,用于获取预先训练的异常流量检测模型,所述异常流量模型基于注意力Attention机制的双向长短期记忆Bi-LSTM模型建立,并使用训练数据集训练得到;所述训练数据集包括正常流量样本和异常流量样本,所述异常流量样本包括使用预先训练的异常流量生成模型生成得到的样本数据;所述异常流程生成模型用于根据已有的异常流量样本生成新的异常流量样本;异常检测模块,用于将所述网络流量数据输入所述异常流量检测模型中,得到检测结果,本文档来自技高网...

【技术保护点】
1.一种网络异常流量检测方法,其特征在于,所述方法包括:/n获取网络流量数据;/n获取预先训练的异常流量检测模型,所述异常流量模型基于注意力Attention机制的双向长短期记忆Bi-LSTM模型建立,并使用训练数据集训练得到;所述训练数据集包括正常流量样本和异常流量样本,所述异常流量样本包括使用预先训练的异常流量生成模型生成得到的样本数据;所述异常流程生成模型用于根据已有的异常流量样本生成新的异常流量样本;/n将所述网络流量数据输入所述异常流量检测模型中,得到检测结果,所述检测结果用于指示所述网络流量数据是否存在异常。/n

【技术特征摘要】
1.一种网络异常流量检测方法,其特征在于,所述方法包括:
获取网络流量数据;
获取预先训练的异常流量检测模型,所述异常流量模型基于注意力Attention机制的双向长短期记忆Bi-LSTM模型建立,并使用训练数据集训练得到;所述训练数据集包括正常流量样本和异常流量样本,所述异常流量样本包括使用预先训练的异常流量生成模型生成得到的样本数据;所述异常流程生成模型用于根据已有的异常流量样本生成新的异常流量样本;
将所述网络流量数据输入所述异常流量检测模型中,得到检测结果,所述检测结果用于指示所述网络流量数据是否存在异常。


2.根据权利要求1所述的方法,其特征在于,所述异常流量检测模型从前之后依次包括:输入层、Bi-LSTM层、Attention层和输出层;所述Bi-LSTM层包括前向LSTM模型和后向LSTM模型;
所述输入层将输入的数据分别输入所述前向LSTM模型和所述后向LSTM模型;
所述前向LSTM模型和所述后向LSTM模型分别对输入层输入的数据进行计算,得到输出结果;并将所述输出结果输出至所述Attention层;
所述Attention层用于对所述Bi-LSTM层输出的所有分量进行加权,并进行权重更新,得到输出结果;并将所述输出结果经过所述输出层处理后,得到所述检测结果。


3.根据权利要求1所述的方法,其特征在于,所述异常流程生成模型包括:自动编码器、生成器和判别器;
所述自动编码器的输入为标签为异常流量的异常数据,输出为与输入的数据相似的异常数据;
所述生成器的输入为加入噪声后的异常数据,所述加入噪声后的异常数据包括所述自编码器生成异常数据与噪声的结合、以及所述标签为异常流量的异常数据与噪声的结合;输出为与正常数据相似的异常数据;
所述判别器的输入为正常数据和异常数据,输出为对正常数据和异常数据的判别结果;其中,异常数据包括标签为异常流量的异常数据和所述生成器生成的异常数据,所述判别结果用于对所述生成器和所述判别器进行更新。


4.根据权利要求3所述的方法,其特征在于,所述自动编码器从前至后依次包括输入层、第一隐藏层、第二隐藏层、第三隐藏层和输出层;所述输入层、所述第一隐藏层和所述第二隐藏层构成编码器;所述第三隐藏层和所述输出层构成解码器;
所述编码器用于通过全连接变换的方式将输入数据的维度压缩降低,所述输入层与所述第一隐藏层之间、所述第二隐藏层与所述第三隐藏层之间的激活函数为Relu函数,所述Relu函数使得所述自动编码器中一部分神经元的输出为0;所述Relu函数通过下式表示:
yrelu=max(0,x);
其中,所述x为所述Relu函数的输入;
所述解码器的解码过程与所述编码器的编码过程相反,用于输出与所述输入数据的维度相同的异常数据;在解码过程中,所述第三隐藏层和所述输出层之间的激活函数为Sigmoid函数,所述Sigmoid函数用于将输入的连续实值变换为0至1之间的数值;所述Sigmoid函数通过下式表示:
<...

【专利技术属性】
技术研发人员:唐玉维
申请(专利权)人:苏州联电能源发展有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1