一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于CNN-BiGRU混合模型的入侵检测方法及装置与流程

2021-10-24 08:28:00 来源:中国专利 TAG:入侵 检测方法 装置 混合 模型

一种基于cnn

bigru混合模型的入侵检测方法及装置
技术领域
1.本技术属于入侵检测技术领域,具体涉及一种基于cnn

bigru混合模型的网络入侵检测方法及装置。


背景技术:

2.入侵检测系统通常分成两类:基于异常的入侵检测系统、基于特征的入侵检测系统。基于异常的入侵检测系统根据正常的网络行为建立模型,并根据这些行为是否属于正常行为来进行入侵检测,该检测系统对于异常行为具有比较好的识别率,但总体检测率较低,虚警率较高。而基于特征的入侵检测系统通过构建异常行为特征库以及匹配网络数据来检测入侵,这种检测系统具有较高的检测率,但是难以识别网络中的新攻击。
3.为了提高入侵检测系统的性能指标,研究者将机器学习运用于入侵检测系统上,例如knn(k

nearest neighbor),svm(support vector machine)等传统机器学习算法。然而这些传统的机器学习算法在输入少量低维数据时可以有效检测,但是它存在特征选择的依赖度高、检测未知攻击的能力差以及误警率高等缺陷,早已无法满足目前复杂的网络需求。
4.由于传统网络入侵方法的缺陷使得人们重新评估现有的网络安全框架及其技术,机器学习的分支
‑‑
深度学习开始进入研究者的视线,并应用于入侵检测。


技术实现要素:

5.本技术的目的是提供一种基于cnn

bigru混合模型的网络入侵检测方法及装置,有效提升了入侵检测系统的性能指标。
6.为了实现上述目的,本技术技术方案如下:
7.一种基于cnn

bigru混合模型的入侵检测方法,包括:
8.对网络流量样本数据进行预处理,所述预处理包括数字标准化处理、归一化处理、不平衡处理;
9.构建cnn

bigru混合模型,所述cnn

bigru混合模型包括卷积层、池化层、bigru层、全连接层和分类层,采用预处理后的网络流量样本数据训练所述cnn

bigru混合模型;
10.将待检测网络流量数据输入到训练好的cnn

bigru混合模型,检测得到检测结果。
11.进一步的,所述对网络流量数据进行不平衡处理,包括:
12.使用k

means聚类将输入的所有网络流量数据聚类为k个聚类;
13.从k个聚类中筛选出所含样本为少数样本的第一聚类;
14.确定所述第一聚类所需要的样本数量;
15.根据所述第一聚类所需要的样本数量,使用smote扩充所述第一聚类。
16.进一步的,所述确定所述第一聚类所需要的样本数量,包括:
17.对于第一聚类中的每个聚类,计算聚类中每个样本之间的欧式距离排列为欧式距离矩阵,将欧式距离矩阵中所有非零元素相加然后除以非零元素的数量得到平均距离,将
聚类中的样本数量除以平均距离,得到密度度量,并以密度度量的倒数作为稀疏性度量;
18.将第一聚类中的每个聚类的稀疏性度量除以所有第一聚类的稀疏性度量之和,得到每个聚类的权重;
19.将所述每个聚类的权重乘以样本总数,得到第一聚类中每个聚类所需要的样本数量。
20.进一步的,所述卷积层后连接有激活函数。
21.进一步的,所述分类层为sigmoid分类。
22.本技术还提出了一种基于cnn

bigru混合模型的入侵检测装置,包括:
23.预处理模块,用于对网络流量样本数据进行预处理,所述预处理包括数字标准化处理、归一化处理、不平衡处理;
24.网络训练模块,用于构建cnn

bigru混合模型,所述cnn

bigru混合模型包括卷积层、池化层、bigru层、全连接层和分类层,采用预处理后的网络流量样本数据训练所述cnn

bigru混合模型;
25.检测模块,用于将待检测网络流量数据输入到训练好的cnn

bigru混合模型,检测得到检测结果。
26.进一步的,所述预处理模块对网络流量数据进行不平衡处理,执行如下操作:
27.使用k

