基于深度学习模型的加密流量识别分类的方法



1.本发明涉及了一种面向深度学习的网络加密流量分类方法,属于计算机人工智能领域。


背景技术:



2.随着近年来互联网通信技术的日益发展,网络已经成为人们工作和生活的一部分。在当今的网络管理系统中,网络流量分类是一项关键工作,主要目标是预测网络数据流协议和应用程序类型。
3.近年来,随着保护传输数据和用户的隐私安全需求的快速发展,越来越多的应用程序的协议开始使用加密技术发送数据,加密流量在网络中的占比也急剧增长,加密的技术也越来越复杂。加密流量分类是互联网诞生以来,一直被认为是最重要的网络安全方向之一。但是由于加密技术的普及和网络吞吐量的高速增长,实现快速准确的对加密流量进行分类变得越来越困难。加密技术的出现在另一方面也导致出现各种恶意流量和网络异常流量的可能性增大,黑客攻击也利用加密技术进行大量的恶意攻击活动,当网络中出现大量的加密流量,怎么样才能快速对加密流量进行分类,进一步进行精细化的流量分析,就会显得非常重要。
4.按发展对加密流量分类技术分为三大类:第一种,基于端口的识别方法是最早出现的网络流量分类技术,利用数据包包头中的端口号来区分网络流量的类型,简单、直接、高效,也不会涉及到用户隐私安全;第二种,基于深度包检测(dpi),利用检测网络流量中的相关协议特征串来进行匹配;第三种,基于机器学习的识别方法,机器学习(ml)主要用于解决加密流量分类问题,但是需要大量的劳动力和领域知识,而且机器学习存在局限性,所选的特征的质量通常会影响分类器的最终效果,导致最后加密流量分类精度低下。
5.深度学习近年来取得了显著发展,基于深度学习(dl)的方法的特征提取与选择是通过训练自动完成的。这种特性使得基于深度学习的方法成为一种非常理想的流量分类方法。基于深度学习的方法的另一个特点是,与传统的机器学习方相比,深度学习具有更高的学习能力。
6.近年来,机器学习方法被用于网络流量识别和分类当中,与传统对的方法相比,深度学习有更好的分类精度和拓展性,但是也有存在不足的地方。因此,需要提出一种能对加密网络流量进行准确分类的方法。


技术实现要素:



