结合高斯混合模型与排序学习的多阶段入侵检测方法

文档序号:28395246发布日期:2022-01-08 00:53阅读:126来源:国知局
结合高斯混合模型与排序学习的多阶段入侵检测方法

1.本发明属于学习入侵检测技术领域,更具体的说是涉及一种结合高斯混合模型与排序学习的多阶段入侵检测方法。


背景技术:

2.入侵检测是指系统通过对已有网络流量数据进行学习,捕捉正常流量数据与恶意流量数据之间的区别,从而判别出恶意流量数据的过程。
3.入侵场景下存在以下两种情况:1)网络入侵数据大都是packet-based或flow-based,导致提取出的特征维度较低,使得具有类似特性的入侵类型会得到相同的特征,由此造成入侵数据中出现特征值相同但标签不同的样本。2)网络入侵数据中各类入侵类型包含的范围较为模糊,由此造成概念宽泛的入侵类型之间范围交叉,导致范围交叉的入侵类型之间混淆程度大,难以正确分类。且当某种特征组合的的样本未被正确分类时,其对应的所有同特征样本都会被误分类,由此会极大地影响入侵检测系统的表现。
4.因此,如何提供一种入侵检测方法,能够提升模型在识别同特征不同标签样板以及类别易混淆样本的入侵检测方法是本领域亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种结合高斯混合模型与排序学习的多阶段入侵检测方法,够在入侵检测效果的基础上,进一步提升模型在识别同特征不同标签的样本以及类别易混淆样本的效果。
6.为了实现上述技术效果,采取以下技术方案:
7.一种结合高斯混合模型与排序学习的多阶段入侵检测方法,包括以下步骤:
8.s1:获取恶意入侵流量数据并进行特征提取和预处理得到网络流量特征数据集;
9.s2:将所述网络流量特征数据集进行过采样,划分并提取最优特征得到最优特征先验信息集、最优特征训练集和最优特征测试集;
10.s3:通过最优特征训练集训练出第一lightgbm模型,通过所述第一lightgbm模型对所述先验信息集进行预测得到错误分类样本和重叠样本分布情况;
11.s4:将所述错误分类样本与所述最优特征测试集进行特征值匹配,通过所述第一lightgbm模型对未成功匹配的样本进行预测得到第一阶段预测结果;
12.s5:将s4中成功匹配的样本作为同特征训练样本并根据所述重叠样本分布情况,得到重叠样本与非重叠样本,以所述重叠样本的先验信息为该重叠样本制定预测标签,得到第二阶段预测结果;
13.s6:将所述测试集非重叠样本进行升维得到高维测试集非重叠样本,将该高维测试集非重叠样本直接进行分类预测的预测结果和结合高斯混合模型后的分类预测结果进行结合得到第一拼接向量;
14.s7:将所述第一拼接向量通过预先构建的排序学习模型进行预测,得到第三阶段
预测结果;
15.s8:结合第一阶段预测结果、第二阶段预测结果和第三阶段预测结果判断入侵数据类型。
16.进一步的,s1中,所述预处理包括填充空值、讲标型特征转换成数值型特征和特征缩放。
17.进一步的,s2包括:将所述网络流量特征数据集按照70%、15%、15%的比例划分为训练集、先验信息集和测试集,使用oblr重采样策略对训练集进行过采样得到采样后的训练集,并使用遗传算法对先验信息集、测试集和采样后的训练集,进行特征选择,得到最优特征先验信息集、最优特征训练集和最优特征测试集。
18.进一步的,s6包括:
19.s61:从高维测试集非重叠样本中选取样本训练出第二lightgbm模型;
20.s62:使用高斯混合模型为所述高维测试集非重叠样本拟合高斯模型类别标签;
21.s63:对同一个高斯模型类别标签的样本进行特征值加权求和,得到第一代表样本;
22.s64:通过所述第二lightgbm模型对所述第一代表样本进行分类预测得到第一预测结果;
23.s65:通过所述第二lightgbm模型对高维测试集非重叠样本进行分类预测得到第二预测结果;
24.s66:将所述第一预测结果和所述第二预测结果进行线性拼接得到第一拼接向量。
25.进一步的,s7包括:
26.s71:从最优特征训练集中随机选择30000个训练样本进行核主成分分析处理,得到特征维数为100维的训练样本;
27.s72:从特征维数为100的训练样本中划分出15000个样本训练出第三lightgbm模型;划分出7000个样本通过高斯混合模型为每个样本拟合高斯模型类别标签,并通过对同一个高斯模型类别标签的样本进行特征值加权求和,得到第二代表样本;
28.s73:通过第三lightgbm模型对第二代表样本进行预测得到第三预测结果;通过第三lightgbm模型对s72中7000个样本进行预测得到第四预测结果;
29.s74:将第三预测结果和第四预测结果进行线性拼接,得到第二拼接向量;
30.s75:将步骤s72中同一高斯模型类别标签的所有样本进行两两组对,将每个对中两个样本所对应的第二拼接向量进行线性拼接,得到第一对特征向量,将每个对中两个样本与对应的第二拼接向量间的第一范数和第二范数拼接到第一对特征向量尾部得到排序训练样本,并通过该排序训练样本训练出排序学习模型;
31.s76:将高维测试集非重叠样本与s72中同一高斯模型类别标签的样本行两两组对,将每个对中两个样本分别所对应的第一拼接向量与第二拼接向量进行线性拼接,得到第二对特征向量,将每个对中两个样本与对应的第二拼接向量间的第一范数和第二范数拼接到第二对特征向量尾部得到排序测试样本;
32.s77:通过s75中得到的排序学习模型对s76中的排序测试样本进行预测,得到排序结果;
33.s78:从排序结果中提取出排名第一的对,以该对中异于高维测试集非重叠样本的
另一样本所对应的真实标签作为第三阶段预测结果。
34.本发明的有益效果:
35.(1)针对实际入侵数据特征,额外划分出先验信息集,用来帮助寻找测试集中假定分错的数据样本,从而实现对测试集进行更深入的黑盒探索;
36.(2)针对特征相同但标签不同的数据,依据先验信息集统计出重叠样本特征的分布,通过该先验知识来实现测试集中对应同特征样本的预测,从而实现了在不增加模型计算负担的条件下对重叠样本的分类;
37.(3)针对易混淆数据的非重叠数据,本文通过kpca(核主成分分析)升维来捕捉样本之间更加细致的差异信息,并通过对高斯混合模型聚类得到的每个簇中所有样本进行加权得到“代表样本”来实现分类器的分类。
38.(4)本发明利用排序学习来结合各基分类器来提升模型的分类表现,能够帮助实现网络入侵数据中同特征样本的分类并进一步提升易混淆样本的分类效果。综上所述,发明人提出通过先验信息集来帮助识别同特征入侵样本,然后在通过kpca升维后的特征上进行高斯混合模型聚类,使用得到的每个簇中的“代表样本”帮助易混淆样本进行分类,最后通过排序学习结合各基分类器提升模型综合表现。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
40.图1为本发明提供的一种结合高斯混合模型与排序学习的多阶段入侵检测方法流程图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.如图1,一种结合高斯混合模型与排序学习的多阶段入侵检测方法,包括以下步骤:
43.s1:获取恶意入侵流量数据并进行特征提取和预处理得到网络流量特征数据集;使用开源工具tcpdump捕捉包含恶意入侵信息的原始网络流量数据,并舍弃不包含恶意入侵信息的原始网络流量数据,例如pcap文件,可以直接下载使用互联网开源的网络入侵数据集,例如unsw-nb15以及cic-ids2017。
44.s2:将网络流量特征数据集进过采样,划分并提取最优特征得到最优特征先验信息集、最优特征训练集和最优特征测试集;使用开源工具argus、bro-ids或cicflowmeter从捕捉到的原始网络流量数据中提取出带有类别标签的数据特征,如果s1中直接使用的是经过特征提取的网络流量数据,则可以省略特征提取。
45.s3:通过lightgbm模型对最优特征训练集进行训练得到第一lightgbm模型,通过训练好的第一lightgbm对先验信息集进行预测得到错误分类样本和重叠样本分布情况,重叠样本为错误样本与正确样本之间重叠的样本,重叠样本的分布情况即重叠样本的先验信息;
46.s4:将错误样本与最优特征测试集进行特征值匹配,将未成功匹配的样本即非同特征样本使用第一lightgbm模型进行预测得到第一阶段预测结果;依据错误样本去匹配最优特征测试集中的样本,如果样本之间特征值完全相同,则视为匹配成功,并将最优特征测试集中匹配到的样本视为需要进一步分类的样本,即同特征样本,后续会结合更多信息进行分类;
47.s5:将s4中成功匹配的样本结合重叠样本分布情况,得到测试集重叠样本与测试集非重叠样本,以测试集重叠样本的先验信息为该测试集重叠样本制定预测标签,得到第二阶段预测结果;
48.s6:将测试集非重叠样本进行升维得到高维测试集非重叠样本,将该高维测试集非重叠样本直接进行分类预测的预测结果和结合高斯混合模型(gmm)后的分类预测结果进行结合得到第一拼接向量;其中,通过核主成分分析对分重叠样本进行升维,主成分参数设置为100,得到特征维数为100的高维测试集非重叠样本;
49.s7:将第一拼接向量通过预先构建的排序学习模型lambdamart进行预测,得到第三阶段预测结果;
50.s8:结合第一阶段预测结、第二阶段预测结果和第三阶段预测结果判断入侵数据类型。
51.为了进一步实施上述技术方案,s1中,所述预处理包括填充空值、讲标型特征转换成数值型特征和特征缩放;将空缺的值填充为0,将标称型特征按顺序编码为数字类型,按照每个特征的最大值与10的大小关系选择不同的缩放方式,当特征的最大值小于等于10时,使用maxmin缩放方法进行缩放,当特征的最大值大于10时,使用以2为底的对数缩放方式进行缩放。
52.为了进一步实施上述技术方案,s2包括:将网络流量特征数据集按照70%、15%、15%的比例划分为训练集、先验信息集和测试集,并通过oblr重采样对训练集进行采样;使用遗传算法对先验信息集、测试集和采样后的训练集进行特征选择,得到最优特征先验信息集、最优特征训练集和最优特征测试集;在遗传算法中,设定种群大小为20,使用lightgbm对包含特征子集的数据集进行训练与预测得到的准确度(accuracy)作为遗传算法中种群的适应度函数,种群迭代20次后得到当前最优特征子集,按照最优特征子集中包含的特征结合步骤五得到的训练集与测试集选择出对应的数据特征,得到经过特征选择后的训练集与测试集。
53.其中,利用oblr重采样策略计算出训练集中各少数类的过采样数量,使用开源方法smote按照对应过采样数量进行重采样。先验信息集可通过其中错分样本的先验信息帮助对重叠样本进行分类。
54.为了进一步实施上述技术方案,s6包括:
55.s61:从高维测试集非重叠样本中选取30000个样本训练出第二lightgbm模型;
56.s62:使用scikit-learn中的高斯混合模型为高维测试集非重叠样本拟合高斯模
型类别标签;
57.s63:对同一个高斯模型类别标签的样本进行特征值加权求和,得到每一个高斯模型对应的第一代表样本;
58.s64:通过第二lightgbm模型对所述第一代表样本进行分类预测得到第一预测结果,并让第一代表样本的第一预测结果作为其所在高斯模型中高维测试集非重叠样本的预测概率;
59.s65:通过第二lightgbm模型对高维测试集非重叠样本进行分类预测得到第二预测结果;
60.s66:将第一预测结果和第二预测结果进行线性拼接得到第一拼接向量,使得每一个非重叠样本对应一个第一拼接向量。
61.为了进一步实施上述技术方案,s7包括:
62.s71:从最优特征训练集中随机选择30000个训练样本进行核主成分分析(kpca)处理,使用径向基函数作为核函数;选择30000个样本进行kpca处理的考虑在于平衡训练效率以及转换效果;将其中的主成分参数设置为100,得到特征维数为100维的训练样本;
63.s72:从训练样本中划分出15000个样本训练出第三lightgbm模型;划分出7000个样本通过高斯混合模型为每个样本拟合高斯模型类别标签,并通过对同一个高斯模型类别标签的样本进行特征值加权求和,得到第二代表样本;
64.s73:通过第三lightgbm模型对第二代表样本进行预测得到第三预测结果;通过第三lightgbm模型对s72中7000个样本进行预测得到第四预测结果;
65.s74:将第三预测结果和第四预测结果进行线性拼接,得到第二拼接向量;
66.s75:将步骤s72中同一标签的所有样本进行两两组对,将每个对中两个样本所对应的第二拼接向量进行线性拼接,得到第一对特征向量,将每个对中两个样本与其对应的第二拼接向量间的第一范数和第二范数拼接到第一对特征向量尾部得到排序训练样本,并通过该排序训练样本训练出排序学习模型;
67.s76:将高维测试集非重叠样本与s72中同一高斯模型类别标签的样本行两两组对,将每个对中两个样本分别所对应的第一拼接向量与第二拼接向量进行线性拼接,得到第二对特征向量,将每个对中两个样本与对应的第二拼接向量间的第一范数和第二范数拼接到第二对特征向量尾部得到排序测试样本;
68.s77:通过s75中得到的排序学习模型对s76中的排序测试样本进行预测,得到排序结果;
69.s78:排序学习模型lambdamart对目标损失函数ndcg进行优化,可以得到对应每个高维非重叠样本的所有对的排序结果,从排序结果中提取出排名第一的对,以该对中异于高维非重叠样本的另一样本所对应的真实标签作为第三阶段预测结果。
70.为了进一步实施上述技术方案,本实例使用硬件为cpu:intel(r)xeon(r)silver 4110 cpu@2.10ghz、gpu:geforce rtx 2080,显存容量12gb、内存:128gb、硬盘:4tb。软件为,ubuntu 16.04.7 lts,cuda(10.2),cudnn(7.1.2),deap(1.2.2),lightgbm(2.3.0),imbalanced-learn(0.4.3),numpy(1.18.5),pandas(1.0.5),scikit-learn(0.20.4);使用准确率(accuracy)作为衡量入侵检测方法检测效果的评价指标。
71.在网络入侵检测问题中,需要尽可能地识别出入侵样本,以帮助系统抵御网络攻
击。本发明中的方法能够结合样本先验信息、高斯混合模型以及排序学习解决同特征不同标签的样本以及类别易混淆样本分类效果差的问题,极大地提升入侵检测方法的检测效果。
72.本发明中结合样本先验信息、高斯混合模型与排序学习的多阶段入侵检测方法与已有方法对一组测试数据进行测试,得到各方法检测准确率的测试结果如下表所示。
[0073][0074]
其中,cnn指卷积神经网络,wdlstm(weight-dropped long short-term memory network)指权重下降长短期记忆人工神经网络,accuracy是常用的评价指标。
[0075]
由上表可知,本发明方法与已有方法相比,在整体准确率方面有较大提升,所以本发明所述方法能极大地提升入侵检测系统的分类效果;
[0076]
由上表可知,本发明方法与已有方法相比,额外对同特征不同标签以及易混淆的样本进行了分类并进一步提升了模型在此类数据的分类效果,所以本发明所述方法针对同特征不同标签以及易混淆的样本能进一步提升模型的分类表现。
[0077]
本发明方法首先使用oblr过采样策略对少数类过采样结合遗传算法找出样本最优特征子集,通过lightgbm模型对处理后的数据集进行训练并对测试集预测得到第一阶段预测结果;使用预先划分出的先验信息集帮助找出其中错分样本与测试集同特征样本中的重叠样本的先验分布,以此来对测试集中的该部分重叠样本进行预测得到二阶段预测结果;对于上述同特征样本中的非重叠样本,本方法使用高斯混合模型对升维后的样本进行拟合,通过“代表样本”代替每个簇中样本使用lightgbm进行预测,并将该结果与直接使用高斯混合模型对升维后的样本进行预测的结果通过排序学习整合,得到三阶段预测结果。最终,三个阶段的预测结果合并得到最终预测结果。
[0078]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1