掌桥专利:专业的专利平台
掌桥专利
首页

一种改进的ConvLSTM的网络流量入侵检测方法

文献发布时间:2023-06-19 18:30:43


一种改进的ConvLSTM的网络流量入侵检测方法

技术领域

本发明涉及网络信息安全与深度学习技术领域,尤其涉及一种改进的ConvLSTM的网络流量入侵检测方法。

背景技术

随着科学技术的发展,网络几乎成为了人们生活和工作中不可或缺的重要工具;但是,在当今愈加复杂的网络环境下,各种网络攻击手段接踵而来,攻击频率不断增加,影响范围不断扩大,全球因网络安全引发的泄露事故呈日趋频繁;传统机器学习的入侵检测模型在准确率上取得的效果并不是很理想,并且这种入侵检测模型还有着较高的误报率,其次,随着互联网技术的不断发展,如今的网络流量越来越大,入侵检测模型在运行过程中需要对大量的网络流量进行分析和处理,而传统机器学习在分析和处理大量数据上并不能表现出良好的性能;因此有研究人员针对不同类型的网络攻击提出了各种入侵检测模型,例如深度信念网络与卷积神经网络等,但是这些模型还存在着一系列问题,例如,模型由于因为数据的冗余导致最终分类结果正确率低下;模型过于单一,难以提取各种类型的特征,如基于CNN的入侵检测模型在提取空间特征方面效果良好,但是忽略了特征间的长期依赖关系;数据集不平衡,正常流量数据远远多于攻击流量数据,最终会造成模型的过拟合问题;模型参数难以确定,目前深度学习方法的参数大多由经验法则得出,如何确定最佳参数成为一大难题。

发明内容

为了解决上述技术问题,本发明的目的是提供一种改进的ConvLSTM的网络流量入侵检测方法,能够降低待检测流量数据的冗余性同时提高网络模型的训练效率与检测精度。

本发明所采用的第一技术方案是:一种改进的ConvLSTM的网络流量入侵检测方法,包括以下步骤:

对历史流量数据进行预处理,得到预处理后的数据;

基于梯度惩罚生成对抗网络对预处理后的数据进行过采样处理,得到过采样数据;

通过信息增益算法对过采样数据进行特征选择处理,得到低维度的流量数据;

结合丢弃连接技术对ConvLSTM网络模型进行改进,得到改进的ConvLSTM网络模型;

通过改进的ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果。

进一步,所述对历史流量数据进行预处理,得到预处理后的数据这一步骤,其具体包括:

获取历史流量数据;

对历史流量数据依次进行数字化与规范化处理,得到初步的历史流量数据;

将初步的历史流量数据进行划分为试集数据与训练集数据,得到预处理后的数据。

进一步,所述基于梯度惩罚生成对抗网络对预处理后的数据进行过采样处理,得到过采样数据这一步骤,其具体包括:

将预处理后的数据中的训练集数据进行随机噪声生成处理,得到随机噪声数据;

将随机噪声数据输入至梯度惩罚生成对抗网络,所述梯度惩罚生成对抗网络包括生成器与鉴别器;

基于生成器对随机噪声数据进行生成样本分布处理,得到模拟样本数据;

基于鉴别器对模拟样本数据与预处理后的数据进行鉴别处理,得到鉴别结果;

根据鉴别结果进行反向更新梯度惩罚生成对抗网络的参数,得到更新后的梯度惩罚生成对抗网络;

基于更新后的梯度惩罚生成对抗网络循环对预处理后的数据进行过采样处理,直至所述鉴别结果满足预设阈值范围,输出初步的过采样数据;

将初步的过采样数据与测试集数据进行整合处理,得到过采样数据。

进一步,所述通过信息增益算法对过采样数据进行特征选择处理,得到低维度的流量数据这一步骤,其具体包括:

基于过采样数据的大小,对过采样数据进行信息熵计算处理,得到过采样数据的信息熵值;

基于过采样数据的维度特征,对过采样数据进行条件熵计算处理,得到过采样数据的条件熵值;

将过采样数据的信息熵值与过采样数据的条件熵值进行作差处理,得到过采样数据的信息增益值;

根据过采样数据的信息增益值对过采样数据进行排序处理并剔除信息增益值小于预设阈值的过采样数据,得到低维度的流量数据。

进一步,所述通过改进的ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果这一步骤,其具体包括:

基于狮群算法对改进的ConvLSTM网络模型进行参数优化处理,得到优化后的ConvLSTM网络模型;

通过优化后的ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果。

进一步,所述结合丢弃连接技术对ConvLSTM网络模型进行改进,得到改进的ConvLSTM网络模型这一步骤,其具体包括:

通过丢弃连接技术对ConvLSTM网络模型的每一网络层的权重矩阵进行正则化处理,构建改进的ConvLSTM网络模型,所述改进的ConvLSTM网络模型包括输入门、遗忘门输出门、记忆元和隐藏状态,其表达式具体如下所示:

上式中,σ表示sigmoid激活函数,*表示卷积算子,

进一步,所述基于狮群算法对改进的ConvLSTM网络模型进行参数优化处理,得到优化后的ConvLSTM网络模型这一步骤,其具体包括:

根据预设搜索空间确定狮子数量并确定成年狮子的数量,且其中一头狮王,所述狮子包括成年公狮、成年母狮和幼狮;

根据历史信息确定捕食位置,其中捕食最优位置设置为狮王位置;

根据狮王所处捕食位置计算适应度值,得到第一适应度值;

产生均匀随机数,对随机数值进行判断;

判断到所述随机数小于第一预设阈值,幼狮向狮王附近移动;

判断到所述随机数大于第一预设阈值小于第二预设阈值,幼狮向母狮附近移动;

判断到所述随机数大于第二预设阈值,幼狮向远离狮王的方向移动;

对幼狮移动后的位置计算其适应度值,得到第二适应度值,若所述第二适应度值与第一适应度值满足预设精度阈值,输出狮王位置;

所述狮王位置为最优参数,将最优参数嵌入至改进的ConvLSTM网络模型,得到优化后的ConvLSTM网络模型。

进一步,所述通过优化后的ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果这一步骤,其具体包括:

将低维度的流量数据输入至优化后的ConvLSTM网络模型,所述改进的优化ConvLSTM网络模型包括WD-ConvLSTM层、全连接层和输出层;

基于WD-ConvLSTM层对低维度的流量数据进行卷积处理,得到低维度流量数据的时空特征;

对低维度流量数据的时空特征进行展平处理,得到展平后的时空特征流量数据;

基于全连接层对展平后的时空特征流量数据进行全连接处理,得到连接后的流量数据;

基于输出层,通过softmax函数对连接后的流量数据进行分类处理,得到分类结果。

本发明方法的有益效果是:本发明通过信息增益算法能够从由正常流量和异常流量组成的历史流量数据中学习特征,自动降低网络流量的复杂性,无需人工干预即可找到数据之间的关联,取得更好的检测效果,进一步通过改进的ConvLSTM网络模型学习数据中的特征并对数据进行分类,所述改进的ConvLSTM网络模型结合了CNN和LSTM模型的优点,能很好地提取数据中的空间特征并保持特征之间的长期关系,并提高了模型的泛化能力,另外结合狮群优化算法对模型进行优化,进一步提高了模型训练效率与检测精度,本发明与当前流行的深度学习方法相比,降低了数据的冗余性、融合了多种模型的优点、通过梯度惩罚生成对抗网络缓解了数据不平衡带来的模型训练问题并结合优化算法选择最佳参数,有效提高了模型训练效率与检测精度。

附图说明

图1是本发明一种改进的ConvLSTM的网络流量入侵检测方法的步骤流程图;

图2是本发明梯度惩罚生成对抗网络的结构示意图;

图3是本发明改进的ConvLSTM网络模型的结构示意图;

图4是本发明基于改进的ConvLSTM网络模型和梯度惩罚生成对抗网络的入侵检测方法流程示意图;

图5是现有的标准LSTM模型的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

参照图1,本发明提供了一种改进的ConvLSTM的网络流量入侵检测方法,该方法包括以下步骤:

S1、对历史流量数据进行预处理,得到预处理后的数据;

具体地,对原始数据进行数据预处理,包括特征数字化,数据规范化,并将预处理后的数据划分为训练集和测试集。

S2、基于梯度惩罚生成对抗网络对预处理后的数据进行过采样处理,得到过采样数据;

