一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度森林的物联网僵尸网络流量检测与分类方法

2022-06-11 10:38:18 来源:中国专利 TAG:


1.本发明属于信息安全和僵尸网络流量检测技术领域,具体涉及一种基于深度森林的物联网僵尸网络流量检测与分类方法。


背景技术:

2.随着物联网技术的飞速发展,攻击者将僵尸网络攻击目标转向安全性能较低的物联网设备以发动分布式拒绝服务等攻击,因此,基于物联网僵尸网络流量检测研究颇受学者的广泛关注。基于物联网僵尸网络流量检测方法按技术主要分为两大类:基于传统机器学习检测方法和基于深度学习检测方法。传统机器学习分类算法可以很好地应用在网络入侵检测问题上,如朴素贝叶斯、id3决策树、支持向量机以及k近邻算法在网络异常分析中具有不同需求下的优劣。但随着网络流量复杂性和不确定性的提升,网络产生的数据量和相关特征值维度十分庞大,因此,基于传统机器学习技术的入侵检测方法难以从海量高维的特征数据中捕获重要信息,从而不适用于解决多分类以及待测数据非平衡的实际问题。较传统机器学习方法而言,基于深度学习的入侵检测方法通过深度的网络自动提取特征进行表征学习使其成为非常理想的流量分类方法。大部分深度学习算法例如自动编码器(ae)、深度波尔茨曼机(dbm)、深度置信网络(dbn)、长短期记忆网络(lstm)、卷积神经网络(cnn)等都已经用于解决海量高维数据难处理等问题。此外,ae、dbm等深度学习方法能够较好地提取大规模高维数据中的非线性结构信息,获得更多的隐藏信息。然而,基于深度学习的入侵检测方法训练模型十分复杂,需要强大的计算能力,且模型的学习性能严重依赖于对大量的超参数的仔细调整。
3.因此,考虑到现有方案中存在上述问题。本发明提出了一种基于深度森林的物联网僵尸网络流量检测与分类方法。


技术实现要素:

