随着现代企业和云环境的扩展,网络流量的复杂性和数量也在急剧增加。NetFlow 用于记录有关通过路由器、交换机或主机等网络设备的流量的元数据。NetFlow 数据对于理解网络流量至关重要,可以有效建模为图形,其中边缘捕获连接持续时间和数据量等属性。表示主机的节点缺乏特定属性。
研究 表明,NetFlow 数据量高达每秒数千万个事件,这使得传统的异常检测方法效率低下。在孤立分析单个联系时,识别攻击尤其具有挑战性,因为在没有更广泛的背景下,这些攻击通常看起来很正常。通过利用图形结构,可以添加拓扑上下文,从而更容易识别异常模式。
在本文中,我们讨论了一种应用基于自动编码器的图形神经网络 (GNN) 来检测大量 NetFlow 数据中异常的新方法。
传统的异常检测解决方案可能依赖于静态值或简单的特征工程,无法适应恶意行为不断演变的性质。目前的解决方案还可能无法达到每秒实时处理数千万个网络流所需的推理速度和可扩展性。
现有的基于 GNN 的异常检测解决方案包括基本的图嵌入技术、基于 GNN 的传统检测器,以及应用于网络数据的自动编码器架构。但是,这些方法通常存在以下问题:
- 缺乏 hierarchical graph 结构 来捕获多级模式。
- 由于仅使用标准 Netflow 5 元组 (源 IP、目标 IP、持续时间、源字节和目标字节) ,因此 覆盖性能不可靠 。他们通常需要更多元数据,例如 IP reputations 或 external threat intelligence。在生产规模场景中,此类元数据即使不是不可能,也很难获取。
- 未充分利用 IP 地址空间或邻域嵌入的 简单节点特征 。
- 无法实现大规模实时分析所需的高检测精度和超高吞吐量 。
- 灵活性和扩展潜力有限 ,无法在高流量下保持低误报率。
GNN:图形自动编码器
我们展示了一种基于 GNN 的新型自动编码器工作流,其中加入了专为检测大量动态 NetFlow 图形中的异常而定制的图形自动编码器 (GAE) 。

图 1 显示流被分块为多个序列,然后创建图形结构。每个节点都根据 IP 地址分配一个特征向量,而边缘由流属性定义。
构建图形
构建图形的第一步是将数据整理成可管理的序列。流根据指定的图形大小划分为多个序列,为此,将每个序列的流设置为 200K 流。每个流序列都会经过后续介绍的进一步处理,以形成一个作为模型输入的图形。
在推理时,后续批量流之间没有重叠,因此每个图形的创建都独立于上一个图形。
对数据流进行分块后,便可形成图形的基本结构。流中的每个唯一 IP 地址都被视为一个节点,而 IP 地址之间的每个流都构成一个边缘。此结构会创建图形骨架,然后将其封装在 PyTorch 几何图形数据对象中。
鉴于流的边缘中心性质,下一个重点是节点。
每个节点 (代表一个 IP 地址) 最初都会被分配一个向量嵌入,该嵌入衍生自 IP 地址的字节。这些初始嵌入通过迭代过程进行优化,其中每个节点的向量嵌入与其相邻节点的嵌入求平均值。此平均值会一直持续到嵌入收敛,这表示迭代之间的变化极小。最终嵌入作为图中每个节点的特征。
对于图形中对应的每个流,定义了三个关键属性:
- 前向字节数 :从源服务器发送到目标服务器的字节数。
- 向后字节 :从目的地发送回源的字节。
- 流持续时间 :捕获流的持续时间。
这些属性为每个边缘提供了基本的上下文,丰富了图形,并使 GNN 能够更好地理解节点之间的交互。如果两个 IP 地址之间存在多个连接,则每个连接都会在图形上创建不同的有向边缘。
图结构
通常规模庞大的 NetFlow 数据因标记数据集的可用性有限以及标记过程耗费大量时间而带来重大挑战。
在现实场景中,网络分析师经常遇到未标记的数据,尤其是在努力进行实时异常检测时。这使得监督式学习方法变得不切实际,因为它们严重依赖已标记的示例进行训练。
相比之下,无监督式学习模型对于 NetFlow 异常检测至关重要,因为它们不需要标记数据,并且可以根据数据的固有结构识别模式、偏差或异常。研究表明,此类模型非常适合发现网络流量中的异常模式或行为,这些模式或行为通常会引发安全威胁或性能问题。
通过使用聚类和密度估计等技术,无监督式模型可以高效处理 NetFlow 数据的动态和不断演变的性质,从而在已知和新场景中有效检测异常,而无需大量人工干预。
图 2 总结了通用 pipeline 架构。

