[发明专利]一种针对加密代理通道内应用层协议的检测方法有效
申请号: | 202011158388.X | 申请日: | 2020-10-26 |
公开(公告)号: | CN112565179B | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 刘光杰;刘伟伟;陈鹏程 | 申请(专利权)人: | 南京理工大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L69/163;H04L67/02;H04L41/142;G06F18/214;G06F18/24 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 封睿 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 加密 代理 通道 应用 协议 检测 方法 | ||
1.一种针对加密代理通道内应用层协议的检测方法,其特征在于,包括如下步骤:
步骤1:捕获加密代理通道下不同应用层协议的流量数据包,生成训练样本数据集Strain;
步骤2:按照TCP五元组信息和时间信息对训练样本数据集进行分流处理,标记应用层协议为SSH的TCP数据流为S-ssh,标记应用层协议为HTTP的TCP数据流为S-http,标记应用层协议为HTTPS的TCP数据流为S-https;
步骤3:针对训练样本数据集中的每条TCP数据流,利用DPI技术提取其数据负载内容,再使用单比特频数检测的方法对数据负载内容进行随机性检测,确定其是否为加密随机流量;
步骤4:针对步骤3中的通过随机性检测的TCP数据流,分析不同应用层协议的通讯机制,提取数据流中数据包的长度特征向量Ltest、数量特征向量Ntest、时间特征向量Ttest、标志特征向量Ftest,计算负载长度序列熵ltest,组成训练样本特征向量Vtrain;
步骤5:将训练样本特征向量Vtrain,输入SVM分类器,训练得到分类模型M;
步骤6:捕获网络流量数据包,生成检测样本数据集Stest,按照步骤2-4,生成检测样本特征向量Vtest;
步骤7:将产生检测样本特征向量Vtest输入分类模型M,得到检测样本分类结果,从而识别出检测样本不同应用层协议的流量;
其中:
步骤2中,还过滤出传输层负载非空的数据包,并按不同应用层协议进行分类存储;
步骤3中,随机性检测用于检测一个二元序列中0和1的个数是否接近,并以此来判断一个序列是否具有较好的01平衡性,具体方法如下:
将数据负载内容转换为二进制比特流,对数据部分进行单比特频数计算,统计比特位为1的频次为S以及总比特数n,计算误差补偿函数在置信度为95%的情况下若误差补偿函数的结果大于0.05,则其数据负载内容为随机,即加密数据,否则为非加密数据,需要过滤掉;
步骤4中,提取数据流前25个数据包的长度特征向量Ltest、数量特征向量Ntest、时间特征向量Ttest、标志特征向量Ftest,计算负载长度序列熵ltest,组成训练样本特征向量Vtrain,具体方法为:
提取TCP数据流初始25个数据包的各项统计特征,包括:提取上、下行带负载数据包各段长度序列的长度总和、长度平均值、长度标准差、长度众数、长度中位数、长度组距、相邻数据包长度差值及其绝对值、负载长度序列熵值作为长度特征向量Ltest,提取上、下行带负载数据包各段长度序列中数据分组的个数、长度序列中长度等于最大报文段长度的连续数据分组数量之和、长度序列中不同长度的数目作为数量特征向量Ntest,提取上、下行带负载数据包各段长度序列中首个数据分组的相对时间、长度序列中最末的数据分组的相对时间、长度序列的时间极差、长度序列的时间组距作为时间特征向量Ttest,提取上、下行带负载数据包各段长度序列中首个数据分组与MSS值的比例值作为标志特征向量Ftest;
计算负载长度序列熵值:根据TCP数据流长度序列,统计每个序列值li在长度序列中出现的频次Ci,构成频次序列C=[C1,C2,...,Cm'],其中m’为不同的li的个数;对频次序列每个序列值Ci除以n,得到频率序列P=[P1,P2,...,Pm'];对频率序列每个序列值Pi按照Pi×log10Pi进行运算处理,得到序列E=[E1,E2,...,Em'],对序列E求和得到负载长度序列熵ltest;
组成训练样本特征向量Vtrain。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011158388.X/1.html,转载请声明来源钻瓜专利网。