一种面向移动终端加密流量的应用识别方法技术

技术编号:36807208 阅读:12 留言:0更新日期:2023-03-09 00:22
本发明专利技术涉及的是一种网络流量识别场景,针对目前应用最广泛的移动终端应用和加密网络流量而提出了基于深度学习和注意力机制的面向移动终端加密流量的应用识别方法。现阶段基于深度学习模型,都是使用不同数量CNN和LSTM通过并行或者串行的方式进行流量识别,识别对象为针对加密流量的国外应用数据集,不适用于国内应用环境并且识别效果有待提高。而本发明专利技术使用的数据集是针对国内常用应用采集并准确标记的,并且在CNN和LSTM的基础上使用注意力机制进行应用识别,能够有效的进行国内应用的识别,并且识别效果优于单纯的深度学习模型。并且识别效果优于单纯的深度学习模型。并且识别效果优于单纯的深度学习模型。

【技术实现步骤摘要】
一种面向移动终端加密流量的应用识别方法


[0001]本专利技术属于网络流量识别
,具体涉及一种面向移动终端加密流量的应用识别方法。

技术介绍

[0002]网络流量分类是网络监控系统的重要组成部分,它的功能是对网络流量的上层服务、应用程序和用户动作等进行识别。网络流量分类的结果对于网络监控、网络安全服务以及个人信息保护有重大的意义。为了进行有效的流量识别,出现了基于端口、负载、机器学习和深度学习的不同分类技术,他们都是基于流量的特征进行流量识别和分类。然而,这些技术目前并不都是适用的,端口转发等技术的应用使得基于端口的识别不再有效;数据加密技术使得基于负载的识别技术不再适用;流量特征的多变性也使得基于机器学习的识别需要付出巨大的人力成本;深度学习技术使用更广泛,但是识别效果有待提高。

技术实现思路