流图首先使用图形编码器层进行编码,这些层根据图形上的每个节点的拓扑和特征为其生成节点嵌入向量。然后,使用节点嵌入和边缘属性为图形上的每个边缘生成存在概率,从而重建图形的原始连接结构 (adjacency matrix) 。最后,我们将异常分数计算为存在概率的补分。
我们方法中的主要创新
- 图形 U-Net 集成 :我们在编码器中加入 Graph U-Net,以学习网络流量模式的分层和多分辨率嵌入,从而提高模型检测细微异常的能力。
- 解码中的全局边缘嵌入:我们通过引入与全局边缘上下文相结合的边缘级嵌入来增强自动编码器的重建步骤。这有助于对边缘进行更准确的异常评分,这与网络流量相对应。
- 基于 IP-octet 的节点特征工程 :我们不将 IP 地址视为任意 ID,而是将其分解为 octet,对其进行标准化,并将这些特征与基于近邻的嵌入相结合。这种方法从现实世界的网络寻址中捕获有意义的结构和语义,提高模型对可疑活动的敏感度。
- 输出异常得分作为概率 :重建相邻矩阵后,我们计算边缘存在的概率。异常分数随后被定义为该概率的补分,反映边缘不存在的可能性。该模型的架构使图形上的每个不同边缘都有不同的异常分数,该分数由图形上的拓扑结构以及节点和边缘属性提供信息。
性能指标和比较
GAE 的表现优于当前表现最佳的基准。我们的测试数据集上当前最先进的 GNN 模型称为 Anomal-E 。与我们的方法类似,Anomal-E 以自监督的方式使用边缘特征和图形拓扑结构。
我们使用相同的数据集评估了 GAE 模型和 Anomal-E。我们的 GAE 模型在真阳性率 (TPR) 和假阳性率 (FPR) 方面的表现优于 Anomal-E (表 1) 。
数据集 | TPR | FPR | Num 总流量/ 异常流量 | Num 类 | 上一个基准 TPR/ FPR |
NF-CICIDS-2018 | 87% | 15% | 8.4 M/ 1.0 M | 6 | 88%/ 29% |
NF-UNSW-NB15 | 98% | 2% | 1.6 米/ 7.2 万 | 9 | 79%/ 0.2% |
NF – toN-IOT | 78% | 4% | 1.4 M/ 1.1 M | 9 | 74%/ 57% |
物联网 | 40% | 2% | 60 万/ 58.6 万 | 4 | 46%/ 60% |
这一改进对现实世界的异常检测任务具有重大影响,尤其是在网络安全应用中。
TPR 越高,表示我们的模型可以正确识别更大比例的实际异常,这对于检测未经授权的访问、内部威胁或网络入侵等恶意活动至关重要。
同样重要的是,GAE 模型的 FPR 较低,可减少被错误标记为异常的正常交互次数。这在实际应用中特别有价值,因为对于安全团队而言,调查误报不仅成本高昂,而且十分耗时。通过更大限度地减少误报,我们的模型使分析师能够专注于真正的威胁,提高运营效率,并确保将资源分配给高度优先的问题。
在异常检测中,TPR 和 FPR 之间的平衡至关重要,因为优化一个指标通常以牺牲另一个指标为代价。TPR 高但 FPR 高的模型可能会因误报率过高而使分析师不堪重负,而 FPR 低但 TPR 低的模型则有可能漏掉关键威胁。
我们的 GAE 模型在这两个指标上的性能都优于 Anomal-E,这证明了其在实现更好的整体平衡方面的有效性,使其在现实世界的部署中更加可靠和实用。
由 NVIDIA Morpheus 加速的 GAE
关于高吞吐量网络的一个一般问题是其计算效率。通过完全集成 Morpheus,GAE 可以提供近乎实时的推理吞吐量 (图 3) 。

在图 3 中,结果表明 Morpheus 显著提升了模型性能,与仅使用 CPU 的执行相比,实现了更高的吞吐量,并且在各种批量大小下都优于 GPU 顺序处理。
在 NVIDIA A100 GPU 上进行测试时,批量大小为 2.5M,批量为 32 个,Morpheus 流程在近乎实时的吞吐量下达到每秒 2.5M 行。与 GPU 加速的基准相比,Morpheus 流程还将攻击者的停留时间缩短了 78%。
了解详情
这种方法表明,基于 GNN 的 autoencoder,尤其是通过 U-Net 集成、全局 edge embeddings 和高级 node feature 工程与分层和多分辨率 embeddings 相结合时,可以对大量 NetFlow 数据集进行高度准确和可扩展的异常检测。通过在真阳性和假阳性率之间实现良好平衡,并通过 NVIDIA Morpheus 利用加速 inference 流程,该解决方案解决了实时、大规模网络安全分析的核心挑战。
有关更多信息,请参阅 GitHub 上使用 NVIDIA Morpheus 检测 Netflow 异常的基于 GNN 的详细 Autoencoder 示例 。