4.针对上述研究的问题,本发明的目的是提出一种基于深度森林的物联网僵尸网络流量检测与分类方法,以提高分类模型对海量高维特征数据的表征学习能力并降低模型训练复杂度,从而提升对多分类任务处理的准确率。
5.本发明采用以下方案实现:一种基于深度森林的物联网僵尸网络流量检测与分类方法,包括以下步骤:
6.步骤s1:获取物联网僵尸网络流量数据集d;
7.步骤s2:采用min-max归一化方法计算将所述d中的数值数据缩放到[0,1]的区间内以消除奇异样本数据导致的不良影响,并得到数据集d1;
[0008]
步骤s3:对所述d1进行分析,将不平衡数据集d1采用欠采样技术处理,即从多数集中选出一部分数据量接近于少数集的数据与少数集重新组合成一个新的数据集d2以达到数据平衡,并基于d2建立特征数据和标签数据;
[0009]
步骤s4:通过特征选择方法计算所述d2各个特征的fisher得分其中,n表示类别数,μ表示所有类别的样本在指定特征上的平均值,μi和σi表示第i类样本在指定特征上的平均值和标准偏差,pi表示第i类别样本所占的比例,以此选择出所述d2中重要特征并构成相应的数据子集d3,以降低训练的冗余开销;
[0010]
步骤s5:将所述d3按8:2的比例拆分为训练数据集d
train
和测试数据集d
test
,其中,将d
train
进行分组,80%作为增长集d
extend
,20%作为验证集d
validate
;首先用d
extend
对模型进行训练以增长级联,再利用d
validate
来测试训练得到的模型,以此来评价模型的性能指标;如果增加一个新的级联并不能提高性能,则级联的增长将终止,并获得估计的级联数;
[0011]
步骤s6:设置滑动窗口长度及滑动步长,将d
extend
中的特征向量输入至多粒度扫描模块中,经过完全随机森林和随机森林进行分类生成概率向量,再将这些概率向量按顺序拼接作为级联森林模块的输入;
[0012]
步骤s7:将多粒度扫描模块输出结果作为级联森林的第一级输入,分别经过两个随机森林和两个完全随机森林进行分类,每个森林模型都会输出分类的概率向量,在此后的每一级都将多粒度扫描后的概率向量和前一级级联森林的输出作为下一级的输入;每扩展一级,使用d
validate
对分类的性能进行评估,若没有显著的精确度提升,则中断级联森林过程,自动确定学习深度,直至最后一级,对所有输出的概率向量取均值,输出具有最大概率那一类的标签,作为最终的分类结果;
[0013]
步骤s8:使用d
test
和d1依次进行测试,首先将所述两种数据集的特征向量进行多粒度扫描获得拼接后的概率向量,再依次将两种概率向量输入至级联森林模块进行测试,级联森林的最后一层汇总级联森林的输出结果,得到分类结果,并计算精确度查准率查全率和f1度量其中,tp表示将正例分类为正例的样本数量,fp表示的是将反例分类为正例的样本数量,fn表示的是将正例分类为反例的样本数量,tn表示的是将正例分类为正例的样本数量。
[0014]
与现有技术相比,本发明具有以下有益效果:
[0015]
本发明对预处理后的包含正常网络和物联网僵尸网络的流量数据特征向量进行多粒度扫描模块处理得到拼接后的概率向量用作级联森林的输入,以提高输入特征的差异性和表征学习的泛化能力,能够有效地从大规模流量数据中提取出重要信息;本发明利用级联森林结构对数据的特征逐层进行加工并不断地精炼分类,加强了模型的表征学习能力并提高了模型分类的准确率,同时较少的超参数使得模型复杂度是自适应的,可以适用于多分类任务以及待测数据非平衡的实际问题;本发明通过检测物联网僵尸网络流量以对不同攻击类型进行分类,能有效且及时地针对某种攻击类型做出安全措施。
附图说明
[0016]
图1为本发明的一种基于深度森林的物联网僵尸网络检测与分类方法流程示意图;
[0017]
图2为本发明的多粒度扫描模块结构示意图;
[0018]
图3为本发明的级联森林模块结构示意图。
具体实施方式
[0019]
下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。
[0020]
图1为本发明的一种基于深度森林的物联网僵尸网络检测与分类方法流程示意图,具体包括:
[0021]
步骤s1:获取物联网僵尸网络流量数据集d;
[0022]
步骤s2:采用min-max归一化方法计算将所述d中的数值数据缩放到[0,1]的区间内以消除奇异样本数据导致的不良影响,并得到数据集d1;
[0023]
步骤s3:对所述d1进行分析,将不平衡数据集d1采用欠采样技术处理,即从多数集中选出一部分数据量接近于少数集的数据与少数集重新组合成一个新的数据集d2以达到数据平衡,并基于d2建立特征数据和标签数据;
[0024]
步骤s4:通过特征选择方法计算所述d2各个特征的fisher得分其中,n表示类别数,μ表示所有类别的样本在指定特征上的平均值,μi和σi表示第i类样本在指定特征上的平均值和标准偏差,pi表示第i类别样本所占的比例,以此选择出所述d2中重要特征并构成相应的数据子集d3,以降低训练的冗余开销;
[0025]
步骤s5:将所述d3按8:2的比例拆分为训练数据集d
train
和测试数据集d
test
,其中,将d
train
进行分组,80%作为增长集d
extend
,20%作为验证集d
validate
;首先用d
extend
对模型进行训练以增长级联,再利用d
validate
来测试训练得到的模型,以此来评价模型的性能指标;如果增加一个新的级联并不能提高性能,则级联的增长将终止,并获得估计的级联数;
[0026]
步骤s6:设置滑动窗口长度及滑动步长,将d
extend
中的特征向量输入至多粒度扫描模块中,经过完全随机森林和随机森林进行分类生成概率向量,再将这些概率向量按顺序拼接作为级联森林模块的输入;
[0027]
步骤s7:将多粒度扫描模块输出结果作为级联森林的第一级输入,分别经过两个随机森林和两个完全随机森林进行分类,每个森林模型都会输出分类的概率向量,在此后的每一级都将多粒度扫描后的概率向量和前一级级联森林的输出作为下一级的输入;每扩展一级,使用d
validate
对分类的性能进行评估,若没有显著的精确度提升,则中断级联森林过程,自动确定学习深度,直至最后一级,对所有输出的概率向量取均值,输出具有最大概率那一类的标签,作为最终的分类结果;
[0028]
步骤s8:使用d
test
和d1依次进行测试,首先将所述两种数据集的特征向量进行多粒度扫描获得拼接后的概率向量,再依次将两种概率向量输入至级联森林模块进行测试,级联森林的最后一层汇总级联森林的输出结果,得到分类结果,并计算精确度查准率查全率和f1度量其中,tp表示将正例分类为正例的样本数量,fp表示的是将反例分类为正例的样本数量,fn表示的是将正例分类为反例的样本数量,tn表示的是将正例分类为正例的样本数量。
[0029]
在本实例中,具体的实验模拟过程如下:
[0030]
第一步,下载较为经典的物联网僵尸网络数据集n-baiot的csv文件,其中,该数据集收集了9个物联网设备(如智能wifi可夜视门铃、婴儿监视器、恒温器、安全摄像头、网络摄像头)感染两种最常见的物联网僵尸网络家族gafgyt和mirai前后的流量数据包,共有5256390个实例,包括555932个良性实例和4700458个攻击实例。其中,gafgyt攻击包括3种不同的攻击类型,分别是scan、junk以及combo,mirai攻击包括5种不同的攻击类型,分别是scan、ack flood、syn flood、udp flood以及udpplain flood。此外,每个数据记录都有115个特征,具体地,每当流量数据包到达时,就计算传输流量数据包的协议和主机的行为快照,每个快照对应于一组统计特征中反映的数据包的全部信息,即每个数据包的到达会从五个时间窗口(100ms,500ms,1.5sec,10sec和1min)中分别提取23个统计特征,共有115个特征。
[0031]
第二步,采用n-baiot数据集中智能wifi可夜视门铃的数据集d(danmini_doorbell)进行实验分析,共有820283个实例,包括49548个良性实例(benign)和770735个攻击实例(gafgyt和mirai);对d进行归一化处理得到数据集d1,再对d1进行分析以建立特征数据和标签数据;先将正常网络流量数据benign标为0,然后分别将gafgyt攻击中3种不同的攻击类型scan、junk和combo标为1、2、3,以及mirai攻击中5种不同的攻击类型scan、ack flood、syn flood、udp flood和udpplain flood标为4、5、6、7、8。
[0032]
第三步,针对数据不平衡问题采用欠采样技术将各个类别的数据减少至29068个,并计算各个特征的fisher得分,根据fisher得分的值对特征进行排序,再依次选取前20、16、12、11、10、9、8、7、6个特征作为特征组合,最终选择最优的特征数量为9作为特征组合,表1为基于fisher得分的20个最优特征。
[0033]
表1基于fisher得分的20个最优特征
[0034]
featurefisher scorefeaturefisher scoremi_dir_l0.01_weight1.0332539mi_dir_l0.1_variance0.7100778h_l0.01_weight1.0332539h_l0.1_variance0.7100778mi_dir_l0.01_mean0.7662551mi_dir_l1_variance0.6991145h_l0.01_mean0.7662551h_l1_variance0.6991145mi_dir_l0.1_mean0.7549406mi_dir_l3_mean0.6432712h_l0.1_mean0.7549406h_l3_mean0.6432712mi_dir_l0.01_variance0.7256689mi_dir_l3_variance0.6109602
h_l0.01_variance0.7256689h_l3_variance0.6109602mi_dir_l1_mean0.7169085mi_dir_l0.1_weight0.6071342h_l1_mean0.7169085h_l0.1_weight0.6071342
[0035]
第四步,将所述欠采样处理及特征选择后的数据集按8:2的比例拆分为训练数据集d
train
和测试数据集d
test
,其中,将d
train
进行分组,80%作为增长集d
extend
,20%作为验证集d
validate
,其中,d
extend
用来对模型进行训练以增长级联,d
validate
用来测试训练得到的模型,以此来评价模型的性能指标。
[0036]
第五步,针对所选的9个最优特征,采用长度为3的滑动窗口在样本特征向量上以步长为1进行多粒度扫描,可获得7个特征片段,将每个特征片段经过完全随机森林和随机森林进行分类,分别得到7个9维的概率向量,然后再将这些概率向量按顺序拼接,即可拼成1个126维的概率向量用作级联森林的输入,过程可参考图2。
[0037]
第六步,将多粒度扫描模块得到的126维概率向量作为级联森林的第一级特征输入,分别经过两个随机森林和两个完全随机森林进行分类,其中,随机森林中每棵树随机选择数量为的特征作为输入特征(d为输入特征的数量),选择具有最佳基尼系数的特征作为分割,完全随机森林中每棵树的节点分裂采用特征随机选择,当节点达到完全纯性时停止生长;每个森林模型都会输出分类的概率向量,在此后的每一级都将多粒度扫描后的概率向量和前一级级联森林的输出作为下一级的输入;每扩展一级,使用d
validate
对分类的性能进行评估,若没有显著的精确度提升,则中断级联森林过程,自动确定学习深度,直至最后一级,对所有输出的概率向量取均值,输出具有最大概率那一类的标签,作为最终的分类结果,过程可参考图3。
[0038]
第七步,使用d
test
和d1依次进行测试,首先将所述两种数据集进行多粒度扫描得到概率向量,再依次将两种概率向量输入至级联森林模块进行测试,级联森林的最后一层汇总级联森林的输出结果,得到分类结果,并计算精确度、查准率、查全率和f1度量,表2分别列出了不同特征数量下深度森林模型对数据集d
test
和d1进行分类测试的各指标值。
[0039]
表2不同特征数量下深度森林模型对数据集d
test
和d1进行分类测试的各指标值
[0040][0041]
可以看到当特征数量选为9时,深度森林模型对物联网僵尸网络流量进行检测以及对正常网络和各个攻击类型进行分类的效果是最优的。因此,可以选择fisher得分排名前9的特征作为特征组合对其他物联网设备流量数据进行多分类实验,并且基于深度森林的分类模型的复杂度是自适应的,具有很少的超参数需要设置,可以在不同规模的数据集上表现出不错的鲁棒性。
[0042]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
[0043]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献