论文简介
原文题目:An encrypted traffic classification model based on the raw traffic and spatiotemporal characteristics
中文题目:基于原始流量和时空特征的加密流量分类模型
发表会议:EITCE 2022: 2022 6th International Conference on Electronic Information Technology and Computer Engineering
发表年份:2022-10-21
作者:Guanglong Zhao
latex引用:
@inproceedings{zhao2022encrypted,
title={An encrypted traffic classification model based on the raw traffic and spatiotemporal characteristics},
author={Zhao, Guanglong and Wang, Zhen and Yang, Ziheng},
booktitle={Proceedings of the 2022 6th International Conference on Electronic Information Technology and Computer Engineering},
pages={1208--1213},
year={2022}
}
摘要
深度学习技术经常被用于加密流量的分类,并产生有效的结果。在当前的加密流分类过程中,网络流特征提取不够充分,是一个值得关注的问题。提出了一种基于原始网络流量及其时空特征的加密流量分类模型。原始网络流量被分成会话,每个会话中的数据包被分成784字节的片,然后使用片数据描述流量。然后结合ResNet和GRU模型,从原始网络数据中并行生成特征,生成时间特征向量和空间特征向量。然后使用组合特征对流量进行分类。
实验结果表明,该模型在ISCX-NonVPN-VPN2016数据集上的识别准确率达到99.36%,与目前使用的其他方法相比有了提高。
存在的问题
在加密流分类任务中,使用人工提取的特征不能充分利用原始网络流量信息,且数据预处理过程复杂。
论文贡献
- 本文提出了一种基于原始网络流量的加密流量时空分类模型。
论文解决上述问题的方法:
本文使用原始网络流量作为加密流量分类模型的输入。针对流量信息提取不足的问题,基于ResNet和GRU深度学习算法,分别提取原始网络流量的时空特征。然后对两类特征进行融合,最后将融合后的特征放入softmax中进行流量分类。
论文的任务:
使用RNN进行流量多分类
1. method
本文使用原始网络流量作为加密流量分类模型的输入。针对流量信息提取不足的问题,基于ResNet和GRU深度学习算法,分别提取原始网络流量的时空特征。然后对两类特征进行融合,最后将融合后的特征放入softmax中进行流量分类。
本文的模型框架如图1所示,模型分为三个部分:
- 数据预处理模块
- 时空特征提取模块
- 识别分类模块
-
数据预处理模块
使用原始网络流量信息,不需要对流量进行人工特征提取。将原始网络流量按照一定的规则直接切片,利用深度学习算法自动提取原始网络流量中的特征信息。数据预处理过程如图所示。
在将网络流量输入加密流分类模型进行特征提取之前,需要对原始网络流量进行预处理。它主要包括三个步骤:原始流量分割、流量清洗和流量切片。
-
原始流量分割
将原始网络流量按五元组划分为会话。这导致连续的原始网络流离散成会话单元。拆分会话存储在pcap中的一个新文件中。
-
流量清洗
经过以上步骤,可以得到离散的原始流量信息。接下来,对流量进行清理,主要是清除重复流量。将MAC地址和IP地址信息替换为“0x00”。因为在数据集构建过程中,网络环境中的每台主机的MAC地址和IP地址都是固定的。这种固定的信息在训练加密流分类模型时会产生偏差,导致模型更多地通过MAC地址和IP地址进行分类,出现过拟合。使用替换后的数据可以使流分类模型更具通用性
-
流量切片
流量切片是截取流量中每个报文的协议层数据信息,然后截取它的前N字节。如果流量字节长度小于N,则使用0x00填补。如果流量字节大于N,则截断流量第N字节之后的数据。本文引用实验[12],选取N为784字节。需要注意的是,由于有效数据是pcap文件头信息后面的流量数据,所以在切片之前应该删除pcap文件的头信息。
-
-
时空特征提取模块
为了充分利用原始交通信息,使用ResNet和GRU网络进行特征提取。
ResNet网络使用残差结构,可以将网络增加到一定深度,避免梯度爆炸的问题。可以更充分地提取原始交通的空间特征。本文中的ResNet网络使用resnet18结构,该结构共有四个reslayer,每个reslayer由两个ResBlock结构组成。输出是一个256维空间特征向量。
GRU是LSTM的改进。结构比较简单,只有更新门和重置门。与LSTM模型参数的缩减相比,该方法提高了模型的训练速度。由于GRU具有内存特性,因此它能更好地处理具有时间特征的问题,并且适合于提取隐含在网络流量中的时序特征。本文使用的GRU网络共有64个隐藏层,1个GRU结构,输出是一个64维时间特征向量。构建一种新的ResNet-GRU并行融合模型,提取原始流量的空间和时序特征。
-
识别分类模块
通过ResNet-GRU网络,可以并行提取流量特征信息。通过ResNet网络可以提取流量的空间特征,通过GRU网络可以提取流量的时序特征。
将ResNet和GRU提取的特征融合到全连通层中,该融合特征向量包含空间特征向量和时间特征向量。然后将全连接层输出的融合特征输入到分类器中进行识别和分类。通过反向传播对整个模型的所有参数进行更新。经过全连通层后,ResNet和GRU网络分别进行反向传播。模型的结构和参数如表1所示。
2. 实验及结果分析
-
实验环境
实验中使用的Python环境为Python37,使用Pytorch框架开发程序,Pytorch版本为1.12.1+cu113。
- batch_size = 128
- epoch = 150
- lr = 0.001
- 损失函数:交叉熵损失
- 优化器:Adam
-
数据集
-
评估指标
-
实验结果分析