means聚类将输入的所有网络流量数据聚类为k个聚类;
28.从k个聚类中筛选出所含样本为少数样本的第一聚类;
29.确定所述第一聚类所需要的样本数量;
30.根据所述第一聚类所需要的样本数量,使用smote扩充所述第一聚类。
31.进一步的,所述预处理模块确定所述第一聚类所需要的样本数量,执行如下操作:
32.对于第一聚类中的每个聚类,计算聚类中每个样本之间的欧式距离排列为欧式距离矩阵,将欧式距离矩阵中所有非零元素相加然后除以非零元素的数量得到平均距离,将聚类中的样本数量除以平均距离,得到密度度量,并以密度度量的倒数作为稀疏性度量;
33.将第一聚类中的每个聚类的稀疏性度量除以所有第一聚类的稀疏性度量之和,得到每个聚类的权重;
34.将所述每个聚类的权重乘以样本总数,得到第一聚类中每个聚类所需要的样本数量。
35.进一步的,所述卷积层后连接有激活函数。
36.进一步的,所述分类层为sigmoid分类。
37.本技术提出的一种基于cnn

bigru混合模型的网络入侵检测方法及装置,使用k

means smote算法解决数据样本不平衡的问题,提高了模型对少数样本的检测率。该模型以unsw

nb15数据集作为输入,首先使用k

means smote算法、数字化、归一化等方法进行数据预处理,使用cnn

bigru混合模型对其进行检测。相比较之前的方法,该网络入侵模型在准确率、f1、精确率上均有所提升。
附图说明
38.图1为本技术基于cnn

bigru混合模型的网络入侵检测方法流程图;
39.图2为本技术cnn

bigru模型结构示意图;
40.图3为本技术的双向gru网络结构示意图。
具体实施方式
41.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
42.本技术提供的一种基于cnn

bigru混合模型的网络入侵检测方法,如图1所示,包括:
43.步骤s1、对网络流量数据进行预处理,所述预处理包括数字标准化处理、归一化处理、不平衡处理。
44.具体的,数字标准化处理处理,在特征属性中,proto、state、service、attack_act的属性值为符号型,需要对其进行类型转换。例如在proto协议属性中,将网络流量中最主要的三种协议值tcp、udp、icmp映射成1、2、3,将剩下的协议值全部映射为4,这样符号值与相应数字建立联系,采用相同的处理方式依次对state、service特征进行转换。经过数字标准化之后,特征属性相对而言更易于处理。
45.归一化处理,在unsw

nb15中,不同特征数据的取值范围有明显的差异。例如,sttl的值范围为[0,254],而spkts的范围为[1,10646],最大值的范围波动过大。为了便于计算处理,本技术采用归一化的处理方法,将每个特征的取值范围通过线性变换映射到[0,1]。
[0046]
归一化计算公式如下:
[0047][0048]
其中,x为待处理数值,x
min
为最小值,x
max
为最大值。
[0049]
不平衡处理,本技术所采用的k

means smote算法,包括:
[0050]
使用k

means聚类将输入的所有网络流量数据聚类为k个聚类;
[0051]
从k个聚类中筛选出所含样本为少数样本的第一聚类;
[0052]
确定所述第一聚类所需要的样本数量;
[0053]
根据所述第一聚类所需要的样本数量,使用smote扩充所述第一聚类。
[0054]
首先使用k

means聚类将输入的所有网络流量数据聚类为k个簇,然后从k个聚类中筛选出所含样本为少数样本的第一聚类。容易理解的是,有些聚类中所含的样本数量较多,有些聚类中所含的样本数量较少,可以将低于设定数量的聚类作为第一聚类。例如,所含样本少于20的作为第一聚类。最后,确定所述第一聚类所需要的样本数量,根据所述第一聚类所需要的样本数量,使用smote扩充所述第一聚类。使得各个聚类中样本数量比较平衡。
[0055]
相比于其他的smote以及其改进算法而言,本技术k

means smote算法能够避免产生噪声,减轻了类内的不平衡。最后,通过使用smote生成的是新样本数,而不是直接复制原有的样本数。k

means聚类算法与smote算法相结合,通过k

