CN116132104A - 基于改进cnn-lstm的入侵检测方法、系统、设备及介质 - Google Patents
基于改进cnn-lstm的入侵检测方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116132104A CN116132104A CN202211564949.5A CN202211564949A CN116132104A CN 116132104 A CN116132104 A CN 116132104A CN 202211564949 A CN202211564949 A CN 202211564949A CN 116132104 A CN116132104 A CN 116132104A
- Authority
- CN
- China
- Prior art keywords
- data
- lstm
- cnn
- intrusion detection
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Alarm Systems (AREA)
Abstract
本发明属于网络安全技术领域,公开了一种基于改进CNN‑LSTM的入侵检测方法、系统、设备及介质,包括:对数据集进行预处理,建立基于改进CNN‑LSTM的入侵检测分类模型,将预处理后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络对CNN网络选择后的特征进行学习分类,最后将改进后的算法模型进行训练测试。本发明为了有效对网络流量中的数据进行区分和辨别,在KDD CUP99、NSL_KDD和UNSW_NB15入侵数据集下展开研究,利用深度学习模型,提出了一种基于基于改进CNN‑LSTM的入侵检测分类算法,在分类准确率和测试损失上都有明显改善,为今后的网络入侵检测研究提供更多参考。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于改进CNN-LSTM的入侵检测方法、系统、设备及介质。
背景技术
目前,随着网络技术的飞速发展,网络安全越来越引起人们的重视,入侵检测作为一种主动的网络安全防御技术,提供了对内外部攻击和误操作的实时保护,在网络系统受到危害前拦截和响应入侵,是防火墙之后的第二道安全闸门。入侵检测本质上是通过一个分类器,区分数据流中的正常与异常数据,实现对攻击行为的报警,这个分类器可以是基于贝叶斯的、决策树的、神经网络的、支持向量机的。近年来针对入侵检测分类算法的研究,往往分为两大类:基于传统机器学习和基于深度学习。虽然目前研究人员针对不同类型的网络攻击提出了各种入侵检测模型,并将机器学习算法应用到入侵检测模型中,取得了一定的效果,但是这些模型还存在着一系列的问题。随着网络入侵行为的多样化和智能化,传统的基于机器学习的入侵检测算法不能自主地学习特征,不能很好地反映原始网络数据,并且检测模型稳定性不高,在面对高维特征、非线性的海量网络数据时,存在特征提取不充分、模型分类不够精确等问题,并不能取得一个很好的检测效果。与此同时,深度学习在处理海量数据时具有很好的计算能力,在众多领域都取得了巨大的成功,越来越多的深度学习技术也被应用到了入侵检测当中。
张旻宇为改进传统决策树算法中的问题,结合粗糙集理论提出一种基于粒度决策熵的决策树算法DTGDE,但存在建模时间较长的问题。吴启睿,黄树成针对传统的入侵检测算法在面对高维特征、非线性的海量数据时,存在特征提取不充分、模型分类不够精确等问题。提出了一种结合卷积神经网络和三支决策的入侵检测算法,但模型的适用性还有待验证。葛继科,刘浩因,李青霞,陈祖琴针对网络入侵检测模型特征提取算法复杂、训练参数过多、检测结果不理想等问题,提出一种改进卷积神经网络与长短期记忆网络结合的网络入侵检测方法,但模型准确率和训练时间还有待提高。
通过上述分析,现有技术存在的问题及缺陷为:
现有的入侵检测技术存在建模时间长,面对高维特征、非线性的海量数据时,存在特征提取不充分、分类不够精确的问题,模型准确率以及训练时间还需进一步提高。
发明内容
针对现有技术存在的问题,本发明提供了一种基于改进CNN-LSTM的入侵检测方法、系统、设备及介质。
本发明是这样实现的,一种基于改进CNN-LSTM的入侵检测方法,所述基于改进CNN-LSTM的入侵检测方法包括:
对数据集进行预处理,建立基于改进CNN-LSTM的入侵检测分类模型,将预处理后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络对CNN网络选择后的特征进行学习分类,最后将改进后的算法模型进行训练测试。
进一步,所述数据集为KDDCup99、NSL-KDD、和UNSW_NB15网络入侵数据集。
进一步,所述预处理包括数据集标签化、数据集数值化、数据集标准化以及数据集归一化;
所述数据集标签化的过程为:先对解压后的数据包文件添加csv后缀名,然后利用python为数据添加标签;同时,将数据集中所有的攻击类别统一标签化,在KDDCUP99数据集中用0,1,2,3,4,5分别代表Normal,DoS,Probing,R2L,U2R,Uncertain六个大类,将所有分类标签均用这六个数字代替;在NSL_KDD数据集中用0,1,2,3,4分别代表Normal,DoS,Probing,R2L,U2R五个大类,将所有分类标签均用这五个数字代替;在UNSW_NB15数据集中用0,1,2,3,4,5,6,7,8,9分别代表Normal,Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode,Worms十个大类,将所有分类标签均用这十个数字代替;
所述数据集数值化的具体过程为:将读取的数据集中的字符型特征或标签统一编码为数值型,利用python的第三方sklearn库中preprocessing模块的OrdinalEncoder和LabelEncoder函数分别对字符型特征、标签进行统一编码;
所述数据集标准化的具体过程为:用特征列的均值进行中心化,用标准差进行缩放,在sklearn库中调用StandardScaler数据标准化函数,实现数据标准化处理;
所述数据集归一化的具体过程为:在sklearn库中调用MinMaxScaler数据归一化函数对数据进行归一化处理,收敛到区间[0,1]内。
进一步,所述基于改进CNN-LSTM的入侵检测分类模型包括:CNN网络和LSTM网络;所述CNN网络用于提取数据特征信息;所述LSTM网络包括遗忘门、输入门和输出门,用于从所述数据特征信息中学习数据间的时间拟合关系,对预测时间序列输入输出数据进行动态建模,输出预测值。
进一步,所述LSTM网络的具体处理步骤如下:
(1)通过sigmoid函数计算遗忘信息;
(2)在单元状态中存储的信息量,可以通过一个输入门决定更新的信息;
(3)通过将遗忘门与输入门进行结合,计算出新的单元状态;
(4)在新的单元状态基础上计算出输出结果,将基于tanh压缩过后的输出和基于sigmoid门的输出相乘,最终得到预测序列。
进一步,所述基于改进CNN-LSTM的入侵检测分类模型的处理过程为:
将经过预处理的数据展平为1维数组,通过两层3*3的卷积操作把数据从低维映射到高维,得到高宽为6*6通道数分别为64和128的特征图;
再经过最大池化操作,池化核大小为2*2,其中特征图的高宽变为3*3,通道数不变;进而将所述CNN网络提取出的数据特征信息作为输入数据传递至所述LSTM网络中,选用两层单向的LSTM,输出维度设为64,紧接着通过两个相连全连接层,其中第一个全连接层用于将数据信息从高宽维度转化到深度维度,输入节点数为256,输出节点数为64;第二个全连接层用于进行分类输出,输入节点数为64,输出节点数为最终所需的分类个数;
经过Softmax函数对输出的结果进行归一化处理,将输出的概率映射到0-1之间,并且所有类别的概率相加为1。
本发明的另一目的在于提供一种实施所述基于改进CNN-LSTM的入侵检测方法的基于改进CNN-LSTM的入侵检测系统,所述基于改进CNN-LSTM的入侵检测系统包括:
预处理模块,用于对数据集进行标签化、数值化、标准化以及归一化;
CNN网络模块,用于提取数据的特征信息;
双层LSTM网络模块,用于从所述数据特征信息中学习数据间的时间拟合关系,对预测时间序列输入输出数据进行动态建模,输出预测值。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于改进CNN-LSTM的入侵检测方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于改进CNN-LSTM的入侵检测方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述基于改进CNN-LSTM的入侵检测系统。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明提出一种基于改进CNN-LSTM的入侵检测分类算法,首先将标准化和归一化后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作实现对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络在时序数据中强大的学习能力对CNN网络选择后的特征进行学习分类,最后将改进后的算法模型进行训练测试,对比单一CNN、DNN网络和Decisiontree算法,实验结果表明,本发明提出算法在KDDCup99、NSL_KDD、和UNSW_NB15网络入侵数据集下的预测准确度分别为0.971、0.995、0.804,对网络流量的分类效果均优于单一网络和传统算法,提高了算法的分类准确性,降低了模型损失。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明为了有效对网络流量中的数据进行区分和辨别,在KDDCUP99、NSL_KDD和UNSW_NB15入侵数据集下展开研究,利用深度学习模型,提出了一种基于改进CNN-LSTM的入侵检测分类算法,在分类准确率和测试损失上都有明显改善,为今后的网络入侵检测研究提供更多参考。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
(1)本发明的技术方案转化后的预期收益和商业价值为:
在网络检测应用场景下,将本发明所提出的方法应用到物联网等实际的网络场景中,使用改进的融合模型可以提升入侵检测效率和准确率,降低模型复杂度和损失,以便在今后的网络入侵检测工作中提供更多有效参考,具有巨大的商业价值。
(2)本发明的技术方案填补了国内外业内技术空白:
基于改进CNN-LSTM的入侵检测分类模型,将预处理后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络对CNN网络选择后的特征进行学习分类,对网络流量的分类效果均优于单一网络和传统算法,提高了算法的分类准确性,降低了模型损失,填补了这一技术空白。
(3)本发明的技术方案是否解决了人们一直渴望解决、但始终未能获得成功的技术难题:
现有的入侵检测技术存在建模时间长,面对高维特征、非线性的海量数据时,存在特征提取不充分、分类不够精确的问题,模型准确率以及训练时间还需进一步提高。
附图说明
图1是本发明实施例提供的基于改进CNN-LSTM的入侵检测方法架构图;
图2是本发明实施例提供的基于改进CNN-LSTM的入侵检测分类模型的网络结构;
图3是本发明实施例提供的全连接层与全局均值池化层的差异示意图,(a)全连接层示意图,(b)全局均值池化层示意图;;
图4是本发明实施例提供的一层LSTM与两层LSTM准确率对比图,(a)一层LSTM准确率示意图,(b)两层LSTM准确率示意图;
图5是本发明实施例提供的一层LSTM与两层LSTM损失函数对比图,(a)一层LSTM损失函数示意图,(b)两层LSTM损失函数示意图;
图6是本发明实施例提供的CNN-LSTM预测准确率图;
图7是本发明实施例提供的CNN-LSTM损失函数示意图;
图8是本发明实施例提供的KDDCUP99数据集中各成分的分类精度图;
图9是本发明实施例提供的NSL_KDD数据集中各成分的分类精度图;
图10是本发明实施例提供的UNSW_NB15数据集中各成分的分类精度图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
如图1所示,本发明实施例提供的基于改进CNN-LSTM的入侵检测方法包括:
将标准化和归一化后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作实现对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络在时序数据中强大的学习能力对CNN网络选择后的特征进行学习分类,最后将改进后的算法模型进行训练测试。
进一步,所述基于改进CNN-LSTM的入侵检测方法包括四个步骤,数据收集、数据处理、基于改进CNN-LSTM的入侵检测分类模型,决策判断。
所述数据收集的具体过程为:
数据收集实现输入功能,接收来自KDDCup99、NSL-KDD、和UNSW_NB15网络入侵数据集。
KDDCUP99数据集中每个网络连接被标记为正常或异常,异常类型被细分为4大类共39种攻击类型,其中22种攻击类型出现在训练集中,另有17种未知攻击类型出现在测试集中。4种异常类型分别为:DoS、R2L、U2R、PROBING。
NSL_KDD数据集是KDDCUP99数据集的改进,其训练集中不包含冗余记录,分类器不会偏向更频繁的记录;测试集中没有重复的记录,使得检测率更为准确;来自每个难度级别组的所选记录的数量与原始KDD数据集中的记录的百分比成反比;训练和测试中的记录数量设置是合理的,使得在整套实验无需随机选择一小部分。
UNSW_NB15数据集是综合性的网络攻击流量数据集,包括训练数据和测试数据,被广泛应用于异常入侵检测,相比于KDDCUP99和NSL_KDD数据集更适合相关研究人员用于入侵检测系统的研究。UNSW_NB15数据集目的是生成一种真实的现代正常活动和合成的当代攻击行为的混合体。数据集中包含九种攻击类型,分别是Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode和Worms。
进一步,所述数据处理的具体包括进行数据标签、数据集数值化、数据集标准化以及数据集归一化;
所述数据标签的过程为:
解压数据包后,得到的是纯文本文件,其中的数据均用逗号隔开,并且各个变量没有标签,因此需要先对文件添加csv后缀名,然后用python为数据添加标签,为了便于分类算法的进行,将数据集中所有的攻击类别统一标签化。为更好地测试发明提出算法的准确度,避免偶然性,分别在三组数据集上进行实验,在KDDCUP99数据集中用0,1,2,3,4,5分别代表Normal,DoS,Probing,R2L,U2R,Uncertain六个大类,将所有分类标签均用这六个数字代替;在NSL_KDD数据集中用0,1,2,3,4分别代表Normal,DoS,Probing,R2L,U2R五个大类,将所有分类标签均用这五个数字代替;在UNSW_NB15数据集中用0,1,2,3,4,5,6,7,8,9分别代表Normal,Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode,Worms十个大类,将所有分类标签均用这十个数字代替。
所述数据集数值化的具体过程为:
将读取的数据集中的字符型特征或标签统一编码为数值型。利用python的第三方sklearn库,其中提供了很多模块函数来帮助处理数据,preprocessing模块的OrdinalEncoder和LabelEncoder函数分别对字符型特征、标签进行统一编码。
所述数据集标准化的具体过程为:
将数值化后的数据进行标准化处理,为应对特征向量中数据很分散的情况,同时可以加速训练。标准化是用特征列的均值进行中心化,用标准差进行缩放,在sklearn库中调用StandardScaler数据标准化函数,实现数据标准化处理。标准化公式如下:
所述数据集归一化的具体过程为:
归一化是用数据集各个特征列的最小值进行中心化后,再按极差进行缩放,即数据减去特征列的最小值,收敛到区间[0,1]内。适用于取值连续且无固定上下界的数据,消除不同评价指标之间的量纲对数据分析结果的影响,使各指标处于同一数量级,在sklearn库中调用MinMaxScaler数据归一化函数,实现数据归一化处理。归一化公式如下:
式中,x为标准化后的数据,min(x)为所有数据的最小值,max(x)为所有数据的最大值。
进一步,所述基于改进CNN-LSTM的入侵检测分类模型包括:CNN网络和LSTM网络;首先输入标准化和归一化后的原始数据到双层CNN网络,对流量数据做特征选择,并选择全局池化层代替其中的全连接层,卷积层输入数据序列,通过卷积和池化操作,实现对数据特征的提取和降维,输出特征矩阵,进而输入特征向量到双层单向LSTM网络中,结合长短期记忆网络强大的时间序列学习能力对卷积神经网络选择后的特征进行学习分类,LSTM网络中的遗忘门、输入门和输出门通过大量数据的不断迭代训练调整自身参数,使它能从CNN网络提取的数据信息中学习数据间的时间拟合关系,对预测时间序列输入输出数据进行有效的动态建模,通过CNN-LSTM网络拟合训练好的数据通过全连接神经元网络输出预测值。
具体处理步骤如下:
(1)通过sigmoid函数计算遗忘信息;
(2)在单元状态中存储的信息量,可以通过一个输入门决定更新的信息;
(3)通过将遗忘门与输入门进行结合,计算出新的单元状态;
(4)在新的单元状态基础上计算出输出结果,将基于tanh压缩过后的输出和基于sigmoid门的输出相乘,最终得到预测序列。
所述基于改进CNN-LSTM的入侵检测分类模型的内部结构如图2所示,
首先将经过预处理的数据展平为1维数组,通过两层3*3的卷积操作把数据从低维映射到高维,得到高宽为6*6通道数分别为64和128的特征图,其中维度不同代表的数据含义也不同;然后再经过最大池化操作,池化核大小为2*2,其中特征图的高宽变为3*3,但通道数不变,这也表明最大池化操作只改变特征图的尺寸大小,不改变其维度;进而将CNN提取出的关键特征作为输入数据至LSTM模型中,选用两层单向的LSTM,输出维度设为64,紧接着通过两个相连全连接层,其中第一个全连接层的作用是将高宽展平,数据信息从高宽维度转化到深度维度,其全连接层的输入节点数为256,输出节点数为64;第二个全连接层的作用是进行分类输出,其全连接层的输入节点数为64,输出节点数由最终所需的分类个数确定。在本模型中分类个数为6类,所以输出节点数为6;最后经过Softmax函数对输出的结果进行归一化处理,将输出的概率映射到0-1之间,并且所有类别的概率相加为1。
基于改进CNN-LSTM的入侵检测分类模型摘要如表1所示。
表1模型摘要
Layer(type) | OutputShape |
Conv1d_input(InputLayer) | [(None,41,1)] |
Conv1d_1(Conv1D) | (None,39,64) |
Conv1d_2(Conv1D) | (None,37,128) |
Max_pooling1d(MaxPooling1D) | (None,18,128) |
Dropout(Dropout) | (None,18,128) |
LSTM_1(LSTM) | (None,18,128) |
LSTM_2(LSTM) | (None,256) |
Dense_1(Dense) | (None,64) |
Dense_2(Dense) | (None,6) |
进一步,所述改进部分包括:
采用卷积层、全局平均池化代替卷积层以及全连接层相结合的方式对模型进行改进,以及选用两层LSTM进行改进。
本发明实施例在CNN部分中,连接层之前的卷积层负责对数据进行特征提取,在获取特征后,传统的方法是接上全连接层之后再进行激活分类,但全连接层增加了Training以及Testing的计算量,降低了速度,并且参数量过大容易过拟合。而全局池化的思路是使用全局池化来替代该全连接层,即使用池化层的方式来降维,更重要的一点是保留了前面各个卷积层和池化层提取到的空间信息或语义信息,所以在实际应用中效果提升也较为明显,并且全局池化对输入的大小没有限制。全连接层将卷积层展开成向量之后还要针对每个featuremap进行分类,全局池化就是将上述两个过程合二为一。
进一步,所述决策判断的具体过程为:
在获得分类结果后为流量提供判断,做出决定以阻止或允许流量通过。进一步使用检测结果来更新知识数据库,以提高系统的检测能力。针对入侵检测的改进CNN-LSTM实现,用于对输入数据具有最佳性能进行分类的特定架构,因此设计和实现具有不同结构的网络,然后多次执行以确定最佳的网络结构。
为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
(1)实验环境
本发明实验环境如下表2所示。
表2实验环境
(2)评价指标
入侵检测技术中常用混淆矩阵作为评价分类性能的指标,混淆矩阵是一个评价划分模型优劣和差异的形象化显示工具,共包含4个元素:TP是正常流量的正常性样本的数量;FN是被分类为不同异常流量的异常样本数;FP是被分类为不同异常流量的正常样本数量;TN是被分类为正常流量的异常样本数量。如表3所示。
表3混淆矩阵
基于混淆矩阵中的元素,本发明使用以下指标对检测进行评估:准确率、精准率、查全率和F1值。准确率表示所有样本数据中,分类正确的数量占总样本数量的百分比,其计算公式如(3)所示:
精确率表示在被预测为正常流量的样本数量中,分类正确的正常流量样本数量所占百分比,其计算公式如(4)所示:
召回率表示在实际为正常流量的样本数量中,正确预测为正常流量的样本所占百分比,其计算公式如(5)所示:
F1值为精确率和召回率的调和平均值,其计算公式如(6)所示:
F1-Score指标综合了Precision与Recall的产出结果,取值范围是从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。由于F1-score适用于二分类问题,对于多分类问题,本发明利用Macro-F1度量,统计各个类别的TP、FP、FN、TN,分别计算各自的Precision和Recall,得到各自的F1值,然后取平均值得到Macro-F1。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,本发明实施例提出的一种基于双层卷积、全局池化和双层LSTM改进CNN-LSTM的入侵检测分类算法,分别用KDDCUP99、NSL_KDD、UNSW_NB15数据集中的训练集来创建分类器,与单一CNN、深度DNN网络和Decisiontree算法进行训练对比实验,比较模型的训练准确率、训练损失、召回率与Macro-F1,下面内容结合试验过程的数据、图表等进行描述。
由图3可以直观看出,将两个过程合二为一,极大减少了网络的参数量,相当于对整个网络结构做正则化,防止模型发生过拟合。其直接剔除了全连接层中黑箱的特征,直接赋予了每个channel实际的类别意义,在卷积层最后输出多少类别就多少map,然后直接分别对map进行平均值计算得到结果,最后用softmax进行分类。
但网络的收敛速度会变慢:CNN+FC结构的模型,对于训练过程而言,整个模型的学习压力主要集中在FC层(FC层的参数量占整个模型参数量的80%),此时CNN层学习到的特征更倾向于低层的通用特征,即使CNN层学习到的特征比较低级,强大的FC层也可以通过学习调整参数做到很好的分类;CNN+GAP结构的模型,因为使用GAP代替了FC,模型的参数量骤减,此时模型的学习压力全部前导到CNN层,相比于CNN+FC层,此时的CNN层不仅仅需要学习到低层的通用特征,还要学习到更加高级的分类特征,学习难度变大,网络收敛变慢;
综上所述,全局平均池化代替全连接层虽然可以减少模型的参数量,防止模型发生过拟合,但不利于模型的迁移学习,因为CNN+GAP的结构使得很多参数“固化”在卷积层中,增加新的分类时,意味着相当数量的卷积层特征需要重新进行调整(学习难度较大);而全连接层则可以更好的进行迁移学习,因为它的参数调整很大一部分是在全连接层中,迁移的时候虽然卷积层的参数也会调整,但是相对来说要小很多。
本发明实施例还选用两层LSTM进行改进,将迭代的次数增加到50次时,对比一层的LSTM与两层的LSTM准确率和损失函数,如图4-5所示。
由图可以看出一层LSTM与两层LSTM的区别,一层LSTM准确率曲线有一段锯齿状的状态,准确率出现骤降,最终结果虽然没受很大影响,但由此对这不稳定结果的可靠性产生怀疑;相比之下两层LSTM准确率的曲线更加光滑,得到的结果更具稳定性和可靠性,损失函数迭代图有同样的变化。
在处理时序数据中,LSTM层数不能过多,层数的增加会带来时间开销和内存开销的指数级增长,进而层与层之间的梯度消失。当层数超过三层时,层与层之间的梯度消失情况会变得非常明显,导致靠近输入层的LSTM层更新迭代放缓,收敛效果和效率急剧下降。面对大量的数据,单从扩增一层的神经元已经不够,此时两层的LSTM能把时序数据压缩成高度“浓缩”的数据,再加深层数只能带来信息压缩过程中的信息丢失以及训练过程中的梯度消失。LSTM解决RNN长距离依赖和梯度消失问题主要是在每一层内,而不是层与层之间,所以LSTM层多了会很难训练,并且LSTM每一层的特征提取能力很强大,综合考虑模型容量,所以本发明在构建改进CNN-LSTM模型中选用两层单向LSTM。
本发明实施例所提出的一种基于双层卷积、全局池化和双层LSTM改进CNN-LSTM的入侵检测分类算法,分别用KDDCUP99、NSL_KDD、UNSW_NB15数据集中的训练集来创建分类器,与单一CNN、深度DNN网络和Decisiontree算法进行训练对比实验,比较模型的训练准确率、训练损失、召回率与Macro-F1,结果如表4-6所示。
表4KDDCUP99训练结果对比
表5NSL_KDD训练结果对比
模型 | 训练准确率 | 训练损失 | 召回率 | Macro-F1 |
CNN-LSTM | 0.985 | 0.0028 | 0.962 | 0.939 |
CNN | 0.969 | 0.045 | 0.928 | 0.911 |
DNN | 0.934 | 0.105 | 0.902 | 0.884 |
Decisiontree | 0.916 | 0.133 | 0.887 | 0.862 |
表6UNSW_NB15训练结果对比
模型 | 训练准确率 | 训练损失 | 召回率 | Macro-F1 |
CNN-LSTM | 0.796 | 0.54 | 0.752 | 0.724 |
CNN | 0.316 | 0.902 | 0.301 | 0.198 |
DNN | 0.374 | 0.856 | 0.347 | 0.294 |
Decisiontree | 0.365 | 0.861 | 0.332 | 0.279 |
由以上四种模型分别在三种不同入侵检测数据集下的训练结果对比表可以看出,基于改进CNN-LSTM的入侵检测分类算法,相比较单一模型和传统算法在训练准确度、训练损失、召回率、F1分数上均取得了更好的结果。
为了更加全面地验证基于改进CNN-LSTM的入侵检测分类算法在测试集上的预测效果,在训练完分类器后用KDDCUP99、NSL_KDD、UNSW_NB15数据集中的验证集优化和调整分类器的参数,用测试集计算优化后的分类器的误差率,测试分类器性能,模型激活函数设置为Sigmoid,学习率为0.01,设置epochs=50,得到的预测准确率与损失函数变化如图6和图7所示。
由图6所示,红色曲线代表KDDCUP99数据集,绿色曲线代表NSL_KDD数据集,紫色曲线代表UNSW_NB15数据集,经过50次迭代,改进CNN-LSTM的入侵检测分类算法的预测准确率在KDDCUP99数据集上为0.97,在NSL_KDD数据集上为0.99,在UNSW_NB15数据集为0.80。
由图7所示,红色曲线代表KDDCUP99数据集,绿色曲线代表NSL_KDD数据集,紫色曲线代表UNSW_NB15数据集,经过50次迭代,改进CNN-LSTM的入侵检测分类算法的测试损失在KDDCUP99数据集上为0.045,在NSL_KDD数据集上为0.0043,在UNSW_NB15数据集为0.48,与模型的训练精度和损失相比很接近,可进一步证明模型的可靠性。
将基于改进CNN-LSTM的入侵检测分类算法与单一CNN、DNN网络和Decisiontree算法分别在在KDDCUP99、NSL_KDD、UNSW_NB15数据集上对每种流量的分类预测准确度进行对比实验。其中,在KDDCUP99数据集中对比Normal,DoS,Probing,R2L,U2R和Uncertain六类流量的分类预测准确度,如表7所示;在NSL_KDD数据集中对比Normal,DoS,Probing,R2L,U2R五类流量的分类准确度,如表8所示;在UNSW_NB15数据集中对比Normal,Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode和Worms十类流量的分类准确度,如表9所示。
表7KDDCUP99数据集中六类流量的分类准确率
表8NSL_KDD数据集中五类流量的分类准确率
表9UNSW_NB15数据集中十类流量的分类准确率
由柱状图可直观显示CNN-LSTM、CNN、DNN、Decisiontree四种模型在KDDCUP99、NSL_KDD、UNSW_NB15数据集上分类预测准确度的对比,分别如图8、图9、图10所示。
图8中,四种模型在KDDCUP99数据集上分类预测准确度的对比可以得出:传统决策树的分类算法预测准确度都很接近1,存在过拟合现象,没有真实反映数据的平衡性;而本发明所提出的基于改进CNN-LSTM的入侵检测分类算法在对KDDCUP99入侵检测数据集的分类准确度上分布更加合理,在Normal、Dos、R2L和Uncertain上分类效果较好,在Probing和U2R的分类上由于数据规模相对较小,模型训练样本数据量不足,导致这两种攻击类型的分类效果不够理想。
图9中,四种模型在NSL_KDD数据集上分类预测准确度的对比可以得出:NSL_KDD数据集解决了KDDCUP99数据集中存在的固有问题,在训练集和测试集的设置上是合理的,在对四种模型的训练测试中每种流量的分类精度分布比较均匀,本发明所提出的基于改进CNN-LSTM的入侵检测分类算法相比与单一CNN、DNN网络和Decisiontree算法,在各成分的分类精度上效果比较好。由于NSL_KDD数据集缺少基于入侵检测网络的公共数据集,所以仍然存在一些问题,并不是现有真实网络的完美代表。
图10中,四种模型在UNSW_NB15数据集上分类预测准确度的对比可以得出:UNSW_NB15数据集相比于KDDCUP99和NSL_KDD数据集更具综合性,组合了真实的正常活动和合成的攻击行为,能真实模拟现有网络环境。在用于四种模型的训练测试中,本发明所提出的基于改进CNN-LSTM的入侵检测分类算法在能真实反映九种攻击类型和一种正常类型的数量分布基础上,还能维持较高的分类精度,是一种比单一CNN、DNN网络和Decisiontree算法更有效的分类算法。
这充分表明了基于改进CNN-LSTM的入侵检测分类算法准确度更加真实可靠,在对不同数据集进行训练测试中得到的结果均优于其他模型,能适合不同场景下的网络攻击流量,得到的分类预测结果置信度更高,并且减少了模型训练过程中的损失,在保证精度的同时实现了训练预测效率最大化,可以提升入侵检测系统的性能。
本发明所提出的基于改进CNN-LSTM的入侵检测算法分别在KDDCUP99、NSL_KDD、UNSW_NB15数据集上进行了训练测试,达到了预期效果,相比与单一CNN、DNN网络和Decisiontree的分类算法,更加适用于未来大量的网络数据,在保证精度的同时实现了效率最大化,将该方法应用到更实际的场景中,以便在今后的网络入侵检测工作中提供更多有效参考。
由以上四种模型分别在三种不同入侵检测数据集下的训练结果对比表可以看出,基于改进CNN-LSTM的入侵检测分类算法,相比较单一模型和传统算法在训练准确度、训练损失、召回率、F1分数上均取得了更好的结果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于改进CNN-LSTM的入侵检测方法,其特征在于,所述基于改进CNN-LSTM的入侵检测方法包括:
对数据集进行预处理,建立基于改进CNN-LSTM的入侵检测分类模型,将预处理后的数据输入到双层CNN网络,选用全局池化层代替全连接层,通过卷积和池化操作对数据特征的提取和降维,输出的特征矩阵再输入到双层单向LSTM网络中,结合LSTM网络对CNN网络选择后的特征进行学习分类,最后将改进后的算法模型进行训练测试。
2.如权利要求1所述基于改进CNN-LSTM的入侵检测方法,其特征在于,所述数据集为KDD Cup 99、NSL-KDD、和UNSW_NB15网络入侵数据集。
3.如权利要求1所述基于改进CNN-LSTM的入侵检测方法,其特征在于,所述预处理包括数据集标签化、数据集数值化、数据集标准化以及数据集归一化;
所述数据集标签化的过程为:先对解压后的数据包文件添加csv后缀名,然后利用python为数据添加标签;同时,将数据集中所有的攻击类别统一标签化,在KDD CUP99数据集中用0,1,2,3,4,5分别代表Normal,DoS,Probing,R2L,U2R,Uncertain六个大类,将所有分类标签均用这六个数字代替;在NSL_KDD数据集中用0,1,2,3,4分别代表Normal,DoS,Probing,R2L,U2R五个大类,将所有分类标签均用这五个数字代替;在UNSW_NB15数据集中用0,1,2,3,4,5,6,7,8,9分别代表Normal,Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode,Worms十个大类,将所有分类标签均用这十个数字代替;
所述数据集数值化的具体过程为:将读取的数据集中的字符型特征或标签统一编码为数值型,利用python的第三方sklearn库中preprocessing模块的OrdinalEncoder和LabelEncoder函数分别对字符型特征、标签进行统一编码;
所述数据集标准化的具体过程为:用特征列的均值进行中心化,用标准差进行缩放,在sklearn库中调用StandardScaler数据标准化函数,实现数据标准化处理;
所述数据集归一化的具体过程为:在sklearn库中调用MinMaxScaler数据归一化函数对数据进行归一化处理,收敛到区间[0,1]内。
4.如权利要求1所述基于改进CNN-LSTM的入侵检测方法,其特征在于,所述基于改进CNN-LSTM的入侵检测分类模型包括:CNN网络和LSTM网络;所述CNN网络用于提取数据特征信息;所述LSTM网络包括遗忘门、输入门和输出门,用于从所述数据特征信息中学习数据间的时间拟合关系,对预测时间序列输入输出数据进行动态建模,输出预测值。
5.如权利要求4所述基于改进CNN-LSTM的入侵检测方法,其特征在于,所述LSTM网络的具体处理步骤如下:
(1)通过sigmoid函数计算遗忘信息;
(2)在单元状态中存储的信息量,可以通过一个输入门决定更新的信息;
(3)通过将遗忘门与输入门进行结合,计算出新的单元状态;
(4)在新的单元状态基础上计算出输出结果,将基于tanh压缩过后的输出和基于sigmoid门的输出相乘,最终得到预测序列。
6.如权利要求1所述基于改进CNN-LSTM的入侵检测方法,其特征在于,所述基于改进CNN-LSTM的入侵检测分类模型的处理过程为:
将经过预处理的数据展平为1维数组,通过两层3*3的卷积操作把数据从低维映射到高维,得到高宽为6*6通道数分别为64和128的特征图;
再经过最大池化操作,池化核大小为2*2,其中特征图的高宽变为3*3,通道数不变;进而将所述CNN网络提取出的数据特征信息作为输入数据传递至所述LSTM网络中,选用两层单向的LSTM,输出维度设为64,紧接着通过两个相连全连接层,其中第一个全连接层用于将数据信息从高宽维度转化到深度维度,输入节点数为256,输出节点数为64;第二个全连接层用于进行分类输出,输入节点数为64,输出节点数为最终所需的分类个数;
经过Softmax函数对输出的结果进行归一化处理,将输出的概率映射到0-1之间,并且所有类别的概率相加为1。
7.一种实施如权利要求1-6任意一项所述基于改进CNN-LSTM的入侵检测方法的基于改进CNN-LSTM的入侵检测系统,其特征在于,所述基于改进CNN-LSTM的入侵检测系统包括:
预处理模块,用于对数据集进行标签化、数值化、标准化以及归一化;
CNN网络模块,用于提取数据的特征信息;
双层LSTM网络模块,用于从所述数据特征信息中学习数据间的时间拟合关系,对预测时间序列输入输出数据进行动态建模,输出预测值。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述基于改进CNN-LSTM的入侵检测方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述基于改进CNN-LSTM的入侵检测方法的步骤。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述基于改进CNN-LSTM的入侵检测系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564949.5A CN116132104A (zh) | 2022-12-07 | 2022-12-07 | 基于改进cnn-lstm的入侵检测方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564949.5A CN116132104A (zh) | 2022-12-07 | 2022-12-07 | 基于改进cnn-lstm的入侵检测方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132104A true CN116132104A (zh) | 2023-05-16 |
Family
ID=86299932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211564949.5A Pending CN116132104A (zh) | 2022-12-07 | 2022-12-07 | 基于改进cnn-lstm的入侵检测方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132104A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116846688A (zh) * | 2023-08-30 | 2023-10-03 | 南京理工大学 | 基于cnn的可解释流量入侵检测方法 |
CN116916318A (zh) * | 2023-07-19 | 2023-10-20 | 西华师范大学 | 面向物联网设备的基于可分卷积的轻量级入侵检测方法 |
CN117336195A (zh) * | 2023-12-01 | 2024-01-02 | 中国西安卫星测控中心 | 一种基于雷达图法的入侵检测模型综合性能评估方法 |
CN117354056A (zh) * | 2023-12-04 | 2024-01-05 | 中国西安卫星测控中心 | 基于卷积神经网络和集成学习算法的网络入侵检测方法 |
CN117768225A (zh) * | 2023-12-28 | 2024-03-26 | 长春大学 | 基于dcnn-lstm技术的网络入侵检测系统模型的搭建方法 |
-
2022
- 2022-12-07 CN CN202211564949.5A patent/CN116132104A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116916318A (zh) * | 2023-07-19 | 2023-10-20 | 西华师范大学 | 面向物联网设备的基于可分卷积的轻量级入侵检测方法 |
CN116846688A (zh) * | 2023-08-30 | 2023-10-03 | 南京理工大学 | 基于cnn的可解释流量入侵检测方法 |
CN116846688B (zh) * | 2023-08-30 | 2023-11-21 | 南京理工大学 | 基于cnn的可解释流量入侵检测方法 |
CN117336195A (zh) * | 2023-12-01 | 2024-01-02 | 中国西安卫星测控中心 | 一种基于雷达图法的入侵检测模型综合性能评估方法 |
CN117336195B (zh) * | 2023-12-01 | 2024-02-06 | 中国西安卫星测控中心 | 一种基于雷达图法的入侵检测模型综合性能评估方法 |
CN117354056A (zh) * | 2023-12-04 | 2024-01-05 | 中国西安卫星测控中心 | 基于卷积神经网络和集成学习算法的网络入侵检测方法 |
CN117354056B (zh) * | 2023-12-04 | 2024-02-13 | 中国西安卫星测控中心 | 基于卷积神经网络和集成学习算法的网络入侵检测方法 |
CN117768225A (zh) * | 2023-12-28 | 2024-03-26 | 长春大学 | 基于dcnn-lstm技术的网络入侵检测系统模型的搭建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116132104A (zh) | 基于改进cnn-lstm的入侵检测方法、系统、设备及介质 | |
CN109302410B (zh) | 一种内部用户异常行为检测方法、系统及计算机存储介质 | |
CN111369003B (zh) | 一种量子比特读取信号保真度的确定方法、装置 | |
US11841839B1 (en) | Preprocessing and imputing method for structural data | |
CN111556016B (zh) | 一种基于自动编码器的网络流量异常行为识别方法 | |
CN115563477B (zh) | 谐波数据识别方法、装置、计算机设备和存储介质 | |
CN116307745B (zh) | 一种工程项目智能风险监管预警方法及系统 | |
CN110599459A (zh) | 基于深度学习的地下管网风险评估云系统 | |
CN116186594B (zh) | 基于决策网络结合大数据实现环境变化趋势智能检测方法 | |
CN113326862A (zh) | 审计大数据融合聚类与风险数据检测方法、介质、设备 | |
CN104537383A (zh) | 一种基于粒子群的海量组织机构数据分类方法及系统 | |
CN113553577A (zh) | 基于超球面变分自动编码器的未知用户恶意行为检测方法及系统 | |
CN116304721A (zh) | 基于数据类别的大数据治理中数据标准制定方法及系统 | |
CN117118693A (zh) | 异常流量的检测方法、装置、计算机设备和存储介质 | |
CN114943290B (zh) | 一种基于多源数据融合分析的生物入侵识别方法 | |
CN117009509A (zh) | 数据安全分级方法、装置、设备、存储介质和程序产品 | |
CN112906824B (zh) | 车辆聚类方法、系统、设备及存储介质 | |
CN115514581A (zh) | 一种用于工业互联网数据安全平台的数据分析方法及设备 | |
CN110740111A (zh) | 一种数据防漏方法、装置及计算机可读存储介质 | |
US20200285895A1 (en) | Method, apparatus and computer program for selecting a subset of training transactions from a plurality of training transactions | |
CN114090869A (zh) | 目标对象处理方法、装置、电子设备及存储介质 | |
Liu et al. | Inventory Management of Automobile After-sales Parts Based on Data Mining | |
Zhu et al. | Bounding the number of linear regions in local area for neural networks with relu activations | |
CN115831339B (zh) | 基于深度学习的医疗系统风险管控事前预测方法、系统 | |
Jin | Network Data Detection for Information Security Using CNN-LSTM Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |