基于Sketch的网络恶意流量检测方法技术

技术编号:33085366 阅读:17 留言:0更新日期:2022-04-15 10:47
本发明专利技术公开了一种基于Sketch的网络恶意流量检测方法,其实现步骤为:1、生成每个设备的样本集与测试集;2、生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;3、用Sketch处理每个设备的每组非关键特征矩阵;4、构建三个模型;5、利用每个设备的三个关键特征矩阵分别训练三个模型;6、选择最佳模型作为恶意流量检测模型;7、利用恶意流量检测模型检测网络流量。本发明专利技术能够在设备资源受限的物联网场景中实现快速和高精度的网络恶意流量检测,使用了Sketch融合网络流量的关键特征与非关键特征,具有更精确保留网络流量信息、计算、存储资源消耗低、响应快、检测精度高的优点。检测精度高的优点。检测精度高的优点。

【技术实现步骤摘要】
基于Sketch的网络恶意流量检测方法


[0001]本专利技术属于网络通信
,更进一步涉及到网络信息处理
中的一种基于Sketch的恶意流量检测方法。本专利技术可通过对网络设备的恶意流量进行检测,为网络安全提供保证。

技术介绍

[0002]当前互联网应用中大量设备与云服务端直接暴露于网络,存在大量安全漏洞,面临着巨大的安全风险。网络攻击者通过恶意流量攻击,可造成设备被控、用户隐私泄露、设备与云服务端数据被窃取等安全风险,甚至造成网络瘫痪。网络流量以网络流量数据包为载体,通过发送多个数据包,最终形成具有不同特征的网络流。网络恶意流量则指通过网络创建或接收的任何可疑连接或请求数据包。恶意流量检测是维护网络空间安全最核心的技术之一,其通过采集网络数据包,并对其特征进行分析识别,从而发现网络中的恶意流量。网络中恶意流量的检测通常利用构建的用户行为统计模型,并比较检测行为与正常行为特征差异从而检测异常流量。
[0003]第四范式(北京)技术有限公司在其申请的专利文献“构建基于PU学习的恶意流量检测模型的方法及装置”(专利申请号:CN 201910333902.X,申请公布号:CN 109936582 A)中公开了一种基于PU学习的网络恶意流量检测方法。该方法首先将生成由网络中流量数据组成的样本数据集和评估集,利用样本数据集训练构建多个候选模型,利用评估集分别对每个候选模型进行恶意流量检测,选择检测结果中符合预设条件的候选模型,通过所选取的集成方法对候选模型进行集成,得到恶意流量检测模型。该方法存在的不足之处是,采用多个候选模型分别对高维特征的数据集进行流量检测,使得设备在恶意流量检测中消耗大量计算与存储资源,难以应用于网络恶意流量的实时检测。
[0004]浙江大学在其申请的专利文献“一种基于机器学习集成模型的网络入侵检测方法”(专利申请号:CN 202011473456.1,申请公布号:CN 112769752 A)中公开了一种基于机器学习集成学习模型的网络恶意流量检测方法。该方法的具体步骤包括:采集网络节点入口的流量数据,对流量数据进行特征预处理、特征提取和特征降维,将流量数据进行类别划分,并针对不同类别流量数据构建LSTMi模型,利用每个LSTMi模型的网络流量检测结果进行统计,得到最终网络的恶意流量检测结果。该方法存在的不足之处是,在对流量数据进行特征预处理和特征提取时依赖先验知识,而先验知识在特征提取中的误差将造成样本特征信息损失,进而导致模型在恶意流量检测任务中精确度下降。

技术实现思路

