[发明专利]一种基于CNN-GRU分层神经网络的网络入侵检测方法有效
申请号: | 202011590155.7 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112839034B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 王梓天;朱国胜;邹洁;王泽松;刘旭 | 申请(专利权)人: | 湖北大学;赛尔网络有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06N3/08;G06N3/04;G06K9/62 |
代理公司: | 武汉聚信汇智知识产权代理有限公司 42258 | 代理人: | 刘丹 |
地址: | 430062 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cnn gru 分层 神经网络 网络 入侵 检测 方法 | ||
1.一种基于CNN-GRU分层神经网络的网络入侵检测方法,其特征在于,包括如下步骤:
(1)通过Wireshark软件对网络流量进行抓取,获得网络流量数据包,即待分类数据包;
(2)对待分类数据包进行数据包标记,同时,通过特征工程对待分类数据包进行预处理,去掉数据包中的部分无效内容;对全部流内的数据包进行清洗,对每一个数据流进行清洗;进而将数据包解析成十进制数据,并将十进制数据转化为40*40单通道灰度图;得到模型训练所需的全部图片样本,从而得到CNN-GRU分层神经网络样本全集;
(3)将样本全集根据合适比例划分为训练集和测试集,基于CNN-GRU分层神经网络算法,将单通道灰度图矩阵作为输入向量并通过训练集建立CNN-GRU分层神经网络分类模型,使得模型学习如何对样本进行分类;
(4)模型训练完成,将测试集的数据传入模型中,模型根据训练得到的参数对输入的数据进行预测,对未知的网络流量进行分类判断其是否为攻击流量或为何种类型的攻击流量;
步骤(2)的具体流程包括:
(2.1)对待分类数据包进行标记,根据需求标记出正常流量和攻击流量,如有对攻击流量进行分类的需求,则还需将不同种类的攻击流量分类进行标注,流量种类标注的结果以数字存储,从0开始;
(2.2)通过特征工程对待分类数据包进行预处理,根据源IP地址、源端口、目的IP地址对抓取的网络流进行分流,利用SliptCat软件实现分流;
(2.3)对全部流内的数据包进行清洗,去掉数据包中的MAC源地址、MAC目的地址、数据包所用的网络协议种类信息,每个数据包提取前160个字节的数据,对数据包中不足160字节部分进行填充0处理;
(2.4)对每一个数据流进行清洗,每个数据流提取前10个数据包,对数据流中不足10个数据包的情况进行填充160字节全0数据包处理直至10个数据包;
(2.5)此时每个流内的数据为160*10共1600字节,将每个字节内的数据转化为十进制,得到取值范围在0~255的数值,将1600维度的十进制数据转化为40*40的矩阵数据;
(2.6)将40*40矩阵数据中的数值转化为灰度,得到每个矩阵对应的大小为40*40的单通道灰度图,得到模型训练所需的全部图片样本;
步骤(3)的具体流程包括:
(3.1)数据首先进入一个改进的LetNet-5网络,使用两个卷积层和两个最大池化层来提取原始网络流量数据的空间特征;在卷积过程的第一层中使用了32个5*5卷积核,然后执行最大池化操作,第二个卷积层使用64个3*3卷积核,然后执行最大池化操作;每次卷积操作后,CNN隐藏层首先使用ReLU激活函数进行转换,然后使用最大池化操作,经过处理后,原始的单通道40*40图片将转换为具有64通道的8*8图片;充分扩展它们之后,获得4096维向量并将其传输到CNN网络的输出层,输出层使用全结层,而全结层使用1600个神经元,此变换保留了相同的维数提取完原始数据后,考虑到全连接层使某些神经元随机失活,以免过度拟合的发生;
(3.2)随后使用GRU网络自动提取原始流数据的时间特征,GRU网络使用两层单元提取时间特征;GRU的每个单元都包括256个GRU单元,并且每个层的激活函数使用S型函数进行非线性运算;GRU网络的最后一层使用完全连接层,并且完全连接层中神经元的数量等于流类别的数量;
(3.3)使用训练集训练得到网络入侵检测模型;
步骤(3.1)中的卷积运算使用f*f大小的卷积核ω对大小为n*n的图片执行滑动卷积,每次滑动卷积都会产生一个新特征;假设X是卷积的输入,b是偏差项,ci是在第i层由卷积产生的新特征,而σr是激活函数ReLU;然后,通过卷积运算获得的新特征为:ci=σr*(ω*Xi+bi),在卷积运算之后,n*n的特征图将生成c=(n-f+1)*(n-f+1)的特征图;通过大小为f*f的卷积核滑动窗口来确定大小;卷积后对特征图c进行最大池化,并将所选窗口中的最大值作为最终特征;最终的特征图大小为:[(n-f+1)*(n-f+1)]/2。
2.如权利要求1所述的一种基于CNN-GRU分层神经网络的网络入侵检测方法,其特征在于,步骤(1)抓取的网络流量数据包,数据包内此时储存内容为二进制数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北大学;赛尔网络有限公司,未经湖北大学;赛尔网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011590155.7/1.html,转载请声明来源钻瓜专利网。