一种异常流量检测方法、设备及介质

文档序号:33271054发布日期:2023-02-24 18:19阅读:31来源:国知局
一种异常流量检测方法、设备及介质

1.本发明属于控制器局域网安全技术领域,涉及一种异常流量检测方法、设备及介质。


背景技术:

2.控制器局域网(can)的快速发展增加了此类网络威胁的风险。近年来,各种物理层和数据链路层技术应用于现代车辆的通信功能,其中最常见的就是can通信网络,见图1。因此,我们有必要在整个车辆中植入和加强各种网络防御机制,以减轻网络攻击带来的影响。
3.现有技术中利用卷积神经网络(cnn)对图像处理在空间特征提取上的优势,将网络流量数据图像化处理后进行空间特征训练,形成流量空间分类模型;把经过卷积神经网络处理后的流量向量再进行时间序列处理,通过长期短期记忆网络(lstm)来学习流量的时序特征,形成流量时序特征识别模型;结合空间分类模型和时序特征识别模型,对当前网络流量进行分类判别和攻击预测。
4.但是在当今越来越复杂的网络环境下,网络数据的复杂程度是日益增强的,现有技术处理复杂且多的数据时的效果不够好;其次,该方案忽略了lstm模型的梯度消失的问题。


技术实现要素:

5.本发明的目的是提供一种异常流量检测方法、设备及介质,以克服信息过载和lstm模型的梯度消失的问题。
6.本发明的目的可以通过以下技术方案来实现:
7.本发明提供了一种异常流量检测方法,该方法包括:
8.获取网络流量数据;
9.通过经训练的异常流量检测模型得到流量分类结果;
10.所述异常流量检测模型通过cnn和lstm结合建立,并加入注意力机制和批标准化;
11.所述的异常流量检测模型的训练方法包括以下步骤:
12.步骤s1、对训练样本集进行特征提取和数据预处理,获得归一化的数值特征;
13.步骤s2、所述数值特征依次经过cnn和lstm得到二维空间特征和时序特征,二维空间特征经过flatten层得到一维空间特征;
14.步骤s3、注意力机制根据注意力权重增强相关特征,批标准化被添加在异常流量检测模型中每一个全连接层和激励函数之间;
15.步骤s4、一维空间特征和时序特征通过全连接层和softmax层得到流量趋势预测准确率,返回步骤s1,直至流量趋势预测准确率出现负增长。
16.进一步地,所述的批标准化为将异常流量检测模型中前一层输入数据通过激活函数的非线性变换进行归一化,再进入敏感区范围,减少节点分布,得到批标准化后输出值。
17.进一步地,所述的数据预处理包括数据归一化和独热编码。
18.进一步地,所述的数据归一化为将数据集中极大的数值使用max-min标准化映射到0到1之间。
19.进一步地,所述的独热编码为使用n位状态寄存器对n个状态进行编码,其中只有一位有效。
20.进一步地,所述的训练样本集包括正常流量样本和异常流量检测模型生成的异常流量样本。
21.进一步地,所述的特征提取提取的特征包括流量的持续时间、流量协议、流量类型和流量字节数。
22.进一步地,所述的批标准化中的各隐层的计算公式为:
[0023][0024][0025][0026]
yi=αyi′