[0003]本专利技术的目的在于提供一种面向移动终端加密流量的应用识别方法。
[0004]一种面向移动终端加密流量的应用识别方法,包括以下步骤:
[0005]1)在安卓平台使用PCAPdroid工具,分别采集待识别应用产生的网络流量pcap文件,在采集过程中每次只捕获一种应用的流量,确保流量与应用能够一一对应;
[0006]2)对采集的网络流量pcap文件进行清洗,去除后台流量、非加密流量、异常流量和零负载流量;
[0007]3)根据PCAPdroid生成的应用信息csv文件进行数据标记,将不同应用的流量分不同目录存放;
[0008]4)选取数据包的源端口、目标端口、数据包负载长度、TCP窗口大小、数据包方向和数据包之间的时间间隔6个特征作为分类的数据特征,生成csv文件;
[0009]5)从清洗后得到的网络流量中提取特征信息,并对不同长度的流量进行截取和填充,经过处理后获取的数据包特征数据是二维矩阵的形式,该矩阵中包含数据包信息和不同数据包之间的时间序列信息;
[0010]6)训练基于注意力机制的应用识别模型;
[0011]所述基于注意力机制的应用识别模型包括两层CNN、一层LSTM层、注意力机制层、批标准化层和dropout层;CNN层的输入是特征矩阵,输出是一个包含数据空间特征的多维度矩阵,为了将该矩阵交由LSTM处理,需要对多维度矩阵进行变换,将它在时间维度以外的维度进行展开,从而获得基于时间序列的二维特征矩阵;
[0012]所述LSTM层的输入为基于时间序列的二维特征矩阵,LSTM层提取出时间序列的特征的一维矩阵;
[0013]所述注意力机制层的输入为LSTM层提取出的一维矩阵,通过注意力层识别其中对分类结果影响更大的数据节点,实现不同流量信息分类权重的分配;
[0014]所述批标准化层用于对输入特征进行规范化处理,处理后的信息在包含数据信息的同时具有统一的数据规格,使得模型收敛更快,提升模型训练的速度;
[0015]所述dropout层用于防止发生过拟合,在训练中随机丢弃一部分神经元的输出,相当于使模型中的神经元以一定的概率暂停工作,通过随机的丢弃避免模型太过于依赖于数据的某些局部特征而导致过拟合;
[0016]7)使用训练好的模型对应用流量进行识别。
[0017]本专利技术的有益效果在于:
[0018]本专利技术涉及的是一种网络流量识别场景,针对目前应用最广泛的移动终端应用和加密网络流量而提出了基于深度学习和注意力机制的面向移动终端加密流量的应用识别方法。现阶段基于深度学习模型,都是使用不同数量CNN和LSTM通过并行或者串行的方式进行流量识别,识别对象为针对加密流量的国外应用数据集,不适用于国内应用环境并且识别效果有待提高。而本专利技术使用的数据集是针对国内常用应用采集并准确标记的,并且在CNN和LSTM的基础上使用注意力机制进行应用识别,能够有效的进行国内应用的识别,并且识别效果优于单纯的深度学习模型。
附图说明
[0019]图1是基于CNN和LSTM的应用识别模型图。
[0020]图2是注意力机制的深度学习模型结构及参数图。
[0021]图3是深度学习模型识别效果图。
[0022]图4是CNN_2_LSTM_2模型性能指标图。
[0023]图5是CNN_2_LSTM_2模型混淆矩阵图。
[0024]图6是CNN_2_LSTM_2与AttNet性能对比图。
[0025]图7是AttNet模型性能指标图。
[0026]图8是AttNet模型混淆矩阵图。
具体实施方式
[0027]下面结合附图对本专利技术做进一步描述。
[0028]本专利技术采集了针对国内常用应用的加密流量数据集,并提出了一种基于深度学习和注意力机制的加密应用识别模型。现阶段基于深度学习模型,都是使用不同数量CNN和LSTM通过并行或者串行的方式进行流量识别,识别对象为针对加密流量的国外应用数据集,不适用于国内应用环境并且识别效果有待提高。而本专利技术使用的数据集是针对国内常用应用采集并准确标记的,并且在CNN和LSTM的基础上使用注意力机制进行应用识别,能够有效的进行国内应用的识别,并且识别效果优于单纯的深度学习模型。
[0029]1)加密流量采集,在安卓平台使用PCAPdroid工具,分别采集待识别应用产生的网络流量(pcap文件),在采集过程中每次只捕获一种应用的流量,确保流量与应用能够一一对应。
[0030]2)流量清洗,使用Python的Scapy和dpdk网络库开发流量清洗程序,它从采集的流量(pcap文件)中清洗对分类无关流量(后台流量、非加密流量、异常流量和零负载流量)。
[0031]3)数据标记,根据PCAPdroid生成的应用信息csv文件进行数据标记,将不同应用
的流量分不同目录存放。
[0032]4)流量分析,对流量数据进行分析,分析流量的特征以及模型输入信息,选取数据包的源端口、目标端口、数据包负载长度、TCP窗口大小、数据包方向和数据包之间的时间间隔6个特征作为分类的数据特征,生成csv文件。
[0033]5)流量特征提取,从原始流量中提取模型需要的特征信息,并对不同长度的流进行截取和填充,经过处理后最终获取的数据包特征数据是二维矩阵的形式,该矩阵中包含数据包信息和不同数据包之间的时间序列信息。
[0034]6)应用识别模型搭建,搭建本专利技术提出的基于注意力机制的应用识别模型用于应用识别,本模型使用两层CNN,一层LSTM和一层Attention。CNN层的输入是特征矩阵,只需要将数据送入模型即可,而它的输出是一个包含数据空间特征的多维度矩阵,为了将该矩阵交由LSTM处理,则需要对矩阵进行变换,将它在时间维度以外的维度进行展开,从而获得基于时间序列的二维特征矩阵,以该矩阵作为LSTM层的输入可以提取出时间序列的特征的一维矩阵,将该数据作为注意力层的输入,通过注意力层识别其中对分类结果影响更大的数据节点,能够实现不同流量信息分类权重的分配。最终的应用识别模型中除了使用上述神经网络层以外,还是用了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向移动终端加密流量的应用识别方法,其特征在于,包括以下步骤:1)在安卓平台使用PCAPdroid工具,分别采集待识别应用产生的网络流量pcap文件,在采集过程中每次只捕获一种应用的流量,确保流量与应用能够一一对应;2)对采集的网络流量pcap文件进行清洗,去除后台流量、非加密流量、异常流量和零负载流量;3)根据PCAPdroid生成的应用信息csv文件进行数据标记,将不同应用的流量分不同目录存放;4)选取数据包的源端口、目标端口、数据包负载长度、TCP窗口大小、数据包方向和数据包之间的时间间隔6个特征作为分类的数据特征,生成csv文件;5)从清洗后得到的网络流量中提取特征信息,并对不同长度的流量进行截取和填充,经过处理后获取的数据包特征数据是二维矩阵的形式,该矩阵中包含数据包信息和不同数据包之间的时间序列信息;6)训练基于注意力机制的应用识别模型;所述基于注意力机制的应用识别模型包括两层CNN、一层LSTM层、注...

【专利技术属性】
技术研发人员:玄世昌杨武王巍苘大鹏吕继光向浩伟
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1