means smote在安全区域进行过
采样来避免噪声的产生,聚类的使用使得所提出的过采样器能够识别和定位输入空间中人工数据生成最有效的区域。该方法旨在减轻类间不平衡和类内不平衡,同时避免噪声样本的产生。它的优点在于底层算法的广泛可用性以及方法本身的有效性。
[0056]
在一个示例中,所述确定所述第一聚类所需要的样本数量,包括:
[0057]
对于第一聚类中的每个聚类,计算聚类中每个样本之间的欧式距离排列为欧式距离矩阵,将欧式距离矩阵中所有非零元素相加然后除以非零元素的数量得到平均距离,将聚类中的样本数量除以平均距离,得到密度度量,并以密度度量的倒数作为稀疏性度量;
[0058]
将第一聚类中的每个聚类的稀疏性度量除以所有第一聚类的稀疏性度量之和,得到每个聚类的权重;
[0059]
将所述每个聚类的权重乘以样本总数,得到第一聚类中每个聚类所需要的样本数量。
[0060]
例如,有两个第一聚类(即含有少数样本的聚类)c(含有3个样本),d(含有4个样本),以及一个含有多数样本的聚类a(含有93个样本)。
[0061]
c聚类样本数为3,其欧式距离矩阵是3*3的矩阵,如表1所示,表1中的数据为了方便计算都用整数表示,其平均距离=(2 2 3 3 4 4)/6=3,密度度量=3/3=1,由此可得稀疏性度量=1/1=1;d聚类样本数为4,其欧式距离矩阵是3*3的矩阵,其平均距离=2*(4 2 3 5 3 1)/12=3,密度度量=4/3,由此可得稀疏性度量=1/(4/3)=3/4。
[0062]
因此c的权重=1/(3/4 1)=4/7,c所需样本数量=4/7*100=57;同理d的权重=(3/4)/(3/4 1)=3/7,d所需样本数量=3/7*100=53。
[0063]
欧式距离p1p2p3p1023p2204p3340
[0064]
表1
[0065]
欧式距离t1t2t3t4t10435t24023t33201t45310
[0066]
表2
[0067]
需要说明的是,关于确定所述第一聚类所需要的样本数量,实际上是确定属于第一聚类的任何一个聚类所需要的样本数量,例如c、d为第一聚类(也就是所含样本为少数样本的聚类),则需要确定c聚类所需要的样本数量,及d聚类所需要的样本数量。此外,还可以计算所含样本为多数样本的聚类所含样本数量的平均值,作为所含样本为少数样本的聚类的所需样本数量。
[0068]
关于k

means聚类算法和smote算法,是本领域比较成熟的技术,这里不再赘述。
[0069]
步骤s2、构建cnn

bigru混合模型,所述cnn

bigru混合模型包括卷积层、池化层、bigru层、全连接层和分类层,采用预处理后的网络流量数据训练所述cnn

bigru混合模型。
[0070]
本技术所构建的cnn

bigru混合模型,如图2所示,包括卷积层、池化层、bigru层、
全连接层和分类层。其中分类层通常采用softmax和sigmoid两种,而softmax一般用于多分类,sigmoid用作二分类,由于本技术采用二分类方法,故使用sigmoid。
[0071]
向输入层输入原始流量后,先进行预处理,然后卷积层中的神经元就会自动提取数据集流量的局部特征,每个神经元都与前一层的局部感受域相连,然后每层中不同神经元提取数据集流量的特征大部分不一致,这种局部加权和的结果被输入到卷积网络层之后的激活函数层,其中激活函数是一种非线性变换,主要作用是防止卷积神经网络学习不重要的特征,这样使得处理数据速度大大加快,激活函数是relu。
[0072]
在池化层之后连接bigru层,也即双向gru神经网络(bidrection gated recurent unit neural network,bigru)模型,如图3所示,bigru基于双向lstm的优点做了进一步的改进,通俗来说就是用双向gru的神经元替换双向lstm模型中的神经元,它是两个方向相反的gru单元模块连接而成,可以共享多个权值,双向扫描时提取时间域特征更加准确。与gru相比,bigru能够兼顾前后信息对当前信息的影响,从而得到更加全面的特征信息。
[0073]
在训练阶段,将预处理后的样本数据集输入到cnn

bigru模型中分别提取空间域和时间域的特征,以此训练出最优的模型。模型训练过程中在反馈阶段,通过模型训练以及反向微调来提高模型的性能。在cnn

bigru模型中,使用反向传播算法微调网络模型的参数,从而得到网络模型最佳的参数。
[0074]
步骤s3、将待检测网络流量数据输入到训练好的cnn