7.本发明所要解决的问题是现有技术中对加密网络流量识别方法分类性能和分类准确度较低,提出一种能够从空间特征和时间特征两个方面自动提取和利用加密流量的特征对加密流量进行分类的方法,提高对加密流量的识别分类能力。
8.本发明为了解决上述技术问题采用以下技术方案:
9.本发明提出了一种基于深度学习的加密流量识别分类的方法,具体包括以下步
骤:
10.一种基于深度学习模型的加密流量识别分类的方法,其特征是包括以下步骤:
11.步骤一:对原始流量数据进行预处理来获得用于作为网络加密流量分类模型输入的加密流量数据向量;
12.步骤二:构建基于残差网络resnet和时域卷积网络tcn的网络加密流量分类模型;
13.步骤三:通过resnet模型提取加密流量数据的空间特征;通过tcn模型提取加密流量数据的时间特征;
14.所述步骤二中,构建resnet-tcn框架,并进行学习和训练;
15.resnet-tcn框架包括残差网络resnet和时域卷积网络tcn,其中:
16.1)残差网络resnet的网络结构是按照数据传输方向,包括输入层、卷积层、多个残差块、池化层和全连接层;多个残差块堆叠;每个残差块是由两个3*3的卷积网络串接在一起构成;这些单元定义表达式如下:
17.y
l
=h(x
l
)+f(x
l
,w
t
)
18.x
l+1
=f(y
l
)
19.其中x
l
和x
l+1
是第l个单位的输入和输出,f(
·
)为残差函数,h(x
l
)是恒等映射,w
t
是与第l个残差单位相关联的一组权重,f(y
l
)是激活函数。
20.输入的加密流量数据通过多次卷积后输出;但是经过多层卷积之后,可能会出现信息丢失的问题,因此,需要对数据进行填充操作,来确保每个信息都考虑在内,填充padding的大小与卷积核的大小相关。
21.resnet模型中通常只有一个池化层与最后一个残差块相连。池化层的输出表示为:
[0022][0023]
其中m
l
表示第l个池化层的大小,down(
·
)表示下采样函数。
[0024]
在输出层中,输出与输入相加;最终提取得到加密流量数据的空间特征;
[0025]
2)时域卷积网络tcn的网络结构是由第一层的膨胀因果卷积、权重归一化、激活函数relu和dropout,以及第二层的膨胀因果卷积、权重归一化、激活函数relu和dropout构成;第一层的输出为第二层的输入;每一层中,按照数据传输方向依次是膨胀因果卷积、权重归一化、激活函数relu和dropout;
[0026]
其中,因果卷积对于一维数据输入x∈r和滤波器f=(f1,f2,

,fk),序列x=(x1,x2,

,x
t
),在x
t
处的因果卷积定义为:
[0027][0028]
但是因果卷积在处理具有更长历史的任务时具有一定的难度,而膨胀卷积的感受野呈指数级增长,对于一维数据输入x∈r和滤波器f=(f1,f2,

,fk),序列x=(x1,x2,

,x
t
),在x
t
处的膨胀因子为d的膨胀卷积定义为:
[0029]
[0030]
因为采用了膨胀卷积,因此每一层都要做padding(通常情况下补0),padding的大小为(k-1)d,k表示滤波器大小,d是膨胀因子。权重归一化则是通过重写深度网络的权重加快运算速度;激活函数relu()增加网络的非线性,防止梯度消失,函数定义如下:
[0031]
f(x)=max(0,x)
[0032]
加入dropout来防止先过拟合,在一个n层的卷积神经网络定义如下:
[0033][0034]
其中,*表示卷积操作,为非线性激活函数,ki为卷积核,i∈{1,2,...,n},x为输入。
[0035]
4)经过resnet处理的数据作为输入,送入tcn中提取时序特征;
[0036]
tcn与resnet最后一层的输出拼接后,利用全连接分类对得到的特征进行分类,由softmax函数输出预测结果。
[0037]
softmax定义如下:
[0038][0039]
其中,xi为第i个神经元的输出值,d为输出类别的个数,表示所有数值的和。
[0040]
本发明采用以上技术方案与现有技术相比,具有以下有点:
[0041]
1、在空间维度上,利用resnet算法模型的卷积层提取有效特征,利用resnet解决了深层次网络梯度消失难以训练的问题;在时间维度上,利用tcn网络学习网络加密流量间的潜在时序特征。
[0042]
采用两种网络相结合的方法,对于数据进行空间和时序两个方面进行特征提取,提高了模型的识别准确性;同时还满足了在不侵犯用户隐私的条件下,识别出加密流量。本方法解决了现有的加密流量识别方式采用cnn和rnn带来的识别准确性和效率不高的技术问题。
[0043]
2、tcn时域卷积网络具有更好的并行性,可以并行执行卷积,可以很大程度上避免梯度消失和梯度爆炸,tcn用在加密流量分类模型中,可以在一定程度上减少计算量,通过层数、扩张因子和过滤器大小来调整感受野大小,学习到的信息更多;dropout层防止过拟合,提高模型的运算速度;
[0044]
3、使用深度学习的模型,相较于传统的机器学习的模型来说在精确度方面有一定的提高。
附图说明
[0045]
图1是本发明整体的流程图;
[0046]
图2是本发明原始流量(数据)预处理的流程图;
[0047]
图3是本发明深度残差网络架构图;
[0048]
图4a~图4c是本发明时域卷积网络架构图,其中:
[0049]
图4a是因果卷积结构图,
[0050]
图4b是膨胀因果卷积结构图,
[0051]
图4c是残差连接结构图。
具体实施方式
[0052]
下面结合附图对本发明的技术方案做进一步的详细说明:
[0053]
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同意义。还应该理解的是,诸如通用字典中的定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样的定义,不会用理想化或过于正式的含义来解释。
[0054]
在以上条件之下,基于深度学习的网络流量分类方法的步骤如图1所示。具体包括以下步骤;
[0055]
参考图2,步骤一:对原始流量数据进行预处理来获得用于作为深度学习模型输入的加密流量数据向量;
[0056]
步骤1.1、将数据集中的数据导入,样本数据集为原始格式的网络加密流量数据,对数据进行处理;
[0057]
步骤1.2、首先对数据集中的原始的流量数据进行切分,生成符合输入条件的数据;
[0058]
切分方法为:根据一定的粒度将连续的原始流量切分为多个离散的流量单元,生成符合输入条件的数据。流是指具有相同的源ip、源端口、目的ip、目的端口和传输协议的数据包。会话是指双向流。与流相比,会话包含更多的流量特征信息,因此将远是流量划分为离散的会话,输出格式保存为pcap格式。
[0059]
步骤1.3、对流量数据进行分段,对数据清洗主要是处理原始数据中的数据丢失和数据冗余问题,比如数据中的ip、mac地址、端口号等字段会对数据特征学习带来噪音,需要对其进行清理。
[0060]
清理掉相同的流量数据,并删除数据集中与流量特征无关的数据信息,这些数据会占用其他有效信息的空间位置,其中包含mac地址、ip、端口号等字段,防止模型过拟合。这些字段会对数据特征的学习带来噪音,甚至可能会影响最后分类的结果。
[0061]
步骤1.4、处理后的数据,得到的数据文件对数据进行归一化处理,需要对数据进行重新构造,因为神经网络输入的训练数据需要固定大小,所以将处理过的流量文件按照固定字节统一大小,若大于所设置的固定字节,则删除之后的字节,若小于固定字节,则用00补充到固定字节;归一化是对数据进行变换,将特征值按比例缩放到特定的区间内最后得到csv文件。
[0062]
归一化数学表达式如下:
[0063][0064]
其中,xi表示当前样本的值,x
max
表示样本最大值,x
min
表示样本最小值。
[0065]
参考图3,步骤二:构建基于残差网络resnet和时域卷积网络tcn的网络加密流量分类模型,通过resnet模型提取数据的空间特征,通过tcn模型提取数据的时间特征;
[0066]
步骤2.1、构建resnet-tcn框架,采用交叉损失函数来判定实际输出(概率)与期望
输出(概率)的接近程度,adam优化器;交叉熵的计算方法如下:
[0067]
h(p,q)=-∑
x
(p(x)logq(x)+(1-p(x))log(1-q(x)))
[0068]
采用等间隔调整学习率steplr,每训练step_size个epoch,学习率调整为lr=lr*gamma,初始lr=0.005,gamma=0.98;
[0069]
参考图3,步骤2.2、所述resnet残差网络是由一系列残差块组成的,主要包括输入层、卷积层、池化层和全连接层,残差块是由两个3*3的卷积网络串接在一起,输入通过多次卷积,然后输出与输入相加.
[0070]
整个网络通过堆叠残差块构成,使用了一种shortcut的连接方式,shortcut上通过1*1的卷积核进行了维度处理,主分支与shortcut的输出特征矩阵shape必须相同,输出矩阵相同才能进行相加;通过resnet模型提取空间特征;
[0071]
参考图4a~图4c,步骤2.3、所述tcn时域卷积网络,其网络结构主要通过两层膨胀因果卷积、权重归一化、激活函数relu、dropout这四部分构成;
[0072]
膨胀卷积让网络回溯到(k-1)d个时间步长,使每层数的感受野呈指数级增长,d表示膨胀卷积的参数,i表示网络的第i级(从0开始),d=o(2i);在tcn层中,将膨胀系数设置为(1,2,4,8)。
[0073]
图4c中,最后加一个残差连接是一个1*1的卷积块,可以使网络拥有跨层传递信息的功能,还可以保证输入输出的一致性。输出定义如下:
[0074]
h(x)=f(x)+x
[0075]
其中,其中f(x)表示x经过卷积后的输出,x表示一开始的输入。
[0076]
步骤2.4、所述的tcn时间卷积网络用于将resnet网络中的最后一层的输出拼接到一起,利用全连接分类对得到的特征进行分类,由softmax函数输出预测结果。将经过resnet处理过的数据作为输入,送入tcn中提取时序特征。
[0077]
步骤三:将样本数据作为分类模型的输入,通过模型的训练和测试过程,验证模型的分类效果;
[0078]
步骤3.1、将步骤1.4处理后的数据独立存储为csv文件;
[0079]
步骤3.2、将数据集按照7:2:1的比例划分训练集,验证集及测试集;验证集用于调整超参数,模型是否发生了过拟合的现象来决定是否要停止训练;
[0080]
步骤3.3、将处理过的数据送入到resnet中提取空间特征,将经过resnet处理过的数据作为输入,送入tcn中提取时序特征;
[0081]
步骤3.4、在训练集上训练模型,并根据验证集上效果调整超参数,模型训练结束后在测试集评价模型最终效果。
[0082]
本发明应用场景中,以网络加密流量为例,在获得加密流量数据集的情况下,首先对数据集进行切分、清理去除原始数据中的数据丢失和数据冗余带来的噪声、归一化,重新构造得到csv文件,按照7:2:1比例将数据集划分为训练集、验证集、测试集;送至resnet-tcn模型进行训练测试集和验证集用于训练,验证集用于调整超参数,最后模型在测试集上评价其性能。
[0083]
现有技术中采用cnn和rnn带来的识别加密流量时准确性和效率不高的原理,以及本方法的技术原理说明如下:
[0084]
普通的卷积神经网络cnn整体参数过多,需要很大的内存和计算量,这使得训练的
速度很慢,而且必须不断增加层数,知道整个感受野都被覆盖为止,但是随着网络深度的增加,容易出现过拟合的现象,随着网络的加深会出现更高的训练误差。
[0085]
而resnet-tcn模型中的残差模块可以训练更深的网络,残差模块使得输入和输出之间建立直接链接,这使得新增的层只需要在原来的输入层的基础上学习新的特征,改善了退化问题;而且采用模块结构也减少了网络的设计空间;在模块中增加的dropout层也降低了计算量。
[0086]
rnn不能进行大规模并行处理,所以在整个任务运行完成之前,必须保存所有的中间结果。
[0087]
resnet-tcn可以进行大规模并行处理,训练和验证时间都会变短;模型中的膨胀因果卷积通过改变膨胀系数使得感受野的大小更加的灵活,控制模型的长短;而且tcn的传播路径和序列的时间方向不同,避免了rnn中经常出现的梯度爆炸和梯度消失的问题;
[0088]
使用1d的resnet-tcn模型能更好的学习流量特征,因为网络流量数据本质上试顺序数据,是由层次结构组织的一维字节流;resnet用于学习数据的空间特征,tcn用于学习数据的时间特征,比单纯的学习时间或者空间特征在分类精度和效率上得到了保证,减少了模型的参数尺度。整个模型有明显的层级关系,层层递进以此来保证输出特征的表达能力。
[0089]
通过以上说明,可知本发明提高了加密流量识别和分类的精确度,实现了更高的分类性能,解决了现有的加密网络流量识别分类方法采用cnn和rnn等识别分类的精确度和效率不高等问题。
[0090]
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应该视为本发明的保护范围。

