一种基于深度学习的网络加密流量识别方法技术

技术编号:30097858 阅读:202 留言:0更新日期:2021-09-18 09:02
一种基于深度学习的网络加密流量识别方法,属于深度学习的识别算法领域。特征工程存在流量特征提取和选择方而耗时耗力的问题。一种基于深度学习的网络加密流量识别方法,获取数据集;对数据集进行预处理;利用SMOTE算法平衡数据集得到数据样本流;对DenseNet模型进行训练,并利用训练好的模型自动进行特征提取;添加softmax层,对加密流量进行识别判断。本发明专利技术设计了在数据类别不平衡条件下的基于深度学习的加密流量识别模型,缩短特征识别所需时间。间。间。

【技术实现步骤摘要】
一种基于深度学习的网络加密流量识别方法


[0001]本专利技术涉及一种基于深度学习的网络加密流量识别方法。

技术介绍

[0002]基于深度学习的加密流量识别方法的研究中,精细化识别出加密流量的应用服务是最终要完成的任务。主要识别方法涉及流量识别以及加密流量识别研究。在网络流量识别技术中,有许多传统的技术方法。随着科技的进步,流量识别技术也在不断地进步,技术方法可以大致分为以下几类:基于端口号的识别技术、深度包检测识别技术和基于机器学习的识别技术。
[0003]随着互联网应用多元化的发展,基于端口号的识别技术的识别准确率越来越低。由于越来越多的对等网络流量(Peer to Peer,P2P)的出现,许多应用服务使用动态端口,即不再使用映射表中的知名端口号,同时,许多web和ftp服务器为了提高服务器的灵活性,允许手动指定端口号。除此之外,很多恶意软件为了隐藏自己的流量不被检测,使用动态端口和端口伪装技术,进一步降低了端口识别技术的识别精度。
[0004]深度包检测识别技术的识别准确率极高且简单有效,但具有一些弊端;例如,人力成本巨大、在如今网络应用推陈出新和加密技术的普及下,DPI识别技术亦不能满足当前流量识别的需求。
[0005]基于机器学习的识别技术是目前常用的流量识别技术。因此,多以此用于加密流量识别研究。与未知协议的流量类似,使用加密技术的应用服务也越来越多。对于已加密的流量,Okada Y等人通过利用数据流中与加密无关的信息,例如数据包字节数长度和持续时间等,识别加密流量的应用层协议。Alshammari R等人根据未加密流量与加密流量的相关性,使用机器学习算法对加密流量识别达到了较好的效果。Haffner P等人使用多种监督学习算法证明机器学习在加密流量识别领域的可行性。张波通过利用特征统计和机器学习的方法实现了网络应用识别。Korczy
ń
ski M等人针对以Skype和SSH为代表的加密流量识别,成功识别Skype协议下的应用服务类型,如视频、语音、文字等等。Alshammari R等人利用不同加密流量的不同数据流属性特征,选择几种机器学习算法进行加密流量进行识别。Alshammari R等人都在这方面做了大量的研究,包括P2P流量的识别研究。因不同的加密协议的加密方式不同,数据的封装格式就各不相同,所以不同的应用数据就有不同的特征与规律,类似的,当存在大量同种加密协议的流量数据时,加密协议亦有规律可循,可实现对加密协议的识别分类。
[0006]近年来,随着网络技术的高速发展以及人们对隐私数据的逐渐重视,SSL、SSH和Tor等加密技术在网络通信中得到广泛使用,网络加密流量快速增长且在改变着威胁形势。攻击者将加密作为隐藏活动的工具,加密流量给恶意网络攻击者隐藏其命令与控制活动提供了可乘之机。在对网络加密流量进行分析之前,需要识别加密流量。高准确度识别与检测加密流量对保证网络信息安全和维护网络正常运行具有重要实际意义。而传统特征工程存在流量特征提取和选择方面耗时耗力的问题,所以本专利技术对加密流量识别的研究是有意义
的。

技术实现思路

