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

一种基于深度学习的网络入侵检测方法

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


一种基于深度学习的网络入侵检测方法

技术领域

本发明属于网络安全技术领域,具体涉及一种基于深度学习的网络入侵检测方法。

背景技术

随着网络攻击手段的不断提升,基于浅层模型的网络人侵检测系统很难对复杂情况下的网络流量进行有效识别。因此,网络入侵检测模型结构的优化已经成为当前安全研究领域的研究热点。传统的入侵检测方法主要包括统计分析方法、阈值分析方法、特征分析方法等。这些异常检测方法虽然能够对恶意流量进行识别,但只是对已经发现的恶意流量行为的总结,并不能适应当前互联网的海量数据和多变的网络攻击方式。深度学习能够直接从原始数据中提取特征,已逐渐被用于网络流量分类任务中。

为了实现对网络入侵的实时检测,在授权发明专利授权公告号CN111970259B《一种基于深度学习的网络入侵检测方法和报警系统》中通过对入侵检测数据集进行归一化处理、可视化图像转换处理和滤波处理,以提高所述入侵检测数据集的纹理特征的清晰度,并且还构建和优化训练关于多层卷积和深度置信网络相结合的模型,并基于该模型对所述入侵检测数据集进行测试处理,以获得相应的网络入侵检测结果,但是却存在一下技术问题:

1、未考虑对训练样本进行样本不平衡处理,由于在网络入侵检测中,由于样本各类别间数量差异较大,容易使模型对某一或某些样本的判别具有倾向性,从而导致检测结果不够准确。

2、在进行入侵检测数据特征构建时,未考虑流量数据的空间特征和时间特征,从而无法实现对入侵数据的准确检测,不仅无法达到细粒度学习的目的,而且有可能会导致对网络入侵数据的错误识别。

基于上述技术问题,需要设计及一种基于深度学习的网络入侵检测方法。

发明内容

本发明的目的是提供一种基于深度学习的网络入侵检测方法。

为了解决上述技术问题,本发明第一方面提供了一种基于深度学习的网络入侵检测方法,包括:

S11对网络流量数据进行获取,并基于所述网络流量数据进行训练样本的构建;

S12对所述训练样本进行样本不平衡处理,得到处理完成后的平衡训练样本;

S13基于特征提取算法对所述平衡训练样本进行特征提取得到数据特征,其中所述数据特征包括所述平衡训练样本的空间特征和时间特征,并基于所述数据特征,采用基于深度学习算法的网络入侵分类模型进行训练和建模,得到训练完成后的网络入侵分类模型,并基于所述网络入侵分类模型进行网络入侵的实时检测。

通过对训练样本数据进行样本不平衡处理,从而防止样本各类别间数量差异较大,容易使模型对某一或某些样本的判别具有倾向性的技术问题的出现,使得最终的预测结果变得更加准确,也使得样本数据能够更加准确的反应实际的网络入侵分类的实际状况。

通过采用特征提取算法实现对平衡训练样本的空间特征和时间特征的提取,从而实现了从多角度对原始的平衡训练样本的特征的提取,避免了采用单一特征导致的预测不够全面、准确度欠佳、无法实现细化学习粒度的学习和预测的技术问题的出现,能够实现对平衡训练样本的细化学习力度的学习。

进一步的技术方案在于,所述网络流量数据至少包括产生所述网络流量数据的设备标识类型、数据包类型、设备操作类型,并按照所述网络流量数据的种类对其进行标注操作,得到所述训练样本。

进一步的技术方案在于,对所述述训练样本进行样本不平衡处理的具体步骤为:

S21计算所述训练样本的不平衡率,基于所述不平衡率计算合成的新样本总数;

S22提取所述训练样本中的少数类样本,并采用欧氏距离计算得到少数类样本x

S23对所述比例r进行归一化处理得到归一化后的数据,基于所述归一化的数据以所述及新样本总数得到所述每一个少数类样本合成的样本数量;

S24基于每一个少数类样本以及每一个少数类样本的近邻样本,生成不平衡类别的新样本,直到达到所述每一个少数类样本合成的样本数量。

进一步的技术方案在于,所述特征提取算法采用深度神经网络结构IDNet,通过堆叠CNN+RNN模块,采用细粒度学习的方式,对所述平衡训练样本的空间特征和时间特征进行提取。

进一步的技术方案在于,所述堆叠CNN+RNN模块首先利用CNN模块从平衡训练样本中提取空间特征,CNN模块输出将保留时间特征并被RNN模块捕获,通过CNN模块的滤波器数量和RNN模块的递归单元数量的设置实现细粒度学习的方式。

通过CNN模块的滤波器数量和RNN模块的递归单元数量来体现,在每一层的子模块保证CNN模块滤波器数量和RNN模块递归单元数量相等,使得CNN模块和RNN模块拥有相同的学习力度。随着模型深度加深增大,滤波器/递归单元数量逐渐增加,达到从粗粒度学习到细粒度学习过渡的目的。

进一步的技术方案在于,所述网络入侵分类模型采用基于果蝇优化算法的深度森林算法构建,所述网络入侵分类模型构建的具体步骤为:

S31基于果蝇优化算法对所述深度深林算法的森林树数量和叶节点数量进行寻优,并基于所述深林树数量以及叶节点数量构建寻优完成的深度森林算法;

S32将所述数据特征拉伸成1维特征向量,并将所述1维特征向量输入到第一层森林中,所述第一层森林由2个随机森林和2个完全随机森林组成,得到类概率;

S33基于所述类概率以及所述数据特征作为下一层森林的输入,直到最后一层森林;

S34对最后一层所有的单个森林输出的类概率进行取平均,然后取最大值类概率所对应的类别作为深度森林的输出分类结果。

通过采用果蝇算法实现对深度森林算法的初始值寻优,从而进一步利用了果蝇算法运行机制简单,优化参数效率高,能够实现对求解空间的群体迭代搜索,将该算法引入随机森林参数寻优中,能够避免陷入局部最优的情况,同时具有较高的寻优效率和精度。

通过采用基于深度森林算法实现对结果的辨识,从而使得结果的辨识的准确性大幅度得到提升,同时为了避免深度深林算法的收敛速度较慢的技术问题的出现,采用了果蝇寻优算法,进一步保证了结果辨识的效率和精度。

进一步的技术方案在于,依据寻优步长的权重α来不断地更新所述果蝇优化算法中的果蝇个体的寻优路径,果蝇个体寻优路径更新的公式为:

其中,RV为随机值;(X

通过对果蝇个体寻优路径的随机优化,从而避免了原有的固定的寻优路径更新导致的容易陷入局部最优的技术问题的出现,使得最终的寻优效率和精度都得到了进一步的提升。

进一步的技术方案在于,由气味浓度变化率R来更新算法寻优步长的权重α,权重α和气味浓度变化率R之间的关系由试验得到,具体为:

其中K

通过结合气味浓度变化率R来更新算法寻优步长的权重α的寻优,从而使得权重的更新变得更加的准确,进一步降低了陷入局部最优的技术问题的出现的可能性,同时通过寻优补偿项的设置,使得寻优的效率也得到进一步的提升,防止寻优部长过慢导致的问题的出现。

另一方面,本发明提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现上述的一种基于深度学习的网络入侵检测方法。

另一方面,本发明提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述的一种基于深度学习的网络入侵检测方法。

其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。

图1是根据实施例1的一种基于深度学习的网络入侵检测方法的流程图;

图2是实施例3中的一种计算机存储介质的框架图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

用语“一个”、“一”、“该”、“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等。

实施例1

为解决上述问题,根据本发明的一个方面,如图1所示,提供了一种基于深度学习的网络入侵检测方法,包括:

S11对网络流量数据进行获取,并基于所述网络流量数据进行训练样本的构建;

需要另外说明的是,网络流量数据由反映网络通信行为的一系列指标构成,是网络入侵检测的基础。本发明中,提出采集涵盖设备标识特征、数据包特征、设备操作特征的网络流量特征库,并对数据进行标注,作为训练样本,用于模型训练。

S12对所述训练样本进行样本不平衡处理,得到处理完成后的平衡训练样本;

需要另外说明的是,在网络入侵检测中,由于样本各类别间数量差异较大,容易使模型对某一或某些样本的判别具有倾向性,因此需进行样本不平衡处理。主要步骤如下:

(1)计算网络入侵数据集的不平衡率,公式如下:

其中,d为网络入侵数据集的不平衡率,n

(2)计算合成的新样本总数N,公式如下:

N=d×α,α∈[0,1]

(3)根据欧氏距离计算少数类样本x

其中:Δ

(4)归一化处理,公式如下:

其中,

(5)计算每个少数类样本合成的样本数量:

其中,M

(6)生成新样本,公式如下:

x

其中,x

S13基于特征提取算法对所述平衡训练样本进行特征提取得到数据特征,其中所述数据特征包括所述平衡训练样本的空间特征和时间特征,并基于所述数据特征,采用基于深度学习算法的网络入侵分类模型进行训练和建模,得到训练完成后的网络入侵分类模型,并基于所述网络入侵分类模型进行网络入侵的实时检测。

需要另外说明的是,网络入侵检测数据特征提取建模及训练。本发明提出一种深度学习算法模型,该模型的主要特点包括:1)构建一种深度神经网络结构IDNet,通过堆叠CNN+RNN模块并逐步细化学习粒度的方式,达到综合学习空间及时间特征的效果;2)应用高斯误差线性单元(GELU)激活函数,避免深层网络中的梯度消失问题,加速模型收敛。