技术特征:


1.一种基于深度学习模型的加密流量识别分类的方法,其特征是包括以下步骤:步骤一:对原始流量数据进行预处理来获得用于作为网络加密流量分类模型输入的加密流量数据向量;步骤二:构建基于残差网络resnet和时域卷积网络tcn的网络加密流量分类模型;步骤三:通过resnet模型提取加密流量数据的空间特征;通过tcn模型提取加密流量数据的时间特征;所述步骤二中,构建resnet-tcn框架,并进行学习和训练;resnet-tcn框架包括残差网络resnet和时域卷积网络tcn,其中:1)残差网络resnet的网络结构是按照数据传输方向,包括输入层、卷积层、多个残差块、池化层和全连接层;每个残差块是由两个3*3的卷积网络串接在一起构成;多个残差块堆叠;输入的加密流量数据通过多次卷积后输出;在输出层中,输出与输入相加;最终提取得到加密流量数据的空间特征;2)时域卷积网络tcn的网络结构是由第一层的膨胀因果卷积、权重归一化、激活函数relu和dropout,以及第二层的膨胀因果卷积、权重归一化、激活函数relu和dropout构成;第一层的输出为第二层的输入;每一层中,按照数据传输方向依次是膨胀因果卷积、权重归一化、激活函数relu和dropout;4)经过resnet处理的数据作为输入,送入tcn中提取时序特征;tcn与resnet最后一层的输出拼接后,利用全连接分类对得到的特征进行分类,由softmax函数输出预测结果。2.根据权利要求1所述的基于深度学习模型的加密流量识别分类的方法,其特征是所述步骤一的数据预处理步骤包括:步骤1.1、将数据集中的数据导入,用于对数据进行处理;样本数据集为原始格式的网络加密流量数据的数据集;步骤1.2、对数据集中的原始的流量数据进行切分;步骤1.3、切分后的数据进行数据清洗;步骤1.4、对数据进行归一化处理;对数据进行重新构造,将处理过的流量文件按照固定字节统一大小,若大于所设置的固定字节,则删除之后的字节,若小于固定字节,则用00补充到固定字节;归一化是对数据进行变换,将特征值按比例缩放到特定的区间内最后得到csv文件。3.根据权利要求1所述的基于深度学习模型的加密流量识别分类的方法,其特征是残差网络resnet中,相邻残差块使用shortcut的连接方式,shortcut上通过1*1的卷积核进行了维度处理,主分支与shortcut的输出特征矩阵shape相同后输出矩阵相同进行相加。4.根据权利要求1所述的基于深度学习模型的加密流量识别分类的方法,其特征是resnet网络的最后一层的输出经一个1*1的卷积块处理后,再与tcn的输出拼接后,作为网络加密流量分类模型输出。5.根据权利要求1所述的基于深度学习模型的加密流量识别分类的方法,其特征是所述步骤二中,将样本数据作为网络加密流量分类模型的输入,通过模型的训练和测试过程,验证模型的分类效果。
6.根据权利要求5或6所述的基于深度学习模型的加密流量识别分类的方法,其特征是所述步骤二中:首先、将步骤1.4处理过后的数据独立存储为csv文件;接着、将数据集按照7:2:1的比例划分训练集,验证集及测试集;验证集用于调整超参数,模型是否发生了过拟合的现象来决定是否要停止训练;然后、将步骤一处理过的数据送入到resnet中提取空间特征,将经过resnet处理过的数据作为输入,送入tcn中提取时序特征;最后、在训练集上训练模型,并根据验证集上效果调整超参数,模型训练结束后在测试集评价模型最终效果。7.根据权利要求1所述的基于深度学习模型的加密流量识别分类的方法,其特征是网络加密流量分类模型的训练中,采用交叉损失函数来判定实际输出与期望输出的接近程度;训练期间采用adam优化器;网络加密流量分类模型的学习期间,采用等间隔调整学习率steplr。

技术总结


本发明公开了一种基于深度学习模型的加密流量识别分类的方法,本方法首先对原始数据进行预处理,然后在时空维度上,利用ResNet-TCN模型提取时空特征,利用ResNet学习空间特征,ResNet解决深层网络梯度消失、难训练的问题;在时间维度上,利用TCN网络学习加密流量之间潜在的时序特征;利用训练好的模型对加密网络流量进行识别和分类。本发明提高了加密流量识别和分类的精确度,实现了更高的分类性能,解决了现有的加密网络流量识别分类方法采用CNN和RNN等识别分类的精确度和效率不高等问题。题。题。


技术研发人员:

万夕里 朱姝妍 管昕洁

受保护的技术使用者:

南京工业大学

技术研发日:

2022.08.22

技术公布日:

2022/11/22

本文发布于:2024-09-21 17:30:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/2025.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   流量   数据   模型
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议