CN115987689A - 一种网络入侵检测方法及装置 - Google Patents
一种网络入侵检测方法及装置 Download PDFInfo
- Publication number
- CN115987689A CN115987689A CN202310267053.9A CN202310267053A CN115987689A CN 115987689 A CN115987689 A CN 115987689A CN 202310267053 A CN202310267053 A CN 202310267053A CN 115987689 A CN115987689 A CN 115987689A
- Authority
- CN
- China
- Prior art keywords
- model
- detection model
- prediction result
- class
- session
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000009467 reduction Effects 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000003066 decision tree Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 8
- 230000004927 fusion Effects 0.000 claims description 7
- 238000002790 cross-validation Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010224 classification analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012847 principal component analysis method Methods 0.000 description 3
- 238000000611 regression analysis Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 108010064775 protein C activator peptide Proteins 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种网络入侵检测方法及装置,包括:获取网络流量,从所述网络流量中提取会话统计特征和数据包特征,将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果,将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果,基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。通过选取最优的多个模型及相关参数,并融合各模型的预测结果,能够提高预测结果的准确性,避免单模型对预测结果的偏差。
Description
技术领域
本申请实施例涉及信息安全技术领域,尤其涉及一种网络入侵检测方法及装置。
背景技术
随着网络技术的发展,网络攻击的发生率也有所上升,入侵检测通过主动监控网络流量发现可疑活动并产生报警,能够有效提高网络安全性。基于异常的入侵检测方法,任何异常都被标记为潜在威胁并生成报警,能够有效检测出已知或未知的攻击,该方法基于机器学习算法实现。由于使用单一模型学习到的行为模式通常存在较大的偏离,导致检测结果存在误报或漏报,如何融合多个模型进行学习和预测,从而提高检测准确性,是本领域技术人员所需解决的问题。
发明内容
有鉴于此,本申请实施例的目的在于提出一种网络入侵检测方法及装置,能够融合多个模型进行网络入侵检测,提高检测准确性。
基于上述目的,本申请实施例提供了网络入侵检测方法,包括:
获取网络流量;
从所述网络流量中提取会话统计特征和数据包特征;
将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果;
将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果;
基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
可选的,从所述网络流量中提取会话统计特征,包括:
按照五元组将所述网络流量划分为多组会话;
从每组会话中提取会话统计特征,得到各组会话对应的会话统计特征;
按照预设的降维方法对各组会话对应的会话统计特征进行降维处理,得到降维后的会话统计特征。
可选的,所述从每组会话中提取会话统计特征,包括:
利用预设的特征提取工具从该组会话中提取多维会话特征;
从提取的多维会话特征中删除源地址、目的地址和方差为0的特征,得到该组会话的会话统计特征。
可选的,从所述网络流量中提取数据包特征,包括:
对所述网络流量进行解析,得到各数据包的时间戳;
根据各数据包的时间戳,按照时间先后顺序对所有数据包进行排序;
基于排序后的所有数据包,从前向后选取预定数量的数据包;
统计选取出的各数据包的字节数;
将选取出的各数据包的字节数和包方向作为所述数据包特征;其中,所述包方向包括从源地址到目的地址的第一方向,和从目的地址到源地址的第二方向。
可选的,所述获取网络流量之前,包括:
利用预设的参数调优方法选取待选模型的最优参数;
利用分层交叉验证方法迭代训练并验证配置所述最优参数的待选模型,得到所述待选模型的预测误差;
当迭代过程中的预测误差小于预设的误差均值时,将所述待选模型作为候选检测模型;
按照预设的评估方法计算所述候选检测模型的性能指标;
如果所述性能指标达到预设的性能阈值,将所述候选检测模型作为所述第一类检测模型或者第二类检测模型。
可选的,计算所述性能指标的方法为:
(5)
其中,F1为模型的F1分数,AUC(f)为ROC曲线下的面积。
可选的,将所述候选检测模型作为第一类检测模型或者第二类检测模型之后,还包括:
利用预设的输入样本和对应的输出类别对所述第一类检测模型和第二类检测模型进行训练,得到具有最优预测效果的第一类检测模型的权重和第二类检测模型的权重。
可选的,通过加权投票得到最终的预测结果的方法为:
(8)
其中,C(x)为当输入为x时对应的最终预测结果,Ncc为第一类检测模型和第二类检测模型的总数,为第n个模型的权重,为当模型cn的输入为x时对应的预测结果属于类别Sj。
可选的,所述第一类检测模型基于SVM模型、决策树模型和K近邻模型训练得到;所述第二类检测模型基于CNN模型和LSTM模型训练得到。
本申请实施例还提供一种网络入侵检测装置,包括:
获取模块,用于获取网络流量;
提取模块,用于从所述网络流量中提取会话统计特征和数据包特征;
第一检测模块,用于将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果;
第二检测模块,用于将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果;
融合模块,用于基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
从上面所述可以看出,本申请实施例提供的网络入侵检测方法及装置,从获取的网络流量中提取会话统计特征和数据包特征,将会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果,将数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果,基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。通过选取最优的多个模型并确定相关参数,融合各模型的预测结果,能够提高检测结果的准确性,避免单模型对预测结果的偏差。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的方法流程示意图;
图2为本申请另一实施例的方法流程示意图;
图3为本申请实施例的模型训练流程示意图;
图4为本申请实施例的装置结构框图;
图5为本申请实施例的电子设备结构框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如图1、2所示,本申请实施例提供一种网络入侵检测方法,包括:
S101:获取网络流量;
本实施例中,从网络环境中获取网络流量,例如,采用抓取工具从网络中抓取由若干PCAP数据包构成的网络流量。
S102:从网络流量中提取会话统计特征和数据包特征;
本实施例中,基于获取的网络流量,通过解析数据包,得到数据包特征,通过按照五元组将网络流量划分为多组会话,从每组会话中提取出会话统计特征,后续将数据包特征和会话统计特征分别输入不同类型的检测模型中进行预测。
一些方式中,从网络流量中提取会话统计特征,包括:
按照五元组将网络流量划分为多组会话;
从每组会话中提取会话统计特征,得到各组会话对应的会话统计特征;
按照预设的降维方法对各组会话对应的会话统计特征进行降维处理,得到降维后的会话统计特征。
本实施例中,基于获取的网络流量,按照五元组将网络流量划分为多组会话,对于每组会话,分别提取出相应的会话统计特征,由于提取出的特征维度较大,需要对提取出的会话统计特征进行降维处理,得到降维后的会话统计特征。其中,五元组包括源IP地址、源端口号、目的IP地址、目的端口号和协议类型,可利用SplitCap工具从网络流量中按照五元组划分出多组会话。之后,从每组会话中提取会话统计特征,基于提取出的会话统计特征进行降维处理。
一些实施方式中,从每组会话中提取会话统计特征,包括:
利用预设的特征提取工具从该组会话中提取多维会话特征;
从提取的多维会话特征中删除源地址、目的地址和方差为0的特征。
本实施例中,将网络流量划分为多组会话之后,对于每组会话,利用特征提取工具从原始的网络流量中提取出共多维会话特征,基于提取出的会话特征,从中删除源IP地址、源MAC地址、目的IP地址和目的MAC地址,用于避免地址信息泄露。除删除的地址特征外,对于其他特征,分别计算各类特征的均值和方差,得到计算结果后,删除方差为0的特征,得到每组会话处理后的会话统计特征,表示为,其中,fi为第i个会话统计特征,为会话统计特征的维度。
其中,方差为0的特征意味着其在整个数据集中都相同,无法提供样本差异的有效信息,这类特征可视为多余的无效特征,有些情况下,此类特征甚至会导致模型无法收敛或得到合理的参数,因而,删除方差为0的特征不仅可提高模型的整体性能,还能减少特征数量,降低模型的复杂度和计算成本。
可选的,特征提取工具可选用CICFlowMeter工具,利用该工具可从网络流量中提取出80余维会话特征,包括从源IP地址到目的IP地址的数据包总数,从目的IP地址到源IP地址的数据包总数,流字节率(是指通过网络或流媒体传输协议传输音视频数据的速率)等。
一些实施例中,从每组会话中提取出会话统计特征之后,对会话统计特征进行降维处理,保留合适的特征,降低特征的数量和复杂度。降维处理包括,首先采用主成分分析方法(principal components analysis,PCA)降低会话统计特征的维度,然后利用皮尔逊(Pearson)相关系数方法(Pearson Correlation Coefficient,PCC)进行特征选择,得到降维处理后的会话统计特征。具体的,采用主成分分析方法时,将数量为的会话统计特征组成nf行ns列的矩阵X,将矩阵X的每一行进行零均值化处理,并计算协方差矩阵B,计算方法为:
(1)
计算协方差矩阵B的特征值和特征向量,将计算出的特征值从大到小排序,从排序后的特征值中选取排在前面的预定数量的特征值,由选取出的特征值对应的特征向量组成降维矩阵P;根据降维矩阵P和会话统计特征,计算降维后的会话统计特征,计算方法为:
(2)
例如,每组会话的会话统计特征经处理后维度为70维,利用主成分分析方法降维处理时,从排序后的特征值中选取50个特征值,由选取出的50个特征值对应的特征向量组成降维矩阵,按照式(2)计算后,得到降维后的50维会话统计特征。
采用主成分分析方法降低会话统计特征的维度之后,从降维后的会话统计特征中进行特征选择,进一步降低特征维度。计算会话统计特征中两两特征和之间的皮尔逊相关系数,计算方法为:
(3)
其中,cov(X,Y)为特征和特征的协方差,和分别表示特征和特征的标准差。
计算出两两特征间的相关系数之后,判断相关系数是否大于预设的相关性阈值,如果是,分别计算两特征与类别标签的相关系数,保留与类别标签的相关系数较大即更为相关的特征;如果否,保留两个特征。按照上述过程进行特征选择后,得到进一步降维后的会话统计特征,后续将降维处理后的会话统计特征输入检测模型中进行预测。
一些实施例中,从网络流量中提取数据包特征,包括:
对网络流量进行解析,得到各数据包的时间戳;
根据各数据包的时间戳,按照时间先后顺序对所有数据包进行排序;
基于排序后的所有数据包,从前向后选取预定数量的数据包;
统计选取出的各数据包的字节数;
将选取出的各数据包的字节数和包方向作为数据包特征;其中,包方向包括从源地址到目的地址的第一方向,和从目的地址到源地址的第二方向。
本实施例中,基于获取的网络流量,通过解析各数据包得到各数据包的时间戳,根据各数据包的时间戳,按照时间先后顺序对所有数据包进行排序,对于排序后的数据包,从前向后选取预定数量的数据包,基于选取出的数据包提取数据包特征。其中,数据包特征包括每个数据包的字节数和包方向。
举例来说,按照时间从前到后的顺序选取出20个数据包,统计每个数据包的字节数,并确定每个数据包的包方向,得到数据包特征Fp={Fp1,Fp2,…,Fp19,Fp20},其中,Fpi是第i个数据包的特征,Fpi包括字节数和包方向两个维度,包方向的取值为0表示从源地址(源IP地址)到目的地址(目的IP地址)的第一方向,取值为1表示从目的地址到源地址的第二方向。一些方式中,如果网络流量中的数据包数量未达到预定数量,则数据包特征中缺失的特征可以按照预设的特征值补齐。例如,数据包的数量未达到20个,则数据包特征中缺失的特征可以补充为[0, -1]。
S103:将会话统计特征分别输入预先构建的多个第一类检测模型中,各第一类检测模型分别输出相应的检测结果;
本实施例中,从网络流量中提取出每组会话的会话统计特征之后,将会话统计特征输入第一类检测模型中,利用第一类检测模型对输入的会话统计特征进行预测,得到相应的检测结果。
其中,第一类检测模型基于SVM模型、决策树模型和K近邻模型训练得到。其中,SVM是一种用于分类和回归分析的有监督学习模型,适用于处理高维、小样本的数据集,具有较好的泛化性能。决策树是一种用于分类和回归分析的有监督学习模型,决策树模型易于理解和解释,适用于分类和回归问题。K近邻是一种基于实例的学习模型,它通过寻找最近的k个邻居来进行分类或回归分析,K近邻模型可以处理非线性数据和多分类问题。
这三种模型各有优劣,适合处理不同类型的数据,且实验验证单独使用这三种方法进行入侵检测时可以取得较好的性能,同时使用这三种模型可以提升检测性能和对不同场景数据的拟合能力。此外,经过前期处理的会话特征基本相互独立,且维度数量适中,适合作为这三种模型的输入。
S104:将数据包特征分别输入预先构建的多个第二类检测模型中,各第二类检测模型分别输出相应的检测结果;
本实施例中,从网络流量中提取出数据包特征之后,将数据包特征输入第二类检测模型中,利用第二类检测模型对输入的数据包特征进行预测,得到相应的检测结果。
其中,第二类检测模型基于CNN模型和LSTM模型训练得到。CNN(卷积神经网络)模型是一种用于图像识别和计算机视觉任务的深度学习模型,适用于图像识别和计算机视觉任务,可以自动提取特征和加速处理。LSTM(长短期记忆)是一种用于序列数据分析的深度学习模型,适用于序列数据分析,可以处理长期依赖关系和保留历史信息。本申请使用CNN模型学习数据包特征的空间特征,使用LSTM模型学习数据包特征的时序特征,同时使用这两种模型可以提升检测性能。
S105:基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
本实施例中,将会话统计特征输入第一类检测模型,得到相应的预测结果,将数据包特征输入第二类检测模型,得到相应的预测结果。之后,基于第一类检测模型的预测结果和模型的权重、第二类检测模型的预测结果和模型的权重,通过加权投票的方式计算最终的预测结果。
一些实施例中,考虑单一模型对分类结果的偏离,综合多种模型对具有多维特征角度的网络流量进行预测分类,提高预测结果的全面准确性。选取五种具有不同特点的待选模型(也称基分类器)通过训练、验证和评估得到第一类检测模型或者第二类检测模型。其中,待选模型包括SVM模型、决策树模型、K近邻模型、CNN模型和LSTM模型。
一些方式中,对待选模型的训练过程包括:
利用预设的参数调优方法选取待选模型的最优参数;
利用分层交叉验证方法迭代训练并验证配置最优参数的待选模型,得到待选模型的预测误差;
当迭代过程中的预测误差小于预设的误差均值时,将待选模型作为候选检测模型;
按照预设的评估方法计算候选检测模型的性能指标;
如果性能指标达到预设的性能阈值,将候选检测模型作为第一类检测模型或者第二类检测模型。
本实施例中,确定五种待选模型之后,对各待选模型进行训练,根据训练结果选取出合适的检测模型。为获得性能最优的模型,对于每种待选模型,训练时采用网格搜索方法选取最优参数,利用分层交叉验证方法迭代训练配置了最优参数的待选模型,每轮迭代后得到模型的预测误差,当某次迭代后得到的预测误差小于误差均值时,将该待选模型作为候选检测模型。其中,误差均值可以是从第一轮迭代开始经过预定数量的迭代次数后,获得每轮迭代过程中得到的预测误差,计算各轮迭代产生的预测误差的均值得到误差均值。
一些方式中,对于SVM模型,需要选取的最优参数包括用于控制损失函数的惩罚系数和核函数的类型kernel;对于决策树模型,需要选取的最优参数包括特征选择的标准criterion和决策树的最大深度max_depth;对于K近邻模型,需要选取的最优参数包括邻居数量k;对于CNN模型,需要选取的最优参数包括卷积核尺寸kernel_size和池化核尺寸pooling_size;对于LSTM模型,需要选取的最优参数包括隐藏层状态的维数hidden_size和LSTM堆叠的层数num_layers。
选取待选模型的最优参数之后,对待选模型的性能进行验证。如图3所示,由于数据样本具有分布不平衡的特点,为防止模型过拟合,采用10折交叉验证方法对配置最优参数的待选模型(对应图中的基分类器)进行迭代训练和验证。先将数据集划分为10个子集,在第次迭代时,第(i+9)mod10个子集作为测试集,第(i+8)mod10个子集作为验证集,其余子集作为训练集;使用训练集和验证集对待选模型进行训练,使用测试集测试待选模型的性能,得到第次迭代的预测误差Ei。按照上述过程迭代10次后,根据10次的预测误差,计算误差均值E,计算方法为:
(4)
在之后的迭代过程中,如果某次迭代后得到的预测误差小于误差均值,将该待选模型作为候选检测模型加入候选模型集合中。
对于五种待选模型,均按照上述过程先选取最优参数,然后利用分层交叉验证方法迭代训练配置最优参数的待选模型,经过10次迭代后确定出误差均值,在后续的迭代训练过程中,如果某个待选模型的预测误差小于该待选模型对应的误差均值,则将该待选模型作为候选检测模型加入候选模型集合中;如果达到预设的迭代次数阈值后,某个待选模型的预测误差仍然大于该待选模型对应的误差均值,则将待选模型舍弃,不再考虑将其作为候选检测模型。
对五种待选模型进行训练和验证后,得到由预测效果较好的候选检测模型构成的候选模型集合C={c1,c2,…,cNc},其中,Nc为候选检测模型的数量。之后,对候选模型集合中的每个候选检测模型进行定量评估,计算每个候选检测模型的性能指标,如果性能指标达到预设的性能阈值,将候选检测模型作为第一类检测模型或者第二类检测模型。
一些实施方式中,采用综合模型精确度和分类能力的性能指标对候选检测模型的性能进行定量评估。其中,计算性能指标的方法为:
(5)
其中,F1为模型的F1分数,AUC(f)为ROC曲线下的面积;F1分数和AUC(f)的计算方法分别为:
(6)
(7)
其中,precision为模型的精准率,recall为模型的召回率;在二分类任务中,D0是反类的集合,D1是正类的集合,t0是D0中的样本,t1是D1中的样本,表示模型f(候选检测模型)对样本t0的预测结果小于对样本t1的预测结果的总数。
按照公式(5)-(7)计算候选模型集合中每个候选检测模型的性能指标,如果候选检测模型的性能指标大于预设的性能阈值,则该候选检测模型可以作为第一类检测模型或者第二类检测模型。例如,如果性能指标达到性能阈值的候选检测模型为SVM模型、决策树模型和K近邻模型中的一种,则该候选检测模型可以作为第一类检测模型,后续将网络流量中提取出的会话统计特征输入该模型,由模型输出相应的预测结果。如果性能指标达到性能指标的后续检测模型为CNN模型或者LSTM模型,则该候选检测模型可以作为第二类检测模型,后续将网络流量中提取出的数据包特征输入该模型,由模型输出相应的预测结果。这样,经过训练验证和评估最终得到的检测模型具有较好的综合性能。
一些方式中,为保证多模型的融合测试效果,计算候选模型集合中每个候选检测模型的性能指标之后,如果性能指标大于性能阈值的候选检测模型的数量小于预设的模型数量阈值,则保留性能指标最大的三个候选检测模型作为第一类检测模型或第二类模型,以保证融合检测效果。
一些实施例中,在筛选出合适的第一类检测模型和第二类检测模型之后,利用预设的输入样本和对应的输出类别对第一类检测模型和第二类检测模型进行训练,得到具有最优预测效果的第一类检测模型的权重和第二类检测模型的权重,用于后续在多模型融合时,根据各模型输出的预测结果和对应的权重,确定最终的预测结果。
一些实施例中,通过加权投票得到最终的预测结果的方法为:
(8)
其中,C(x)为当输入为x时对应的最终预测结果,Ncc为第一类检测模型和第二类检测模型的总数,为模型cn的权重,满足。对于分类任务,模型cn将从类别标记集合S={S1,S2,…,SNL}中预测出一个标记,将模型cn在输入样本x上的预测输出表示为一个NL维向量,为当模型cn的输入为x时对应的预测结果属于类别Sj。
一些方式中,通过模型训练得到各模型的权重同样可利用公式(8)所示方法,在已知模型的输入样本和对应的输出所属类别的训练过程中,计算具有最优融合预测效果的各模型的权重。经过训练确定各模型的权重之后,根据模型的输入和模型的权重,计算融合后的最终预测结果。一些方式中,由于各模型输出的概率形式可能不同,在融合多模型的预测结果时,先将各模型输出的概率结果进行统一化处理,再基于统一化的结果和模型对应的权重确定最终的预测结果。
一些方式中,融合各模型的预测结果的方法是综合每个模型对于预测结果的概率得到的。其中,单模型对于预测结果的概率为:
(9)
其中,为当模型cn的输入为xi时对应的输出为yi,且yi属于类别Sj的概率,NL为类别的数量,为模型cn对输出属于类别Sj的期待输出。
所有模型对于预测结果的概率之和为:
(10)
其中,公式(9)可以理解为单模型对于特定类别的投票数,公式(10)可以理解为所有模型对于特定类别的投票总数。
本申请实施例提供的网络入侵检测方法,从获取的网络流量中提取会话统计特征和数据包特征,综合整体和局部的网络流量和攻击特性;利用多个第一类检测模型基于输入的会话统计特征进行预测,利用多个第二类检测模型基于输入的数据包统计特征进行预测;再融合各个模型的预测结果和确定出的权重,确定最终的预测结果,能够避免单模型对于预测结果的偏向性,提高检测准确性。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图4所示,本申请实施例还提供一种网络入侵检测装置,包括:
获取模块,用于获取网络流量;
提取模块,用于从所述网络流量中提取会话统计特征和数据包特征;
第一检测模块,用于将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果;
第二检测模块,用于将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果;
融合模块,用于基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种网络入侵检测方法,其特征在于,包括:
获取网络流量;
从所述网络流量中提取会话统计特征和数据包特征;
将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果;
将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果;
基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
2.根据权利要求1所述的方法,其特征在于,从所述网络流量中提取会话统计特征,包括:
按照五元组将所述网络流量划分为多组会话;
从每组会话中提取会话统计特征,得到各组会话对应的会话统计特征;
按照预设的降维方法对各组会话对应的会话统计特征进行降维处理,得到降维后的会话统计特征。
3.根据权利要求2所述的方法,其特征在于,所述从每组会话中提取会话统计特征,包括:
利用预设的特征提取工具从该组会话中提取多维会话特征;
从提取的多维会话特征中删除源地址、目的地址和方差为0的特征,得到该组会话的会话统计特征。
4.根据权利要求1所述的方法,其特征在于,从所述网络流量中提取数据包特征,包括:
对所述网络流量进行解析,得到各数据包的时间戳;
根据各数据包的时间戳,按照时间先后顺序对所有数据包进行排序;
基于排序后的所有数据包,从前向后选取预定数量的数据包;
统计选取出的各数据包的字节数;
将选取出的各数据包的字节数和包方向作为所述数据包特征;其中,所述包方向包括从源地址到目的地址的第一方向,和从目的地址到源地址的第二方向。
5.根据权利要求1所述的方法,其特征在于,所述获取网络流量之前,包括:
利用预设的参数调优方法选取待选模型的最优参数;
利用分层交叉验证方法迭代训练并验证配置所述最优参数的待选模型,得到所述待选模型的预测误差;
当迭代过程中的预测误差小于预设的误差均值时,将所述待选模型作为候选检测模型;
按照预设的评估方法计算所述候选检测模型的性能指标;
如果所述性能指标达到预设的性能阈值,将所述候选检测模型作为所述第一类检测模型或者第二类检测模型。
6. 根据权利要求5所述的方法,其特征在于,计算所述性能指标的方法为:
(5)
其中,F1为模型的F1分数,AUC(f)为ROC曲线下的面积。
7.根据权利要求5所述的方法,其特征在于,将所述候选检测模型作为第一类检测模型或者第二类检测模型之后,还包括:
利用预设的输入样本和对应的输出类别对所述第一类检测模型和第二类检测模型进行训练,得到具有最优预测效果的第一类检测模型的权重和第二类检测模型的权重。
8. 根据权利要求1或7所述的方法,其特征在于,通过加权投票得到最终的预测结果的方法为:
(8)
其中,C(x)为当输入为x时对应的最终预测结果,Ncc为第一类检测模型和第二类检测模型的总数,为第n个模型的权重,为当模型cn的输入为x时对应的预测结果属于类别Sj。
9.根据权利要求1所述的方法,其特征在于,所述第一类检测模型基于SVM模型、决策树模型和K近邻模型训练得到;所述第二类检测模型基于CNN模型和LSTM模型训练得到。
10.一种网络入侵检测装置,其特征在于,包括:
获取模块,用于获取网络流量;
提取模块,用于从所述网络流量中提取会话统计特征和数据包特征;
第一检测模块,用于将所述会话统计特征输入预先构建的至少一个第一类检测模型中,各第一类检测模型输出相应的预测结果;
第二检测模块,用于将所述数据包特征输入预先构建的至少一个第二类检测模型中,各第二类检测模型输出相应的预测结果;
融合模块,用于基于各第一类检测模型的预测结果及相应的权重、各第二类检测模型的预测结果及相应的权重,通过加权投票得到最终的预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310267053.9A CN115987689B (zh) | 2023-03-20 | 2023-03-20 | 一种网络入侵检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310267053.9A CN115987689B (zh) | 2023-03-20 | 2023-03-20 | 一种网络入侵检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987689A true CN115987689A (zh) | 2023-04-18 |
CN115987689B CN115987689B (zh) | 2023-06-27 |
Family
ID=85965138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310267053.9A Active CN115987689B (zh) | 2023-03-20 | 2023-03-20 | 一种网络入侵检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987689B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070122347A1 (en) * | 2005-08-26 | 2007-05-31 | Vanderbilt University Medical Center | Method and system for automated supervised data analysis |
CN106973038A (zh) * | 2017-02-27 | 2017-07-21 | 同济大学 | 基于遗传算法过采样支持向量机的网络入侵检测方法 |
US20200076841A1 (en) * | 2018-09-05 | 2020-03-05 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
CN111314329A (zh) * | 2020-02-03 | 2020-06-19 | 杭州迪普科技股份有限公司 | 流量入侵检测系统和方法 |
CN111553381A (zh) * | 2020-03-23 | 2020-08-18 | 北京邮电大学 | 基于多网络模型的网络入侵检测方法、装置及电子设备 |
CN112668688A (zh) * | 2020-12-30 | 2021-04-16 | 江西理工大学 | 一种入侵检测方法、系统、设备及可读存储介质 |
CN113079167A (zh) * | 2021-04-12 | 2021-07-06 | 西北工业大学 | 一种基于深度强化学习的车联网入侵检测方法及系统 |
CN113378961A (zh) * | 2021-06-23 | 2021-09-10 | 中移(杭州)信息技术有限公司 | 网络流量识别方法、装置、设备以及计算机程序产品 |
CN113591085A (zh) * | 2021-07-27 | 2021-11-02 | 深圳市纽创信安科技开发有限公司 | 安卓恶意应用检测方法、装置及设备 |
CN113660267A (zh) * | 2021-08-17 | 2021-11-16 | 电子科技大学 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
CN113688385A (zh) * | 2021-07-20 | 2021-11-23 | 电子科技大学 | 轻量级分布式入侵检测方法 |
CN115632808A (zh) * | 2022-09-01 | 2023-01-20 | 网络通信与安全紫金山实验室 | 针对入侵检测模型的威胁感知方法及装置 |
CN115801374A (zh) * | 2022-11-09 | 2023-03-14 | 中国科学院自动化研究所 | 网络入侵数据分类方法、装置、电子设备及存储介质 |
-
2023
- 2023-03-20 CN CN202310267053.9A patent/CN115987689B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070122347A1 (en) * | 2005-08-26 | 2007-05-31 | Vanderbilt University Medical Center | Method and system for automated supervised data analysis |
CN106973038A (zh) * | 2017-02-27 | 2017-07-21 | 同济大学 | 基于遗传算法过采样支持向量机的网络入侵检测方法 |
US20200076841A1 (en) * | 2018-09-05 | 2020-03-05 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
CN111314329A (zh) * | 2020-02-03 | 2020-06-19 | 杭州迪普科技股份有限公司 | 流量入侵检测系统和方法 |
CN111553381A (zh) * | 2020-03-23 | 2020-08-18 | 北京邮电大学 | 基于多网络模型的网络入侵检测方法、装置及电子设备 |
CN112668688A (zh) * | 2020-12-30 | 2021-04-16 | 江西理工大学 | 一种入侵检测方法、系统、设备及可读存储介质 |
CN113079167A (zh) * | 2021-04-12 | 2021-07-06 | 西北工业大学 | 一种基于深度强化学习的车联网入侵检测方法及系统 |
CN113378961A (zh) * | 2021-06-23 | 2021-09-10 | 中移(杭州)信息技术有限公司 | 网络流量识别方法、装置、设备以及计算机程序产品 |
CN113688385A (zh) * | 2021-07-20 | 2021-11-23 | 电子科技大学 | 轻量级分布式入侵检测方法 |
CN113591085A (zh) * | 2021-07-27 | 2021-11-02 | 深圳市纽创信安科技开发有限公司 | 安卓恶意应用检测方法、装置及设备 |
CN113660267A (zh) * | 2021-08-17 | 2021-11-16 | 电子科技大学 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
CN115632808A (zh) * | 2022-09-01 | 2023-01-20 | 网络通信与安全紫金山实验室 | 针对入侵检测模型的威胁感知方法及装置 |
CN115801374A (zh) * | 2022-11-09 | 2023-03-14 | 中国科学院自动化研究所 | 网络入侵数据分类方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈红松;陈京九;: "基于ResNet和双向LSTM融合的物联网入侵检测分类模型构建与优化研究", 湖南大学学报(自然科学版), no. 08 * |
Also Published As
Publication number | Publication date |
---|---|
CN115987689B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112003870B (zh) | 一种基于深度学习的网络加密流量识别方法及装置 | |
TWI672925B (zh) | 網路異常事件分析裝置、方法及其電腦程式產品 | |
CN106290378B (zh) | 缺陷分类方法和缺陷检查系统 | |
CN109446804B (zh) | 一种基于多尺度特征连接卷积神经网络的入侵检测方法 | |
CN110502677B (zh) | 一种设备识别方法、装置及设备、存储介质 | |
CN116662817B (zh) | 物联网设备的资产识别方法及系统 | |
CN114386514B (zh) | 基于动态网络环境下的未知流量数据识别方法及装置 | |
CN113762377B (zh) | 网络流量识别方法、装置、设备及存储介质 | |
CN110826617A (zh) | 态势要素分类方法及其模型的训练方法、装置及服务器 | |
CN111291817A (zh) | 图像识别方法、装置、电子设备和计算机可读介质 | |
Monshizadeh et al. | Improving data generalization with variational autoencoders for network traffic anomaly detection | |
CN115545103A (zh) | 异常数据识别、标签识别方法和异常数据识别装置 | |
CN112910890B (zh) | 基于时间卷积网络的匿名网络流量指纹识别方法及设备 | |
CN115987689B (zh) | 一种网络入侵检测方法及装置 | |
CN114998330B (zh) | 无监督的晶圆缺陷检测方法、装置、设备及存储介质 | |
CN115033893A (zh) | 一种改进型聚类算法的信息漏洞数据分析方法 | |
Wan et al. | DevTag: A benchmark for fingerprinting IoT devices | |
CN114372536A (zh) | 未知网络流量数据识别方法、装置、计算机设备和存储介质 | |
CN116155630B (zh) | 恶意流量识别方法及相关设备 | |
US20240028932A1 (en) | Translation-based algorithm for generating global and efficient counterfactual explanations in artificial intelligence | |
CN113141364B (zh) | 一种加密流量分类方法、系统、设备及可读存储介质 | |
US20220101625A1 (en) | In-situ detection of anomalies in integrated circuits using machine learning models | |
CN116055092A (zh) | 一种隐蔽隧道攻击行为检测方法和装置 | |
CN115208595A (zh) | 一种检测方法、装置、设备以及存储介质 | |
CN117113182A (zh) | 分布外数据检测方法、装置、计算机设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Gao Yuanchen Inventor after: Xu Guosheng Inventor after: Xu Guoai Inventor before: Gao Yuanchen |