通过对训练样本数据进行样本不平衡处理,从而防止样本各类别间数量差异较大,容易使模型对某一或某些样本的判别具有倾向性的技术问题的出现,使得最终的预测结果变得更加准确,也使得样本数据能够更加准确的反应实际的网络入侵分类的实际状况。

通过采用特征提取算法实现对平衡训练样本的空间特征和时间特征的提取,从而实现了从多角度对原始的平衡训练样本的特征的提取,避免了采用单一特征导致的预测不够全面、准确度欠佳、无法实现细化学习粒度的学习和预测的技术问题的出现,能够实现对平衡训练样本的细化学习力度的学习。

在另外一种可能的实施例中,所述网络流量数据至少包括产生所述网络流量数据的设备标识类型、数据包类型、设备操作类型,并按照所述网络流量数据的种类对其进行标注操作,得到所述训练样本。

在另外一种可能的实施例中,对所述述训练样本进行样本不平衡处理的具体步骤为:

S21计算所述训练样本的不平衡率,基于所述不平衡率计算合成的新样本总数;

S22提取所述训练样本中的少数类样本,并采用欧氏距离计算得到少数类样本x

S23对所述比例r进行归一化处理得到归一化后的数据,基于所述归一化的数据以所述及新样本总数得到所述每一个少数类样本合成的样本数量;

S24基于每一个少数类样本以及每一个少数类样本的近邻样本,生成不平衡类别的新样本,直到达到所述每一个少数类样本合成的样本数量。

在另外一种可能的实施例中,所述特征提取算法采用深度神经网络结构IDNet,通过堆叠CNN+RNN模块,采用细粒度学习的方式,对所述平衡训练样本的空间特征和时间特征进行提取。

在另外一种可能的实施例中,所述堆叠CNN+RNN模块首先利用CNN模块从平衡训练样本中提取空间特征,CNN模块输出将保留时间特征并被RNN模块捕获,通过CNN模块的滤波器数量和RNN模块的递归单元数量的设置实现细粒度学习的方式。

通过CNN模块的滤波器数量和RNN模块的递归单元数量来体现,在每一层的子模块保证CNN模块滤波器数量和RNN模块递归单元数量相等,使得CNN模块和RNN模块拥有相同的学习力度。随着模型深度加深增大,滤波器/递归单元数量逐渐增加,达到从粗粒度学习到细粒度学习过渡的目的。

在另外一种可能的实施例中,所述网络入侵分类模型采用基于果蝇优化算法的深度森林算法构建,所述网络入侵分类模型构建的具体步骤为:

S31基于果蝇优化算法对所述深度深林算法的森林树数量和叶节点数量进行寻优,并基于所述深林树数量以及叶节点数量构建寻优完成的深度森林算法;

需要另外说明的是,传统的深度森林中,森林树数量ntree和叶节点数量mtry这两个参数是人为设定的超参数,在对深度森林模型调优时,只能凭借着人为经验进行参数调优,很难将模型的参数调到最优值。因此,本发明期望采用优化算法进行参数的寻优。

在现有的优化算法中,最常见的算法是梯度下降算法,常用于深度神经网络,但该算法不适用于深度森林这种逐层监督训练的模型,且梯度下降算法常常存在梯度消失和梯度爆炸等现象。遗传算法是一种基于遗传理论的演化优化算法,但该算法用在基于决策树的模型上时,寻优速度十分慢,而且容易陷入局部最优的情况。

S32将所述数据特征拉伸成1维特征向量,并将所述1维特征向量输入到第一层森林中,所述第一层森林由2个随机森林和2个完全随机森林组成,得到类概率;

S33基于所述类概率以及所述数据特征作为下一层森林的输入,直到最后一层森林;

S34对最后一层所有的单个森林输出的类概率进行取平均,然后取最大值类概率所对应的类别作为深度森林的输出分类结果。