[0005]本专利技术的目的是针对上述现有技术存在的不足,提出了一种基于Sketch的网络恶意流量检测方法,用于解决现有技术中网络恶意流量检测过程中样本特征选择造成信息损失和模型精确度下降的问题和多模型检测造成的资源消耗大的问题。
[0006]实现本专利技术目的的思路是:本专利技术使用了Sketch中的哈希函数将网络流量的非关
键特征值进行哈希映射,计算了网络流量的非关键特征的统计值,该统计值表征了部分非关键的网络流量特征,通过将该统计值叠加至关键特征矩阵中,得到了融合的网络流量特征,该融合的网络流量特征能更精确地表征网络流量信息,从而解决由样本特征选择方法造成的样本信息损失和模型精确度下降问题。本专利技术将基于过滤法、嵌入法和包装法的三种样本特征处理方法分别应用于随机森林模型、XGBoost模型和卷积神经网络,选择适用于应用系统的最佳模型和网络流量特征处理方法,该网络流量特征处理方法能够高效完成流量样本处理,该最佳模型能在计算、存储资源有限的条件下作出精准的预测,解决了多模型的网络恶意流量检测方案在资源有限的物联网设备中资源消耗大、响应速度慢的问题。
[0007]实现本专利技术目的的具体步骤如下:
[0008]步骤1,生成每个设备的样本集与测试集:
[0009](1a)在每个设备中收集至少5000条正常流量样本,并标注“Normal”类别标签后组成该设备的正常流量矩阵,矩阵的行代表样本,列代表流量数据的一个字段,该字段是一个特征;
[0010](1b)在每个设备中收集至少15000条恶意流量样本,组成该设备的恶意流量矩阵,矩阵的行代表样本,列代表流量数据的一个字段,该字段是一个特征,该恶意流量样本集中的类型至少包含3种;
[0011](1c)从每个设备的正常流量矩阵和恶意流量矩阵中分别随机出80%的行,组成该设备的样本矩阵,两个矩阵其余20%的行组成该设备的测试矩阵;对每个样本矩阵和测试矩阵归一化;
[0012]步骤2,生成每个样本矩阵的关键特征矩阵与非关键特征矩阵:
[0013](2a)利用过滤法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;利用卡方计算公式,计算每个样本矩阵中每列的卡方统计值,将每个样本矩阵的所有卡方统计值按降幂排序,将前0.2D个值对应的矩阵列中的全部元素值组成该样本矩阵的关键特征矩阵,其余的元素值组成非关键特征矩阵;其中,D表示每个样本矩阵中列的总数;
[0014](2b)利用嵌入法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;利用信息增益计算公式,计算每个样本矩阵中每列的信息增益,将每个样本矩阵的所有信息增益按降幂排序,将前0.2D个值对应的矩阵列中的全部元素值组成该训练集的关键特征矩阵,其余的元素值组成非关键特征矩阵;
[0015](2c)利用包装法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;用决策树模型生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;从每个样本矩阵中随机筛除0.8D列,重复20次,得到20个0.2D列的矩阵,利用决策树模型分别计算每个矩阵上的预测精确度,从中选择预测精确度最大对应的筛除方法,将该筛除方法保留的0.2D个矩阵列中的全部元素值组成该样本矩阵的关键特征矩阵,其余的元素值组成非关键特征矩阵;
[0016]步骤3,用Sketch处理每个设备的每组非关键特征矩阵:
[0017](3a)对每个设备的每个非关键特征矩阵的每行生成一个含有四个哈希函数的N
×
0.2D的Sketch映射表,将Sketch映射表中初始状态时的元素全部置0,其中,N表示Sketch映射表的行数,N=4;利用生成的四个哈希函数分别计算非关键特征矩阵的每行中每个元素w
h,d
的四个哈希值从Sketch映射表中查找元素w
h,d
的四个哈希值对应的四个元素位置,将四个位置上的当前元
素值均加上1,h表示该元素在非关键特征矩阵中的行号,d表示该元素在非关键特征矩阵中的列号;
[0018](3c)查找非关键特征矩阵的每个元素w
h,d
在Sketch映射表中对应的四个元素,若四个元素中只有唯一的最小元素,则将该元素作为w
h,d
对应的最小元素,记录该元素值和对应的列号;若四个元素中有多个值相等的最小元素,则取行号最小的元素作为w
h,d
对应的最小元素,记录该元素的值和对应的列号;
[0019](3d)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Sketch的网络恶意流量检测方法,其特征在于,利用Sketch映射表处理网络流量的非关键特征矩阵;使用多种关键特征选择方法和多种模型,选择平均精度最高的模型作为网络恶意流量检测模型;该方法的具体步骤包括如下:步骤1,生成每个设备的样本集与测试集:(1a)在每个设备中收集至少5000条正常流量样本,并标注“Normal”类别标签后组成该设备的正常流量矩阵,矩阵的行代表样本,列代表流量数据的一个字段,该字段是一个特征;(1b)在每个设备中收集至少15000条恶意流量样本,组成该设备的恶意流量矩阵,矩阵的行代表样本,列代表流量数据的一个字段,该字段是一个特征,该恶意流量样本集中的类型至少包含3种;(1c)从每个设备的正常流量矩阵和恶意流量矩阵中分别随机出80%的行,组成该设备的样本矩阵,两个矩阵其余20%的行组成该设备的测试矩阵;对每个样本矩阵和测试矩阵归一化;步骤2,生成每个样本矩阵的关键特征矩阵与非关键特征矩阵:(2a)利用过滤法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;利用卡方计算公式,计算每个样本矩阵中每列的卡方统计值,将每个样本矩阵的所有卡方统计值按降幂排序,将前0.2D个值对应的矩阵列中的全部元素值组成该样本矩阵的关键特征矩阵,其余的元素值组成非关键特征矩阵;其中,D表示每个样本矩阵中列的总数;(2b)利用嵌入法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;利用信息增益计算公式,计算每个样本矩阵中每列的信息增益,将每个样本矩阵的所有信息增益按降幂排序,将前0.2D个值对应的矩阵列中的全部元素值组成该训练集的关键特征矩阵,其余的元素值组成非关键特征矩阵;(2c)利用包装法生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;用决策树模型生成每个样本矩阵的关键特征矩阵与非关键特征矩阵;从每个样本矩阵中随机筛除0.8D列,重复20次,得到20个0.2D列的矩阵,利用决策树模型分别计算每个矩阵上的预测精度,从中选择预测精度最大对应的筛除方法,将该筛除方法保留的0.2D个矩阵列中的全部元素值组成该样本矩阵的关键特征矩阵,其余的元素值组成非关键特征矩阵;步骤3,用Sketch处理每个设备的每组非关键特征矩阵:(3a)对每个设备的每个非关键特征矩阵的每行生成一个含有四个哈希函数的N
×
0.2D的Sketch映射表,将Sketch映射表中初始状态时的元素全部置0,其中,N表示Sketch映射表的行数,N=4;利用生成的四个哈希函数分别计算非关键特征矩阵的每行中每个元素w
h,d
的四个哈希值从Sketch映射表中查找元素w
h,d
的四个哈希值对应的四个元素位置,将四个位置上的当前元素值均加上1,h表示该元素在非关键特征矩阵中的行号,d表示该元素在非关键特征矩阵中的列号;(3c)查找非关键特征矩阵的每个元素w
h,d
在Sketch映射表中对应的四个元素,若四个元素中只有唯一的最小元素,则将该元素作为w
h,d
对应的最小元素,记录该元素值和对应的列号;若四个元素中有多个值相等的最小元素,则取行号最小的元素作为w
h,d
对应的最小元
素,记录该元素的值和对应的列号;(3d)利用v
h,c
'=v
h,c
+w公式,更新每个非关键特征矩阵对应的关键特征矩阵,其中,v
h,c
表示更新前的关键特征矩阵中的第h行第c列的元素,v
h,c
'表示更新后的关键特征矩阵的第h行第c列的元素,c等于元素w
h,d
对应最小元素的列号,w表示元素w
h,d
对应最小元素的值;步骤4,构建三个模型:(4a)构建一个含有100棵决策子树的随机森林模型;(4b)构建一个由100个决策子树组成的XGBoost模型,每个决策子树的学习率为0.1,列采样比例为0.8,惩罚项系数为0,L1正则化系数为0,L2正则化系数为1,节点阈值为0;(4c)构建一个13层的卷积神经网络模型,其结构依次为:第一卷积层,第一激活函数层,第二卷积层,第二激活函数层,第三卷积层,第一Dropout层,最大池化层,第二Dropout层,第一全连接层,第三激活函数层,第三Dropout层,第二全连接层,第四激活函数层;将第一至第三卷积层的卷积核大小均设置为3
×
3,步长均为1,边缘填充为1,输入通道分别设置为1,16和32,输出通道分别设置为16,32和64;第一至第三激活函数层使用的函数均为ReLU函数,第四激活函数层使用Softmax函数;最大池化层的池化窗口设置为2
×
2,步长为2;第一和第二全连接层的输入通道分别设置为256和128,输出通道分别为1...

【专利技术属性】
技术研发人员:马卓刘心晶刘洋李学飞张俊伟李腾杨易龙
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1