原文标题:DE-GNN: Dual embedding with graph neural network for fine-grained encrypted traffic classification
原文作者:Xinbo Han , Guizhong Xu , Meng Zhang , Zheng Yang , Ziyang Yu , Weiqing Huang , Chen Meng
发表会议:Computer Networks,2024
原文链接:https://www.sciencedirect.com/science/article/pii/S1389128624002044
笔记作者:樊春霆@安全学术圈
主编:黄诚@安全学术圈
流量加密技术本意是保护用户的隐私,但是这使得流量的分析和分类技术变得复杂。识别加密流量的具体类别对于网络空间安全管理有着重要的作用。目前对于加密流量识别的深度学习方法存在一定缺陷,主要表现为:深度学习方法在加密流量中难以有效的提取有用信息、仅关注时间和空间特征而忽略了端系统之间的交互特征、混合使用包头和负载。
由此,本文作者提出了一种基于图神经网络(DE-GNN)的加密流量分类模型。模型主要由四个部分组成:双嵌入、包级流量学习、流级图的构建与学习、自适应深度特征融合。本文主要做出了以下三点贡献:
如图所示,本文提出的模型主要由四部分构成,分别是双嵌入、包级流量学习、流级图的构建与学习、自适应深度特征融合。
因为原始数据包中含有更多、更全面的信息,因此本文中使用原始数据表示数据包,而不关注他们的统计学特征。同时,由于有效载荷主要携带用户数据,构成双方通信的内容,往往是加密的;而报头仅有五元组和协议类型等信息,此部分不加密。因此本文考虑将两者分开学习。由于网络流量,尤其是加密流量中的值缺乏特定的数字含义与连续性,本文对每个字节使用了独热编码表示。独热编码为每个字节生成一个唯一的向量表示,向量中只有一位为1,其它均为0。
上一部分中,我们已经成功用字节表示了数据包。为了提取数据包的特征,本文采用了字节提取模型,从TextCNN中获取灵感得到了PacketCNN模型。该模型使用三种不同的卷积核分别提取每个包中的内容,每个卷积核均由卷积层、ReLU激活函数、池化层组成。体系结构如下图所示:
此方法减轻了噪声的影响,与直接使用原始字节相比,我们能够更深入的研究数据包的有效特征
虽然加密流量保护了通信的内容,但是其并不改变通信各方的交互模式。每种流量都有着自己独特的交互模式,这就为我们通过研究流量交互方式进行加密流量分类提供了可能。
如下图所示,在此图中,每条箭头代表一个流量数据包,其方向代表数据包的传输方向。
由此,我们可以将其进一步转化为图结构,如下图所示。
首先,我们引入burst的概念:短时间间隔内沿同一方向连续传递的数据包序列。当前数据包在一个阈值:burst-threshold 内发生。虽然burst-a和burst-b两者是相同方向的连续报文序列,但他们的时间间距超过了burst-threshold,因此将他们分为两个burst。
顶点:TIG中的每一个顶点对应一个包,具体的,我们使用先前获得的包级表示来代表每个包 边:TIG将网络流量分为多个burst,然后用这些burst间的关系来表示顶点的连接。共有两种边,一种边用于连接同一个burst中的顶点,具体的,这些边按照包的时间顺序连接顶点。另一种边用于连接相邻burst之间的顶点,具体的,每个burst中的第一个顶点和最后一个顶点分别向相邻的burst的第一个顶点和最后一个顶点连边。此处的边均为无向边。
TIG有效的表示了进行网络通讯双方的交互行为,使得图神经网络可以对此进行提取和分析。同时,由于其使用包级特征作为顶点特征,封装了从数据包中收集到的有价值的信息,从而提供了更全面的信息和丰富的表示。
与CNN(卷积神经网络)和RNN(循环神经网络)相比,GNN(图神经网络)具有从图中获取结构上的信息的优势。此外,CNN与RNN在处理过程中通常需要对包的数量进行对齐,这可能导致噪声的引入。
本文使用GAT(图注意网络)从TIG中提取信息,GAT能够为不同的节点赋予不同的权重,从而强调关键节点的信息。为了彻底的从TIG中提取信息,本文使用了多个GAT层的堆栈(在本文中使用了4层)。如下图所示:
通过TIG的构建与GNN的学习,我们得到了包头和负载的流级特征。由于两者对分类的贡献不同,因此需要一个特征融合的方法学习两者的特征。而现有的特征融合方式主要是固定权值的,本文则采用了自适应深度特征融合。过程如下图所示:
本文的数据集主要来源于网络,包括两部分:ISCX-VPN2016和ISCX-Tor2016。本文中没有采用ISCX-Tor2016中ISCX-nonTor的部分。
在数据预处理中,本文进行了:
下图中展现了最佳分类性能的超参数值。在训练过程中,本文使用了5倍交叉验证和earlystop。
本文的评价指标有准确率AC,精密度PR,召回率RE和F1-score。
敏感性主要考虑了报文数的影响和字节数的影响。以F1-score为评价指标,分析结果如下图所示:
报文数的影响主要影响了数据包的数量,直接影响到了TIG的大小,可以观察到随着数据包数量的上升,模型的性能也开始上升,最后趋于稳定。
字节数数量主要影响包级学习。从图中可以看出,当使用负载的前400字节进行建模时,模型性能最优。
结果如下所示:
对四个部分,本文分别作了消融测试。
为证明GAT学习TIG的有效性,本文选择了一些经典的GNN架构作为变体,结果如下图所示:
本文中,作者团队创建了一个TIG的变体:两个相邻burst的节点两两连接,而不是仅仅连接开始和结束节点。结构如下图所示:
结果如下图所示:全连接图导致了性能的下降。
为了全面评估模型性能和模型复杂度之间的权衡,本文给出了所有基线和模型的浮点运算(FLOPs)和模型大小。
在不同的方法中,DE-GNN的参数数量是第二少的,但是与此相反的是,DE-GNN需要更多的浮点运算。这主要是出于两点原因:本模型中进行了多步信息提取、将包头和负载部分分开进行处理,导致了运算量的增加。
本文成功设计了一个基于图神经网络的加密网络分类模型,可以以较高的性能进行加密流量的分类。主要贡献如下:
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com