dedecms网站地图路径修改生成后 网站地图前台路径不变,网页ui设计分析,网站首页设计思路,wordpress4.9主题安装文章目录摘要引言相关工作方法3.1 字节级流量图构建3.2 双重嵌入实验4.1 实验设置4.1.1 数据集4.1.2 预处理4.1.3 实现细节和基线模型4.2 比较实验4.3 消融研究#xff08;RQ1#xff09;4.4 GNN 架构变体研究#xff08;RQ2#xff09;4.5 模型复杂度分析#xff08;RQ3RQ14.4 GNN 架构变体研究RQ24.5 模型复杂度分析RQ34.6 模型敏感性分析RQ4摘要
加密流量分类近年来受到学术界与工业界的广泛关注。然而现有方法大多依赖流级特征提取难以应对因统计特性不稳定而导致的短流处理问题或者在建模时将数据包头部与负载等同对待未能挖掘字节间的潜在相关性。针对上述问题本文提出了一种基于逐点互信息PMI的字节级流量图构建方法并在此基础上设计了 时序融合编码图神经网络TFE-GNN 用于特征提取。具体而言我们构建了双重嵌入层、基于 GNN 的流量图编码器以及跨门控特征融合机制能够先对头部与负载字节分别嵌入再将二者融合以获取更具表达力的特征表示。实验结果表明在两个真实数据集上的评测中TFE-GNN 在细粒度加密流量分类任务中显著优于多种先进方法。
引言
为保护用户隐私与匿名性网络通信中广泛采用多种加密技术对流量进行加密传输 [28]。虽然这在一定程度上提升了普通用户的互联网安全性但加密技术也为部分恶意攻击者提供了便捷的伪装手段。此外一些增强隐私保护的工具如 VPN 与 Tor [26]可能被滥用于非法网络交易例如武器买卖与毒品交易使得流量来源难以追踪 [13]。传统的数据包检测DPI方法主要依赖挖掘数据包中的潜在模式或关键词该过程不仅耗时而且在面对加密流量时准确性明显下降 [24]。因此如何有效表征加密网络流量以实现更为准确的检测与识别成为亟需解决的重要挑战。
为应对上述问题学界已提出诸多方法。早期的端口号检测方法因动态端口的使用而失效。随后一系列基于统计特征的方法相继出现 [8, 31, 37, 40, 43]其依赖流量层面的统计特征如分组长度的均值并结合机器学习分类器如随机森林进行预测。然而这类方法不仅需要手工特征工程而且在部分场景下由于流级统计特征的不可靠性和不稳定性而表现不佳 [36]。特别是对于相对较短的流其统计特征波动性更大。例如流的长度通常服从长尾分布 [45]这意味着统计特征普遍存在不稳定性。鉴于此我们采用数据包字节替代统计特征进行建模。
近年来图神经网络GNN[14] 已被广泛应用于处理非结构化数据的任务。凭借其强大的表达能力GNN 能够识别图中隐含的特定拓扑模式从而实现图的分类。在流量分类任务中现有的大多数 GNN 方法 [1, 11, 21, 25, 29] 往往根据数据包间的相关性构图本质上仍是统计特征的另一种形式因此依旧面临上述问题。而利用字节的现有方法也存在两大局限其一头部与负载混合建模忽视了两者语义上的差异其二对原始字节的利用不足大多方法仅将数据包视为节点并将字节序列作为节点特征未能充分挖掘其潜力 [11]。
基于上述观察本文提出了一种基于逐点互信息PMI的字节级流量图构建方法并在此基础上设计了一种新颖的模型——时序融合编码图神经网络TFE-GNN用于加密流量分类。具体而言字节级流量图通过挖掘字节间的相关性构建并作为 TFE-GNN 的输入。TFE-GNN 包含三个核心子模块1双重嵌入模块分别对数据包头部与负载独立建模2流量图编码器由多层 GNN 组成将每个字节级流量图编码为高维向量表示3跨门控特征融合机制融合头部与负载的图向量得到数据包的整体表示。在端到端训练中我们进一步引入时序模型以完成下游预测任务。
在实验部分我们使用自采集的 WWT 数据集涵盖 WeChat、WhatsApp 与 Telegram及公开的 ISCX 数据集对 TFE-GNN 与十余种基线方法进行比较。实验结果表明TFE-GNN 在大多数数据集上均显著优于对比方法并在整体性能上实现了最佳表现例如在 Telegram 数据集上提升 10.82%在 ISCX-Tor 数据集上提升 4.58%。
综上本文的主要贡献如下
首次提出基于字节级流量图的建模方法将数据包字节序列转化为图结构从全新视角支持流量分类
提出 TFE-GNN 模型分别对头部与负载建模并将字节级流量图编码为数据包级整体表示从而实现基于数据包的表示学习
在自采集的 WWT 数据集与公开的 ISCX 数据集 [5, 15] 上验证了 TFE-GNN 的有效性结果表明该方法在用户行为分类任务中显著优于现有方法。
相关工作
传统特征工程方法。 大量研究利用统计特征来刻画数据包属性并结合传统机器学习模型进行分类。AppScanner 基于双向流特征即出站与入站提取与数据包长度和间隔时间相关的流量特征 [31]。CUMUL 采用累积数据包长度特征 [23]而 GRAIN [43] 以负载长度作为特征。ETC-PS 借助路径签名理论增强原始的数据包长度特征 [40]Liu 等人 [19] 则通过小波分解利用数据包长度序列。Conti 等人 [3] 采用层次聚类进行特征提取。指纹匹配方法也被应用于流量分类任务。例如FlowPrint [32] 通过计算目的 IP 间的活动值构建相关性图以生成流量指纹K-FP [8] 利用随机森林生成指纹并通过 k 近邻方法匹配未知样本。然而这些方法均受到特征不可靠性的限制详见第 1 节。
深度学习方法。 随着深度学习模型的兴起基于其的流量分类方法不断涌现。EDC [16] 使用部分数据包头部信息如协议类型、数据包长度与时长构建特征并输入多层感知机MLP。MVML [4] 设计了基于数据包长度与时延序列的局部与全局特征并通过全连接层进行分类。此外FS-Net [18]、DF [30] 与 RBRN [47] 均采用流量序列如数据包长度序列作为深度学习模型的输入其中 DF 与 RBRN 使用卷积神经网络CNN而 FS-Net 则采用门控循环单元GRU以提取序列的时序信息。另一类方法直接将数据包字节作为输入以提取特征。例如FFB [44] 将原始字节与数据包长度序列输入 CNN 与 RNNDeep Packet [20] 结合 CNN 与自编码器进行特征提取。近年来预训练模型被引入大规模流量数据的预训练任务。典型如 ET-BERT [17]其设计了两种新颖的预训练任务以增强原始字节的表示能力但代价高昂且计算耗时。总体而言这些方法难以以相对高效的方式充分挖掘原始字节中蕴含的判别性信息而本文通过引入字节级流量图解决了这一难题。
图神经网络方法。 图神经网络在处理非结构化数据方面展现出强大潜力并已迁移至多个领域。在加密流量分类任务中GraphDApp [29] 基于流量突发行为构建交互图并采用图同构网络GIN[38] 进行表示学习。MAppGraph [25] 根据流量块中的不同流与时间片构建图但在处理短流片段时几乎无法生成完整图。GCN-ETA [46] 用于恶意流量检测其在两条流共享相同 IP 时建立边然而容易导致图过于稠密。MEMG [1] 借助马尔可夫链由流量构建图而 GAP-WF [21] 将每条流映射为图中的节点并在共享客户端身份的流之间建立边。另有 Huoh 等人 [11] 基于流内数据包的时间顺序关系直接建立边但缺乏针对性。总体来看这些方法大多在流量层面进行图构建若流中噪声过多则易受干扰而性能下降。
方法
3.1 字节级流量图构建
我们尝试将字节序列转换为图 G {V, E, X}其中每个元素 V 表示一个字节即一个字节对应图中的一个节点。 需要注意的是所有取值相同的字节共享同一个节点因此图中最多不会超过 256 个节点这保证了流量图的规模相对较小。
1字节间相关性表示
最直接的方式是按时间顺序连接字节即若字节 i 出现在字节 j 之前则在二者间建立一条边。但这种方式会导致图过于稠密拓扑缺乏区分性。因此本文采用 逐点互信息PMI 来衡量字节间的相关性 PMI(i,j)\text{PMI}(i,j) PMI(i,j) 其在自然语言处理NLP中常用于计算词语关联度。
2边的创建
PMI 值为正表示字节间存在较强语义相关性 → 建立边。PMI 值为零或负表示几乎没有语义相关性 → 不建立边。
3邻接矩阵形式化定义 aij{1,若 PMI(i,j)00,否则a_{ij} \begin{cases} 1, \text{若 } \text{PMI}(i,j) 0 \\ 0, \text{否则} \end{cases} aij{1,0,若 PMI(i,j)0否则
4节点特征
每个节点的初始特征为字节值范围为 0 ~ 255。由于 PMI(i,j) PMI(j,i)因此字节级流量图是无向图。 3.2 双重嵌入
字节值常被作为初始特征并映射到向量嵌入但字节的语义不仅取决于数值还与其在序列中的位置密切相关。 例如
相同字节值若位于 头部 与 负载其语义可能完全不同。如果强行让它们共享一个嵌入向量会导致语义混淆使模型难以收敛。
1解决思路
将数据包的头部与负载分开建模 字节级头部流量图字节级负载流量图 使用两个参数不共享的嵌入层分别对头部与负载进行嵌入。
2双重嵌入层定义 设
d0 嵌入维度K 字节取值个数
双重嵌入矩阵为 Eheader∈RK×d0,Epayload∈RK×d0E_{\text{header}} \in \mathbb{R}^{K \times d_0}, \quad E_{\text{payload}} \in \mathbb{R}^{K \times d_0} Eheader∈RK×d0,Epayload∈RK×d0
其中每一行表示某个字节值对应的嵌入向量。
实验
在本节中我们首先介绍实验设置。然后我们在多个数据集和基线模型上进行实验并分析结果。我们还进行了一项消融研究以展示TFE-GNN中每个组件的有效性。为了进行全面分析我们设计了一些模型变体来评估TFE-GNN的可扩展性并比较几种基线模型的复杂性。最后我们分析了TFE-GNN的模型敏感性。具体来说我们进行实验来回答以下问题
RQ1: 每个组件的有效性如何第4.3节
RQ2: 哪种GNN架构表现最佳第4.4节
RQ3: TFE-GNN模型的复杂性如何第4.5节
RQ4: 超参数的变化在多大程度上会影响TFE-GNN的有效性第4.6节
4.1 实验设置
4.1.1 数据集
为了全面评估TFE-GNN的有效性我们采用了多个数据集包括ISCX VPN-nonVPN [5]、ISCX Tor-nonTor [15]以及我们自采集的WWT数据集。ISCX VPN-nonVPN是一个公开流量数据集包含了ISCX-VPN和ISCX-nonVPN数据集。ISCX-VPN数据集收集自虚拟私人网络VPN这些网络用于访问一些被封锁的网站或服务由于混淆技术它们难以被识别。与此相对ISCX-nonVPN中的流量是常规流量并未通过VPN收集。类似地ISCX Tor-nonTor是一个公开数据集ISCX-Tor数据集是通过洋葱路由Tor收集的流量而Tor的流量也难以追踪。此外ISCX-nonTor数据集也是常规流量未通过Tor收集。为了对比我们使用了具有六个和八个用户行为类别的ISCX VPN-nonVPN和ISCX Tor-nonTor数据集。我们使用SplitCap从公开数据集中获取双向流量。特别地由于ISCX-Tor数据集中的流量稀缺我们通过将每个流分割成60秒的不重叠块来增加训练样本[27]。最后我们使用分层抽样将训练集和测试集按9:1的比例进行划分。WWT数据集包含了来自三个社交媒体应用即WhatsApp、WeChat和Telegram的细粒度用户行为流量数据它们分别具有12、9和6个用户行为类别。与公开的ISCX数据集不同我们还记录了每个用户行为样本的开始和结束时间戳以便进行流量分段。
4.1.2 预处理
对于每个数据集我们定义并过滤出两种“异常”样本
空流或段所有数据包没有有效负载的流量或段。
过长流或段长度即数据包数目大于10000的流量或段。
空流或段不包含有效负载因此无法构建相应的图形。事实上这类样本通常用于建立客户端和服务器之间的连接几乎没有有助于分类的判别信息。过长流或段包含过多数据包并且可能由于暂时的网络环境不良或其他潜在原因包含大量无效数据包或重传数据包。 大多数情况下这类样本会引入太多噪声因此我们也将其视为异常样本并予以移除。 对于数据集中其余的样本我们将其中的坏数据包和重传数据包移除。每个流或段中的数据包我们首先移除没有有效负载的数据包。然后我们移除以太网头部它只提供与分类无关的无效信息。源和目标IP地址以及端口号都被移除以消除与敏感信息如IP地址和端口号相关的干扰。
4.1.3 实现细节和基线模型
在流量图构建阶段我们将每个样本的最大数据包数量设置为50。 最大有效负载字节长度和最大头部字节长度分别设置为150和40。PMI窗口大小默认为5。在训练阶段我们将最大训练轮数设置为120。 初始学习率为1e-2我们使用Adam优化器并使用学习率调度器逐渐将学习率从1e-2衰减到1e-4。批量大小为512warmup比率为0.1dropout率为0.2。 我们使用PyTorch实现所有模型并在单个NVIDIA RTX 3080 GPU上独立运行每个实验10次并取平均值。为了公平比较我们使用四个指标整体准确率AC、精度PR、召回率RC和宏F1分数F1来评估TFE-GNN与以下最先进的基线方法的表现包括基于传统特征工程的方法如AppScanner [31]、CUMUL [23]、K-FPK-Fingerprinting[8]、FlowPrint [32]、GRAIN [43]、FAAR [19]、ETC-PS [40]基于深度学习的方法如FS-Net [18]、EDC [16]、FFB [44]、MVML [4]、DF [30]、ET-BERT [17]以及基于图神经网络的方法如GraphDApp [29]、ECD-GNN [11]。
4.2 比较实验
WWT和ISCX数据集上的比较结果见表1和表2。根据表1和表2我们可以得出以下结论
TFE-GNN在WWT数据集上的表现优于几种基线模型。此外TFE-GNN在四个指标上都取得了最佳结果进一步全面地证明了我们方法的有效性。
Telegram数据集上的几乎所有基线方法表现不佳这是因为VPN的使用增加了分类难度并且在VPN带来的暂时性不良网络条件下引入了背景噪声。然而TFE-GNN在Telegram数据集上也取得了卓越的结果相较于第二高的结果F1分数提高了10.82%这得益于TFE-GNN强大的字节编码能力。
与我们类似的两种基于GNN的方法即GraphDApp和ECD-GNN相比TFE-GNN在各方面都优于它们。对于GraphDApp它的流量交互图构建方案限制了模型的表达能力。尽管来自不同流量流的图在流量突发方面略有不同但不同突发之间的边缘不合理妨碍了特征提取。此外由于突发之间存在长时间连续的连接浅层GNN无法“交互”早期和后期的突发。而ECD-GNN在不同数据集上表现非常不稳定原因在于构建的图缺乏图拓扑的特异性并且结构高度相似这显著降低了其性能稳定性。通过我们精心设计的字节级图构建方法TFE-GNN能够很好地编码原始字节并且在不同流量类别之间具有更大的可区分性。
在公共数据集如ISCX VPN-nonVPN和ISCX Tor-nonTor上的广泛实验表明TFE-GNN在更复杂的数据集上也表现良好。从表2中可以看出TFE-GNN优于几乎所有的基线方法除ISCX-nonVPN数据集外在所有数据集上都取得了相似的结果。然而ET-BERT是一个复杂的模型具有较高的模型架构复杂性而TFE-GNN则是一个更轻量的模型能够在所有数据集上取得最稳定且最佳的结果。我们将在4.5节中分析模型的复杂性。 4.3 消融研究RQ1
在这一节中我们对TFE-GNN在ISCX-VPN和ISCX-Tor数据集上的消融实验进行分析并将实验结果展示在表3中。为了便于展示结果我们分别将“头部”、“有效负载”、“双重嵌入模块”、“跳跃知识网络式连接”、“交叉门控特征融合”和“激活函数与批量归一化”表示为’H’、‘P’、‘DUAL’、‘JKN’、‘CGFF’和’AN’。特别地我们不仅验证了TFE-GNN中每个组件的有效性还测试了某些替代模块或操作的影响包括’节点特征的SUM和MAX操作’以及’GRU或TRANSFORMER模块’作为下游模型替代LSTM。
从表3中的组件消融研究中我们可以得出以下结论
数据包头部在分类中的重要性高于数据包有效负载不同数据集对头部和有效负载的重要性有所不同在ISCX-VPN数据集上将头部替换为有效负载后F1分数下降了2.5%在ISCX-Tor数据集上下降了21.06%。 双重嵌入的使用分别使F1分数提高了3.63%和0.95%这表明其具有普遍的有效性。JKN式连接和交叉门控特征融合在两个数据集上都能以类似的幅度提高TFE-GNN的性能。 激活函数和批量归一化的使用显著提升了性能在两个数据集上都有明显的性能提升验证了这两个操作的必要性。 节点特征的SUM操作相比于MEAN操作在两个数据集上F1分数分别降低了11.1%和29.64%。但是元素级的MAX操作在ISCX-VPN数据集上F1分数下降较大而在ISCX-Tor数据集上仅稍有下降。 将默认的下游模型 LSTM 改为 GRU由于GRU结构更为简化在两个数据集上的全部评价指标均出现约 10% 的下降。 进一步以 Transformer 作为下游模型开展对比实验在 ISCX-Tor 数据集上Transformer 的表现较好F1 仅约 1% 的降幅但在 ISCX-VPN 数据集上F1 几乎下降 40%显示其在该场景下的适配性不足。
4.4 GNN 架构变体研究RQ2
为展示时间融合编码器Temporal Fusion Encoder的可扩展性我们选取若干经典 GNN 架构作为变体如 GAT [34]、GIN [38]、GCN [14] 和 SGC [35]在 Telegram、ISCX-VPN 与 ISCX-Tor 三个数据集上进行比较。由图2可见GraphSAGE [7] 在三套数据集上均取得最佳 F1。其余变体普遍出现明显降幅尤以 GAT [34] 最为突出。其原因在于我们的图规模较小节点数上限为 256GNN 模型易发生过拟合而 GAT 在邻域聚合中引入注意力机制进一步加剧过拟合导致 F1 明显下降。三者之中Telegram 数据集上结果波动相对更小印证了上述分析这得益于其更大的训练样本量。 此外若有需要我们的模型结构还可引入段级segment-level全局特征并与同一流量图内各节点共享从而同时纳入局部数据包与全局段上下文。借助 TFE-GNN 的强扩展性这可通过拼接、逐元素相加或类似操作轻松实现。
4.5 模型复杂度分析RQ3
为全面评估性能—复杂度的权衡我们在表4中报告了除传统模型外所有基线的 FLOPs 与模型规模。结合表2与表4可得TFE-GNN 在公共数据集上以相对轻微的复杂度增幅实现了最显著的性能提升。尽管 ET-BERT 在 ISCX-nonVPN 上与 TFE-GNN 表现接近但其 FLOPs 约为 TFE-GNN 的 5 倍参数量亦为后者的两倍通常意味着更长的推理时延与更高的算力需求。此外ET-BERT 的预训练阶段耗时且代价高昂需要大量额外数据与高模型复杂度。相较之下TFE-GNN 在降低训练/推理成本的同时实现更高精度。
4.6 模型敏感性分析RQ4
1双重嵌入维度的影响。 如图3a所示当嵌入维度 100 时F1 随维度增大而快速上升超过该阈值后性能随维度变化趋于平稳。为降低计算开销我们将嵌入维度默认设为 50。
2PMI 窗口大小的影响。 由图3b可见更小的窗口通常带来更好的 F1。窗口越大交通图中新增的边越多图过于稠密将增加类别判别难度从而不利于分类。
3分段长度的影响。 由图3c可得较短的训练分段通常带来更优表现。分段变长会引入更多噪声且下游 LSTM 在长序列建模方面存在短板影响评估结果。另一方面面对短流或短段时我们的方法能以更少的计算实现更高的精度。