具体地,流量数据如KDD99、UNSW-NB15和CIC-IDS 2017数据集,是分布及其不平衡的数据,即正常流量数量远远大于异常流量数据,数据分布不平衡很大程度上影响模型的发挥,容易导致过拟合现象,本发明引入WGAN-GP网络生成稀有攻击类型,缓解了因数据不平衡导致的模型泛化能力不足的问题;

生成性对抗网络(GAN)是一类强大的生成性模型,它将生成性建模转化为两个网络之间的博弈;生成器(G)网络产生给定的噪声源的合成数据,而鉴别器(D)网络区分生成器的输出和真实数据,生成器和鉴别器之间的博弈作为模型的目标函数,其表达式如下所示:

上式中,P

本发明采用的是带梯度惩罚项的生成对抗网络,其鉴别器和生成器的损失函数表达式分别为:

上式中,

综上,参照图2,所述梯度惩罚生成对抗网络的处理步骤具体如下所示:

(1)生成随机噪声(如高斯噪声),并将噪声作为输入传给生成器;

(2)随机噪声经过生成器生成模拟样本;

(3)把真实数据和生成数据共同输入到鉴别器中;

(4)鉴别器计算出对输入数据的判别结果;

(5)生成器,鉴别器进行反向传播,调整参数;

(6)不断重复上述步骤1-5,直到生成数据足够接近真实数据。

S3、通过信息增益算法对过采样数据进行特征选择处理,得到低维度的流量数据;

具体地,使用信息增益对特征数据进行降维,以保留对结果贡献较大的特征,信息增益是信息论中的一个重要概念,用信息熵的概念来表示所含信息量的大小,在机器学习领域得到了广泛的应用,在多维特征数据集中,条件熵表示某一维特征对整体信息不确定性的影响,信息增益表示某一维特征为系统信息带来的信息量的大小,通过计算并统计多维特征数据集中每一维特征的信息增益,对其做排序后即可得到该特征对结果贡献程度的大小;

所述信息熵的计算公式如下所示:

