Flow Sequence-Based Anonymity Network Traffic Identification with Residual Graph Convolutional Networks
基于流序列的基于残差图卷积网络的匿名网络流量识别
摘要
目前,一些基于深度学习的工作在流量分析方面取得了优异的性能,特别是基于流量序列(FS) 的工作,它利用了流的信息和特征。
然而,这些模型没有考虑流之间的关系,错误地将 FS 中不相关的流识别为识别流量的线索。
本文提出了一种新的基于 FS 的匿名网络流量识别框架,利用残差图卷积网络 (ResGCN) 来利用流之间的关系进行 FS 特征提取。 此外,设计方案来预处理真实世界流量的原始数据,进一步提高识别性能和效率。 两个真实世界流量数据集的实验结果表明,我们的方法大大优于最先进的方法。
Ⅰ.引言
- 流之间的关系
- 属性关系。 同一个应用请求产生的正向流(F-flow)和对应的反向流(R-flow)具有属性关系。
- 时间关系。 时间关系表示流之间的时间间隔。 间隔越长,相关性越低。
-
图卷积网络(GCN)
图卷积网络(GCN)通过不同权重的边连接相邻节点,并通过计算相邻节点的特征求和来更新特征表示,能够在特征提取过程中考虑流之间的关系。
-
本文概述
本文提出了一种基于 残差图卷积网络 (ResGCN) 的新型基于流序列的流量识别框架。将连续的多个流(即流序列)作为输入特征。 每个流都是一个节点,根据流之间的关系设置边的权重。 为了更好地保留梯度的空间结构,采用残差结构来提取特征。
此外,作为识别真实世界流量的端到端框架,它根据流量分割方案从原始流量中提取丰富的特征,并使用Light Gradient Boosting Machine( LightGBM)算法选择最优的特征组合,提高模型性能和效率。
-
贡献:
-
利用流之间的属性和时间关系,实现更合理和有效的流序列特征提取;
-
设计方案来处理真实世界的原始流量数据。 它考虑了流分割,用于生成和丰富原始流量的流特征,以及基于 LightGBM 的特征组合,避免无关特征降低模型性能和效率。
-
评估了两个真实世界流量数据集的框架。 结果表明,我们的方法比其他方法具有更优异的分类性能,适用于识别不同的网络服务。
-
Ⅱ. 相关工作
Ⅲ. 问题制定和方法概述
本节中,首先提供流量中的流(flow)背景。 然后,介绍 基于ML的特征选择算法 和 基于DL的特征提取算法 的预备知识。 最后,概述识别网络流量中各种匿名服务的方法。
A. 流量生成
-
流量
在分组交换网络中,「流量」是在两个主机之间携带信息的一系列分组。
「原始流量数据」被捕获并以 pcap(数据包捕获的缩写)格式存储。
-
加密流量的统计特征
直接分析匿名网络流量的pcap文件难以识别不同的服务。 因此,需要对统计特征进行计算和提取,丰富每个流的特征信息。
加密流量的统计特征是通过 Layer 2 到 Layer 4 的 header 特征计算出来的,不受 Layer 7 任何加密的影响。
-
特征提取
使用 轻量级流量特征提取工具 Tranalyzer2 计算统计特征。
(1)特征提取的流序列模型
为了保留原始流量的时空相关性,在提取期间根据时间戳顺序存储生成的流量。
- 如图1所示,将连续的 I 个流作为一个流序列,其中每个流总共包含 J 个特征。 原始流量由 K 个流序列组成,每个序列与前一个序列在时间上是连续的。
(2)流量提取要考虑的两个要素
-
每个序列中的流(Ih, Ih+1)之间存在属性和时间关系。
-
许多变量会影响流生成过程中的结果。
根据不同的持续时间或数据包大小对流进行分段,直接影响相关统计的计算结果。
B. 用于特征选择的 LightGBM
-
特征选择算法:LightGBM
LightGBM ,一种基于梯度提升决策树 (GBDT) 的机器学习算法。 GBDT 算法在训练过程中对特征的重要性进行排序,因此适合特征选择任务。
传统的基于 GBDT 的算法非常耗时,因为它们必须扫描每个特征的所有样本点。 因此 LightGBM 采用基于梯度的单边采样(GOSS)算法,大大降低了时间复杂度。
GOSS算法的主要思想: 「梯度大的样本贡献更多的信息增益」。 因此,可以 在对样本进行降采样时保留梯度大的样本 ,而 梯度小的样本按比例随机采样 。
C. 用于特征提取的 GCN
图卷积网络(GCN)源自图谱理论,将卷积运算从基于网格的数据扩展到图结构数据。
在本研究中,将流序列看作一个图,每个流是图中的一个节点。 根据不同流之间的关系形成连接关系。
一般情况下,使用图拉普拉斯矩阵分解。然而,当图的规模很大时,分解变得非常困难,因此采用切比雪夫多项式。
D. 本文方法
-
使用流量抓包工具tcpdump获取实时流量,保存为pcap文件。
-
其次,使用流发生器来实现对pcap文件的快速实时分析。
根据预设规则,提取 pcap文件中的流。 流序列由多个连续的流组成,不同流之间的关系图也会在这一步生成。
-
然后,使用基于LightGBM的特征选择方法来选择最优的特征组合。
-
最后,所提出的 RESGCN 分类器利用生成的关系图来实现有效的匿名网络流量识别。
Ⅳ. 匿名网络流量识别框架
所提出方法的概述如图 2 所示。
A. 原始流量数据处理方案
原始流量数据作为 pcap 文件获得,需要处理才能应用于 RESGCN 模型。
数据处理包括以下四个步骤。
-
生成流量
在现实世界的流量中,需要对持续时间长的流进行分割。
流分割方案可以分为两类:基于时间和基于大小。
「基于时间」的方案设置了流持续时间的上限,
「基于大小」的方案设置了最大数据包大小的上限。因此,首先使用生成器通过流量分割方案从原始流量中生成丰富的特征。 然后,采用标准归一化方法来提高数据的可靠性。
-
组成流序列
研究表明,使用流序列将显着提高分类性能。
但是,包含流太少的流序列信息不足,无法达到理想的分类性能; 过多的流会降低效率。
因此,将「每个流序列设置为包含八个连续流」。
-
构建图结构
从以下两个方面构建图结构。
-
属性关系图 (ARG)
应用请求产生的 F-flow【正向流】 和 R-flow【反向流】 之间的关系被定义为属性关系。 这两个流量具有很强的相关性。
通过三元组确定两个流之间的属性关系(即流索引、传输字节和接收字节)。
在流生成过程中,根据源/目的IP、源/目的端口、协议 生成「流索引」。
但是,分段方案将流进行了拆分,导致存在多个连续的具有相同索引的流的情况。 因此,如果两个流具有相同的流索引并且交换发送字节数和接收字节数,则它们具有属性关系。
基于三元组,将 F-flow和R-flow 连接起来,并将它们的属性关系权重设置为 1。
-
时间关系图 (TRG)
连续的多个流按照 流的产生时间 依次排列。 根据生成时间为不同的流构建 TRG。 如果流量的产生时间越近,则设置的权重越高。
具体地,在每个流序列中,第 A 个流为 flowa,第 B 个流为 flowb。 两个流之间的距离为
|B − A|
,初始权重 为1 / |B−A|
。只会连接相同方向(即正向或反向)的流。为了更合理地设置每个流的时间关系权重,将每个流的时间关系权重输入到 Softmax 函数中,使得新的权重之和为1。
如图 3 所示,流序列中的不同流通过属性关系和时间关系连接起来。 建立 ARG 和 TRG 后,对这两个图的邻接矩阵进行归一化,得到融合图。
-
-
选择特征组合
采用 LightGBM 来计算 每个样本的梯度,评估第 j 个特征的重要性,选取前 k 个特征。
B. 基于流序列的 RESGCN 分类器
在流的融合图上利用 GCN,它 允许流序列中的相关流交换信息。
RESGCN 的输入是 「经过特征选择后由八个连续流组成的流序列」,可以构造成上面提到的图。 每个流都被视为图中的一个节点。
整个模型由四个 ResGCN 块和一个 3 层 MLP 组成。
-
ResGCN block
ResGCN block 由两个GCN单元组成,中间使用了激活函数ReLU。在ResGCN块中应用残差结构,可以解决随着网络深度增加而出现的退化问题。
GCN单元包括两个关键组件,即生成的特征交互模块(GFI)和相关流交互模块(RFI) ,这两个模块可以对不同的特征和相关的流进行信息交互。
- GFI 是一个没有偏差的全连接层。它对每个流的特征进行线性变换,允许不同的特征进行交互。
- RFI 使相关流能够基于关系图交换信息。
-
MLP
最后,将 dropout 层的输出拉平,采用 2 隐藏层、1 输出层的 3 层 MLP 进行流量分类。 隐藏层可以学习非线性函数以进行特征提取。
Ⅴ. 表现和评估
本节回答了以下三个研究问题:
- 流量数据处理方案在处理真实世界的原始流量时效果如何? (第 V-C 节)
- RESGCN 在真实世界网络流量上的表现如何,识别不同的网络服务? (第 V-D 节)
- RESGCN 是否比最先进的方法取得了更好的性能? (第 V-E 节)
A. 评估数据集
目前,用于匿名网络流量分析的主流数据集有两个(即 ISCXTor2016 和 Anon17 ),但是这两个数据集已经不适合当前的匿名网络流量分析。
-
数据集D1:SJTU-AN21 数据集
最新的 SJTU-AN21 数据集 (D1)包括「由十个匿名服务生成的三个最流行的匿名网络(即 Tor、I2P、JonDonym)的最新版本中的流量数据」。
-
对比数据集D2:ISCXVPN2016
为了评估分类器的通用性,引入了真实世界的流量数据集 ISCXVPN2016 (D2) ,提供了虚拟专用网络 (VPN) 上不同应用服务的流量,共包含 7 种应用服务(浏览、FTP、VoIP 等)。
与速度慢且注重隐私的 Tor、I2P 和 JonDonym 不同,VPN 速度更快,更适合日常任务。
B. 实验设置
- 实验设置
-
为了回答 RQ1,评估了所提出的原始流量数据处理方法在不同流量分割方案和特征选择方法上的性能,并确定了后续实验的最佳组合。
-
为了回答RQ2,分析了RESGCN的训练过程,并讨论了分类结果在测试数据集上的混淆矩阵。
-
为了回答 RQ3,比较了 RESGCN 的分类性能和测试数据集上流量分类方法的最新技术水平。
AnonymityNet 和 ISCXVPN2016 数据集均用于进行上述评估实验。
-
评价指标
-
真阳性 (Tp)、真阴性 (Tn)、假阳性 (Fp) 和假阴性 (Fn) 的数量。
-
Recall、Precision 和 F1 。
-
浮点运算 (FLOPs) ,用于评估模型的复杂性。
-
C. 原始流量数据处理方案的有效性(对 RQ1)
不同的流量数据处理方案会影响分类性能。
-
流量数据处理方案设置
对以下三个主要影响因素进行研究:流分割、特征组合和流序列长度。
评估了 6 种分割方案(基于时间的 5s、10s、15s 和基于大小的 5MB、10MB 和 15MB)和 3 种特征选择方法(即基于 PCA、基于 XGBoost 和 基于LightGBM)。
- XGBoost 和 LightGBM 都是基于 GBDT 的 ML 算法,计算树中第 j 个特征的增益来反映特征重要性。
- PCA算法通过最大化目标维度的方差来降低数据维度。
-
实验结果
实验表明,10s 的特征分割方案在两个数据集上的分类性能都最好,15MB的分割方案性能最差。
基于 LightGBM 的特征选择方法在两个数据集上均取得了最高的MaxAcc,特征个数为50。 基于PCA 的方法在特征数量较少时性能更好,这是因为PCA方法将原始的高维特征映射到低维,因此低维可以保留更多信息。
因此,使用基于 LightGBM 的方法, 将 LightGBM 的特征数设置为 50 。
D. RESGCN 分类器的性能(针对 RQ2)
-
RESGCN模型在「训练精度和损失」上表现很好。
-
为了全面评估 RESGCN 的分类性能,分析了测试数据集上分类结果的混淆矩阵。
结果表明,我们的分类器可以有效地对不同服务产生的流量进行分类。
-
在 AnonymityNet 数据集上,三种匿名网络(即 I2P、Tor、JonDoNym)的流量被正确区分。 在识别匿名网络服务方面,I2P 网络上的服务是最难识别的,出现了误分类。
-
在 ISCXVPN2016 数据集上,分类器在 FTP 和聊天服务流量之间存在一些分类错误。 通过参考官方描述,发现这两个服务都包含了 Skype 应用产生的流量,这是造成误分类的主要原因。
-
-
检查 RESGCN 的每个组件对性能的影响
对 RESGCN 进行了消融研究, 评估结果报告在表III中。
将 RESCNN 的结果作为基准情况,它使用与残差 GCN 块具有相似结构的残差 CNN 块。
- 去除 GFI :导致性能显着下降,说明了 GFI 对生成的特征之间进行信息交互的必要性。
- 去除 RFI :在两个数据集上的功能要弱得多,说明 RFI 在很大程度上有助于 RESGCN ,因为 RFI 利用流序列的关系图进行更合理和有效的特征提取。
- 去除RES (即保留 GCN 单元,但没有残差结构):表明残差结构可以通过直接信号传输有效避免网络退化。
- RESGCN w/o GCN 和 RESCNN 的实验结果都证明了 GCN 单元在流序列的特征提取中起着至关重要的作用。
E. 与其他方法的比较(针对 RQ3)
-
流量分类性能的结果
-
RESGCN 在几乎所有的评估指标上取得了最好的性能。
-
传统基于 ML 的方法并不理想;
-
2D-CNN 和 3D-CNN 模型的分类性能非常有限。
-
CNN、LSTM 和 LDAE 都使用统计特征和流序列来实现显着的性能提升。 然而,由于缺乏挖掘流序列的内在关系,无法达到很高的准确性。
-
LAttn 模型通过 attention 机制学习流序列的内在关系,性能进一步提升。
-
FS-Net 通过引入重构损失实现了对加密流量更好的特征表示,提升了分类性能,但是也带来了更大的参数量。
-
RESGCN 利用生成的关系图对流序列进行特征提取,显着提高了匿名网络流量的分类性能。
三种基于 LSTM 的模型(即 LSTM、LAttn 和 FS-Net)的速度非常慢。
-