(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111488422.4
(22)申请日 2021.12.08
(71)申请人 西安电子科技大 学
地址 710071 陕西省西安市太白南路2号
(72)发明人 马卓 刘心晶 刘洋 李学飞
张俊伟 李腾 杨易龙
(74)专利代理 机构 陕西电子 工业专利中心
61205
代理人 田文英 王品华
(51)Int.Cl.
G06K 9/62(2022.01)
G06N 3/04(2006.01)
H04L 9/40(2022.01)
(54)发明名称
基于Sketch的网络恶意 流量检测方法
(57)摘要
本发明公开了一种基于Sketch的网络恶意
流量检测方法, 其实现步骤为: 1、 生成每个设备
的样本集与测试集; 2、 生成每个样本矩阵的关键
特征矩阵与非关键 特征矩阵; 3、 用Sket ch处理每
个设备的每组非关键特征矩阵; 4、 构建三个模
型; 5、 利用每个设备的三个关键特征矩阵分别训
练三个模型; 6、 选择最佳模型作为恶意流量检测
模型; 7、 利用恶意流量检测模型检测网络流量。
本发明能够在设备资源受限的物联网场景中实
现快速和高精度的网络恶意流量检测, 使用了
Sketch融合网络流量的关键特征与非关键 特征,
具有更精确保留网络流量信息、 计算、 存储资源
消耗低、 响应快、 检测精度高的优点。
权利要求书3页 说明书9页 附图4页
CN 114330504 A
2022.04.12
CN 114330504 A
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, 用Sketc h处理每个设备的每组非关键特 征矩阵:
(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对应的最小 元权 利 要 求 书 1/3 页
2
CN 114330504 A
2素, 记录该 元素的值和对应的列号;
(3d)利用vh,c'=vh,c+w公式, 更新每个非关键特征矩阵对应的关键特征矩阵, 其中, vh,c
表示更新前的关键特征矩阵中的第h行第c列的元素, vh,c'表示更新后的关键特征矩阵的第
h行第c列的元 素, c等于元 素wh,d对应最小元 素的列号, w表示元 素wh,d对应最小元 素的值;
步骤4, 构建三个模型:
(4a)构建一个含有10 0棵决策子树的随机森林模型;
(4b)构建一个由100个决策子树组成的XGBoost模型, 每个决策子树的学习率为0.1, 列
采样比例为0.8, 惩罚项系数为0, L1正则化系数为0, L2正则化系数为1, 节点阈值 为0;
(4c)构建一个13层的卷积神经网络模型, 其结构依次为: 第一卷积层, 第一激活函数
层, 第二卷积层, 第二激活函数层, 第三卷积层, 第一Dropout层, 最大池化层, 第二Dropout
层, 第一全 连接层, 第三激活函数层, 第三Dr opout层, 第二全 连接层, 第四激活函数层; 将第
一至第三卷积层的卷积核 大小均设置为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模 型中选取一个未训练的决策子树, 将三个训练矩阵分别输入到所选决策子树中,
利用对数损失函数更新该决策子树的节点阈值, 直到对数损失函数收敛为止, 得到该决策
子树对应的训练好的三个决策子树, 采用相同的方法训练好所有的决策子树模型, 得到三
个训练好的XGBo ost模型, 其中H表示关键特 征矩阵的行 数;
(5c)每个设备将三个关键特征矩阵分别输入到卷积神经网络中, 迭代更新网络参数,
直到对应的交叉熵损失函数收敛时为止, 得到三个训练好的卷积神经网络模型;
步骤6, 选择最佳模型作为恶意 流量检测模型:
(6a)计算每 个训练好的模型在所有设备测试矩阵的预测精度与误报率;
(6b)将平均预测精度最高、 平均误报率最低的模型作为恶意流量检测模型, 将该模型
对应的关键特 征选择方法作为恶意 流量检测的特 征处理方法;
步骤7, 利用恶意 流量检测模型检测网络流 量:
(7a)使用恶意流量检测的特征处理方法对待检测流量样本进行处理, 得到网络流量矩
阵;
(7b)将网络流 量矩阵输入到恶意 流量检测模型中, 输出网络流 量的判定结果。
2.根据权利要求1所述的基于Sketch的网络恶意流量检测方法, 其特征在于, 步骤(1b)
中所述的恶意流量数据集中的类型至少包含3种指的是, 拒绝服务攻击DoS、 端口监视和扫
描Prob、 虚假消息注入、 暴力FTP、 暴力SSH、 Heartbleed、 渗透攻击、 僵尸网络攻击中的任意权 利 要 求 书 2/3 页
3
CN 114330504 A
3
专利 基于Sketch的网络恶意流量检测方法
文档预览
中文文档
17 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 22:39:43上传分享