CN115695046B - 一种基于增强集成学习的网络入侵检测方法 - Google Patents

一种基于增强集成学习的网络入侵检测方法 Download PDF

Info

Publication number
CN115695046B
CN115695046B CN202211687748.4A CN202211687748A CN115695046B CN 115695046 B CN115695046 B CN 115695046B CN 202211687748 A CN202211687748 A CN 202211687748A CN 115695046 B CN115695046 B CN 115695046B
Authority
CN
China
Prior art keywords
network
network flow
flow
model
ensemble learning
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.)
Active
Application number
CN202211687748.4A
Other languages
English (en)
Other versions
CN115695046A (zh
Inventor
谭帅帅
刘文印
姜达成
余海坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202211687748.4A priority Critical patent/CN115695046B/zh
Publication of CN115695046A publication Critical patent/CN115695046A/zh
Application granted granted Critical
Publication of CN115695046B publication Critical patent/CN115695046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于增强集成学习的网络入侵检测方法,包括:构建网络流长度预测模型;构建集成学习模型;基于所述集成学习模型,构建网络入侵检测模型;将网络流输入所述网络流长度预测模型,获取预测流长度;基于所述预测流长度,调整所述网络入侵检测模型的决策曲面,基于调整后的所述网络入侵检测模型,对所述网络流进行检测,判定所述网络流是恶意流还是正常流。现有的流量分析系统能够基于本发明,实现物联网设备通信交互过程中的实时攻击检测和防御,在发现入侵时提前作出防御,避免被入侵,并降低误报率,避免影响实际生产中的正常网络通信流量。

Description

一种基于增强集成学习的网络入侵检测方法
技术领域
本发明属于流量监测技术领域,尤其涉及一种基于增强集成学习的网络入侵检测方法。
背景技术
现有的网络入侵检测系统采用机器学习模型对网络流进行分析,以检查协议数据单元等的方式对已经传输完成的网络流进行特征值提取,根据特征值判断网络流是否为恶意流,并告知系统。
但是在实际过程中,系统通过解析传输完成后的网络流进行检测,这会导致当系统检测出异常流并发出警报时,入侵已经发生。除此之外,系统还有可能将正常的网络流当作恶意流,然后中断其正常通信,从而导致影响正常通信。
发明内容
为解决上述技术问题,本发明提出了一种基于增强集成学习的网络入侵检测方法,在设备通信过程中实现实时流量监测,并有效控制误报率。本发明利用深度神经网络预测短时间范围内的网络流长度,同时建立基于模型链的增强集成学习算法来判断网络流是否为恶意流量。
为实现上述目的,本发明提供了一种基于增强集成学习的网络入侵检测方法,包括:
构建网络流长度预测模型,将网络流输入所述网络流长度预测模型,获取预测流长度;
构建集成学习模型;
基于所述集成学习模型,构建网络入侵检测模型;
基于所述预测流长度,调整所述网络入侵检测模型的决策曲面,基于调整后的所述网络入侵检测模型,对所述网络流进行检测,完成网络流分类与预警。
可选地,构建所述网络流长度预测模型包括:
构建第一网络流集合;
提取所述第一网络流集合的特征值;
获取所述网络流集合中每个网络流的区间值;
构建DNN深度神经网络模型;
基于所述特征值和区间值,对所述DNN深度神经网络模型进行训练,获取所述网络流长度预测模型。
可选地,所述特征值包括但不限于:出站数据包数量、入站数据包数量、双向数据包数量、总入站字节数、最小入站字节数、最大入站字节数、平均入站字节数、入站字节的标准偏差、出站字节总数、最小出站字节数、最大出站字节数、平均出站字节数、出站字节的标准差、双向字节总数、最小双向字节数、最大双向字节数、平均双向字节数、双向字节的标准差、入站数据包数与出站数据包数比、入站字节数与出站字节数的比率、目的端口、入站数据包中的PSH标志数、出站数据包中的PSH标志数、双向数据包中的PSH标志数和双向数据包中的URG标志数。
可选地,获取所述网络流集合中每个网络流的区间值包括:
对所述网络流集合进行遍历,获取网络流长度阈值;
基于所述网络流长度阈值,获取每个网络流的所述区间值;
所述网络流长度阈值为:
Figure SMS_1
其中,
Figure SMS_3
为网络流长度阈值;/>
Figure SMS_5
为实际的网络流长度;/>
Figure SMS_9
为分位数数量;/>
Figure SMS_4
为网络流样本数量;/>
Figure SMS_7
为返回/>
Figure SMS_8
、/>
Figure SMS_10
中较小的值;/>
Figure SMS_2
为返回在已排序的网络流长度序列中第/>
Figure SMS_6
个;
所述区间值为:
Figure SMS_11
其中,
Figure SMS_12
为第/>
Figure SMS_13
个网络流的区间值;/>
Figure SMS_14
为流长度;/>
Figure SMS_15
为范围区间;/>
Figure SMS_16
返回流集合中最小流的长度;/>
Figure SMS_17
表示对i进行向上取整操作。
可选地,构建所述集成学习模型包括:
构建第二网络流集合,获取所述第二网络流集合的第一向量;其中,所述第一向量用于表征所述第二网络流集合中的网络流是否为恶意流;
构建第三网络流集合;其中,所述第三网络流集合中的网络流为被误报的网络流,即正常流被预测为恶意流;
构建所述集成学习模型;所述集成学习模型包括若干独立学习器子模型;
基于所述第二网络流集合、第一向量和第三网络流,对所述集成学习模型进行训练,并调整训练后的所述集成学习模型中各个独立学习器的决策权重。
可选地,对所述集成学习模型进行训练包括:
对所述第二网络流集合进行网络流提取,获取第一数据集;
提取所述第一数据集中每个流的特征值,获取第一矩阵;
基于所述第一矩阵和所述第一向量,构建训练集;
基于所述训练集,对所述集成学习模型进行训练,获取训练后的所述集成学习模型。
可选地,调整训练后的所述集成学习模型中各个独立学习器的决策权重包括:
对所述第三网络流集合进行网络流提取,获取第二数据集;
提取所述第二数据集中每个流的特征值,获取第二矩阵;
将所述第二矩阵输入训练后的所述集成学习模型,对所述第二数据集进行预测,获取所述集成学习模型中独立学习器子模型的误报率;
基于所述误报率,获取所述独立学习器子模型的决策权重,完成决策权重的调整。
可选地,所述独立学习器子模型的误报率为:
Figure SMS_18
其中,
Figure SMS_19
为第/>
Figure SMS_20
个独立学习器的误报率,False Positives为将恶意流被识别为正常流的个数;True Negatives为将恶意流被识别为恶意流的个数,/>
Figure SMS_21
为第三网络流集合中流的个数;
所述独立学习器子模型的决策权重为:
Figure SMS_22
其中,
Figure SMS_23
为决策权重,1-/>
Figure SMS_24
为第/>
Figure SMS_25
个独立学习器的正确预报率,/>
Figure SMS_26
为所有独立学习器正确预报率之和。
可选地,对所述网络流进行检测包括:
获取所述网络流的预警阈值;
基于所述网络入侵检测模型,对所述网络流进行检测,获取输出值;
若所述输出值大于所述预警阈值,则表明所述网络流为恶意流,中止循环,输出警报;
若所述输出值小于所述预警阈值,则表明所述网络流为正常流,进行下一次的检测。
可选地,所述预警阈值为:
Figure SMS_27
其中,
Figure SMS_28
为默认预警阈值;K为检测间隔;/>
Figure SMS_29
为衰减因子;L为预测流长度。
与现有技术相比,本发明具有如下优点和技术效果:
本发明基于深度神经网络构建网络流长度预测模型,根据首个数据包的特征预测小范围内的网络流长度,实现了实时的网络流预测,从而提升预测准确性;设置网络流长度阈值,对较长的网络流进行调整,避免错误预测,基于增强集成学习构建网络入侵检测模型,使用多个独立学习器进行训练,增加适应集来测试独立学习器的学习效果,并根据学习效果来决定其决策权重,从而提升决策准确率,提升学习效果。本发明结合以上两种方法,在检测过程中,首先根据首个接收到的数据包,预测网络流长度,并由此调整各个模型的决策曲面;其次,对实时接受到的网络流进行检测,提取其特征值进行计算,判断其是否为恶意流。现有的流量分析系统能够基于本发明,实现物联网设备通信交互过程中的实时攻击检测和防御,在发现入侵时提前作出防御,避免被入侵,并降低误报率,避免影响实际生产中的正常网络通信流量。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例的一种基于增强集成学习的网络入侵检测方法流程示意图;
图2为本发明实施例的集成学习框架示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本发明提出一种基于增强集成学习的网络入侵检测方法,包括:
构建网络流长度预测模型,将正在传输中的网络流输入所述网络流长度预测模型,获取预测流长度;
构建集成学习模型;
基于所述集成学习模型,构建网络入侵检测模型;
基于所述预测流长度,调整所述网络入侵检测模型的决策曲面,基于调整后的所述网络入侵检测模型,对所述网络流进行检测,完成网络流检测与预警。
进一步地,构建所述网络流长度预测模型包括:
构建第一网络流集合;
提取所述第一网络流集合中的特征值;
获取所述网络流集合中每个网络流的区间值;
构建深度神经网络模型;
基于所述特征值和区间值,对所述深度神经网络模型进行训练,获取所述网络流长度预测模型。
进一步地,所述特征值包括但不限于:出站数据包数量、入站数据包数量、双向数据包数量、总入站字节数、最小入站字节数、最大入站字节数、平均入站字节数、入站字节的标准偏差、出站字节总数、最小出站字节数、最大出站字节数、平均出站字节数、出站字节的标准差、双向字节总数、最小双向字节数、最大双向字节数、平均双向字节数、双向字节的标准差、入站数据包数与出站数据包数比、入站字节数与出站字节数的比率、目的端口、入站数据包中的PSH标志数、出站数据包中的PSH标志数、双向数据包中的PSH标志数和双向数据包中的URG标志数。
进一步地,获取所述网络流集合中每个网络流的区间值包括:
对所述网络流集合进行遍历,获取网络流长度阈值;
基于所述网络流长度阈值,获取每个网络流的所述区间值;
进一步地,构建所述集成学习模型包括:
构建第二网络流集合,获取所述第二网络流集合的第一向量;其中,所述第一向量用于表征所述第二网络流集合中的网络流是否为恶意流;
构建第三网络流集合;其中,所述第三网络流集合中的网络流为被误报的网络流,即正常流被预测为恶意流;
构建所述集成学习模型;所述集成学习模型包括若干独立学习器子模型;
基于所述第二网络流集合、第一向量和第三网络流,对所述集成学习模型进行训练,并调整训练后的所述集成学习模型中各个独立学习器的决策权重。
进一步地,对所述集成学习模型进行训练包括:
对所述第二网络流集合进行网络流提取,获取第一数据集;
提取所述第一数据集中每个流的特征值,获取第一矩阵;
基于所述第一矩阵和所述第一向量,构建训练集;
基于所述训练集,对所述集成学习模型进行训练,获取训练后的所述集成学习模型。
进一步地,调整训练后的所述集成学习模型中各个独立学习器的决策权重包括:
对所述第三网络流集合进行网络流提取,获取第二数据集;
提取所述第二数据集中每个流的特征值,获取第二矩阵;
将所述第二矩阵输入训练后的所述集成学习模型,对所述第二数据集进行预测,获取所述集成学习模型中独立学习器子模型的误报率;
基于所述误报率,获取所述独立学习器子模型的决策权重,完成决策权重的调整。
进一步地,对所述网络流进行检测包括:
获取所述网络流的预警阈值;
基于所述网络入侵检测模型,对所述网络流进行检测,获取输出值;
若所述输出值大于所述预警阈值,则表明所述网络流为恶意流,中止循环,输出警报;
若所述输出值小于所述预警阈值,则表明所述网络流为正常流,进行下一次的检测。
实施例
本实施例实现了在物联网设备通信过程中实时流量监测、并有效控制误报率。系统会利用深度神经网络预测短时间范围内的网络流长度,同时建立基于增强集成学习的网络入侵检测模型来判断网络流是否为恶意流。
本实施例的详细步骤如下:
S1 训练网络流长度预测模型
在此步骤中,提出了基于深度神经网络的网络流长度预测模型,其能够通过观察较少的网络流来预测未来一段时间的网络流长度,从而指导S3建立的网络入侵检测模型。算法能够通过观察较少的网络流,预测未来一段时间的网络流长度;提出了节流机制,避免因少量较长的网络网络流导致的预测错误。
S11 构建一个网络流集合(以下简称“训练集”,即第一网络流集合)
Figure SMS_30
其中,网络流集合有
Figure SMS_31
个网络流,其中每个网络流包含不定数量的数据包。/>
Figure SMS_32
为每个流中包的个数,/>
Figure SMS_33
包的定义:TCP/IP协议通信传输中的数据单位,一般也称“数据包”。单个消息被划分为多个数据块,这些数据块称为包,它包含发送者和接收者的地址信息。这些包然后沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合。
网络流的定义:用户在使用应用过程中需要传输的数据,数据通过应用层、传输层、网络层、数据链路层、物理层,传输到对方用户应用中。具体表现为两台设备的一次连接的开始到该连接的关闭。一个连接过程中会发送m个包,包的数量不确定,大小不确定,又称为网络会话。
流长度的定义:网络流中包的数量。
对于训练集中的每个流:
S12 提取
Figure SMS_34
的特征值,存储于特征值矩阵/>
Figure SMS_35
中。
其中,共提取j个特征值,这特征值矩阵的大小为
Figure SMS_36
特征值包括但不限于出站数据包数量、入站数据包数量、双向数据包数量、总入站字节数、最小入站字节数、最大入站字节数、平均入站字节数、入站字节的标准偏差、出站字节总数、最小出站字节数、最大出站字节数、平均出站字节数、出站字节的标准差、双向字节总数、最小双向字节数、最大双向字节数、平均双向字节数、双向字节的标准差、入站数据包数与出站数据包数比、入站字节数与出站字节数的比率、目的端口、入站数据包中的PSH标志数、出站数据包中的PSH标志数、双向数据包中的PSH标志数、双向数据包中的URG标志数。
对每个流的长度进行调整,目的是为了避免因突然出现的长网络流导致预测错误。
S131 进行遍历,从
Figure SMS_37
开始,步长为1,直至/>
Figure SMS_38
停止,计算网络流长度阈值,公式如下:
Figure SMS_39
其中,
Figure SMS_40
为网络流长度阈值;/>
Figure SMS_44
为实际的网络流长度;/>
Figure SMS_46
为分位数数量,可以自行设定;/>
Figure SMS_41
为网络流样本数量;/>
Figure SMS_43
返回/>
Figure SMS_47
、/>
Figure SMS_48
中较小的值;/>
Figure SMS_42
返回在已排序的网络流长度序列中第/>
Figure SMS_45
个。
举例说明:比如有10个流,他们的长度分别为23、29、34、80、32、19、40、38、49、29,若 q 设定为5,第2分位点的值为24.2(公式表达:
Figure SMS_49
),则第4个流的长度调整为49。调整后,10个流的长度为23、29、34、49、32、19、40、38、49、29。
将每个流长度进行分箱,目的是将连续的流长度值转变为离散值,便于机器学习模型处理。
S132 进行遍历,从
Figure SMS_50
开始,步长为1,直至/>
Figure SMS_51
停止,计算每个流的区间值,公式如下:
Figure SMS_52
其中,
Figure SMS_53
为第/>
Figure SMS_54
个网络流的区间值,用于决定离散化的区间范围;/>
Figure SMS_55
为流长度;/>
Figure SMS_56
为范围区间,自行选取,建议设定为5;/>
Figure SMS_57
返回流集合中最小流的长度;
Figure SMS_58
表示对i进行向上取整操作。
例如,假设一个流调整后的长度是32,集合中流的调整后的长度最小值是19,
Figure SMS_59
取5,则该流的区间值为/>
Figure SMS_60
S14 建立深度神经网络
S141 初始化深度神经网络,设置总层数为32层,隐藏层的神经元个数为64,sotfmax层的神经元个数为x,激活函数为ReLU激活函数,
Figure SMS_61
;损失函数为对数似然损失函数,如下图所示;迭代步长为/>
Figure SMS_62
,最大迭代次数MAX,停止迭代阈值/>
Figure SMS_63
损失函数:
Figure SMS_64
S142 训练深度神经网络,将流特征值
Figure SMS_65
(作为特征域)、区间值/>
Figure SMS_66
(作为标签域,一维向量)作为输入,采用梯度下降法对模型进行训练。
其中,
Figure SMS_67
为S12中提取的网络流特征值,/>
Figure SMS_68
为第/>
Figure SMS_69
个网络流的区间值。
S143 得到训练好的深度神经网络。
S2 训练增强集成学习模型
首先介绍下大概步骤:
集成学习的定义:集成学习是一种为了提高模型的预测效果,通过训练多个单一学习器,并加以一定的集成策略,得到一个泛化性优良的强学习器。
本实施例采用的是基于Bagging的算法,该算法给定一个弱学习算法和一个训练集,由于单个弱学习算法准确率不高,因此设置多个独立学习器,采用投票的方式进行决策。但是,在实际应用中,这样会导致误报率较高,因此本发明将决策方式调整为对每个独立学习器给予权重,最终的决策结果根据权重计算结果给出。
其中,弱学习算法可以是任意一个学习算法;决策权重,由适应集的训练结果的误报率计算得出。集成学习框架如图2所示。
模型链的解释与应用:
为实现实时检测流,本实施例提出了模型链机制。即不同于以往的集成学习算法,只有一个基础模型,其中有n个独立学习器,通过训练以后给出结果。而是提出了综合模型的概念,综合模型中包含m个基础模型,每一个基础模型中有n个独立学习器。每个基础模型中的独立学习器的参数各不相同。
模型链的定义:
基础模型:
Figure SMS_70
综合模型:
Figure SMS_71
Figure SMS_72
:/>
Figure SMS_73
在实际的应用中,用综合模型对n个流进行检测。将网络流每
Figure SMS_74
个数据包进行提取一次,并存于训练集/适应集中,分别由第i个基础模型来进行训练。这样能够实现实时检测,当前几次就发现网络流为恶意的时候就输出并停止检测。
因此,训练集并不是一个固定的集合,而是在每次训练前更新。
构建训练集和适应集:
训练集、适应集由多个样本组成,样本为{[特征值],
Figure SMS_75
},与步骤S142输入的一致。
训练集构建过程:(适应集相似,具体看步骤即可)
首先,需要构建一个网络流集合
Figure SMS_76
其中,,
Figure SMS_77
有/>
Figure SMS_78
个网络流,每个网络流有不定数量(m)的数据包。/>
Figure SMS_79
为每个网络流中数据包的个数,/>
Figure SMS_80
其次,进行遍历,从
Figure SMS_81
,步长为1,直至i增长到m停止。
其中,m为模型链中综合模型的个数
再次,在每次循环中提取
Figure SMS_82
中每个流的前 />
Figure SMS_83
个数据包,存储到训练集
Figure SMS_84
中。
最后,提取训练集特征值,并输入到第i个基础模型中进行学习,得到训练好的基础模型。
S2训练增强集成学习模型
S21 构建一个用于训练的流集合,即第二网络流集合,
Figure SMS_85
,及记录网络流是否为恶意流量的向量/>
Figure SMS_86
;即第一向量。
其中,
Figure SMS_88
中有n个流,其中每个流包含j个数据包;/>
Figure SMS_91
(一维向量)中有n个值,/>
Figure SMS_93
与/>
Figure SMS_89
(流集合中第i个流)相对应,取值范围为{0,1},当/>
Figure SMS_90
=0时,表示/>
Figure SMS_92
为正常流,当/>
Figure SMS_94
=1,表示/>
Figure SMS_87
为恶意流。
S22 构建一个用于调整决策权重的网络流集合
Figure SMS_95
,即第三网络流集合,及记录网络流是否为恶意流量的向量/>
Figure SMS_96
;即第二向量。
其中,
Figure SMS_97
中有k个流,其中每个流包含j个数据包,n与k的比值可以为10:1;/>
Figure SMS_98
中有k个值,/>
Figure SMS_99
与/>
Figure SMS_100
相对应,取值为1,即意味着/>
Figure SMS_101
中的流均为恶意流,目的是用于计算训练后基础模型(独立学习器)的误报率。
其中,S11、S21 构建的用于训练网络流集合可以为同一个集合,均表达为:其中共有n个网络流,每个网络流有m个包(m不固定);S22 构建的用于调整决策的网络流集合,其中包含的流均为会被误报的流(即正常流被预测为恶意流),其数量为S11、S21的1/10。
S23 选取任意(可以只有一类)的弱学习器模型
S24 使用S23中选取的弱学习器模型构建基于Bagging算法的集成学习框架;
其中,集成学习框架(或综合模型)
Figure SMS_102
中共有n个独立学习器(或基础模型)/>
Figure SMS_103
;每个框架的决策策略为为各个独立学习器设置权重/>
Figure SMS_104
,进行加权求和,如果预测结果
Figure SMS_105
大于预计的阈值,则报警,若小于阈值,则进行一次检测。
S25 重复S24,建立m个集成学习框架,记为
Figure SMS_106
其中,
Figure SMS_107
S26 进行遍历,从i=1开始,步长为1,直至i=m停止。对每一个集成学习框架进行训练,并调整决策权重参数
Figure SMS_108
。具体步骤如下:
提取训练集的网络流,用于训练独立学习器。
S261 提取
Figure SMS_109
中每个流的前/>
Figure SMS_110
个数据包,存储到/>
Figure SMS_111
中,即第一数据集;
其中,K为常数,自行设定,在本实施例中可设定为10。
举例说明:当
Figure SMS_112
时,第1次循环会提取/>
Figure SMS_113
每个流的前1*10=10个数据包,不修改/>
Figure SMS_114
的数据。同理,第4次循环会提取每个流前40个数据包。
提取适应集的网络流,用于计算独立学习器的误报率。
S262 提取
Figure SMS_115
中每个流的前/>
Figure SMS_116
个数据包,存储到/>
Figure SMS_117
中,即第二数据集。
其中,K为常数,自行设定,需要与S261中的K值一致
S263 提取
Figure SMS_118
中每个流的特征值,并存储在矩阵/>
Figure SMS_119
中,
即第一矩阵。
其中,矩阵
Figure SMS_120
的大小为/>
Figure SMS_121
,n为流的数量,j为特征值个数。
S264 提取
Figure SMS_122
中每个流的特征值,并存储在矩阵/>
Figure SMS_123
中,即第二矩阵。
S265 将S263中提取的
Figure SMS_124
与/>
Figure SMS_125
组成为训练集[/>
Figure SMS_126
]。并将训练集输入至S25中建立的第i个集成学习框架/>
Figure SMS_127
中,用于训练,并得到训练好的集成学习框架/>
Figure SMS_128
说明:集成学习框架
Figure SMS_129
中有n个独立学习器,假设赋予每个独立学习器一个编号,取值范围为/>
Figure SMS_130
,则第i个独立学习器对应每个流的前/>
Figure SMS_131
个包,每个独立学习器通过学习流的特征值来预测其是否恶意,从而应用在实际场景中。
集成学习框架
Figure SMS_132
共有m个,每一个集成学习框架按照顺序,依次对应提取后的流。例如/>
Figure SMS_133
时,由/>
Figure SMS_134
对流集合中的每一个流的前10个(假设/>
Figure SMS_135
)数据包组成的流的特征值进行学习;/>
Figure SMS_136
时,由/>
Figure SMS_137
对流集合中的每一个流的前60个数据包组成的流的特征值进行学习。
S266 将S264中提取的的
Figure SMS_138
输入至S265中训练好的集成学习框架/>
Figure SMS_139
中,让其中的独立学习器分别对/>
Figure SMS_140
进行预测,并计算每一个独立学习器的误报率,具体步骤如下:
S2661 遍历,从
Figure SMS_141
开始,步长为1,直至/>
Figure SMS_142
停止。让每一个独立学习器(共
Figure SMS_143
个)预测/>
Figure SMS_144
(预测同一个流)是否为恶意流。具体步骤如下:
S26611 第j个独立学习器依次将
Figure SMS_145
中的特征值作为输入,进行预测并给出结果,存储在/>
Figure SMS_146
中。
其中,
Figure SMS_147
为{/>
Figure SMS_148
提取的特征值,大小为/>
Figure SMS_149
,k为流数量,j为特征值数量;
Figure SMS_150
为第j个独立学习器的预测结果,用于计算误报率。
S26612 计算第
Figure SMS_151
个独立学习器的误报率/>
Figure SMS_152
,具体公式如下:
Figure SMS_153
/>
其中,False Positives指将恶意流被识别为正常流的个数;True Negatives指将恶意流被识别为恶意流的个数。由上述前文易知,
Figure SMS_154
中均为恶意流样本,因此
Figure SMS_155
的值为/>
Figure SMS_156
中流的个数。
S2662 遍历,从
Figure SMS_157
开始,步长为1,直至/>
Figure SMS_158
停止。根据S26612计算的误报率
Figure SMS_159
,计算第/>
Figure SMS_160
个独立学习器的决策权重/>
Figure SMS_161
,具体公式如下:
Figure SMS_162
其中,
Figure SMS_163
为第/>
Figure SMS_164
个独立学习器的误报率,1-/>
Figure SMS_165
为第/>
Figure SMS_166
个独立学习器的正确预报率,/>
Figure SMS_167
为所有独立学习器正确预报率之和。
S2663 输出训练好的第i个集成学习框架,
Figure SMS_168
S27 输出m个训练好的集成学习框架。
步骤S3 实时监测算法;
粗略说明:
首先,提出了一种模型链模型,具体定义如下:
Figure SMS_169
其中,M为模型链,
Figure SMS_170
为S2所提及的综合模型/集成学习框架,/>
Figure SMS_171
为S2所提及的基础模型/独立学习器。
意义:由于在S262中,提取(强行切断)流会导致信息的损失,并且在S132中,离散化过程同样会导致。因此在预测流是否为恶意流的时候,需要进行充足的预测,避免误报。
因此,本实施例提出了模型链的概念。
在S26中,将流集合中的流每
Figure SMS_172
个(K自行设定)提取一次,则总共会提取i次。因此,就将m个(假设/>
Figure SMS_173
)综合模型(集成学习框架)连接起来,称之为模型链,表示为
Figure SMS_174
因此,针对每次提取出的网络流,采用模型链上的不同综合模型进行预测(在S2的训练过程中同样是使用提取得到的网络流来训练不同的综合模型),从而确保预测的结果较为准确。
除此之外,由于检测的包数量越多,可以观察到的信息量也越多,这就意味着越靠后的检测,检测的结果也更加可靠。因此引入决策曲面的概念,针对S1步骤建立的流长度预测模型的结果调整每个综合模型的决策曲面。
决策曲面介绍:
如果输入的数据是一个L维空间特征,考虑一个M分类问题,那么分类器将会把这个L维空间的特征点分为M个区域。每个区域显然就属于一个类别,如果输入一个点x落在第i个区域,那么x就属于第i类。分割成这些区域的边界就称为决策面。
说明:当
Figure SMS_175
时,模型链中的第1个综合模型中的n个基础模型会对输入的流的前K个包进行预测(预测同一个前K个包),并根据各个基础模型给出的结果进行加权计算,给出最后的预测结果。当/>
Figure SMS_176
时,模型链中的第3个综合模型中的/>
Figure SMS_177
个基础模型会对输入的/>
Figure SMS_178
个流的前3/>
Figure SMS_179
个包进行预测。
在综合模型进行预测之前,需要计算预警的阈值
Figure SMS_180
。当/>
Figure SMS_181
个基础模型的结果进行加权后得到预测结果/>
Figure SMS_182
,如果计算得到的结果大于阈值,则输出预警;反之则进行下一次预测。
S3建立基于模型链的网络入侵检测模型的具体步骤如下:
S31 建立基于综合模型的模型链模型;
S311 调用S2中建立的综合模型(集成学习框架)训练算法,获得训练好的m个集成框架,记为
Figure SMS_183
S312 建立模型链模型,
Figure SMS_184
S32 构建一个用于预测的不完整的流
Figure SMS_185
其中,m为接收到的流的包的数量,完整的流的数量为n,
Figure SMS_186
S33 初始化检测间隔K,预测结果
Figure SMS_187
其中,检测间隔K的意义为每K的倍数(
Figure SMS_188
)个包对流进行提取检测,建议设定为10;
S34 将
Figure SMS_189
输入至S143中训练好的DNN模型,得到预测流长度/>
Figure SMS_190
S35 根据预测流长度L调整模型链M的决策曲面;
S36 进行遍历,从i=1开始,步长为1,直至i=
Figure SMS_191
停止;对每一段网络流进行检测,具体步骤如下:
S361 计算预警阈值
Figure SMS_192
,具体公式如下:
Figure SMS_193
其中,
Figure SMS_194
为默认预警阈值,值为……;K为检测间隔;/>
Figure SMS_195
为衰减因子,取值范围为[0,1];L为预测流长度;/>
S362 提取
Figure SMS_196
中前/>
Figure SMS_197
个包,并存储到/>
Figure SMS_198
中;
S353 提取
Figure SMS_199
的特征值,并存储在矩阵/>
Figure SMS_200
中;
S354 将
Figure SMS_201
输入至模型链M中,由第i个基础模型(即/>
Figure SMS_202
)进行学习,给出预测值
Figure SMS_203
S355 判断预测值
Figure SMS_204
与预警阈值/>
Figure SMS_205
的关系;
S3551 如果
Figure SMS_206
,则说明该流为恶意流,中止循环,输出警报;
S3552 如果
Figure SMS_207
,则说明根据目前的检测结果,该流并不是恶意流,进行下一次的检测。
本实施例针对目前物联网设备连接中存在的问题,存在如下有益效果,分别如下:
提出了一种基于深度神经网络与流长度阈值的网络流长度预测算法。使用深度神经网络,根据首个数据包的特征预测小范围内的网络流长度,实现了实时网络流长度预测,从而提升预测准确性;设置网络流长度阈值,对较长的网络流进行调整,避免错误预测。
提出了一种基于模型链的增强集成学习算法,使用多个独立学习器进行训练。增加适应集来测试独立学习器的学习效果,并根据学习效果来决定其决策权重,从而提升决策准确率,提升学习效果。
结合以上两种算法,提出了一种基于增强集成学习算法的网络入侵检测方法。在检测过程中,首先根据首个接收到的数据包,预测网络流长度,并由此调整网络入侵检测模型的决策曲面;其次,对实时接受到的网络流进行检测,提取其特征值进行计算,判断其是否为恶意流并给予预警。
现有的流量分析系统能够基于本实施例,实现物联网设备通信交互过程中的实时攻击检测和防御,在发现入侵时提前作出防御,避免被入侵,并降低误报率,避免影响实际生产中的正常网络通信流量。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种基于增强集成学习的网络入侵检测方法,其特征在于,包括:
构建网络流长度预测模型,将网络流输入所述网络流长度预测模型,获取预测流长度;
构建集成学习模型;
基于所述集成学习模型,构建网络入侵检测模型;
基于所述预测流长度,调整所述网络入侵检测模型的决策曲面,基于调整后的所述网络入侵检测模型,对所述网络流进行检测,完成网络流分类与预警;
构建所述集成学习模型包括:
构建第二网络流集合,获取所述第二网络流集合的第一向量;其中,所述第一向量用于表征所述第二网络流集合中的网络流是否为恶意流;
构建第三网络流集合;其中,所述第三网络流集合中的网络流为被误报的网络流,即被预测为恶意流的正常流;
构建所述集成学习模型;所述集成学习模型包括若干独立学习器子模型;
基于所述第二网络流集合、第一向量和第三网络流,对所述集成学习模型进行训练,并调整训练后的所述集成学习模型中各个独立学习器的决策权重。
2.根据权利要求1所述的基于增强集成学习的网络入侵检测方法,其特征在于,构建所述网络流长度预测模型包括:
构建第一网络流集合;
提取所述第一网络流集合的特征值;
获取所述第一网络流集合中每个网络流的区间值;
构建深度神经网络模型;
基于所述特征值和区间值,对所述深度神经网络模型进行训练,获取所述网络流长度预测模型。
3.根据权利要求2所述的基于增强集成学习的网络入侵检测方法,其特征在于,所述特征值包括但不限于:出站数据包数量、入站数据包数量、双向数据包数量、总入站字节数、最小入站字节数、最大入站字节数、平均入站字节数、入站字节的标准偏差、出站字节总数、最小出站字节数、最大出站字节数、平均出站字节数、出站字节的标准差、双向字节总数、最小双向字节数、最大双向字节数、平均双向字节数、双向字节的标准差、入站数据包数与出站数据包数比、入站字节数与出站字节数的比率、目的端口、入站数据包中的PSH标志数、出站数据包中的PSH标志数、双向数据包中的PSH标志数和双向数据包中的URG标志数。
4.根据权利要求2所述的基于增强集成学习的网络入侵检测方法,其特征在于,获取所述第一网络流集合中每个网络流的区间值包括:
对所述第一网络流集合进行遍历,获取网络流长度阈值;
基于所述网络流长度阈值,获取每个网络流的所述区间值;
所述网络流长度阈值为:
Figure QLYQS_2
其中,/>
Figure QLYQS_8
为网络流长度阈值;
Figure QLYQS_10
为实际的网络流长度;/>
Figure QLYQS_3
为分位数数量;/>
Figure QLYQS_6
为网络流样本数量;/>
Figure QLYQS_7
为返回/>
Figure QLYQS_9
、/>
Figure QLYQS_1
中较小的值;/>
Figure QLYQS_4
为返回在已排序的网络流长度序列中第/>
Figure QLYQS_5
个;
所述区间值为:
Figure QLYQS_11
其中,/>
Figure QLYQS_12
为第/>
Figure QLYQS_13
个网络流的区间值;/>
Figure QLYQS_14
为流长度;/>
Figure QLYQS_15
为范围区间;/>
Figure QLYQS_16
返回流集合中最小流的长度;/>
Figure QLYQS_17
表示对i进行向上取整操作。
5.根据权利要求1所述的基于增强集成学习的网络入侵检测方法,其特征在于,对所述集成学习模型进行训练包括:
对所述第二网络流集合进行网络流提取,获取第一数据集;
提取所述第一数据集中每个流的特征值,获取第一矩阵;
基于所述第一矩阵和所述第一向量,构建训练集;
基于所述训练集,对所述集成学习模型进行训练,获取训练后的所述集成学习模型。
6.根据权利要求1所述的基于增强集成学习的网络入侵检测方法,其特征在于,调整训练后的所述集成学习模型中各个独立学习器的决策权重包括:
对所述第三网络流集合进行网络流提取,获取第二数据集;
提取所述第二数据集中每个流的特征值,获取第二矩阵;
将所述第二矩阵输入训练后的所述集成学习模型,对所述第二数据集进行预测,获取所述集成学习模型中独立学习器子模型的误报率;
基于所述误报率,获取所述独立学习器子模型的决策权重,完成决策权重的调整。
7.根据权利要求6所述的基于增强集成学习的网络入侵检测方法,其特征在于,所述独立学习器子模型的误报率
Figure QLYQS_18
为:
Figure QLYQS_19
其中,/>
Figure QLYQS_20
为第/>
Figure QLYQS_21
个独立学习器的误报率,False Positives为将恶意流被识别为正常流的个数;True Negatives为将恶意流被识别为恶意流的个数,/>
Figure QLYQS_22
为第三网络流集合中流的个数;
所述独立学习器子模型的决策权重为:
Figure QLYQS_23
其中,/>
Figure QLYQS_24
为决策权重,1-/>
Figure QLYQS_25
为第/>
Figure QLYQS_26
个独立学习器的正确预报率,/>
Figure QLYQS_27
为所有独立学习器正确预报率之和,n为独立学习器的个数。
8.根据权利要求1所述的基于增强集成学习的网络入侵检测方法,其特征在于,对所述网络流进行检测包括:
获取所述网络流的预警阈值;
基于所述网络入侵检测模型,对所述网络流进行检测,获取输出值;
若所述输出值大于所述预警阈值,则表明所述网络流为恶意流,中止循环,输出警报;
若所述输出值小于所述预警阈值,则表明所述网络流为正常流,进行下一次的检测。
9.根据权利要求8所述的基于增强集成学习的网络入侵检测方法,其特征在于,所述预警阈值为:
Figure QLYQS_28
其中,i为对网络流进行检测的次数,/>
Figure QLYQS_29
为默认预警阈值;K为检测间隔;/>
Figure QLYQS_30
为衰减因子;L为预测流长度。/>
CN202211687748.4A 2022-12-28 2022-12-28 一种基于增强集成学习的网络入侵检测方法 Active CN115695046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211687748.4A CN115695046B (zh) 2022-12-28 2022-12-28 一种基于增强集成学习的网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211687748.4A CN115695046B (zh) 2022-12-28 2022-12-28 一种基于增强集成学习的网络入侵检测方法

Publications (2)

Publication Number Publication Date
CN115695046A CN115695046A (zh) 2023-02-03
CN115695046B true CN115695046B (zh) 2023-03-31

Family

ID=85056360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211687748.4A Active CN115695046B (zh) 2022-12-28 2022-12-28 一种基于增强集成学习的网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN115695046B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115801604B (zh) * 2023-02-13 2023-05-02 广东工业大学 一种网络流特征值的预测方法
CN116647411B (zh) * 2023-07-17 2023-09-22 厦门巴掌互动科技有限公司 游戏平台网络安全的监测预警方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347430A (zh) * 2018-01-05 2018-07-31 国网山东省电力公司济宁供电公司 基于深度学习的网络入侵检测和漏洞扫描方法及装置
CN115021997A (zh) * 2022-05-26 2022-09-06 广州中南网络技术有限公司 一种基于机器学习的网络入侵检测系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11005863B2 (en) * 2016-06-10 2021-05-11 General Electric Company Threat detection and localization for monitoring nodes of an industrial asset control system
CN106789214B (zh) * 2016-12-12 2019-10-11 广东工业大学 一种基于正余双弦算法的网络态势感知方法及装置
CN109951476B (zh) * 2019-03-18 2021-06-22 中国科学院计算机网络信息中心 基于时序的攻击预测方法、装置及存储介质
CN110753064B (zh) * 2019-10-28 2021-05-07 中国科学技术大学 机器学习和规则匹配融合的安全检测系统
US11037173B1 (en) * 2019-12-13 2021-06-15 Sift Science, Inc. Systems and methods for anomaly detection in automated workflow event decisions in a machine learning-based digital threat mitigation platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347430A (zh) * 2018-01-05 2018-07-31 国网山东省电力公司济宁供电公司 基于深度学习的网络入侵检测和漏洞扫描方法及装置
CN115021997A (zh) * 2022-05-26 2022-09-06 广州中南网络技术有限公司 一种基于机器学习的网络入侵检测系统

Also Published As

Publication number Publication date
CN115695046A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
CN115695046B (zh) 一种基于增强集成学习的网络入侵检测方法
CN114615093B (zh) 基于流量重构与继承学习的匿名网络流量识别方法及装置
CN109698836A (zh) 一种基于深度学习的无线局域网入侵检测方法和系统
CN112949702B (zh) 一种网络恶意加密流量识别方法和系统
CN107682317B (zh) 建立数据检测模型的方法、数据检测方法及设备
CN113395276B (zh) 基于自编码器能量检测的网络入侵检测方法
CN112966714B (zh) 一种边缘时序数据异常检测和网络可编程控制方法
CN112433518B (zh) 一种基于循环神经网络的工业控制系统入侵检测方法
CN115643115B (zh) 基于大数据的工控网络安全态势预测方法及系统
CN104734916A (zh) 一种基于tcp协议的高效多级异常流量检测方法
CN112418361A (zh) 一种基于深度学习的工控系统异常检测方法、装置
CN114422184A (zh) 基于机器学习的网络安全攻击类型和威胁等级预测方法
CN111741002A (zh) 一种网络入侵检测模型的训练方法和装置
CN111917712A (zh) 一种针对多协议攻击数据的流量监测方法及监测系统
CN114239737A (zh) 一种基于时空特征与双层注意力的加密恶意流量检测方法
CN112364304A (zh) 一种区块链的日蚀攻击检测方法及装置
CN113079167B (zh) 一种基于深度强化学习的车联网入侵检测方法及系统
CN113315781A (zh) 基于hmm模型的异常数据检测方法
Hagos et al. Recurrent neural network-based prediction of tcp transmission states from passive measurements
CN117113262A (zh) 网络流量识别方法及其系统
KR102484674B1 (ko) 헤더 압축을 통한 패킷 전송 방법, 장치 및 시스템
TWI780411B (zh) 基於長短期記憶模型之異常網路流量偵測系統及方法
CN108055149A (zh) 一种时频同步应用中端到端流量异常特征提取方法
EP3840319A1 (en) Anomaly detector, anomaly detection network, method for detecting an abnormal activity, model determination unit, system, and method for determining an anomaly detection model
CN115913769B (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