(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111368158.0
(22)申请日 2021.11.18
(71)申请人 西安电子科技大 学
地址 710071 陕西省西安市太白南路2号
(72)发明人 杨超 郭刚 李玥 陈明哲 张琨
郑昱
(74)专利代理 机构 陕西电子 工业专利中心
61205
代理人 侯琼 王品华
(51)Int.Cl.
G06K 9/62(2022.01)
G06N 20/00(2019.01)
H04L 9/40(2022.01)
(54)发明名称
基于机器学习的SSR代理下应用程序流量识
别方法
(57)摘要
本发明提出了一种基于机器学习的SSR代理
下应用程序流量识别方法。 用于解决现有技术
SSR代理下应用程序流量识别准确率低的问题。
方案包括: 1)收集智能手机流量数据并进行预处
理, 得到流数据集; 2)获取流数据集时间间隔统
计特征向量集合、 时间间隔分布特征向量集合、
数据包长度统计特征集合、 数据包长度均匀分布
特征集合、 数据包长度对数分布特征集合及数据
包长度序列特征集合, 组合成特征矩阵; 3)利用
特征矩阵获取SSR代理下应用程序的训练集与测
试集; 4)基于随机森林算法生成多分类模型, 并
利用模型得到SSR代理下应用程序流量识别结
果。 本发明使模型能够更准确的识别SSR代理下
的应用程序流 量, 且有效提高了识别可靠性。
权利要求书4页 说明书12页 附图2页
CN 113935436 A
2022.01.14
CN 113935436 A
1.一种基于 机器学习的S SR代理下应用程序流 量识别方法, 其特 征在于, 包括:
(1)获取智能手机的流 量数据, 并对其按照如下步骤进行 预处理:
(1a)在流 量数据中选取非重传数据包中的TCP数据包, 组成原 始数据集;
(1b)根据原始数据集中数据包的到达时间, 对所有数据包按照从小到大的顺序进行排
序, 得到排序后原 始数据集;
(1c)根据如下规则对排序后原 始数据集中的数据包进行分组, 得到突发数据集B:
(1c1)将排序后原 始数据集中的第一个数据包作为第一数据突发分组的首个数据包;
(1c2)遍历排序后原始数据集中的数据包, 若当前数据包的达到时间与前一个数据包
的到达时间间隔小于1秒, 则将当前数据包划分到前一个数据包所在的数据突发分组, 否
则, 创建一个数据突发分组, 并将当前 数据包作为 其中的首个数据包;
(1c3)对所有数据包完成分组后, 得到突发数据集B:
B={burst1,burst2,...,burstr,...,burstt}
其中, burstr表示第r个数据突发分组, r=1,2,. ..,t, t为创建的数据突发分组总个数;
(1d)利用突发数据集B得到流数据集F:
(1d1)将第r个数据突发分组中具有相同或者互为相反的源IP地址、 目的IP地址、 源端
口号、 目的端口号的数据包合成为第w个流数据;
(1d2)根据第w个流数据中数据包 的时间戳大小, 按照由小到大的顺序进行排列, 得到
其排序后流数据fl oww;
(1d3)获取 所有数据突发分组对应的排序后流数据, 得到初始流数据集F':
F'={flow1,flow2,...,floww,...,flowe},
其中, flowe表示第t个数据突发分组合成的第e个流数据中数据包排序后流数据;
(1e)将初始流数据集F'里每一个排序后流数据的所有数据包中与第一个数据包发送
方向相同的数据包作为输出包、 其余数据包作为输入包, 将每一个排序后流数据中的输入
包组成输入 包集合、 输出包组成输出包集 合、 输入包与输出包 共同组成的双向包集 合;
(1f)对初始流数据集F'进行噪声过 滤, 得到流数据集F;
F={flow1,flow2,...,flowk,...,flowx},
其中, flowk代表第k个流数据分组, k =1,2,...,x, x为F中流数据分组总个数, 且 x≤e;
(2)获取流数据集F的时间 间隔统计特 征向量集合CST:
(2a)分别计算流数据分组flowk中输入包集合、 输出包集合、 双向包集合中相邻数据包
之间时间 间隔序列的统计值, 得到其 三个数据包集 合对应的第一特 征向量;
(2b)对第一特征向量进行横向拼接, 得到流数据分 组flowk的时间间隔统计值特征向量
CSTk;
(2c)取k=1,2,...,x, 得到所有流数据分组的时间间隔统计值特征向量, 将其组成流
数据集F的时间 间隔统计特 征向量集合CST:
CST={CST1,CST2,...,CSTk,...,CSTx};
(3)获取流数据集F的时间 间隔分布特 征向量CDT:
(3a)在(0,104]范围内, 以10为底划分出11个对数区间: (0,10‑6], (10‑6,10‑5], (10‑5,10
‑4], (10‑4,10‑3],…, (103,104]; 分别统计流数据分 组flowk中输入包集合、 输 出包集合、 双向
包集合中相邻数据包之 间时间间隔序列隔落在每个区间中的数量值, 并将该数量值按照上权 利 要 求 书 1/4 页
2
CN 113935436 A
2述所属区间的先后顺序进行排列, 得到其 三个数据包集 合对应的第二特 征向量;
(3b)对第二特征向量进行横向拼接, 得到流数据分组flowk的时间间隔分布特征向量
CDTk;
(3c)取k=1,2,...,x, 得到所有流数据分组的时间间隔分布特征向量, 将其组成流数
据集F的时间 间隔分布特 征向量CDT:
CDT={CDT1,CDT2,...,CDTk,...,CDTx};
(4)获取流数据集F的数据包长度统计特 征集合CSL:
(4a)分别计算流数据分组flowk中输入包集合、 输出包集合、 双向包集合中所有数据包
长度, 并计算数据包长度统计值, 得到其 三个数据包集 合对应的第三特 征向量;
(4b)对第三特征向量进行横向拼接, 得到流数据分组flowk的数据包长度统计值向量
CSLk;
(4c)取k=1,2,...,x, 得到所有流数据分组的数据包长度统计值向量, 将其组成流数
据集F的数据包长度统计特 征集合CSL:
CSL={CSL1,CSL2,...,CSLk,...,CSLx};
(5)获取流数据集F的数据包长度均匀分布特 征集合CDL1:
(5a)在(0,2500]的范围内, 均匀划分出25个区间: (0,80],(80,160], …,(1960,2000];
分别统计流数据分组flowk中输入包集合、 输出包集合、 双向包集合中数据包长度落在相应
区间的数量值, 并将该数量值按照上述所属区间的先后顺序进行排列, 得到其三个数据包
集合对应的第四特 征向量;
(5b)对第四特征向量进行横向拼接, 得到流数据分 组flowk的数据包长度均匀分布特征
向量CDL1k;
(5c)取k=1,2,...,x, 得到所有流数据分组的数据包长度均匀 分布特征向量, 将其组
成流数据集F的据包长度均匀分布特 征向量集合CDL1:
CDL1={CDL11,CDL12,...,CDL1k,...,CDL1x};
(6)获取流数据集F的数据包长度对数分布特 征集合CDL2:
(6a)在(0,211]范围内, 以2位底划分出11个对数区间: (0,21], (21,22], (22,23], (23,
24],…, (210,211]; 分别统计流数据分组flowk中输入包集合、 输出包集合、 双向包集合中数
据包长度落在相 应区间的数量值, 并将该数量值按照上述所属区间的先后顺序进行排列,
得到其三个数据包集 合对应的第五特 征向量;
(6b)对第五特征向量进行横向拼接, 得到流数据分 组flowk的数据包长度对数分布特征
向量CDL2k;
(6c)取k=1,2,...,x, 得到所有流数据分组的数据包长度对数分布特征向量, 将其组
成流数据集F的数据包长度对数分布特 征向量集合CDL2:
CDL2={CDL21,CDL22,...,CDL2k,...,CDL2x};
(7)获取流数据集F的数据包长度 序列特征集合CSEL:
(7a)在每 个数据包集 合中, 设置m个区间集 合USEC:
USEC={USEC1,USEC2,...,USECi,...,USECm}
其中, USE Ci代表第i个区间, i =1,2,.. .,m; 每个区间包含q个数据包,
s代表一权 利 要 求 书 2/4 页
3
CN 113935436 A
3
专利 基于机器学习的SSR代理下应用程序流量识别方法
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 19:01:59上传分享