一种基于机器学习的加密流量分类方法与流程

文档序号:34764445发布日期:2023-07-13 06:52阅读:102来源:国知局
一种基于机器学习的加密流量分类方法与流程

本发明涉及机器学习的加密流量分类,尤其涉及一种基于机器学习的加密流量分类方法。


背景技术:

1、据gartner公司2019年的数据显示,超过半数的在线流量均被加密,超过80%的企业网络流量将被加密,《google透明度报告》显示,如今互联网的数据加密率已达到80%以上,依据中国互联网络信息中心数据,近年来我国网民规模增长明显,2021年达到10.32亿人,信息安全的市场群体容量巨大。随着人们对网络隐私安全的重视,网络通信加密化已成为一种大趋势,加密网络流量成爆炸式增长,市场上各种应用软件均选择采用加密传输协议,而产生的加密流量种类繁多特征复杂,难以被轻易破解,这就对互联网监管提出了新挑战,所以怎样从网络加密流量中高效的辨别出用户的上网行为成为近年来的热点研究问题。

2、在网络流量分类的方法中,传统的基于预定义或固定端口号的识别方法因为随机端口选择、端口伪装技术、隧道加密技术而失效;传统的基于深度包检测和流统计特征的流量识别方法只能通过解析数据包中固有的特征达到分类目的,需要匹配数据包内容,过于依赖人为规定的匹配规则,无法处理加密流量。两者都不能智能的对现有加密流量进行分类识别。

3、在此环境下,人工智能领域的机器学习技术无疑是一个值得探索的方向,但是现有的机器学习方法主要应用于恶意流量识别和应用软件区分两种流量分类任务,仅能够识别一段加密流量是否属于恶意流攻击或识别某一段加密数据流量来自哪款应用,对于某一种应用内的某一种用户行为流量尚无法提供准确的预测,识别颗粒度过粗,且识别能力构建依赖大量的样本数据。


技术实现思路

1、本发明所要解决的技术问题是本发明针对上述机器学习的粗粒度分类现状,提供一种基于机器学习的加密流量分类方法,其不仅有效解决了机器学习过程中打标用户行为流量不精确的问题,而且经过改进的机器学习方法提升了模型对加密流量行为类型的抽象辨别力,使得机器学习模型可以过滤出网络加密流量中对区分细粒度流量有效的特征,从而可以更加有效地学习到网络流量中存在的可辨别特征;对样本数据的需求量更少,使得实施更加轻量、快捷。

2、本发明为解决上述技术问题采用以下技术方案:

3、一种基于机器学习的加密流量分类方法,选取一个或者多个目标应用软件,采集该目标应用软件内少量的各种用户上网行为作为样本,通过精准打标、局部小样本采样、关键特征预处理以及轻量、低开销模型构建以实现小样本、高流量吞吐场景下的低开销明密文分析、流量分类目的的总体流程,具体包含步骤如下:

4、步骤1,训练样本流量的低噪采集及打标,降低复杂流量构成导致的样本偏差;

5、步骤2,训练样本进行小样本采样及样本数据增殖并进行流量预处理、特征数据提取;

6、步骤3,构建低开销模型及参数固定;

7、步骤4,提取实时流量的局部采样预处理及特征数据作为模型入参进行加密流量分类。

8、作为本发明一种基于机器学习的加密流量分类方法的进一步优选方案,所述步骤1具体包含如下步骤:

9、步骤1.1,使用带有无线网卡的多网卡设备作为流量采集端;

10、步骤1.2,使用安卓手机作为样本行为流量的生成端;

11、步骤1.3,采集端通过无线网卡建立热点的形式,予以生成端流量接入;

12、步骤1.4,采用wireguard在热点提供的无线局域网环境下,在采集端、生成端的对应网卡间建立通信隧道,由手机端vpnservice设置指定应用的流量通过wireguard tun进行通信;

13、步骤1.5,配置采集端路由,将缺省路由指向另外的外网出口网卡,提供网络服务的访问

14、步骤1.6,使用tcpdump在采集端设备的隧道虚拟网卡上进行流量听包采集;

15、步骤1.7,手机端进行对应的应用行为操作,对报文序列编号做标签记录。

