Robust network traffic identification with graph matching通过图形匹配进行稳健的网络流量识别

摘要

网络流量识别作为网络管理的有效手段具有重要的价值。 通常,部署智能分类器用于高级网络保护,包括入侵流量检测和网络行为监控等。具有泛化能力的鲁棒网络流量分类器还应确保在各种网络环境中的稳定性能。 不幸的是,尽管现有的网络流量分类器在具有稳定属性分布的不变网络环境中初始化和测试时可以达到声称的性能,但它们在适应变化的实际网络时往往会失败并且遭受显着的性能下降。 基于对代表性最先进分类器的可转移性的分析,我们得出同一类的特征分布容易受到网络变化的影响,这导致了大多数现有方法的退化。 针对这一问题,提出一种基于图匹配的弱监督网络流量分类方法。 具体来说,通过弱监督聚类将网络会话聚合到具有提取的主要特征的多个集群。 此外,我们测量来自同一网络的簇之间的相关性以构建相似性图。 通过精心设计的图匹配算法将测试网络中的簇与初始网络中的簇关联起来,从而可以根据初始化网络中的关联簇对测试簇进行标记。 我们的方法显示出引人注目的鲁棒性,在不同网络中实际部署时,准确率达到 88.19%,明显优于现有方法。

1.简介

识别网络应用程序作为监控网络流量的有效方法具有很大的实用价值[1,2]。 它也普遍应用于网络安全领域[3,4]。 网络管理技术的进步使得入侵检测系统(IDS)在检测恶意流量[5,6]和监控网络行为[7,8]方面有了很大的增强。 由于网络流量加密的蓬勃发展,依赖于明文模式匹配的方法在处理加密流量时已经达到了极限。 然而,最近基于学习的方法提供了一种更好的方法来对加密流量进行分类,从有效的特征工程中获得力量[4,9-11]。 专注于加密网络流量分类的现有方法从不同类型的侧信道特征中学习。 像[12,13]这样的方法从每个流的统计特征中学习,例如数据包数量、平均数据包大小或平均数据包间隔。 此外,隐马尔可夫模型(HMM)[10,14–17]和循环神经网络(RNN)[1823]等序列模型从时间特征中学习来识别加密流量,包括数据包大小序列和数据包间隔序列。

然而,我们发现在实际部署现有模型时很难保持声称的性能。 现有方法主要关注具有稳定属性分布的不变网络环境。 然而,由于过度依赖脆弱的侧信道特征,它们很难适应实际网络的变化,并且性能显着下降。 在现实场景中,网络的属性是不可预测的,并且可能会在不同的类型或持续时间内动态变化。 不幸的是,如图1所示,我们的分析表明,大多数现有模型很难适应侧信道特征的动态分布,并且在部署在不同网络中时可能会变得无效。 理论上,网络流量分类器在适应实际的动态现实网络时应该保证稳定的性能。 因此,我们提出一种基于图匹配的弱监督加密流量分类方法来应对这一关键挑战。 具体来说,我们精心设计了一种弱监督的加密网络流量聚类算法,以弥合不同网络之间特征的移动分布。 通过所提出的聚类算法,从初始化网络和测试网络捕获的流量被聚合到不同的集群。 然后,提出了一种新颖的图匹配算法,通过构建具有一对一约束的两个聚类集的相似图(SimGraphs)来匹配来自两个网络的聚类。 总而言之,我们的贡献可列举如下:

  • 1.我们提出了一种弱监督框架,用于跨不同网络的鲁棒网络流量识别,该框架研究流量数据背后的不变分布,并通过集群级粗粒度监督弥合网络差异。
  • 2.我们精心设计了图匹配模型,揭示不同网络之间的可靠对应关系,方便不同网络场景下的可迁移性。
  • 3.进行了大量的实验,验证了大多数现有网络流量识别模型在各种网络环境中实际部署时的性能下降,并证明了所提方法的鲁棒性。

我们认为这个问题具有很大的研究价值,并有可能重新审视网络流量监控的基础。 原型已公开发布。1 本文的其余部分组织如下。 在第二节中,我们初步定义了我们关注的问题。 在第 3 节中,我们详细描述了我们提出的方法。 在第 4 节中,我们将我们的方法与最先进的基线进行比较并分析实验结果。 在第五节中,我们进一步讨论我们方法的概括和局限性。 我们在最后一节中对我们的工作进行了总结。

2. 背景及相关工作

2.1. 网络流量识别

加密流量识别近年来得到了深入研究[24,25]。 在本文中,我们的目标是对不同应用程序(APP)的网络流量进行分类。 我们将应用程序的流量视为与相应应用程序和服务器的通信。 例如,网页版 Instagram 产生的流量属于 Instagram,因为用户访问的是 Instagram 的服务器,即使他们使用 Google Chrome 访问它。 现有方法从数据包、流或会话级别识别网络流量。 流是具有相同五元组{目标IP、源IP、目标端口、源端口、协议}的数据包系列。 唯一会话包括一段时间内两个对等方之间的两个双向流。 提出了基于人工智能的先进方法来学习从会话中提取的特征,并部署这些特征来对未标记的流量进行分类。 虽然现有的方法可以识别具有稳定特性的网络中的流量,但它们很难适应现实场景中的变化网络。

