2. 网络通信与安全紫金山实验室 内生安全研究中心, 南京 211100
2. Endogenous Safety and Security Research Center, Purple Mountain Laboratory of Network Communication and Security, Nanjing 211100, China
开放科学(资源服务)标志码(OSID):
流量分类是网络管理和网络安全领域的一项重要任务,在服务质量保证、网络规划、入侵检测、网络监控、流量趋势分析等领域发挥着重要作用[1]。随着互联网用户对隐私和安全的日益关注,非加密的数据传输方式逐渐被加密传输方式所取代,加密网络流量在互联网中所占的比例逐年上升[2]。但是,加密流量在保护用户隐私与安全的同时,给网络管理和网络安全带来了巨大的挑战,原因是加密后所有的通信内容都是随机的,导致深度数据包检测(Deep Packet Inspection,DPI)[3]等传统流量分类方法失效[4]。因此,对加密流量进行有效分类成为工业界和学术界关注的焦点问题。
将特征工程与机器学习算法相结合,一度成为加密流量分类的主流方法。特征工程是指人工提取和选择加密流量的统计特征,如最大数据包长度、平均传输时间等,将其作为机器学习模型的输入。这种方法在很大程度上依赖于专家经验,耗时耗力,且往往不能产生令人满意的分类结果[5]。相比于这种步骤分散的处理方法,将加密流量分类的所有过程集成于一体的深度学习方法受到了研究人员的青睐。深度学习方法将特征提取与模型训练结合成一个统一的端到端模型[6],直接从原始流量中自动学习特征并进行分类。虽然基于深度学习的加密流量分类能够避免繁杂的人工操作,但是大多数常用的模型较少考虑效率问题,它们使用复杂的神经网络来保证结果的高精度,导致模型训练和测试时间较长。如何在保证分类精度的同时尽可能提高模型的运行速度以提升其分类效率,是一个值得关注的问题。
本文提出一种基于多层双向简单循环单元[7]与注意力(Multi-Layer Bidirectional Simple Recurrent Unit and Attention,MLBSRU-A)模型的加密流量分类方法,并基于公开数据集ISCX VPN-nonVPN和USTC-TFC 2016来验证MLBSRU-A模型的有效性。
1 相关工作近年来,传统的机器学习方法在加密流量分类领域取得了突出的成果[8-10],但是其核心步骤(即特征提取和特征选择)严重依赖于专家经验,不仅成本较高,而且容易出错。为解决基于机器学习模型的加密流量分类方法中存在的问题,研究人员提出基于深度学习的加密流量分类方法。王伟等[6]提出一种基于一维卷积神经网络(One-Dimensional Convolutional Neural Network,1D-CNN)的端到端加密流量分类方法,其将特征提取、特征选择和分类器集成到一个统一的框架中,从而自动学习原始输入和期望输出之间的非线性关系。随后,基于CNN[11-13]、堆叠自动编码器(Stacked Auto-Encoder,SAE)[11]等深度学习模型的加密流量分类方法陆续被提出。
网络流量数据具有时间序列属性,因此,除CNN外,具有强大序列建模能力的RNN[14]也受到学者们的关注。ZOU等[15]提出一种新的深度神经网络,将CNN和长短期记忆(Long Short-Term Memory,LSTM)模型相结合,以提高分类结果的准确性,其中CNN用于学习网络流量的低层次空间特征,LSTM网络用于学习高层次时间特征。文献[16-18]都将LSTM与其他深度学习模型相结合,从而更全面地提取流量特征。
目前,在加密流量分类领域,计算量更小的门控循环单元(Gated Recurrent Unit,GRU)[19]逐渐替代LSTM。文献[20]提出一种用于加密流量分类的流序列网络,称为FS-Net,其使用双向GRU(Bidirectional-GRU,Bi-GRU)网络来提取报文长度序列中的隐藏信息。随着注意力机制在自然语言处理领域的成功应用,越来越多的学者将GRU和注意力机制相结合以进行加密流量分类。LIU等[21]利用Bi-GRU和注意力机制构建一个用于HTTPs流量分类的深度学习模型,称为BGRUA。其中,Bi-GRU用于提取会话中字节序列的前向和后向特征,并采用注意力机制根据特征对分类的贡献大小来分配权重。实验结果表明,BGRUA在准确率、精确率、召回率和F1分数上都有较好的表现。类似地,文献[22-23]也使用GRU模型与注意力机制进行加密流量检测。
尽管上述研究都取得了较好的结果,但是大多没有考虑RNN模型普遍存在的梯度消失、并行性差等问题,这些缺陷将导致RNN模型效率较低、准确率下降以及训练速度减慢,从而限制了它们对加密流量的分类能力。
2 SRU模型RNN模型通过引入记忆单元来处理序列之间的时序关联性,它是序列信息分析中最常用的模型之一[20]。但是,传统RNN模型(如LSTM[24]、GRU[19]等)必须等待对上一时刻输出状态全部完成计算后才能对当前时刻输出状态进行计算,即无法实现并行计算,这种前后时间步之间的依赖性使得循环网络的运行效率低于其他模型。
为了提高RNN的训练速度,LEI等[7]在LSTM和GRU的基础上提出SRU,如图 1所示。SRU单元包含遗忘门
$ {f}_{t}=\sigma ({\mathit{\boldsymbol{{W}}}}_{f}{\mathit{\boldsymbol{{x}}}}_{t}+{\mathit{\boldsymbol{{v}}}}_{f}\odot {\mathit{\boldsymbol{{c}}}}_{t-1}+{\mathit{\boldsymbol{{b}}}}_{f}) $ | (1) |
$ {\mathit{\boldsymbol{{c}}}}_{t}={f}_{t}\odot {\mathit{\boldsymbol{{c}}}}_{t-1}+(1-{f}_{t})\odot \left(\mathit{\boldsymbol{{W}}}{\mathit{\boldsymbol{{x}}}}_{t}\right) $ | (2) |
$ {r}_{t}=\sigma ({\mathit{\boldsymbol{{W}}}}_{r}{x}_{t}+{\mathit{\boldsymbol{{v}}}}_{r}\odot {\mathit{\boldsymbol{{c}}}}_{t-1}+{\mathit{\boldsymbol{{b}}}}_{r}) $ | (3) |
$ {\mathit{\boldsymbol{{h}}}}_{t}={r}_{t}\odot {\mathit{\boldsymbol{{c}}}}_{t}+(1-{r}_{t})\odot {\mathit{\boldsymbol{{x}}}}_{t} $ | (4) |
![]() |
Download:
|
图 1 SRU结构 Fig. 1 SRU structure |
其中:
与常见的RNN模型相比,SRU最大的不同之处在于其具有高度并行化的序列建模能力,且兼具改善梯度消失问题的能力。SRU具有如下特点:
1)将门控计算中常用的参数矩阵替换为参数向量,同时将矩阵乘法替换为Hadamard乘积,通过这种简化,
2)对于式(1)~式(3)中存在的矩阵乘法
$ {\mathit{\boldsymbol{{U}}}}^{\mathrm{T}}={\left(\begin{array}{l}\mathit{\boldsymbol{{W}}}\\ {\mathit{\boldsymbol{{W}}}}_{f}\\ {\mathit{\boldsymbol{{W}}}}_{r}\end{array}\right)}^{3d\times D}\cdot [{\mathit{\boldsymbol{{x}}}}_{1}, {\mathit{\boldsymbol{{x}}}}_{2}, \cdots , {\mathit{\boldsymbol{{x}}}}_{L}{]}^{D\times L} $ | (5) |
其中:
3)在计算隐藏状态
上述特点使得SRU能够快速处理序列信息,符合网络管理和网络安全领域中各项工作对加密流量准确快速分类的要求。因此,本文选择SRU网络对加密流量进行特征提取。在下文中,使用如式(6)所示的方程来简要表达SRU中隐藏状态的更新:
$ {\mathit{\boldsymbol{{h}}}}_{t}=\mathrm{S}\mathrm{R}\mathrm{U}({\mathit{\boldsymbol{{c}}}}_{t-1}, {\mathit{\boldsymbol{{x}}}}_{t}) $ | (6) |
其中:
本文基于MLBSRU-A模型的加密流量分类方法使用端到端的模型架构,如图 2所示,该方法将特征学习和分类统一到同一模型中,无需人工进行额外的特征提取。首先,对原始流量数据集进行预处理,包括流量分割、数据清洗、长度统一、数据归一化、矩阵变换等步骤;然后,将预处理后的数据输入到特征提取层中,输出每个时间步上隐藏状态的集合作为特征向量;之后,将特征向量输入到注意力层中,计算每个特征的权重值,并输出加权后的流特征向量;最后,将注意力层输出的加权流特征向量输入到全连接层中,得到该输入数据属于各类标签的概率,概率值最高的类别即为模型产生的分类结果。
![]() |
Download:
|
图 2 基于MLBSRU-A模型的加密流量分类方法整体架构 Fig. 2 Overall architecture of encrypted traffic classification method based on MLBSRU-A model |
以pcap格式存储的原始流量数据作为数据预处理层的输入,经过流量分割、数据清洗等步骤后,得到包含可用信息的流矩阵。具体步骤如下:
1)流量分割。为了区分不同应用程序或网站产生的流量,需要按照五元组信息将原始流量分为不同的双向流。其中,流定义为一组具有相同五元组(源IP、目的IP、源端口、目的端口、传输层协议)的数据包,而双向流中数据包五元组的源IP和目的IP、源端口和目的端口可以交换。在下文中将双向流简称为流。
2)数据清洗。删除数据包中对于流量分类而言有效信息较少的以太网报头;将数据包中的IP地址用零来代替,以消除由随机端口分配、网络地址转换等技术造成的混淆。此外,还需删除流中包含的空数据包和重复数据包,以避免它们对模型学习过程造成干扰。
3)长度统一。由于模型要求所有输入数据的长度相同,因此取每条流的前
4)数据归一化。为了减小输入数据数值范围对模型训练的影响,将流数据进行归一化处理,流的每一字节都被转换成一个[0, 1]范围内的整数,此时流数据被转换为长度为
5)矩阵变换。SRU网络在每一时间步处输入的维度是固定的,本文将其设置为50,这意味着在每一时间步将有50个字节的流数据输入到SRU网络中。为此,需要将流向量
特征提取层以流矩阵
$ \overrightarrow{{\mathit{\boldsymbol{{h}}}}_{t}}=\overrightarrow{\mathrm{S}\mathrm{R}\mathrm{U}}(\overrightarrow{{\mathit{\boldsymbol{{h}}}}_{t-1}}, {\mathit{\boldsymbol{{x}}}}_{t}), t\in [1, N] $ | (7) |
$ \overleftarrow{{\mathit{\boldsymbol{{h}}}}_{t}}=\overleftarrow{\mathrm{S}\mathrm{R}\mathrm{U}}(\overleftarrow{{\mathit{\boldsymbol{{h}}}}_{t+1}}, {\mathit{\boldsymbol{{x}}}}_{t}), t\in [1, N] $ | (8) |
其中:
为了更进一步获得流量数据的高阶特征,本文将双向SRU网络堆叠
$ \overrightarrow{{\mathit{\boldsymbol{{h}}}}_{t}^{i}}=\overrightarrow{\mathrm{S}\mathrm{R}\mathrm{U}}(\overrightarrow{{\mathit{\boldsymbol{{h}}}}_{t-1}^{i}}, {\mathit{\boldsymbol{{h}}}}_{t}^{i-1}), t\in [1, N], i\in (1, M] $ | (9) |
$ \overleftarrow{{\mathit{\boldsymbol{{h}}}}_{t}^{i}}=\overleftarrow{\mathrm{S}\mathrm{R}\mathrm{U}}(\overleftarrow{{\mathit{\boldsymbol{{h}}}}_{t-1}^{i}}, {\mathit{\boldsymbol{{h}}}}_{t}^{i-1}), t\in [1, N], i\in (1, M] $ | (10) |
其中:每条流的字节数
将最后一层每个时间步生成的隐藏状态拼接起来,得到特征提取层的输出,如式(11)所示:
$ {\mathit{\boldsymbol{{h}}}}_{N}=[{\mathit{\boldsymbol{{h}}}}_{1}^{M}, {\mathit{\boldsymbol{{h}}}}_{2}^{M}, \cdots , {\mathit{\boldsymbol{{h}}}}_{N}^{M}] $ | (11) |
经过
对于一条流而言,并非所有字节都对分类起到同样重要的作用。为了使流中相对重要的信息能对分类结果产生较大的影响,本文引入注意力机制[26],如图 3所示。
![]() |
Download:
|
图 3 注意力层计算过程 Fig. 3 Attention layer calculation process |
在注意力机制中,核心操作是各元素的权重计算。本文将特征提取层输出的特征向量
$ \mathit{\boldsymbol{{s}}}=\sum\limits_{t=1}^{N}{\alpha }_{t}{\mathit{\boldsymbol{{h}}}}_{t}^{M} $ | (12) |
$ {\alpha }_{t}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({e}_{t}\right)}{\sum\limits_{t}\mathrm{e}\mathrm{x}\mathrm{p}\left({e}_{t}\right)} $ | (13) |
$ {e}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({\mathit{\boldsymbol{{W}}}}_{h}{\mathit{\boldsymbol{{h}}}}_{t}+{\mathit{\boldsymbol{{b}}}}_{h}) $ | (14) |
其中:
全连接层以注意力层输出的特征向量
$ {p}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({v}_{i}\right)}{\sum\limits_{i=1}^{c}\mathrm{e}\mathrm{x}\mathrm{p}\left({v}_{i}\right)} $ | (15) |
其中:
为了使实验具有更高的可信度,本文基于2个公共流量数据集进行实验:
1)数据集A是基于ISCX VPN-nonVPN数据集[27]所生成,ISCX VPN-nonVPN数据集有7种常规加密流量和7种协议封装流量,但是其中6种加密流量都与网页浏览有关,因此,本文参照文献[6]放弃网页浏览这类流量。数据集A的具体信息如表 1所示。
![]() |
下载CSV 表 1 数据集A具体信息 Table 1 Specific information of dataset A |
2)数据集B是USTC-TFC 2016数据集,由王伟等[28]创建,包含10类正常加密流量和10类恶意加密流量,具体信息如表 2所示。
![]() |
下载CSV 表 2 数据集B具体信息 Table 2 Specific information of dataset B |
为了对MLBSRU-A模型的性能进行验证,本文选择4个关联性较强的模型进行对比:
1)BLSTMA模型[29],通过将Bi-LSTM与注意力机制相结合,提取流中的数据包序列信息,并通过注意力机制,根据每个数据包特征对分类的贡献大小来对其分配权重。
2)BGRUA模型[21],采用Bi-GRU网络提取会话中的双向字节序列信息,同时结合注意力机制来提高HTTPS流量分类的准确性。
3)1D-CNN模型[6],将特征选择、特征提取、分类器与1D-CNN整合到一个统一的端到端框架中,旨在自动学习原始输入和期望输出之间的非线性关系,该模型也是第一次将端到端方法应用于加密流量分类领域。
4)CNN+LSTM模型[15],将卷积网络和递归网络相结合,以提高流量分类的准确性。其中,CNN用于提取单个数据包的特征,LSTM以流中任意3个连续数据包的包特征作为输入来提取流特征。
4.3 评价指标与实验环境本文采用4个指标对模型进行性能评估,分别为准确率(Accuracy)、精确率(Precision)、召回率(Recall)以及F1分数(F1_score)。对于多分类问题,将每个类和剩余类样本视为一个二元分类,即可直接计算出每种类型的精确率和召回率。4个评价指标的计算公式分别如下:
$ {A}_{\mathrm{A}\mathrm{c}\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{a}\mathrm{c}\mathrm{y}}=\frac{{T}_{\mathrm{P}}+{T}_{\mathrm{N}}}{{T}_{\mathrm{P}}+{T}_{\mathrm{N}}+{F}_{\mathrm{P}}+{F}_{\mathrm{N}}} $ | (16) |
$ {P}_{\mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}}=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{P}}} $ | (17) |
$ {R}_{\mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}}=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{N}}} $ | (18) |
$ \mathrm{F}1=2\times \frac{{P}_{\mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}}\times {R}_{\mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}}}{{P}_{\mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}}+{R}_{\mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}}} $ | (19) |
其中:
本文实验环境与配置具体如表 3所示。
![]() |
下载CSV 表 3 实验环境与配置 Table 3 Experimental environment and configuration |
调参是训练神经网络的一个重要步骤,在训练阶段,通过改变每个超参数来估计参数梯度,并根据准确率的变化来决定超参数数值的增大或减小,使得模型达到最优性能。本节基于数据集A中的6类常规加密流量分别进行实验,使用准确率作为度量标准以确定最佳超参数值,从而实现分类精度和效率之间的权衡。
1)每条流的字节数
在3.1节提到,本文将每条流的长度固定为
![]() |
Download:
|
图 4 不同 |
每条流包含的字节数和SRU网络堆叠层数对模型分类性能有重要影响,从图 4可以看出,随着每条流中包含字节数
2)学习率
依照上一节的实验结果,本文将每条流的字节数
![]() |
Download:
|
图 5 不同学习率下模型的准确率 Fig. 5 Model accuracy with different learning rates |
为了验证MLBSRU-A模型的分类性能,本文基于数据集A设置4种实验场景,如表 4所示。场景1为协议封装流量与常规加密流量识别,这是一个二分类问题;场景2是协议封装流量分类,包含6类以VPN协议封装的加密流量;场景3是常规加密流量分类,也是一个六分类问题;场景4是加密流量分类,包含场景2和场景3中所涉及的12种加密流量,是一个十二分类问题。
![]() |
下载CSV 表 4 基于数据集A的实验场景设置 Table 4 Experimental scenes setting based on dataset A |
基于上述场景将MLBSRU-A模型与4.2节所述的4种模型进行对比,在实验过程中,将MLBSRU-A模型的超参数分别设置为:每条流中包含的字节数
图 6所示为上述4种实验场景下各模型的准确率、精确率、召回率和F1分数。从图 6可以看出,在场景1中,所有模型均可以有效解决二分类问题,且各模型在VPN数据集上的效果都优于nonVPN数据集,造成该现象的一个合理解释是,不同应用类型的流量在协议封装后产生了不同的分布,如文献[6]中所述,这些类型间的分布差异为深度学习模型提供了更多可以学习和提取的有效特征,从而更准确地对加密流量进行分类。在所有场景中,1D-CNN模型的性能最差,这是因为其结构过于简单,无法提取足够的特征来进行分类,文献[6]首次将深度学习用于加密流量分类领域,为该领域的后续研究工作提供了新的思路。
![]() |
Download:
|
图 6 在4种实验场景下各模型的分类性能 Fig. 6 Classification performance of each model under four experimental scenes |
在场景2~场景4中,本文MLBSRU-A模型在所有指标上都明显优于对比模型。在场景3中,MLBSRU-A模型的准确率、精确率、召回率和F1分数分别达到99.33%、99.80%、99.75%和98.77%。值得注意的是,在更为复杂的十二分类场景中,MLBSRU-A模型的准确率依旧能达到99.08%,相比于BLSTMA模型、BGRUA模型、1D-CNN模型及CNN+LSTM模型分别提高了8.47%、4.34%、13.73%和10.17%。此外,在该场景中,本文模型的精确率、召回率和F1分数分别为98.8%、98.4%、98.6%,相比于其他对比模型有明显提升,这可能是因为相较于传统的RNN网络,MLBSRU-A模型通过门控机制及SRU模块中使用的跳跃连接有效地缓解了梯度消失问题,同时通过多层SRU网络堆叠有效且全面地提取加密流量的高阶特征,然后利用注意力机制为重要的特征赋予更大的权重,从而提高了模型的整体分类性能。
为了更直观地体现各场景下MLBSRU-A模型对流量分类的准确率,图 7展示出4个实验场景下模型的混淆矩阵。从混淆矩阵热力图可以看出,MLBSRU-A模型可以实现精准无误的二分类,在场景3中针对VPN数据集的六分类准确率略高于场景2中针对nonVPN数据集的六分类准确率,这是因为在nonVPN数据集中,模型在Email和Chat流量之间发生了混淆,即有4%的Chat流量被错误地识别为Email,而在VPN数据集中流量之间的混淆程度很低,这也可以解释各模型在VPN数据集上的分类效果都优于nonVPN数据集这一现象。总体而言,无论是简单还是复杂的场景,本文MLBSRU-A模型的性能均优于其他模型,其在实现最佳分类效果的同时也具有一定的鲁棒性。
![]() |
Download:
|
图 7 不同场景下MLBSRU-A模型的混淆矩阵 Fig. 7 Confusion matrix of MLBSRU-A model under different scenes |
本文从训练时间和测试时间2个方面来评估模型的时间开销。训练时间即模型基于训练集进行训练的时间,其与迭代次数、模型规模以及实验硬件环境有关。测试时间是指用测试集对训练好的模型进行测试的时长,其与测试集大小、模型规模以及实验硬件环境有关。表 5所示为各模型在场景4中完成50个epoch所需的训练时间、基于同一测试集的测试时间以及模型达到收敛状态所用的时长。从表 5可以看出,本文MLBSRU-A模型基于数据集A完成50个epoch所需的训练时间为492.29 s,是BLSTMA模型的65.64%、BGRUA模型的71.62%、CNN+LSTM模型的18.83%,与结构最简单的1D-CNN模型所用时间几乎相同,但其准确率比1D-CNN模型提升13.73%。从模型的收敛时长来看,MLBSRU-A模型收敛速度最快,所用时长仅为BLSTMA模型的38.69%、BGRUA模型的44.62%、1D-CNN模型的67.24%、CNN+LSTM模型的9.28%。相较BLSTMA、BGRUA等模型,MLBSRU-A模型具有较快的收敛和测试速度,原因是其采用的SRU模块将矩阵乘积替换为Hadamard乘积,能够实现维度上的并行化计算。此外,SRU模块中采用类似于残差链接的跳跃链接,能够有效缓解梯度消失问题,同时相较CNN模型其可训练参数较少,因此,MLBSRU-A模型在保证分类准确率的同时具有更高的运行效率。
4.4.4 MLBSRU-A的加密恶意流量检测性能分析为了验证MLBSRU-A模型在加密恶意流量检测与分类任务中的有效性,本文基于数据集B进行实验。如4.1节所述,数据集B中包含10类正常流量和10类恶意流量,本文基于该数据集设置与4.4.2节类似的实验场景,详情如表 6所示:场景1为已知的加密恶意流量检测,即测试集和训练集中的恶意流量均包含全部的10类加密恶意流量,是一个二分类问题;场景2与场景1的区别在于其测试集中的部分恶意流量没有经过训练,对模型来说是未知的,即训练集中只有5类加密恶意流量,而测试集中包含所有类别,这一场景旨在测试模型对未知加密恶意流量的敏感性,详细设置如表 7所示;场景3为10类正常流量分类;场景4为10类恶意流量分类;场景5是对全部流量进行二十分类。
![]() |
下载CSV 表 6 基于数据集B的实验场景设置 Table 6 Experimental scenes setting based on dataset B |
![]() |
下载CSV 表 7 实验场景2中数据集的具体设置 Table 7 Specific setting of the dataset in experiment scene 2 |
表 8所示为MLBSRU-A模型在各实验场景下的准确率、精确率、召回率和F1分数。从中可以看出,MLBSRU-A模型在5个不同的实验场景下均达到了较高的分类性能,尤其是在已知加密恶意流量检测场景下,各指标均达到了100%。值得注意的是,在场景2中,MLBSRU-A模型展现出了对未知加密恶意流量的高度敏感性,能够准确识别训练集中没有出现过的加密恶意流量,准确率达到99.50%。此外,在最复杂的二十分类场景(即场景5)中,MLBSRU-A模型依旧表现突出,平均准确率达到99.38%,精确率、召回率和F1分数分别达到99.43%、99.24%及99.33%。因此,本文MLBSRU-A模型不仅可以实现高效的加密流量应用类型分类,而且具有对未知加密恶意流量的高精度检测能力以及对加密恶意流量的细粒度分类能力。
![]() |
下载CSV 表 8 MLBSRU-A模型的加密恶意流量检测结果 Table 8 Encrypted malicious traffic detection results of MLBSRU-A model |
本文提出一种基于MLBSRU-A模型的加密流量分类方法,利用具有高度并行化序列建模能力的SRU网络对加密流量进行高效特征提取,通过注意力机制进一步提高模型的分类精度。实验结果表明,MLBSRU-A模型的准确率、精确率、召回率和F1分数相比BLSTMA、BGRUA等模型均有明显提升,其在保证分类准确率的同时具有更高的运行效率,并且能够适用于不同复杂度的场景,具有一定的鲁棒性。此外,本文方法不仅可以实现高效的加密流量应用类型分类,而且具有对未知加密恶意流量的高精度检测能力以及对加密恶意流量的细粒度分类能力。但是,目前该方法只在实验室环境下进行了测试,下一步将在实际网络环境中对本文方法进行部署,以验证其对真实流量的检测和分类性能。
[1] |
SALMAN O, ELHAJJ I H, KAYSSI A, et al. A review on machine learning-based approaches for Internet traffic classification[J]. Annals of Telecommunications, 2020, 75(11/12): 673-710. |
[2] |
BARAC white paper[EB/OL]. [2021-11-05]. http://barac.io/white_paper_encrypted_traffic/.
|
[3] |
NING J T, POH G S, LOH J C, et al. PrivDPI: privacy-preserving encrypted traffic inspection with reusable obfuscated rules[C]//Proceedings of 2019 ACM SIGSAC Conference on Computer and Communications Security. New York, USA: ACM Press, 2019: 1657-1670.
|
[4] |
ABBASI M, SHAHRAKI A, TAHERKORDI A. Deep learning for Network Traffic Monitoring and Analysis (NTMA): a survey[J]. Computer Communications, 2021, 170: 19-41. DOI:10.1016/j.comcom.2021.01.021 |
[5] |
REZAEI S, LIU X. Deep learning for encrypted traffic classification: an overview[J]. IEEE Communications Magazine, 2019, 57(5): 76-81. DOI:10.1109/MCOM.2019.1800819 |
[6] |
WANG W, ZHU M, WANG J L, et al. End-to-end encrypted traffic classification with one-dimensional convolution neural networks[C]//Proceedings of 2017 IEEE International Conference on Intelligence and Security Informatics. Washington D. C., USA: IEEE Press, 2017: 43-48.
|
[7] |
LEI T, ZHANG Y, WANG S I, et al. Simple recurrent units for highly parallelizable recurrence[EB/OL]. [2021-11-05]. https://arxiv.org/abs/1709.02755.
|
[8] |
DE LUCIA M J, COTTON C. Detection of encrypted malicious network traffic using machine learning[C]//Proceedings of 2019 IEEE Military Communications Conference. Washington D. C., USA: IEEE Press, 2019: 1-6.
|
[9] |
BHATIA M, SHARMA V, SINGH P, et al. Multi-level P2P traffic classification using heuristic and statistical-based techniques: a hybrid approach[J]. Symmetry, 2020, 12(12): 2117. DOI:10.3390/sym12122117 |
[10] |
MA C C, DU X H, CAO L F. Improved KNN algorithm for fine-grained classification of encrypted network flow[J]. Electronics, 2020, 9(2): 324. DOI:10.3390/electronics9020324 |
[11] |
LOTFOLLAHI M, JAFARI SIAVOSHANI M, SHIRALI HOSSEIN ZADE R, et al. Deep packet: a novel approach for encrypted traffic classification using deep learning[J]. Soft Computing, 2020, 24(3): 1999-2012. DOI:10.1007/s00500-019-04030-2 |
[12] |
SHAPIRA T, SHAVITT Y. FlowPic: a generic representation for encrypted traffic classification and applications identification[J]. IEEE Transactions on Network and Service Management, 2021, 18(2): 1218-1232. DOI:10.1109/TNSM.2021.3071441 |
[13] |
程华, 谢金鑫, 陈立皇. 基于CNN的加密C&C通信流量识别方法[J]. 计算机工程, 2019, 45(8): 31-34, 41. CHENG H, XIE J X, CHEN L H. CNN-based encrypted C & C communication traffic identification method[J]. Computer Engineering, 2019, 45(8): 31-34, 41. (in Chinese) |
[14] |
MANDIC D P, CHAMBERS J A. Recurrent neural networks for prediction[M]. Chichester, UK: John Wiley & Sons Ltd, 2001.
|
[15] |
ZOU Z, GE J G, ZHENG H B, et al. Encrypted traffic classification with a convolutional long short-term memory neural network[C]//Proceedings of 2018 IEEE International Conference on High Performance Computing and Commu-nications. Washington D. C., USA: IEEE Press, 2018: 329-334.
|
[16] |
LOPEZ-MARTIN M, CARRO B, SANCHEZ-ESGUEVILLAS A, et al. Network traffic classifier with convolutional and recurrent neural networks for Internet of Things[J]. IEEE Access, 2017, 5: 18042-18050. DOI:10.1109/ACCESS.2017.2747560 |
[17] |
LIN K D, XU X L, GAO H H. TSCRNN: a novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT[J]. Computer Networks, 2021, 190: 107974. DOI:10.1016/j.comnet.2021.107974 |
[18] |
HU X Y, GU C X, WEI F S. CLD-net: a network combining CNN and LSTM for Internet encrypted traffic classification[J]. Security and Communication Networks, 2021, 15: 1-15. |
[19] |
CHO K, VAN MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Washington D. C., USA: IEEE Press, 2014: 123-126.
|
[20] |
LIU C, HE L T, XIONG G, et al. FS-net: a flow sequence network for encrypted traffic classification[C]//Proceedings of IEEE Conference on Computer Communications. Washington D. C., USA: IEEE Press, 2019: 1171-1179.
|
[21] |
LIU X, YOU J L, WU Y L, et al. Attention-based bidirectional GRU networks for efficient HTTPS traffic classification[J]. Information Sciences, 2020, 541: 297-315. DOI:10.1016/j.ins.2020.05.035 |
[22] |
DONG C, ZHANG C, LU Z G, et al. CETAnalytics: comprehensive effective traffic information analytics for encrypted traffic classification[J]. Computer Networks, 2020, 176: 107258. DOI:10.1016/j.comnet.2020.107258 |
[23] |
蒋彤彤, 尹魏昕, 蔡冰, 等. 基于层次时空特征与多头注意力的恶意加密流量识别[J]. 计算机工程, 2021, 47(7): 101-108. JIANG T T, YIN W X, CAI B, et al. Encrypted malicious traffic identification based on hierarchical spatiotemporal feature and multi-head attention[J]. Computer Engineering, 2021, 47(7): 101-108. (in Chinese) |
[24] |
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735 |
[25] |
SHANG W, SOHN K, ALMEIDA D, et al. Understanding and improving convolutional neural networks via concatenated rectified linear units[EB/OL]. [2021-11-05]. http://proceedings.mlr.press/v48/shang16.pdf.
|
[26] |
BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL]. [2021-11-05]. https://arxiv.org/pdf/1409.0473v7.pdf.
|
[27] |
ISCX UNB. VPN-nonVPN dataset[EB/OL]. [2021-11-05]. http://www.unb.ca/cic/research/datasets/vpn.html.
|
[28] |
WANG W, ZHU M, ZENG X W, et al. Malware traffic classification using convolutional neural network for representation learning[C]//Proceedings of 2017 International Conference on Information Networking. Washington D. C., USA: IEEE Press, 2017: 15-22.
|
[29] |
YAO H P, LIU C, ZHANG P Y, et al. Identification of encrypted traffic through attention mechanism based long short term memory[J]. IEEE Transactions on Big Data, 2022, 8(1): 241-252. DOI:10.1109/TBDATA.2019.2940675 |