需要另外说明的是,深度森林分类模型采用级联结构进行连接,每一层森林则为决策树的集成。深度森林分类模型自动确定深度森林级联的层数,其自动确定深度森林级联的层数的方法为:每个森林通过k折交叉验证生成类向量,即每个样本数据作为k-1次的训练样本,产生k-1个类向量,并根据待分类的图像得到验证数据,当拓展产生新的一层森林时,整个深度森林框架的性能会根据验证数据进行评估,如果整个深度森林框架的性能没有明显改善,则深度森林的层数不再增加。在深度森林分类模型的训练过程中,每层使用Q个随机森林和P个完全随机森林,第一层将产生(Q+P)×C个特征,产生的特征向量将与原始特征向量连接并输入到下一级,其中,C为类别个数;之后的每一层与此类似,直至倒数第二层。

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别,决策树是一个预测模型,它代表的是对象属性与对象值之间的一种映射关系。

随机森林是利用多棵决策树对样本数据进行训练并预测的一种分类器,每棵树的产生方法为,在整个特征空间中随机选择

完全随机森林是利用多棵决策树对样本进行训练并预测的一种分类器,完全随机树森林中每棵树的产生方法为,在整个特征空间中随机选择1个特征作为节点的分裂特征。

Gini值是指基尼系数,在决策树之CART算法中用Gini指数来衡量数据的不纯度或者不确定性,同时用Gini指数来决定类别变量的最优二分值的切分问题。

当深度森林分类模型训练完成后,利用训练后的深度森林分类模型对实际需要处理的图像进行测试,并得到目标域图像的分类结果;其中,取深度森林分类模型中最后一层森林的结果的平均值中的最大值作为深度森林分类模型输出的分类结果所对应的类别:

Fin(c)=Max

其中,m为深度森林每层包含森林的个数,y为该数据集的类别的个数,c为数据集的分类的类别,Fin(c)为深度森林分类模型输出的分类结果,Max

其中,深度森林算法中涉及到的超参数包括每层森林中随机森林个数w

在随机森林算法中常常采用基尼指数来衡量不纯度,基尼指数G

其中,m为数据集H中包含的类别数;p

深度森林中的每个随机森林和完全随机森林对原始数据进行训练之后得到k棵决策树,分别记为h(X,θ

考虑到深度森林中每层森林中随机森林个数w

通过采用果蝇算法实现对深度森林算法的初始值寻优,从而进一步利用了果蝇算法运行机制简单,优化参数效率高,能够实现对求解空间的群体迭代搜索,将该算法引入随机森林参数寻优中,能够避免陷入局部最优的情况,同时具有较高的寻优效率和精度。

通过采用基于深度森林算法实现对结果的辨识,从而使得结果的辨识的准确性大幅度得到提升,同时为了避免深度深林算法的收敛速度较慢的技术问题的出现,采用了果蝇寻优算法,进一步保证了结果辨识的效率和精度。

在另外一种可能的实施例中,依据寻优步长的权重α来不断地更新所述果蝇优化算法中的果蝇个体的寻优路径,果蝇个体寻优路径更新的公式为:

其中,RV为随机值;(X

需要另外说明的是,果蝇优化算法是基于果蝇觅食行为而提出的智能优化算法,其寻优步长的增大使得算法的搜索范围更广,具有更好的全局寻优能力,但寻优步长过大会导致局部搜索能力下降。为了平衡果蝇优化算法的全局与局部搜索能力,提高算法寻优的精度和效率,通过气味浓度值的变化情况对寻优步长进行动态调整。设果蝇种群规模为n

定义果蝇种群气味浓度变化率R为:

其中,

通过对果蝇个体寻优路径的随机优化,从而避免了原有的固定的寻优路径更新导致的容易陷入局部最优的技术问题的出现,使得最终的寻优效率和精度都得到了进一步的提升。

在另外一种可能的实施例中,由气味浓度变化率R来更新算法寻优步长的权重α,权重α和气味浓度变化率R之间的关系由试验得到,具体为:

其中K

通过结合气味浓度变化率R来更新算法寻优步长的权重α的寻优,从而使得权重的更新变得更加的准确,进一步降低了陷入局部最优的技术问题的出现的可能性,同时通过寻优补偿项的设置,使得寻优的效率也得到进一步的提升,防止寻优部长过慢导致的问题的出现。

实施例2

本发明提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时,实现上述的一种基于深度学习的网络入侵检测方法。

实施例3

如图2所示,本发明提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述的一种基于深度学习的网络入侵检测方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

技术分类

06120115930687