bigru混合模型,检测得到检测结果。
[0075]
在完成模型训练后,对于待检测的网络流量,将其标准化处理和归一化处理后,输入到训练好的cnn

bigru混合模型,从而得到分类结果,即识别出待检测网络流量属于什么类别的入侵手段。
[0076]
本技术还给出了实验结果,通过测试数据集的分类结果来评估模型的性能。以准确率(accuracy)、精确率(precision)、f1

measure作为评价模型性能的关键指标。这些指标基本上来源于混淆矩阵的四个基本属性:
[0077]
真阳性(tp)

被正确归类为攻击的攻击数据。
[0078]
误报性(fp)

被错误归类为攻击的正常数据。
[0079]
真阴性(tn)

被正确归类为正常的正常数据。
[0080]
假阴性(fn)

被错误归类为正常的攻击数据。
[0081]
将使用以下指标来评估本技术技术方案的性能:
[0082][0083][0084][0085][0086]
将本技术提出的k

means smote算法与cnn

bigru结合的模型与传统的深度学习模型进行比较,实验结果如表3所示:
[0087][0088]
表3
[0089]
从表2可知,在传统深度学习算法中,cwgan

cssae在准确率、精确率以及f1性能指标中均获得最高,而lenet

5算法在三个性能指标均为最低,其他算法性能指标在两者之间;与以上方法相比,本技术提出的k

means

smote算法与cnn

bigru结合的模型在准确率上比cwgan

cssae高2.6%,精确率上高0.7%,f1上高1.0%,因此,本技术提出的技术方案更加适合建立入侵检测系统。
[0090]
在另一个实施例中,本技术还提供了一种基于cnn

bigru混合模型的入侵检测装置,包括:
[0091]
预处理模块,用于对网络流量样本数据进行预处理,所述预处理包括数字标准化处理、归一化处理、不平衡处理;
[0092]
网络训练模块,用于构建cnn

bigru混合模型,所述cnn

bigru混合模型包括卷积层、池化层、bigru层、全连接层和分类层,采用预处理后的网络流量样本数据训练所述cnn

bigru混合模型;
[0093]
检测模块,用于将待检测网络流量数据输入到训练好的cnn

bigru混合模型,检测得到检测结果。
[0094]
本实施例的一种具体实现方式,所述预处理模块对网络流量数据进行不平衡处理,执行如下操作:
[0095]
使用k

means聚类将输入的所有网络流量数据聚类为k个聚类;
[0096]
从k个聚类中筛选出所含样本为少数样本的第一聚类;
[0097]
确定所述第一聚类所需要的样本数量;
[0098]
根据所述第一聚类所需要的样本数量,使用smote扩充所述第一聚类。
[0099]
本实施例的一种具体实现方式,所述预处理模块确定所述第一聚类所需要的样本数量,执行如下操作:
[0100]
对于第一聚类中的每个聚类,计算聚类中每个样本之间的欧式距离排列为欧式距离矩阵,将欧式距离矩阵中所有非零元素相加然后除以非零元素的数量得到平均距离,将聚类中的样本数量除以平均距离,得到密度度量,并以密度度量的倒数作为稀疏性度量;
[0101]
将第一聚类中的每个聚类的稀疏性度量除以所有第一聚类的稀疏性度量之和,得到每个聚类的权重;
[0102]
将所述每个聚类的权重乘以样本总数,得到第一聚类中每个聚类所需要的样本数量。
[0103]
本实施例的一种具体实现方式,所述卷积层后连接有激活函数。
[0104]
本实施例的一种具体实现方式,所述分类层为sigmoid分类。
[0105]
关于基于cnn

bigru混合模型的入侵检测装置的具体限定可以参见上文中对于基
于cnn

bigru混合模型的入侵检测方法的限定,在此不再赘述。上述基于cnn

bigru混合模型的入侵检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0106]
存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器中存储有可在处理器上运行的计算机程序,所述处理器通过运行存储在存储器内的计算机程序,从而实现本发明实施例中的网络拓扑布局方法。
[0107]
其中,所述存储器可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read

only memory,prom),可擦除只读存储器(erasable programmable read

only memory,eprom),电可擦除只读存储器(electric erasable programmable read

only memory,eeprom)等。其中,存储器用于存储程序,所述处理器在接收到执行指令后,执行所述程序。
[0108]
所述处理器可能是一种集成电路芯片,具有数据的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0109]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