2.2. 不同网络之间的可传递性

现有的网络流分类器大多采用传统的方式进行验证。 首先从具有不变属性(例如带宽)和固定拓扑的网络收集两组数据。 然后使用两个数据集独立训练和测试模型。 通常,训练有素的分类器在这种条件下可以取得令人满意的性能。 然而,特征分布可能在不同的网络场景之间动态变化。 例如,不可预测的突发或路由策略可能会导致不同的带宽、延迟或数据包丢失。 因此,在不变网络中验证模型作为传统的训练和测试模式,可能会导致验证不精确。

我们建议通过在原始网络中初始化后,使用来自不同网络场景的流量数据进行测试,来验证网络流量分类器的泛化性和鲁棒性。 在任何网络中初始化后,模型通过转移到与原始网络不同的其他网络来进行验证。 我们认为,与原始网络相比,具有强鲁棒性的分类器可以在任何网络中实现相似的性能。

2.3. 弱监督聚类算法

大多数现有的网络流量分类方法依赖于监督学习算法[23,26–28]。 一般来说,他们从完全注释的训练数据中学习并预测测试集中未标记的流量。 半监督可以认为是弱监督的一部分。 弱标签旨在降低手工标记数据的成本并提高人类努力的效率[29-31]。 如前所述,有监督方法很难适应实际网络的变化,并且性能会显着下降。 因此,来自标注流量的监督信息不能完全用来约束测试分布。 因此,我们建议对每个集合的流量进行聚类,并将聚类与一对一的约束进行匹配For such reason,we propose to cluster the traffic from each set and match the clusters with one-to-one constraints。 提出了一种弱监督聚类算法来替代经典的无监督聚类算法。 我们在第 3.2.4 节中解释了原因。 与半监督学习类似,我们使用来自注释数据的部分监督信息。 然而,半监督学习依赖于实例级注释。 给定一组带注释的数据 {𝑥𝑛,𝑦𝑛} 和未注释的数据 {x_{k}^{'}},半监督通过更新参数 𝑊 来训练模型。 相比之下,我们使用集群级别的标注,这是相对粗粒度的监督。 我们使用带注释的流量的域特征来计算相似性,而不是直接使用标签进行分类。 也就是说,与半监督算法相比,我们的弱监督聚类算法从注释分布中获得的约束更弱。

3.具有图匹配的鲁棒网络流量分类

我们提出了一种基于图匹配算法的弱监督方法,以提高在不同网络环境中对加密网络流量进行分类时的泛化性和鲁棒性。 该方法由针对网络流量的聚类算法针对不同网络场景的集群间关联的图匹配算法组成。 在对网络会话进行聚类时,我们考虑目标IP地址、域名(DN)和证书信息等稳定特征作为主要特征,而不是在不同网络中容易被篡改的统计或时间特征。 请注意,尽管主要特征可能会随着动态路由器策略(例如 CDN)而改变,但我们证明即使在不同的网络环境中,APP 之间的主要特征的相关性也保持稳定。 基于这种直觉,我们建议为每个网络场景中的簇构建相似图(SimGraphs),并通过我们的图匹配算法将簇与一对一约束相关联。 图 2 说明了我们提出的方法的框架。 本文中的符号说明如表 1 所示。 

3.1. session拆分与重构

首先,将原始流量数据拆分为单个会话,每个会话可以通过唯一的五元组进行抽象。 一般情况下,由于网络拥塞的不可预知性,各个会话的报文可能会出现乱序。 因此,我们使用每个数据包的确认或序列号等顺序信息来重建每个会话。 

 3.2. 弱监督聚类

我们提出了一种弱监督聚类方法来聚合来自相同应用程序的会话。 输出簇的数量等于数据集中 APP 的数量。 我们放弃统计或时间特征,并考虑稳定特征,包括目标IP地址、TLS/SSL证书、DN和时间段作为主要特征。 请注意,所包含的主要功能不会直接与应用程序匹配。 尽管不同实际网络中的主要特征可能会因不可预测的设置而动态变化,但它们在同一网络中保持稳定,以便我们可以使用它们进行高质量的聚类。

3.2.1. 按证书功能进行集群

对于每个 TLS/SSL 标准加密会话,未加密的证书在已建立的连接的源和目标之间交换。 理论上,应用程序通过合法证书计算出的协商私钥对与服务器的通信数据进行加密。 因此,从加密会话中提取的证书特征可以有效地定向到正确的应用程序。 通常,嵌入在 TLS/SSL 会话中的序列号与具有一对一约束的证书绑定,并且无论证书是过期还是有效,都能够代表唯一的证书。 此外,标准 TLS/SSL 证书通常包含应用程序与之通信的服务器的域名信息,可以提取该信息以改善我们方法的应用程序歧视。

首先,我们通过 TLS/SSL 证书信息对会话进行集群。 从技术上讲,并非所有数据都在 TLS/SSL 连接中加密。 在建立加密隧道之前,在 TLS/SSL 握手过程中交换未加密的证书。 具体来说,我们考虑 TLS/SSL 会话的序列号证书特征,因为序列号与具有一对一约束的证书绑定,并且能够代表唯一的证书。

有人认为,来自同一应用程序的大多数网络流量并未完全加密。 我们数据集中大约 30% 的会话是通过标准 TLS/SSL 加密的。 我们认为证书信息是最可靠的主要特征,因为证书验证在任何网络中的 TLS/SSL 会话期间都占据一定的位置,即使它受到不确定的信道干扰。 因此,会话首先按照证书的序列号聚集成簇

具有相同证书的会话被聚合到相同的根集群(𝑅𝐶),如式(1)所示。 (1) 和等式 (2)。

其中 𝑅𝐶𝑐𝑒𝑟𝑡 𝑛 ⊆ 𝑅𝐶𝑠 指的是包含具有相同证书的会话 𝜁𝑛 的根集群。 每个会话的证书特征通过𝑓𝑐𝑒𝑟𝑡(⋅)获得。 对于 𝑅𝐶𝑐𝑒𝑟𝑡 𝑛 和 ||𝑅𝐶𝑐𝑒𝑟𝑡 𝑛|| 会话,聚集的会话具有相同的证书特征。 在此步骤中,我们获得一组|𝑅𝐶𝑠|根簇(𝑅𝐶𝑠)。

 目前,TLS/SSL 会话通过不同的序列号聚合到集群中。 请注意,每个申请中可能包含多个证书。 因此,集群的数量大于应用程序的类别(目标集群数量)。 请注意,此步骤中只能对部分阶段进行聚类。 在我们算法的以下步骤中,其余阶段将进一步聚类到根簇 (𝑅𝐶𝑠)。

3.2.2. 按目的地特征进行聚类

目的IP地址通常表示某个应用程序的服务器,但内容分发网络(CDN)的繁荣打破了IP地址与应用程序服务器之间的约束。 因此,直接根据IP地址对会话进行分类是不合适的。 然而,服务器和客户端之间的周期性连接是指在某个网络中,同一时间段内同一应用程序产生的网络流量共享相同的目的IP地址。 因此,在对来自同一网络的会话进行集群时,可以将目标 IP 地址视为关键。 请注意,目标功能仅适用于集群,并且由于已验证失败而不适用于应用程序区分。

在一段时间内,具有相同目的IP地址的会话共享相同的应用程序标签。 因此,我们根据目标 IP 地址对其余会话进行聚类。 按目标 IP 地址进行集群会话的详细信息描述如下。

𝑅𝐶 𝑐𝑒𝑟𝑡 𝑛 = 𝑅𝐶𝑐𝑒𝑟𝑡 𝑛 ∪ {𝜁𝑖},𝑓𝑖𝑝(𝜁𝑖) ∈ 𝑓𝑖𝑝(𝑅 𝐶𝑐𝑒𝑟𝑡 𝑛 ),𝜁𝑖 ∉ 𝑅𝐶𝑠 (3)

其中每个会话的目标 IP 地址的特征由 𝑓𝑖𝑝(⋅) 提取。 首先,剩余会话𝜁𝑖通过等式聚合到具有相同目标IP地址的𝑅𝐶𝑐𝑒𝑟𝑡𝑛。 (3),其中𝑓𝑖𝑝(𝜁𝑖)∩𝑓𝑖𝑝(𝑅𝐶𝑐𝑒𝑟𝑡𝑛)≠∅。

然后,具有相同目的IP地址的会话通过式(4)聚合到相同的集群。  

其中𝑅𝐶𝑖𝑝 𝑛 指的是从剩余会话中通过IP地址特征聚集得到的簇。 在此步骤中,所有剩余的没有证书信息的会话将按目标 IP 地址收集。 更新后的𝑅𝐶𝑠由𝑅𝐶𝑐𝑒𝑟𝑡(按证书聚合的根集群)和𝑅𝐶𝑖𝑝(按目标IP地址聚合的根集群)组成。 

同时,将没有证书信息的会话按IP进行聚类,并将得到的聚类与𝑅𝐶𝑠合并。 请注意,𝑅𝐶𝑠的数量已扩展并且大于目标簇数。 其余会话将在以下步骤中进一步聚集到 𝑅𝐶𝑠。

3.2.3. 按域特征进行聚类

我们认为,即使在不同的网络中,嵌入到相同会话类别的标头或有效负载中的域名 (DN) 也是相似的。 例如,a.google.com 和 b.google.com 共享相同的二级域 (SLD) google.com,因此相应的会话更有可能是相同的应用程序。 同时,DN被嵌入到证书中以验证服务的合法性,并且可以被视为加密会话的标识。

因此,从每个会话中提取 DN,并将其视为主要特征之一。 即使在不同的网络中,同一类的会话也具有相似的 DN,这说明了通过 DN 进行聚类的原理。

为了将 𝑅𝐶 ⊆ 𝑅𝐶𝑠 与相似的高频 DN 合并,我们通过总结训练集中的 DN 来引入 DN 匹配表(DMT),其中每个会话的标签都是可用的。

 

训练集的DMT由来自每个应用类别的𝑁 DN列表组成,其中𝑁指流量集中的类别数量。

 对于属于类𝑛的每个𝐷𝑀𝑇𝑛,我们通过DN提取器𝑓𝐷𝑁(⋅)从每个会话𝜁𝑖中提取DN,其中𝐾𝑛指来自同一类𝑛的会话,𝑓𝐷𝑁(𝜁𝑖)是DN的集合从属于𝜁𝑖中提取 到𝐾𝑛。

我们假设𝑅𝐶𝑠的高频 DN 与 DMT 中的 DN 列表之间的相似性在不同网络中保持稳定。 我们做出这样的假设是因为从每个会话中提取的 DN 几乎不会受到网络变化的影响。 为了进一步证明这一点,我们在数据集中的两个不同网络场景中提取了高频 DN。 我们随机选择4种应用程序并分别提取每类应用程序的所有可能的DN。 如表2所示,对于相同的应用程序,它们在两种不同场景中共享相似的高频DN分布,其中𝐷𝑁𝐴和𝐷𝑁𝐵分别表示来自场景A和场景B的DN。 基于这样的假设,我们通过计算每个簇的DN与DMT中每个类的DN之间的相似度来计算相似度向量。 然后,计算𝑅𝐶𝑠的每个相似向量之间的相似度得分(𝑆𝑖𝑚𝑆𝑐𝑜𝑟𝑒),并合并具有最大值的两个簇,直到具有DN特征的𝑅𝐶𝑠的数量等于目标数量。 我们在等式中定义两组 DN 之间的相似性。 (8)。

 

 3.2.4. 根据到达时间对孤立会话进行聚类

根据我们的实验结果,𝐼𝐶𝑠 中的会话仅占完整场景 A 和场景 B 的 9.51% 和 12.96%。 也就是说,大多数会话可以根据主要特征具体聚类到𝑅𝐶𝑠。 我们假设应用程序和服务器之间的连接是周期性的,因此来自同一应用程序的会话更有可能在该时间段内发生。 因此,我们将𝐼𝐶𝑠中的集群与到达时间最接近的𝑅𝐶⊆𝑅𝐶𝑠合并。 由于聚合会话已经覆盖了每个应用程序的大部分持续时间,因此按照到达时间对剩余会话进行聚类更加可靠。 在我们的实验中,大多数会话都可以以最接近的到达时间正确聚类。 我们的实验结果表明,当按到达时间对剩余会话进行聚类时,该步骤的准确率达到 90.73% 和 92.17%。 至此,来自网络环境的所有会话都被聚合到集群中,集群的数量等于APP的类别。

如前所述,我们使用的唯一监督信息是 DN 匹配表(DMT),它是从初始化的数据集中获得的,其中每个会话的标签都是可用的。 我们提出了一种专门针对网络流量的弱监督聚类算法,而不是应用经典的无监督聚类算法,原因如下。

  • 1.无监督聚类算法缺乏细粒度的可控性,很难满足我们提出的图匹配算法。
  • 2.实验结果证明了经典的聚类算法所得到的聚类纯度可能较差。

3.3. 不同网络之间的簇关联

利用上述弱监督聚类方法,得到不同网络对应的簇,即 分别为场景 A 和场景 B。 场景A中的簇的标签是可用的,我们的目标是预测场景B中每个簇的标签。 在本小节中,部署图匹配算法将两个网络中的簇以一对一的约束关联起来,以便根据与场景A中的簇的关联来标记场景B中的簇。 

3.3.1. 相似图构建

对于具有𝑁应用类别的流量数据集,所提出的聚类算法在聚合后得到𝑁聚类。 相似图(SimGraph)是通过测量同一集合中簇之间的关系来构建的。 我们假设集群的高频DN可能在不同网络中保持稳定,如3.2.3节所述。 因此,我们定义同一集合中两个簇之间的关系可以通过计算两个簇的高频DN的相似度来获得,其描述为式(1)。 (8),其中𝛼和𝛽在本例中指的是两组DN 𝑓𝐷𝑁 (𝑅𝐶𝑖) 和𝑓𝐷𝑁 (𝑅𝐶𝑗)。 场景A和场景B的SimGraphs的构建描述为算法1。 

 3.3.2. 两个图之间的顶点匹配

我们分别从 ScenarioA 和 ScenarioB 构造两个 SimGraph 𝐺𝑎 和 𝐺𝑏。 理论上,无向加权图𝐺𝑎和𝐺𝑏是对称的,如式(1)所示。 (11),其中𝑉𝑎和𝑉𝑏是两个SimGraph的顶点,𝐸𝑎和𝐸𝑏是两个SimGraph的边。 在𝐺𝑎和𝐺𝑏中,顶点表示CrossNet2021的两个不同场景中的簇,而边表示同一网络中簇之间的关系。 我们将簇关联问题形式化为两个 SimGraph 之间的顶点匹配。 我们的目标是通过将 𝐺𝑎 和 𝐺𝑏 的顶点与一对一约束进行匹配来关联两个网络之间的簇。

为了找到 SimGraph 得分最高的集合,我们采用了 Leordeanu 和 Hebert [33] 提出的光谱匹配方法。 具体来说,为了匹配两个图之间的顶点,他们提出通过计算关联对之间的共存性来构造关系矩阵𝑀𝑛×𝑛,其中𝑛是两个图中顶点的数量。 𝑀 的顶点表示对应关系,边表示两个关联的共存度量。 然后,定义一个指示向量,其中元素𝑥(𝑖)指的是属于最大值集合的第𝑖关联𝛼𝑖的置信度。 他们专注于寻找最优解 𝑥*,其中 𝑥* = arg max𝑥(𝑥T𝑀𝑥)。 由于𝑀𝑛×𝑛是对称且非负的,根据瑞利商定理,当𝑥是𝑀的主特征向量𝑥*时,𝑥T𝑀𝑥达到最大值。 因此,具有由等式计算的最大值的关联集𝛾。 通过构造关系矩阵𝑀并计算𝑀的主特征向量可以得到式(14)。

在我们的例子中,对于具有 𝑁 顶点的 SimGraphs 𝐺𝑎 和 𝐺𝑏,我们可以通过[33]中的方法找到最大关联集。 首先,我们将𝐺𝑎和𝐺𝑏的顶点的所有可能的关联存储在列表𝐿中,其中𝐿中的元素数量为𝑁 × 𝑁。 然后,根据式(1)遍历𝐿中的元素构造关系矩阵𝑀。 (12) 和等式。 (13)。 关系矩阵 𝑀 的形状为 𝑁2 × 𝑁2。 通过部署上面介绍的光谱匹配,获得了𝑀的主特征向量𝑥*。 然后,我们不断接受与𝑥*中最大元素的关联,直到𝐺𝑎中的所有顶点都与𝐺𝑏中的顶点匹配。 主特征向量𝑥*中的元素与𝑀𝑛2×𝑛2的顶点之间的关系如图3所示。 

4 实验及结果

4.1.实验准备

4.1.1 数据集组织

在我们的实验中,数据集组织模型是使用 CrossNet2021.进行评估的。 CrossNet2021包含来自两个实际网络场景中20个流行应用程序的流量数据。 为了精确地标记流量,在网关(嗅探器)中维护一个路由表,其中包含由每个应用程序的预定义五元组集合收集的路由信息​​。 一旦主机唤醒应用程序,则将相应连接的五元组发送到骨干网关,从而对经过的流量进行精确标记,并与路由表配合。 场景A和场景B的组织如表3所示。

场景A收集在带宽为100Mbps的稳定网络中。 从 20 个应用程序捕获网络流量时,没有添加人为的突发、延迟或拥塞。 标签是可靠的,因为流量是在某些应用程序生成时进行标记的。 流量数据由部署在园区网络骨干路由器上的嗅探器捕获。

ScenarioB是在与ScenarioA不同的另一个网络中收集的。 从具有不同属性的另一个网络的网关捕获流量,该网络的带宽限制为 10 Mbps。 随机丢包率(PLR)在2.5%到5%之间,由于链路不稳定,持续占用约200ms的延迟。 此外,为了确保应用程序访问具有不同网络类型的服务器,来自场景B的流量被重定向到代理。 代理的外网桥可以将流量重定向到不同的网络位置,以便应用程序可以访问不同的CDN。 同样,场景 B 中收集了来自相同 20 个应用程序的流量。

图4示出了ScenarioA和ScenarioB的设置。 请注意,ScenarioA 和 ScenarioB 是从同一应用程序收集的。 

来自相同应用程序的流量在两个不同的网络中捕获。 场景A是在带宽为100Mbps且无人工信道干扰的网络中采集的。 场景B是在另一个网络中捕获的,该网络的带宽限制为10Mbps。 此外,场景B中的上行链路和下行链路分别附加了2.5%~5%的丢包率(PLR)和200 ms的时延。 在场景B中,APP通过隧道访问服务器,从而保证了不同的拓扑。

4.1.2. 评估指标

我们使用四个指标将我们的方法的性能与最先进的方法进行比较,包括准确度(Acc)、精确度(Pre)、召回率(Re)和F1分数(F1)。 在我们的实验中,没有考虑需要输入特征向量的类间和类内分散的聚类评估的传统指标。 由于主特征是离散的,所获得的距离很难代表比例相似度,因此测量主特征向量之间的距离并不令人满意。 因此,我们引入交互式纯度分数(IPS)来更好地衡量网络流量的聚类情况。 考虑会话标签来衡量算法获得的集群的 IPS。 IPS可由式(15)求得。 

其中𝛶𝑛是通过聚类算法得到的集合𝐶中的一个簇。 𝑦𝑖 𝑛 指来自𝛶𝑖 的会话标签。 𝑌𝑛表示𝛶𝑛的标签集。 如果两个会话在集群 𝛶𝑖 中共享相同的标签,则 (𝑦𝑖 𝑗 == 𝑦𝑖 𝑧) 返回值 1。 否则,返回值0。IPS是通过对每个簇中标签的比较结果进行平均得到的。 IPS是通过分别计算类间纯度和类内纯度得到的,并带有一个平衡指标𝛼。 通常,我们的实验中𝛼设置为0.5。 理论上,当一组集群中的每个集群都包含来自同一类应用程序的会话时,它们会获得更高的 IPS。 如果算法能够获得纯集群,每个集群包含来自一个类的会话,则可以直观地认为是一种理想的聚类算法。 

4.2.实验设置

4.2.1 基线评估

我们的实验中将四种代表性分类器作为基线,如第 1 节中所述。 基于统计特征的方法:我们与基于机器学习的几种经典方法进行比较,包括随机森林 [26]、C4.5 [ 34]、KNN [35]、SVM [36] 和 XGBoost [37]。 基于时间特征的方法:我们与从时间特征推断的最先进的分类器进行比较,包括 MaMPF [38]、SOB [15]、FS-Net [23]、FlowPic [27] 和 LSTM [22]。 基于指纹的方法:我们与FlowPrint [4]和APPScanner [39]等典型的基于指纹的方法进行比较,这些方法将综合特征视为每个应用程序的指纹。 基于端到端模型的方法:最先进的基于深度学习的方法也被视为基线,包括 RBRN [40]、Datanet [28]、ACGAN [41]、ACNN [42] 和 FC-Net [6]。

此外,我们将我们提出的聚类方法与几种经典的无监督聚类算法进行了比较,包括K-Means [43],DBSCAN [44],Spectral Clustering [45],Hierarchical Clustering [46],Mean-shift [47],BIRCH [48] ]和高斯混合模型[49]。

4.2.2. 比较实验设置

我们精心设计了两组实验,以验证我们提出的方法在对同一网络或不同网络中的加密流量进行分类时的合理性和泛化性。 (a) 在同一网络中初始化并测试模型。 具体来说,我们随机选取场景 A 或场景 B 中的 50% 会话来初始化模型,并用其余 50% 进行测试。 (b) 初始化原始网络中的模型并在不同的网络中对其进行评估。 为了进一步验证我们提出的弱监督聚类算法的效率,我们将我们提出的弱监督聚类算法与经典的无监督聚类算法进行比较。 需要说明的是,为了严谨起见,结果是50次独立评价的平均结果。 使用以下平台评估实验:Intel i7-9750 @2.6 GHz、16 GB RAM、NVIDIA GeForce RTX2060 和 Windows 10。基于学习的基线在 Python 3.6.8、Sklearn 0.20.4、CUDA 10.1 和 PyTorch  1.0.1 .

4.3. 结果与分析

4.3.1. 不变网络之间的流量分类

表 4 和表 5 显示了我们提出的方法的整体性能以及两种场景下的比较基线。 通过两个对比实验验证了方法的合理性和通用性。 如表4所示,我们使用场景A中的训练集来训练/初始化模型,并使用场景A中的测试集进行测试,以评估对来自同一网络环境的流量进行分类时的性能。 然后,我们使用场景 A 训练/初始化模型并使用场景 B 进行测试,以验证对来自不同网络环境的流量进行分类时的泛化性和鲁棒性。 同样,在表5中,我们在场景B中训练/初始化模型并转移到场景A。

  • 表 4 左栏的结果展示了在同一网络中评估的方法的性能。 我们将场景A随机划分为训练/测试集,并通过进行大量独立实验获得平均结果。 大多数基线在 4 个指标上获得了更好的分数,并且能够实现声称的性能。 尽管基线表现令人满意,但我们的方法仍然可以达到最先进的水平。 我们可以看到,与 XGBoost 相比,我们的方法优于基线,F1 分数提高了 6.58。 请注意,对同一网络中的流量进行分类是一项常规任务,并且之前的工作已经对其进行了深入研究。 它几乎不被认为具有挑战性,并且通常可以获得令人满意的性能。 
  • 表 4 右栏显示了在两个不同网络中评估的实验结果。 我们使用场景 A 初始化或训练模型,并使用场景 B 进行测试,以验证模型的可迁移性和鲁棒性。 结果表明基线的性能急剧下降。 基于统计特征的分类器很难维持场景A中获得的测试性能。 当使用 ScenarioB 进行评估时,XGBoost 的 F1 分数下降了 63.38,这表明在不同网络中泛化性较差。 基于端到端模型的方法(包括 Datanet、ACGAN 和 RBRN)在 ScenarioB 中分类时下降了一半。 Datanet、ACGAN和RBRN的F1分数分别下降了53.94、29.04、43.67。 基于时间特征的方法也会发生显着的性能下降。 当转移到场景B时,FS-Net的准确率下降了48.44%。 基于指纹的FlowPrint方法的性能比同一网络中的方法稍差,F1分数下降了7.29。 Flowprint根据IP地址、证书信息和选定的主要统计特征构建应用程序的指纹,从而减少不同网络之间漂移分布的影响。 我们的目标方法在对两个网络中的流量进行分类时保持稳定,尽管仍有轻微下降。 然而,我们的方法实现了最先进的性能,准确率为 86.67%,F1 分数为 88.16,明显优于基线。

尽管大多数具有代表性的流量网络分类器在对同一网络中的流量进行分类时能够达到声称的性能,但由于特征分布的漂移,在识别来自不同网络的流量时很难保持令人满意的性能,缺乏泛化性。 实验结果证明我们提出的方法在同一网络或不同网络中具有稳定的效率和泛化性。

 4.3.2. 使用弱监督算法的网络流量聚类

我们通过场景 A 和场景 B 进行评估,将我们提出的弱监督聚类算法与典型的无监督算法进行比较。 具体来说,提取3.2节中提到的会话的主要特征并将其视为每个聚类算法的输入。 表 6 说明了所包含基线的 IPS 以及我们在两个数据集上提出的方法,通过等式(15)获得。 。 请注意,具有更好聚类性能的方法可以获得更高的 IPS。 我们可以看到,我们的方法优于基线,场景 A 和场景 B 中的 IPS 分别为 0.9480 和 0.9351。 对两个数据集中的流量数据进行聚类时,K-Means 分别获得 0.2328 和 0.2766 的 IPS,而 DBSCAN 获得 0.2734 和 0.2656。 事实证明,传统的无监督聚类算法在对网络流量进行聚类时很难获得纯聚类。

 我们放弃了传统的聚类测量,因为我们提取的主要特征是高度离散的,不适合计算类间或类内分散度,而类间或类内分散度是众所周知的度量的基本运算符。 因此,我们在实验中引入了IPS来测量所得团簇的纯度。

通过 T-SNE 降维实现聚类结果的可视化。 为了更直观的可视化,我们仅展示场景 A 中的 10 个应用程序。 (a) 我们提出的弱监督聚类算法的可视化。 (b)-(h) 无监督聚类算法的可视化。 

此外,在T-SNE [50]的帮助下,通过映射到平面空间来可视化从上述算法获得的场景A的聚类,如图5所示。为了更直观的可视化,我们只展示了场景A的10个应用。 直观上,传统算法获得的簇是无序的,并且与来自不同应用程序的会话混合在一​​起。 虽然我们提出的方法存在轻微的混合(由于平面空间的限制,360和爱奇艺的聚类在视觉上重叠),但聚类可以准确分离,这进一步证明了我们提出的弱监督聚类算法的合理性和高效性。

IPS 和 T-SNE 可视化表明,典型的无监督聚类算法在对网络流量进行聚类时表现不佳。 相比之下,我们提出的弱监督聚类算法能够获得高纯度的聚类,并且显着优于基线。

4.3.3. 将聚类与图匹配算法关联

我们的工作中精心设计了两个实验。 首先,我们使用场景 A 的训练集初始化我们的方法,并使用同一数据集的测试集进行验证。 在这种情况下,通过计算训练集和测试集中簇的相似度来构建两个 SimGraph。 其次,我们使用 ScenarioA 初始化我们的方法并使用 ScenarioB 进行验证。 从两个数据集中获得的簇通过构造相应的 SimGraph 与图匹配算法相关联。 如 3.3.1 节中所述,SimGraph 是通过计算两个集群之间高频 DN 的相似度来构建的。 请注意,我们的目标是将场景 B 中的未标记簇与场景 A 中的标记簇进行匹配。 由于一对一的约束,两个簇之间的错误匹配将导致其他关联失败。 来自不同网络的匹配集群的实验结果显示出令人瞩目的 86.67% 的准确率。 当匹配来自同一网络的簇时,绝大多数匹配结果达到88.91%的准确率,少数低于84%。 这是因为独立实验是使用场景 A 的随机分离的训练/测试集进行的。 在少数情况下,来自同一应用程序的会话会被分成高频 DN 分布完全不同的两组,这将严重干扰 SimGraph 的构建并使匹配算法失败。 然而,我们认为极端情况是罕见事件,在我们的实验中发生的情况不会超过 50 例中的​​ 5 例。

实验结果如图6所示。所提出的图匹配算法具有很高的效率和鲁棒性,在关联来自相同网络或不同网络的簇时确保了引人注目的匹配精度。 

4.3.4. 消融研究

如前所述,我们提出的方法涉及两个部分。 首先,通过弱监督聚类算法,将各个场景的原始流量按照主特征(PF)进行聚类。 然后,通过所提出的图匹配算法,将两个集合中的簇与一对一约束相关联。 一般来说,我们的方法是集成的。 不建议将两个相关部分分开以获得最佳性能,因为匹配算法对簇的纯度很敏感。 为了验证这样的说法,我们在本文中使用主特征(PF)重建了以前的工作。 提到一些模型与其特征工程(FlowPic、LSTM、RBRN等)强相关,很难重建。 此外,我们通过使用统计特征(SF)对原始流量进行K均值聚类(K设置为20以获得20个聚类)来取代我们方法中的弱监督聚类算法。 具体来说,我们提取了大约 80 个特征,例如最大/最小/平均数据包大小、数据包到达间隔等。 由统计特征提取器 CICFlowMeter [51] 从每个会话中提取。

如表7所示,重建模型在不同网络中测试时很难达到稳定的性能,这与原始特征工程的模型相似。 相比之下,通过用 K 均值和统计特征替换我们的弱监督算法,即使在相同的网络场景中,我们的方法也会出现显着的退化,精度为 53.01。 这是因为替换后的K-means可能无法保证聚类的高纯度,严重削弱了一对一图匹配算法的关联精度。

由于图匹配算法对获得的聚类的纯度很敏感,因此只有当弱监督聚类算法和图匹配算法整体工作时,我们提出的方法才能获得令人满意的性能。

4.3.5. 碎片会话容忍分类Toleration classification on fragmentary sessions

在实际场景中,捕获完整会话并不是一件容易的事。 这是因为网络探针的开发技术在应对高网络吞吐量时很难保证流量的完整性。 另一方面,不可预测的网络拥塞可能会导致丢包,这是实际部署中的常见情况。 为了验证我们的方法在发生丢包时的容忍度,我们随机丢弃测试集中每个会话的部分数据包。 如图7所示,当每个会话中有10%和20%的数据包丢失时,聚类算法仍然可以达到0.9323和0.9194的IPS,略低于完整会话的IPS。 同样,在容忍 20% 的碎片时,准确率仅下降 0.0294。 这是因为轻微的丢包很难影响主要特征的分布。 然而,当丢包频繁发生时(例如每个会话中有 50% 的数据包丢失),性能会显着下降。 这是因为关键数据包的丢失会极大地影响主要特征的提取。 例如,握手过程中的丢包会导致证书功能的缺失。

我们提出的方法可以容忍轻微的数据包不完整性(例如 20% 的数据包丢失)并保持稳定的性能。 然而,当关键数据包在每个会话中频繁丢失(例如 50% 数据包丢失)时,性能就会下降。 

 5. 讨论

5.1. 对网络流量的对抗性扰动

对网络流量对抗性攻击的日益关注进一步挑战了现有模型的稳健性。 对特征空间的攻击通过干扰从特征工程获得的表示向量来欺骗分类器[52-54]。 此类攻击几乎不会混淆特征空间上的模型,并且无法将扰动的特征向量反转为实际的流量。 然而,对流量空间的攻击实际上可以通过修改实时流量流中的数据包来欺骗分类器[55-58]。 流量空间攻击通过精心设计的畸形数据包污染流量,并破坏分类器学习的固有顺序模式。 上述攻击方案本质上与我们关注的问题具有内在的共同点。 他们证明了侧通道特征是脆弱的并且很容易被修改。 网络特性在不同环境下表现出不稳定的特性,导致特征分布不可预测。 由于我们提出的方法依赖于主要特征之间的稳定相关性,因此特征空间和流量空间攻击策略都不会导致我们的方法无效。

5.2. 实际中的进一步部署

我们的方法由分别用于半监督聚类图匹配的两种算法组成,并且没有应用任何基于学习的网络流量分类算法,可以在实际应用场景中灵活部署。 尽管我们实验中评估的数据集规模不大,但我们的方法已在多个企业网关的网络行为监控的实际部署中被证明是有效的。 然而,我们必须指出,大量的APP类别可能会限制我们在实践中的方法。 APP 类别的增加扩大了关系矩阵 𝑀𝑛2×𝑛2 的维度,并且可能会延长 NumPy 在计算主特征向量 𝑥* 时的运行时间,但匹配精度保持稳定。 我们愿意在未来的工作中找到更好的解决方案来获取主特征向量。 尽管如此,我们认为这项研究很可能增强网络流量分类器的泛化性和鲁棒性,具有很大的价值,值得进一步研究。 

6.结论

现有的网络流量分类器在应用于不同的网络环境时大多会遭受性能下降的困扰,因为它们过度依赖于易受攻击的侧信道特征。 针对这一问题,本文提出一种基于图匹配的弱监督网络流量分类方法SimGraph,以基于流量数据背后的不变相关性来弥合网络差异。 我们首先使用所提出的弱监督聚类算法聚合来自同一网络的同一类的网络会话。 然后,我们探索与图匹配模型的簇间关联,以确保跨不同网络的稳健传输。 我们提出的方法在识别来自同一网络的网络流量时优于最先进的方法,准确率为 89.12%。 更重要的是,我们的方法在不同网络场景下初始化和测试时都能保证稳定的效率,准确率达到88.19%,明显优于现有方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值