[发明专利]基于Sketch的网络恶意流量检测方法在审
申请号: | 202111488422.4 | 申请日: | 2021-12-08 |
公开(公告)号: | CN114330504A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 马卓;刘心晶;刘洋;李学飞;张俊伟;李腾;杨易龙 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;H04L9/40 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sketch 网络 恶意 流量 检测 方法 | ||
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;利用生成的四个哈希函数分别计算非关键特征矩阵的每行中每个元素wh,d的四个哈希值从Sketch映射表中查找元素wh,d的四个哈希值对应的四个元素位置,将四个位置上的当前元素值均加上1,h表示该元素在非关键特征矩阵中的行号,d表示该元素在非关键特征矩阵中的列号;
(3c)查找非关键特征矩阵的每个元素wh,d在Sketch映射表中对应的四个元素,若四个元素中只有唯一的最小元素,则将该元素作为wh,d对应的最小元素,记录该元素值和对应的列号;若四个元素中有多个值相等的最小元素,则取行号最小的元素作为wh,d对应的最小元素,记录该元素的值和对应的列号;
(3d)利用vh,c'=vh,c+w公式,更新每个非关键特征矩阵对应的关键特征矩阵,其中,vh,c表示更新前的关键特征矩阵中的第h行第c列的元素,vh,c'表示更新后的关键特征矩阵的第h行第c列的元素,c等于元素wh,d对应最小元素的列号,w表示元素wh,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,输出通道分别为128和n,n的取值等于标签类别的数目;第一至第三Dropout层筛选神经元的概率依次为0.5,0.7和0.5;
步骤5,利用每个设备的三个关键特征矩阵分别训练三个模型:
(5a)从每个关键特征矩阵中分别随机不重叠地抽取0.16D个列,组成三个训练矩阵,从随机森林模型中取出一个未训练的决策子树,将三个训练矩阵分别输入到所选决策子树中,得到所选决策子树更新参数后对应的训练好的三个决策子树,采用相同的方法训练好所有的决策子树,得到三个训练好的随机森林模型;
(5b)从每个关键特征矩阵中分别随机不重叠地抽取0.8H个行,组成三个训练矩阵,从XGBoost模型中选取一个未训练的决策子树,将三个训练矩阵分别输入到所选决策子树中,利用对数损失函数更新该决策子树的节点阈值,直到对数损失函数收敛为止,得到该决策子树对应的训练好的三个决策子树,采用相同的方法训练好所有的决策子树模型,得到三个训练好的XGBoost模型,其中H表示关键特征矩阵的行数;
(5c)每个设备将三个关键特征矩阵分别输入到卷积神经网络中,迭代更新网络参数,直到对应的交叉熵损失函数收敛时为止,得到三个训练好的卷积神经网络模型;
步骤6,选择最佳模型作为恶意流量检测模型:
(6a)计算每个训练好的模型在所有设备测试矩阵的预测精度与误报率;
(6b)将平均预测精度最高、平均误报率最低的模型作为恶意流量检测模型,将该模型对应的关键特征选择方法作为恶意流量检测的特征处理方法;
步骤7,利用恶意流量检测模型检测网络流量:
(7a)使用恶意流量检测的特征处理方法对待检测流量样本进行处理,得到网络流量矩阵;
(7b)将网络流量矩阵输入到恶意流量检测模型中,输出网络流量的判定结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111488422.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种农业播种机悬挂装置
- 下一篇:一种农业灌溉用沟渠修建开槽设备