16、作为本发明一种基于机器学习的加密流量分类方法的进一步优选方案,所述步骤2具体包含如下步骤:

17、步骤2.1,对采集的流量进行按照源ip,目的ip,源端口,目的端口进行会话分组;

18、步骤2.1,在每个分组长流量序列上依次进行迭代处理;

19、步骤2.3,对所有缓存的样本流量序列依次进行流量处理及特征数据提取;

20、步骤2.4,将特征按照固定顺序组合成固定长度输入,作为模型输入的特征数据向量。

21、作为本发明一种基于机器学习的加密流量分类方法的进一步优选方案,在步骤2.2中,

22、记对应分组有n个报文的应用流量序列采样样本报文数量n、采样样本流量序列采样间隔k、对应行为标记起始标号分别为idxs、idxe、样本分类对应的序列重合比率r;其中,i∈[1,n―n+1],r∈(0,1];

23、从i=1开始依次的样本流量序列进行迭代处理;

24、如果min(i+n―1,n)―idxs≥n*r或者idxe―i≥n*r,则标记为正样本,否则标记为负样本,缓存样本流量序列;

25、采样序列偏移k:i=i+k。

26、作为本发明一种基于机器学习的加密流量分类方法的进一步优选方案,在步骤2.3中,

27、深度报文检测特征数据提取:逐包对单个报文进行传输层载荷长度、传输层协议、载荷数据熵的特征数据提取;

28、统计特征数据提取:逐个对行为序列整体进行序列包载荷长度均值、序列持续时长、序列平均包速率的序列数据计算处理及提取。

29、作为本发明一种基于机器学习的加密流量分类方法的进一步优选方案,所述步骤3具体包含如下步骤:

30、步骤3.1,训练样本按照8:2进行训练样本、测试样本拆分为训练数据跟测试数据;

31、步骤3.2,采用xgboost算法对维度shape=(6,)的特征向量输入样本进行训练、使用测试数据进行效果评估,采用gbtree作为基分类器,最大深度为3,目标参数softprob,学习率0.03,迭代100次,固定最优模型;

32、步骤3.3,采用mlp深度神经网络对维度shape=(6,)的特征向量输入样本训练、使用测试数据进行效果评估,全连接层输出单元4连接softmax,学习率0.03,迭代100次,固定最优模型;

33、步骤3.4,将固定的xgboost决策树、mlp计算输出堆叠进行集成学习,训练softmax分类器,学习率0.03,迭代100次,使用测试数据进行效果评估,固定最优模型;

34、步骤3.5,集成步骤3.2至步骤3.3三部分的模型,共同构成基于集成学习的多行为识别分类器模型。

35、本发明采用以上技术方案与现有技术相比,具有以下技术效果:

36、1、本发明一种基于机器学习的加密流量分类方法,所提方法首次将分类目标瞄准应用软件内部的用户上网行为的识别分类,采集少量的基于某一个或者多个应用的数据集、创新性的将获得的眀密文对应信息应用于用户行为的精准打标,将提取到的待进行机器学习的输入信息进行特征化处理后,再作为输入进行机器学习的抽象信息提取,输出基于机器学习的高辨别识别模型,不仅有效解决了机器学习过程中打标用户行为流量不精确的问题,而且经过改进的机器学习方法提升了模型对加密流量行为类型的抽象辨别力,使得机器学习模型可以过滤出网络加密流量中对区分细粒度流量有效的特征,从而可以更加有效地学习到网络流量中存在的可辨别特征;同时,对样本数据的需求量更少,使得实施更加轻量、快捷;

37、2、本发明针对现有技术不能识别细颗粒度的加密流量,本发明识别粒度更细,更能将行为对应到局部加密流量上,对应关系更精准明确;

38、3、本发明用户行为流量的打标、样本制备噪声更小,更为精准,依此构建的模型在实际流量的分类上误中率更低;

39、4、本发明在工程实施中,流量预处理对大流量进行行为流量的局部小样本采样处理,资源开销更小,系统压力更小,依赖的训练数据更少;

40、5、本发明模型构建方式对样本的需求量远小于现有技术,落地实施可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1