[0007]本专利技术的目的是为了解决传统特征工程存在流量特征提取和选择方而耗时耗力的问题,而提出一种基于深度学习的网络加密流量识别方法。
[0008]一种基于深度学习的网络加密流量识别方法,所述方法通过以下步骤实现:
[0009]步骤一、获取数据集;
[0010]步骤二、对数据集进行预处理;
[0011]步骤三、利用SMOTE算法平衡数据集得到数据样本流;
[0012]步骤四、对DenseNet模型进行训练,并利用训练好的模型自动进行特征提取;
[0013]步骤五、添加softmax层,对加密流量进行识别判断。
[0014]在本专利技术的一个实施例中,优选地,所述的对数据集进行预处理的步骤,具体为:
[0015]步骤二一、数据负载提取:
[0016]采用Scapy模块对pcap文件进行读取和处理,读取流量数据后,通过Scapy模块分析每一条数据流的结构,提取出每条流量的数据流负载信息,即有效载荷字节,保存;
[0017]步骤二二、数据负载处理:
[0018]对有效载荷数据统一截取长度为1024字节,将数据中过长的前n个字节的数据流截断,对于不足n个字节数填充0,过短的数据用0来填充;去除数据包的数据链路层字节;之后,为了消除实验误差影响需要在UDP头部填充0;对提取的数据包字节进行归一化处理,将字节数值由[0,255]归一化为[0,1],将每个分组的数据填充到32*32维度的矩阵中。
[0019]在本专利技术的一个实施例中,优选地,利用SMOTE算法平衡数据集得到数据样本流的步骤,具体为:
[0020]首先,根据欧氏距离找到少数类样本的样本中心,根据距离中心点的欧式距离分为核心层样本点、第二层样本点、最外层样本点;其中每层样本点数量平均分配;
[0021]其次,根据不同的层设定不同的样本点选取概率,其中三层样本点的依据距离中心点由近及远分配选取概率;最终实现线性插值,达到样本均衡;
[0022]具体算法过程实现如下:
[0023]a)设训练集的少数类样本数为T,目标合成少数类到N个新样本(N必须是正整数且N>T),少数类的一个样本X
i
,其特征向量为X
i
,i∈{1,...,T};
[0024]b)根据少数类样本全体,依据欧式距离计算得到少数类样本中心点,依据中心点将少数类样本划分为核心层样本点X
i1
,第二层样本点X
i2
,最外层样本点X
i3
,并依次由高到低设置每层样本点选取概率;
[0025]c)在少数类样本中选取到的任一点X,依据KNN算法选取最近的K个同类邻居Y,再生成一个0~1的随机数ζ1,从而合成K个新样本Z,Z定义如下:
[0026]Z=X+ζ1×
(Y

X)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0027]d)将步骤c)重复进行N次,从而可以合成KN个新样本:X
new
,new∈1,...,N;
[0028]e)对全部的少数类样本进行步骤b)~d)操作,即达到了样本平衡的目标。
[0029]在本专利技术的一个实施例中,优选地,所述的DenseNet模型进行训练,并利用训练好的模型自动进行特征提取的过程为,
[0030]设在DenseNet中,每一层的输入来自前面所有层的输出,每层输入公式以及总连接次数为:
[0031]X
l
=H
l
([X0,X1,...,X
l
‑1])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0032]C
sum
=L(L+1)/2
ꢀ本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的网络加密流量识别方法,其特征在于:所述方法通过以下步骤实现:步骤一、获取数据集;步骤二、对数据集进行预处理;步骤三、利用SMOTE算法平衡数据集得到数据样本流;步骤四、对DenseNet模型进行训练,并利用训练好的模型自动进行特征提取;步骤五、添加softmax层,对加密流量进行识别判断。2.根据权利要求1所述的一种基于深度学习的网络加密流量识别方法,其特征在于:所述的对数据集进行预处理的步骤,具体为:步骤二一、数据负载提取:采用Scapy模块对pcap文件进行读取和处理,读取流量数据后,通过Scapy模块分析每一条数据流的结构,提取出每条流量的数据流负载信息,即有效载荷字节,保存;步骤二二、数据负载处理:对有效载荷数据统一截取长度为1024字节,将数据中过长的前n个字节的数据流截断,对于不足n个字节数填充0,过短的数据用0来填充;去除数据包的数据链路层字节;之后,为了消除实验误差影响需要在UDP头部填充0;对提取的数据包字节进行归一化处理,将字节数值由[0,255]归一化为[0,1],将每个分组的数据填充到32*32维度的矩阵中。3.根据权利要求1所述的一种基于深度学习的网络加密流量识别方法,其特征在于:利用SMOTE算法平衡数据集得到数据样本流的步骤,具体为:首先,根据欧氏距离找到少数类样本的样本中心,根据距离中心点的欧式距离分为核心层样本点、第二层样本点、最外层样本点;其中每层样本点数量平均分配;其次,根据不同的层设定不同的样本点选取概率,其中三层样本点的依据距离中心点由近及远分配选取概率;最终实现线性插值,达到样本均衡;具体算法过程实现如下:a)设训练集的少数类样本数为T,目标合成少数类到N个新样本(N必须是正整数且N>T),少数类的一个样本X
i
,其特征向量为X
i
,i∈...

【专利技术属性】
技术研发人员:杨明极王政耀
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

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

1