(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111370935.5
(22)申请日 2021.11.18
(71)申请人 西安电子科技大 学
地址 710071 陕西省西安市太白南路2号
(72)发明人 杨超 陈明哲 张伦玮 李玥
郑昱
(74)专利代理 机构 陕西电子 工业专利中心
61205
代理人 侯琼 王品华
(51)Int.Cl.
G06K 9/62(2022.01)
G06N 20/00(2019.01)
H04L 43/0876(2022.01)
H04L 69/22(2022.01)
(54)发明名称
一种基于机器学习的SSR流量识别系统及方
法
(57)摘要
本发明一种基于机器学习的SSR流量识别系
统及方法, 主要解决现有技术面对复杂多变的实
际网络环境无法有效识别SSR流量的问题。 系统
包括: 数据包捕获模块、 处理模块、 分析模块、 识
别模块, 识别信息存储模块, 识别结果分析模块
和web界面。 方法的步骤为: 数据包捕获模块获取
网络数据流量, 数据包处理模块从该流量中提取
数据包的基础信息, 数据包分析模块根据信息对
数据包进行预处理, 再由数据包识别模块进行识
别, 将结果存入识别信息存储模块, 识别结果分
析模块对结果进行实时分析, 并将分析结果通过
web界面展 示。 本发明不仅保证了较高的SSR识别
准确率, 且通过优化系统中的运算过程, 使其可
以在较大规模网关下做到实时采集与识别。
权利要求书3页 说明书8页 附图3页
CN 114091602 A
2022.02.25
CN 114091602 A
1.一种基于机器学习的SSR流量识别系统, 其特征在于, 包括: 数据采集识别单元、 识别
信息存储模块和数据分析展示单元; 其中, 数据采集识别单元由依 次单向连接的数据包捕
获模块、 数据包处理模块、 数据包分析模块以及数据包识别模块组成, 数据分析展示单元由
识别结果分析模块和web界面构成; 识别信息存储模块分别连接数据采集识别单元与数据
分析展示单 元;
所述数据包捕获模块, 用于获取网络数据流 量;
所述数据包处理模块, 用于从数据包捕 获模块获取的网络数据流量中提取数据包的基
础信息;
所述数据包分析模块, 用于根据数据包处理模块得到的基础信息对数据包进行预处
理, 得到预处 理后流量信息;
所述数据包识别模块, 用于对数据包分析模块得到的预处理后流量信息进行识别, 得
到识别结果;
所述识别信 息存储模块, 用于对数据采集识别单元中数据包识别模块得到的识别结果
进行存储, 并供数据分析展示单 元中的识别结果分析模块调用;
所述识别结果分析模块, 用于对识别信息存储模块中存储的信息进行实时分析, 并将
分析结果展示在web界面上 供分析人员查询。
2.根据权利要求1所述的系统, 其特征在于: 所述数据包的基础信息至少包括载荷特
征、 长度和时间。
3.根据权利要求1所述的系统, 其特征在于: 所述数据包分析模块根据 数据包处理模块
得到的基础信息对数据包进行预处理, 具体是进行流量分组、 过滤操作; 过滤包括: 滤掉除
TCP协议外的其它所有协议的数据包, 滤掉网络连接异常导 致重传的数据包。
4.根据权利要求1所述的系统, 其特征在于: 所述数据包识别模块, 对数据包分析模块
得到的预处理后流量信息进行识别, 具体是对预处理后流量信息中的分组数据流提取特
征, 然后利用机器学习完成识别。
5.根据权利要求1所述的系统, 其特征在于: 所述识别信息存储模块, 对数据采集识别
单元中数据包识别模块得到的识别结果进行存储, 是根据识别结果的归属类型, 以数据流
开始时间为索引, 将其存 储到数据库中。
6.一种使用基于机器学习的SSR流量识别系统进行流量识别的方法, 其特征在于, 包括
如下步骤:
(1)根据设备网卡 流量到达情况对数据流 量进行捕获:
(1.1)对网关流量规模进行预估, 根据评估结果设置单次捕获数量级与初始排队时间,
保证单轮捕获数据时间在3 0‑45秒范围内;
(1.2)设计实时系统冗余机制, 即设定动态停等时间, 该时间根据系统内部内存占用比
例、 处理器计算任务 量、 处理捕获文件队列数量经 过实时计算得到;
(1.3)按照流水线方式, 循环调用数据包捕获模块, 获取网络数据流 量;
(2)通过数据包处理模块从网络数据流量中提取数据包的基础信息, 得到包括荷载特
征、 长度、 时间的数据流 量荷载信息;
(3)利用数据流 量荷载信息对数据包进行 预处理:
(3.1)数据包分析模块根据数据流量的荷载特征对数据包进行过滤, 滤掉除TCP协议外权 利 要 求 书 1/3 页
2
CN 114091602 A
2的其它所有协 议的数据包, 仅保留TCP数据包, 且滤掉其中因网络连接异常导致重传的数据
包, 得到数据包集 合R:
R={pkg1,pkg2,...,pkgi,...,pkgr},
其中, pkgi表示集合R中的第i个数据包, i =1,2,...,r, r表示过滤后数据包的总数;
(3.2)数据包分析模块按照如下规则对数据包进行分组:
(3.2.1)提 取数据包pkgi的源IP地址 IPsrc‑i、 源端口Portsrc‑i、 目的IP地址IPdst‑i、 目的端
口Portdst‑i和传输层协议protoi五类信息, 并将其组成数据包pkgi的头部hi:
hi=(IPsrc‑i,Portsrc‑i,IPdst‑i,Portdst‑i,protoi),
pkgi={hi,Len(pkgi),stimei};
其中, Len(pkgi)表示数据包pkgi的长度, stimei表示数据包pkgi的到达时间;
(3.2.2)在数据包集合R中, 对于与数据包pkgi相同或相反的数据包, 将其头部与pkgi构
成一个分组数据流;
(3.2.3)取i=1,2,...,r按照步骤(3.2.1) ‑(3.2.2)得到数据包集合R中每个数据包对
应的分组数据流, 所有分组数据流共同组成分组后的数据流 集合D, 即预处 理后流量信息:
D={flow1,flow2,...,flowk,...,flowd},
其中, flowk表示第k个分组数据流, k =1,2,...,d, d表示分组数据流的总数目;
(4)数据包识别 模块对数据流集合D中的分组数据流提取特征并进行筛选, 利用机器学
习进行识别:
(4.1)统计分组数据流flowk内所有数据包的数量, 记为total(flowk), 将所有数据包中
与第一个数据包发送方向相同的数据包记为输出包、 其 余数据包记为输入 包;
(4.2)分别计算flowk内所有输入包、 所有输出包以及所有数据包长度的统计值: 平均
值、 最小值、 最大值、 绝对差、 绝对中位差、 标准差、 方差、 偏斜、 峰度、 10% ‑90%百分位数;
(4.3)将步骤(4.2)得到的统计值 组成flowk的统计特征向量PLSk, 所有分组数据流对应
的统计特 征向量共同组成包长度统计特 征矩阵PLS;
(4.4)对包长度统计特征矩阵PLS中的特征进行前向搜索组合特征筛选, 将特征分为积
极特征和消极特征两类, 再次进 行前向搜索, 直到结果最优, 获取到优化后包长度统计特征
矩阵PLS';
(4.5)将矩阵PLS'输入基于随机森林算法训练的模型进行识别, 得到识别结果, 并将结
果存于识别 信息存储模块中;
(5)识别信息存储模块按照识别结果将其分为SSR类结果和所有结果两类, 以数据流开
始时间为索引, 存 储到特定数据库mysql中;
(6)识别结果分析模块对数据库mysql中记录信息进行实时分析, 并输出分析 结果:
(6.1)针对数据库mysql中一段时间内的识别结果, 对其进行统计并计算得分 score:
其中, Numssr表示识别SSR流量的数量, Numall表示数据流总数, Numdst表示通信目的地址
数量;
(6.2)根据得分score对不 同设备使用的SSR流量进行排名, 同时对不 同的置信度进行
动态设定, 得到单个用户多维度的流 量分析结果;权 利 要 求 书 2/3 页
3
CN 114091602 A
3
专利 一种基于机器学习的SSR流量识别系统及方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 18:59:32上传分享