[0027]
其中,α和β为标准化时需要的学习参数,yi是一层中某一个初始的激活值,yi′
为归一化后的值,yi为批标准化后的值,h
β
是yi的均值,σ
β2
是yi的方差,l是用于防止方差为0的调节参数。
[0028]
本发明提供了一种电子设备,包括存储器以及处理器,所述存储器中存储有计算机程序,所述处理器执行所述程序时实现所述的方法。
[0029]
本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的方法。
[0030]
与现有技术相比,本发明具有以下特点:
[0031]
1.本发明引入了注意力机制和批标准化,注意力机制可以解决信息过载问题,并提高任务处理的效率和准确性;批标准化可以解决反向传播过程中神经网络训练时梯度消失的问题。
[0032]
2.本发明使用cnn和lstm的结合构建而成的异常流量检测模型提取特征,实现有效地分析出当前具有时序信息特征的数据,并提供高细粒度的计算。
附图说明
[0033]
图1为can网络架构示意图;
[0034]
图2为本发明中异常流量检测模型示意图;
[0035]
图3为本发明批标准化的结构示意图;
[0036]
图4为本发明实施例中lg、mlp、cnn和本发明提出的改进模型的准确率的对比示意图。
具体实施方式
[0037]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0038]
实施例1
[0039]
本发明提供一种异常流量检测方法,见图2,该方法包括将获取的网络流量数据通过经训练的异常流量检测模型得到流量分类结果,
[0040]
本发明通过以下步骤实现:
[0041]
步骤(1),对卷积神经网络(cnn)和长短期记忆网络(lstm)进行改进,提高训练效率,并且通过lstm其特殊的“门”结构挖掘出流量数据的时序性特征,使得模型具有良好的泛化能力;
[0042]
步骤(2),在步骤(1)的改进基础上,可以在汽车的终端或者在汽车的中央控制器进行部署;
[0043]
步骤(3),在每个can网络的物理设备进行数据收集,将收集到的数据使用数据归一化和独热编码进行预处理,输入到每个检测单元中;
[0044]
步骤(4),将步骤(3)收集到的数据输入到我们构建的模型中进行训练和特征提取;
[0045]
步骤(5),将步骤(4)学习得到的各个特征传入到注意力机制层,并对数据向量组成的序列进行关键特征增强,并引入批标准化,解决了反向传播过程中神经网络训练时梯度消失的问题,重复步骤(4);
[0046]
步骤(6),将最后得到的特征输入到全连接层中,并通过softmax层得到实际检测结果。
[0047]
所述的异常流量检测模型的训练方法包括以下步骤:
[0048]
步骤s1、对训练样本集进行特征提取和数据预处理,获得归一化的数值特征,所述的训练样本集包括正常流量样本和异常流量检测模型生成的异常流量样本。
[0049]
具体地,所述的特征提取提取的特征包括流量的持续时间、流量协议、流量类型和流量字节数。
[0050]
具体地,所述的数据预处理包括数据归一化和独热编码,数据归一化为将数据集中极大的数值使用max-min标准化映射到0到1之间;独热编码为使用n位状态寄存器对n个状态进行编码,其中只有一位有效。
[0051]
步骤s2、所述数值特征依次经过cnn和lstm得到二维空间特征和时序特征,二维空间特征经过flatten层得到一维空间特征;
[0052]
步骤s3、注意力机制根据注意力权重增强相关特征,批标准化被添加在异常流量检测模型中每一个全连接层和激励函数之间;
[0053]
具体地,所述的批标准化为将异常流量检测模型中前一层输入数据通过激活函数的非线性变换进行归一化,再进入敏感区范围,减少节点分布,得到批标准化后输出值。
[0054]
步骤s4、一维空间特征和时序特征通过全连接层和softmax层得到流量趋势预测准确率,返回步骤s1,直至流量趋势预测准确率出现负增长。
[0055]
在本发明中,比较了传统异常流量检测和我们提出的异常流量检测的方案,传统
的异常流量检测很容易关注序列特征而不关注空间特征。卷积神经网络(cnn)结构在提取数据流量的空间特征方面更有效,但其提取长短距离依赖信息的能力不好。长短期记忆网络(lstm)结构在提取长短距离依赖信息方面更有效,可以避免学习过程中的遗忘,但其参数数量多,训练时间长。因此,本发明将两者结合起来,提高模型的特征学习能力,可以从空间和时间两个维度充分提取特征,从而达到更高的分类检测精度。
[0056]
本发明提出的cnn和lstm相结合的网络入侵检测模型,简称clstm模型,由三个主要阶段组成:首先,预处理阶段,将原始数据转换为数值特征并进行归一化。其次,在训练阶段,通过引入基于注意力模块处理数据来分配不同的权重以及批标准化来解决反向传播过程中神经网络训练时梯度消失的问题,然后,通过cnn模块提取空间特征,再由多个lstm单元提取时间特征,而空间信息可以通过结合flatten层进一步聚合。最后由softmax函数进行分类。
[0057]
其中,cnn和lstm两种深度学习算法都可以用于捕获网络数据中有效的特征。cnn通过卷积计算逐层提取网络数据特征,lstm通过捕获隐藏的时序数据信息,获得网络数据更深层次的特征信息,进而提高模型的检测准确率。当使用lstm对数据进行分析时,当前神经网络中的数据分布可能会被打乱,导致神经网络训练期间数据分布不一致性的问题,本发明引入批标准化(batch normalization)。前向反馈网络中隐层的节点其初始的激活值为[y1,y2,

,ym],过程中对任意神经元计算均值为0,方差为1的标准正态分布。根据算出对应的均值和方差,通过规范化函数对初始激活值进行变换,设定两个调节参数为参数γi和βi为1,可以计算得到转换后的激活值,对于新的激活值需要经过非线性变换函数,如relu,则可以得到这个隐层的输出值[y1,y2,

,ym]。
[0058]
更具体地,本发明在对特征进行提取之前在模型中加入了注意力机制(attention mechanism),注意力机制是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案。在神经网络学习中,一般而言模型的参数越多则模型的表达能力越强,模型所存储的信息量也越大,但这会带来信息过载的问题。那么通过引入注意力机制,在众多的输入信息中聚焦于对当前任务更为关键的信息,降低对其他信息的关注度,甚至过滤掉无关信息,就可以解决信息过载问题,并提高任务处理的效率和准确性。
[0059]
见图3,批标准化解决了反向传播过程中神经网络训练时梯度消失的问题。它将前一层的输入数据通过激活函数的非线性变换实现了归一化,非线性变换得到的输入值就进入到输入敏感区的范围中,并使得神经网络能够保证数据分布的一致性,进而减少网络中各个节点的分布,保持了神经网络的训练效率。批标准化过程中各层的计算方式如公式所示。α和β为标准化时需要的学习参数,y
′i为归一化后的值,yi为批标准化后的值。
[0060]
本发明引入了注意力机制和批标准化,注意力机制在计算能力有限的情况下,将计算资源分配给更重要的任务,降低对其他信息的关注度,可以解决信息过载问题,并提高任务处理的效率和准确性;批标准化用于使用缩放和平移参数对标准化之后的数据分布进行调整,将集中在梯度饱和区的原始输出拉向线性变化区,增大梯度值,可以解决反向传播过程中神经网络训练时梯度消失的问题。
[0061]
具体地,所述的批标准化中各层的计算公式为:
[0062][0063][0064][0065]
yi=αy
′i′

[0066]
其中,α和β为标准化时需要的学习参数,yi是一层中某一个初始的激活值,yi′
为归一化后的值,yi为批标准化后的值,h
β
是yi的均值,σ
β2
是yi的方差,l是用于防止方差为0的调节参数。
[0067]
在本实施例中,本发明使用cse-cicids2018作为本模型的入侵数据集,分别对lg、mlp、cnn和本发明提出的改进模型进行检测,结果见图4,从图中可以看出,本发明提出的改进模型的准确率在大部分时间段都是最高的。
[0068]
其中,cse-cicids2018是由加拿大网络安全研究所从多个计算机服务器模拟真实的攻击场景下收集的网络数据集,使用cicflowmeter-v3从捕获的流量中获得了78个特征向量,其中包含了时间信息,数据包传输速率,字节传输速率,以及多种攻击数据类型。
[0069]
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0070]
实施例2
[0071]
本发明还提供一种电子设备,包括存储器以及处理器,所述存储器中存储有计算机程序,所述处理器执行所述程序时实现实施例1中所述的所有方法。
[0072]
上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1