上式中,Y表示特征数据集合,n表示特征中不同数值个数,即Y={Y

所述条件熵的计算公式如下所示:

上式中,p(y|x)表示在已知X发生的条件下Y的数值概率,条件熵表示在X发生条件下的Y的信息复杂程度;

在细分条件之后,数据集的信息复杂度势必会降低,这个差值表明了该条件对系统的重要程度,即信息增益的计算公式如下所示:

IG=H(Y)-H(Y|X)

假设数据集中每条数据包含n维特征,对预处理后的数据进行基于信息熵理论的特征降维处理,分别计算每个特征的信息增益,按降序排列出每个特征对于入侵检测的重要程度,并根据模型需要剔除信息增益较低的m(0<m<n),将降维后的数据集作为模型的的输入集。

S4、基于狮群算法,通过改进的ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果。

S41、基于ConvLSTM网络模型构建改进的ConvLSTM网络模型;

具体地,参照图5,LSTM是一种特殊的循环神经网络,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题,多人对其进行了改进和普及,LSTM被用来解决了各种各样的问题,目前被广泛应用,简单来说,LSTM就是相比普通的循环神经网络,LSTM能够在更长的序列中有更好的表现,LSTM中引入了3个门,即输入门(input gate)、遗忘门(forgetgate)和输出门(output gate),以及与隐藏状态形状相同的记忆元,某些文献把记忆细胞当成一种特殊的隐藏状态,从而记录额外的信息。门能够有选择性的决定让哪些信息通过。其实门的结构很简单,就是一个sigmoid函数和一个点乘操作的组合。因为sigmoid函数的输出是0-1的值,这代表有多少信息能够流过sigmoid函数,0表示都不能通过,1表示都能通过,一个LSTM里面包含三个门来控制细胞状态,其中,遗忘门决定细胞状态需要丢弃哪些信息,输入门决定给细胞状态添加哪些新的信息,输出门决定哪些信息将被作为当前状态的输出;

其中,标准LSTM相关计算公式如下所示:

上式中,σ表示sigmoid激活函数,

尽管LSTM层已被证明在处理时间相关性方面功能强大,但它包含了太多的空间数据冗余,LSTM在处理时空数据时的主要缺点是在输入到状态和状态到状态的转换中使用完全连接,其中没有对空间信息进行编码,为了解决这个问题,使用了一种扩展版的LSTM,即ConvLSTM,它在输入到状态和状态到状态的转换中都具有卷积结构,研究表明,该模型结合了CNN和LSTM的优点,在捕获数据的时空依赖方面表现优异,ConvLSTM相关计算公式如下所示:

上式中,σ表示sigmoid激活函数,*表示卷积算子,

基于对流量数据特点的深刻考量,本发明对ConvLSTM进行改进,提出WD-ConvLSTM网络,即权重丢弃的ConvLSTM。WD-ConvLSTM是使用丢弃连接技术正则化的ConvLSTM神经网络,它是丢弃的一种推广形式,其中每个连接以1-p的概率丢弃,与dropout层不一样,dropout层指的是在激活函数或者是输出向量中引入动态稀疏性,而本发明中的权重丢弃是指在权重矩阵W上引入动态稀疏性。在WD-ConvLSTM中,WD-ConvLSTM从隐藏层到隐藏层的权重矩阵W在训练阶段期间被随机丢弃以防止过拟合,更适用于流量数据,WD-ConvLSTM的输入门、遗忘门输出门、记忆元和隐藏状态的计算公式如下:

上式中,σ表示sigmoid激活函数,*表示卷积算子,

S42、基于狮群算法对改进的ConvLSTM网络模型进行参数优化处理,得到改进的优化ConvLSTM网络模型;

具体地,目前深度学习方法的参数大多由经验法则得出,狮群优化算法与其它优化算法相比具有收敛速度较快,精度较高的优点,能较好地获得全局最优解;

利用狮群算法求解目标函数全局优化问题时,将狮群分为3类:狮王、母狮和幼狮,每一头狮子代表深度学习模型中某一种超参数(卷积核大小、隐藏层数等等)的值;公狮、母狮、幼狮的移动方式不同,移动的过程即调整超参数的过程,旨在待寻优空间里找到适应度最高的位置,即全局最优解,适应度可以是实验的评价指标如准确率,f1得分等等,也可以是实验过程中的损失值;

3者社会行为如下;狮王是狮群中最强壮的公狮,需要保护幼狮和自己的领地,并给幼狮分配食物,狮王是在残酷竞争中按照优胜劣汰法则产生的首领,通常还要不断面对狼群、流浪公狮等外来挑战,母狮通常也是捕猎狮,主要负责养育幼狮,它们根据猎物踪迹互相配合进行围捕,母狮在追踪食物时先大范围勘探,当靠近食物时,会在食物附近收缩包围圈猎杀食物.幼狮也称作跟随狮,主要在狮王的保护下生存。幼狮主要围绕狮王和自己的母狮进行活动,幼狮的活动分为3种情况:饥饿时会主动靠向狮王附近进食;食饱后会跟随母狮学习捕猎;长大后,被狮王赶出领地成为流浪狮,历经锻炼后流浪狮中的公狮又会挑战原有狮王的地位;

狮群优化算法的主要思想如下:从待寻优空间中的某一初始位置开始,其中具有最佳适应度值的就是狮王,然后选取一定比例的捕猎狮,捕猎狮相互配合捕猎,一旦发现比当前狮王占有的猎物更优质的猎物,该猎物的位置会被狮王拥有,幼狮跟随母狮学习打猎或在狮王附近进食,成年后会被驱赶出狮群,为了生存,被驱赶的狮子会努力朝记忆中的最佳位置靠近,狮群按照分工合作,不断重复搜寻,得出目标函数最优值;

成年狮所占比例因子β:在整个狮群中成年狮所占比例影响最终寻优效果,成年狮所占比例越大,幼狮数目越少,而幼狮位置更新呈现多样化,增加种群的差异性,提高算法的探测能力,成年狮所占比例因子β为(0,1)内的一个随机数,为使算法收敛速度较快,β取值一般小于0.5,所述随机数直接调用python提供的函数产生,随机生成;

母狮移动范围扰动因子αf:由于越难优化的函数越需加强全局勘探能力,一旦定位到最优解的大致位置后需要加强局部开发能力,故添加一个扰动因子α

其中:

上式中,step表示狮子在活动范围内移动的最大步长,

幼狮移动范围扰动因子α

设在D维的目标搜索空间中有N个狮子组成一群体,成年狮子数量为nLeader,

其中只有一头公狮,其余为母狮,第i(1≤i≤N)个狮子的位置为:

x

成年狮的数量的计算公式如下所示:

幼狮的数量为N-nLeader,捕猎过程中不同类型的狮子的位置移动方式不同,狮王在最佳食物处小范围移动确保自己的特权,按狮王的位置更新公式进行位置更新:

更新自身位置,母狮在捕食过程中需要跟另一个母狮协作,按母狮的位置更新公式进行位置更新:

调整自己的位置,幼狮按母狮的位置更新公式进行位置更新:

调整自己的位置,其中γ是依照正态分布N(0,1)产生的随机数;

为第i个幼狮在捕猎范围内被驱赶的位置,在远离狮王的地方,是一种典型的精英反向学习思想,

综上,本发明的狮群优化算法的具体操作步骤如下:

(1)初始化狮群中狮子的位置x

(2)根据成年狮的数量的计算公式计算狮群中狮王与母狮个数,其余为幼狮,将个体历史最优位置设置为各狮的当前位置,初始群体最优位置设置为狮王位置;

(3)根据式狮王的位置更新公式更新狮王的位置,并计算适应度值;

(4)根据母狮的位置更新公式更新母狮的位置;

(5)产生(0,1)内的均匀随机数q,根据幼狮的位置更新公式更新幼狮的位置;其中,若q≤

(6)根据狮子的位置计算适应度值,更新自身历史最优位置及狮群历史最优位置,判断算法是否满足结束条件(发现理论值最优值或与最后两次最优值之差的绝对值小于设定精度),满足转步骤(8),否则转步骤(7);

(7)每隔一定迭代次数,重新排序(约10次),确定狮王、母狮及幼狮的位置,转步骤(3);

(8)输出狮王的位置,即所求问题的最优解,算法结束。

S43、通过改进的优化ConvLSTM网络模型对低维度的流量数据进行分类,得到分类结果。

具体地,参照图3,所述对低维度的流量数据进行分类的具体步骤如下所示:

(1)将原始数据作为输入传入数据预处理模块;

(2)对原始数据进行数据预处理,包括字符型特征转换为数值型特征、数据规范化、字符型标签转换为数值型标签,并将其结果作为输入集传入WD-ConvLSTM网络;

(3)将输入数据经过若干层WD-ConvLSTM层。WD-ConvLSTM层在输入到状态和状态到状态的转换中都具有卷积结构,大大减少了空间数据冗余,结合了CNN和LSTM的优点,在捕获数据的时空依赖方面表现优异。输入数据经过若干层WD-ConvLSTM层后,得到数据的时空特征,将数据的时空特征进行展平后输入到全连接网络;

(4)全连接网络包括若干层全连接层,全连接层的隐藏神经元数量呈递减趋势,最后一层全连接层的输出数量与数据集中标签种类数量相同。除了末层全连接层,其余所有全连接层的激活函数为BatchNormalize和Relu函数组合而成,最后一层全连接层的输出使用softmax函数对输入的流量数据进行分类,并使用Adam优化器进行反向传播调整参数;

(5)不断训练模型直到模型收敛,训练模型的过程中使用狮群优化算法获取最佳参数。

综上,参照图4,本发明的总体流程的实施步骤如下所示:

(1)对原始数据进行数据预处理,包括特征数字化,数据规范化,并将预处理后的数据划分为训练集和测试集;

(2)将步骤(1)中的训练集进一步划分为稀有类型数据和其它类型数据;

(3)利用WGAN-GP生成更多步骤(2)中的稀有类型数据,得到过采样数据;

(4)将步骤(2)中的其它类型数据和步骤(3)中的过采样数据合并,得到新训练集;

(5)计算步骤(4)中的新训练集」和步骤(1)中的测试集中各个特征的信息增益,并剔除若干信息增益较小的特征,实现特征选择;

(6)将(5)中进行特征选择后的新训练集和测试集传入WD-ConvLSTM模型中训练;

(7)重复步骤1-6,直到WD-ConvLSTM模型收敛;

(8)结束。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

相关技术
  • 一种基于改进ConvLSTM深度学习模型的局域网流量预测方法
  • 一种基于用户网络流量数据最强路径模型的网络入侵检测方法
技术分类

06120115598534