type
status
date
slug
summary
tags
category
icon
password
Network and Distributed System Security Symposium (NDSS) 2022
EULER:通过可扩展的时间链接预测检测网络横向移动

摘要

 

I. 介绍和动机

大量现有研究基于签名认证的模型和异常检测的模型,但是对于窃取凭证的攻击,基于签名认证的模型很难检测。最有效的办法就是训练一个模型学习正常行为是怎么样的,并在检测到偏离它的行为时发出警报。但是在企业网络中涉及到的数据量是巨大的,所以横向移动检测模型必须要有高度可扩展性适应如此大的数据。如果将问题视为分类问题,也需要更高准确率。
文章把异常横向移动检测视为时序图链接预测问题,在网络上以离散时间可以抽象为快照: 。其中 V 是网络时间段 t 中的实体,Et 实体交互的边。时序图连接预测模型会从快照中学习正常行为,并给未来发生的边分配一个可能性分数,可能性分数低的边与网络中的异常连接有关。
解决方案,现有架构中密集的部分发生在 GNN 的消息传递阶段,并且巨大的节点输入特征和相对较小的拓扑节点嵌入存在不平衡。这意味着在计算 RNN 的向前传播之前,GNN 发生大部分的内存开销,所以必须是串行的。如果复制多个 GNN 独立的对快照进行操作,那就可以并发执行。使用了阿姆达尔定理证明性能会提高。
notion image
在图(a)中显示之前的研究在 GNN 嵌入阶段依赖 RNN 的输出,或者是仅仅将 GNN 和 RNN 架构结合,所以模型必须是串行的,并且一次只能执行一个快照。图(b)是 EULER 框架,它可以在多台机器中复制并行处理快照,并将输出传回运行 RNN 的主机创建一个有助于链接预测的时间嵌入节点。
文章提出的 EULER 是一种形式化、可扩展的动态链接预测的异常检测方法,它的框架包括基于序列编码器的堆叠的模型无关 GNN,网络中离散时刻的拓扑被 GNN 编码,动态的连接变化被 RNN 编码。重点是框架实现了 GNN 在多台机器上的复制独立运行不相交的快照,有了性能以后就更易于工业规模、真实世界的异常活动处理。
实验评估:通过一个遵循 EULER 框架的模型和其他先进的模型在三个数据集进行比较,结果差不多或略好,但是文章的提出的框架易扩展可以容纳更大的数据。
文章贡献
  • 第一个使用时序图连接预测作为异常入侵检测方法,其他异常检测的图分析要么没有考虑数据的事件性质,要么没有使用强大的 GNN 模型。
  • 性能好
  • 提出的并行模型
其余部分:第二节介绍主题背景和关键术语;第三节证明时序图在异常检测中的必要性;第四节详细解释 EULER 框架;第五节介绍和其他自编码器的比较实验;第六节如何使用 RULER 构建;第七节讨论基于异常的入侵检测系统;第八节展望未来。
 

II. 背景

离散时序图

一个离散时序图 G = {G1, G2, ...GT } 是由一系列快照 Gt = {V, Et, Xt} 组成,V 表示网络中的节点,Et 表示在一时刻 t 两个节点的关系,Xt 表示在时间 t 与节点关联的任何特征。所有图都是有向图且有加权边。W : E → R 表示每个快照包含时间段内边缘频率。
用 I 代表用户和机器之间的交互,表示为 <src,dst,ts> 的多重集。src 是在时间 ts 与 dst的交互实体。在时间窗口 δ 中, I 有(src,dst)∈ V,所有边(u,v)∈ Et,存在< u, v, w >∈ I,且 t ≤ w < t + δ。

时序链接预测

时序链接预测定义为,在给定现存的网络快照下,找到一个函数可以表述时序图中某个时间点存在边的可能性。在企业网络中使用,可以进一步扩展为包含异常检测。
横向移动时序链接预测定义为,在网络活动的时序图 G 找到一个函数,可以预测未来的可能性,可能性得分低于特定阈值的称之为异常。
 

III. 动机

之前的异常检测分为:
  • 基于频率的,通过偏离观察到的时间模式判断。
  • 基于事件,通过识别特征中的共性,如数据包统计、协议等,与内部各个事件关联为一个系统,具有意外特征的成为异常。
这两种方法问题在于忽略了网络数据的固有结构特征,论文 [29] [30] 提出模型缺少源和目的实体的特征,对于这些模型,重要的是孤立事件本身的细节,而不是事件发生的机器。网络过于复杂,无法使用一系列不相关的向量表示。网络是关系数据网络,随时间波动,所以最自然的方式是通过图形表示。
[9] 使用了静态图的入侵方法检测,正常状态是根据实体间的交互来定义的,但是没有考虑时间,异常被定义为在已知图形下的低概率边。
图 2
图 2
在上图中展示上述入侵检测方法的优劣。在 t=0 时刻 Alice 和 Bob 向计算机进行身份验证,在 t=1 时刻他们访问共享驱动器。在 t=2 和 t=3 时刻 Bob 没有进行身份验证。所以有一个简单的概率分布:
P((C1, SD) ∈ Et+1 | (B, C1) ∈ Et) = 1 P((C1, SD) ∈ Et+1 | (B, C1) ∉ Et) = 0 Et 时刻进行身份验证后,Et+1时刻就会访问共享存储。
所以在 t=4 和 t=5 时刻,Bob并没有进行身份验证,直接访问共享存储就被视为一种攻击。
检测示例中的攻击,需要参考之前发生的事件,以及网络中的其他交互。一个时间点两个实体之间发生的事件,不能被认为与未来不同环境发生的同一事件相同。但是现有的图检测方法是孤立的看待每个事件,例如基于事件的方法(例如 [9]、[10]、[14])将看不出 t=1和t=5(这里文章中写的是 t=4,但是我感觉是标错了)事件的区别。如果想要检测出异常,就需要考虑先前的观察或已知条件的基础上,对系统未知状态的可能性进行推断。
[12], [13], [26], [27], [28]主要考虑事件的频率和单个事件的特征,同样也无法分辨出 t=1 和 t=5(同上) 之间的区别,无法捕捉到实体之间的相互作用和关系。因此,它们无法有效地解释网络中不同实体之间的重要性以及它们与其他事件的关联关系。
文章提出的解决方案是,将网络表示为时序图,确保捕获各个时间点的网络全局结构,确保不会丢失连接(connections)变化的时序依赖。并且假设恶意事件可以做出与正常事件相同的特征,这样传统的基于事件点的方法会失效;假设攻击者可以建立正常的连接和频率活动,这意味着图形方法和统计方法是不够的。对于时序图,假设有足够的粒度,这些都是可以解决的。

IV. EULER

框架旨在学习一个以时序图之前状态为条件的概率函数,以确定边在未来的状态可能性。

解码-编码

EULER 框架是传统图自编码器在时序图的扩展,它由在模型无关的 RNN 上的堆叠模型无关 GNN 组成。这些模型旨在找到一个编码函数 和解码函数 。编码器将 T 快照的时序图节点映射到 T 个低维嵌入向量。解码器确保在解码过程中丢失最少的信息,旨在从潜在向量 Z 重建输入快照。公式表示如下
其中 是 t 时间快照的邻接矩阵 表示。结果 是一个 维张量,经过优化后包含图结构和随时间变化的动态信息。
解码器函数强制编码,在给定嵌入的情况下重建原始图结构。可以表示为:
其中 是图 的嵌入向量。像[9][19][32][23]中那样使用内积作为解码函数,可以表示为:
其中 表示为sigmoid 函数, 表示在 时刻的重建邻接矩阵,作为内积解码的结果, 表示边缘 在时间 存在的对数概率,这样函数 用于检测异常边。

工作流程

EULER 框架的核心设计是,将模型无关的 GNN 副本,作者称之为拓扑编码器,堆叠在一些具有简单约束的模型无关 RNN 上。当使用主/从模式的架构时,使用一个循环层作为主节点,多个拓扑编码作为从节点,具有很大的并行潜力。
EULER 整体工作流程如下图所示,分为 5 个基本阶段:
  1. 主节点生成从节点,指示他们加载哪些快照。
  1. 主节点初始化训练循环,从节点生成拓扑嵌入向量。
  1. 接收到拓扑嵌入向量后,主节点开始通过 RNN 处理他们。
  1. RNN 的输出被传回从节点,计算损失或分数。
  1. 在训练阶段,损失会被返回给主节点进行反向传播。在评估阶段,返回异常分数。
图 3
图 3
图三:训练阶段主节点和从节点的完整序列交互。 1.) 主节点初始化每一个从节点,并向每个从节点发送指令,从内存中加载快照的不相交子集。加载完成以后,训练循环就可以开始了。 2.) 主节点向每一个从节点发送命令,在它们自己的 GNN 上执行图的向前传播。从节点完成以后,将拓扑嵌入向量 传回主节点的有序队列中。 3.) 主节点向 RNN 传入队列中的拓扑嵌入向量,并产生最终的嵌入向量 。 4.) 主节点把最终的嵌入向量传回从节点进行解码和计算损失。 5.) 主节点和从节点根据 DDP 梯度分桶算法对聚合损失函数进行反向传播。在评估模式下,步骤几乎完全相同,唯一不同的是,在第 4 步中返回每个边的分数 而不是损失。
分布式从节点是使用 Pytorch DDP 库实现的。更多 EULER 接口实现信息在附录。
  1. 加载数据
当程序第一次启动时,Pytorch 并行处理库会自动为每个子进程分配一个从 的 ID,默认 id:0 作为主节点,其他都是从节点。主节点除了循环层之外,还有用每个从节点的远程调用,可以向其他进程发送命令启动。
举例步骤 1.)。从节点集合 ,时序图被分成 个快照,主节点向每个从节点分配 个快照。此时,从节点 持有快照 。如果 不能整除 ,额外的图会被分配给最后分配的从节点。这是因为模型的循环层按照顺序处理拓扑编码器的输入,因此,RNN 可以尽早的对嵌入向量顺序的执行向前传播,此时未来的快照依然在被从节点处理。对于这部分的分配方法算法 1 进行详细解释:
notion image
算法流程:计算每个从节点分配的快照 minTasks,计算多出来的 remainder 个快照,按照逆序分配给节点。然后异步调用每个从节点加载分配的快照数据。个人觉得标红部分写错了,应该是end = start + tasks[i+1]
  1. 拓扑编码器
在步骤 2.)中向前传播的过程中,循环层发送每个从节点的 forward 异步调用。为了减少网络负载,主节点只需要向从节点传输一个需要处理边的划分的枚举表示,因为一些需要作为验证集和测试。从节点处理它们分配的每个快照。为了进一步减少网络负载,因为每个从节点都是一个图形自编码器,从节点返回的矩阵远小于输入。
为了优化性能和确保一致性,对这一阶段仅有一个约束:拓扑编码器不能依赖于任何时间信息。它仅使用单个时间点可观察到的特征,提供持有快照状态的纯空间编码。满足这个约束以后,每个从节点都不依赖其他节点的输出,进而可以让每个编码器都并行运行。理论上,与快照数量一样多的从节点,计算向前传播的时间复杂度受边数最多的快照影响。
  1. 时序编码器
主节点有一个指向从节点输出未来对象的有序列表,当收到第一个嵌入向量时,会立刻传入 RNN 进行处理,如图 3 的步骤 3.)所示。尽量不要使任务分配不平衡,主节点的循环层可以并发执行最多 个从节点的拓扑编码器。其他都在描述并行优势。
当循环层处理完从节点的输出以后,会保存 RNN 的隐藏状态和输出,等待下一个拓扑编码向量传入以后,使用保存的 RNN 隐藏状态处理,重复这个过程直到所有从节点完成执行。这个过程在算法 2中有详细描述。
notion image
这个算法是主节点的向前传播函数,其中使用异步调用,将每个从节点的向前传播结果存入 futures数组,使用 h 保存 RNN 的隐藏状态,zs 存储输出。
  1. 解码器
当主节点完成最后的嵌入向量生成,会将其传回从节点解码,如果模型在训练阶段,则会计算损失。这个过程会在从节点中并行进行。通常,像这样计算边的相似性的图运算需要耗费大量的算力和内存,因此,我们尽可能的并行它们。像图 3 中的步骤 4.)所示。
在评估阶段,从节点会返回边的可能性分数 而不是损失,并和真实情况的边分数 。 嵌入向量的解码过程相同,但是不用计算损失。
  1. 反向传播和评估
在[31]中,当损失被计算出并返回到主节点后时,梯度通过反向传播计算,首先通过循环层,然后通过分桶算法,并行反向传播每个拓扑编码器生成的损失函数分量,并向所有从节点广播。经过反向传播和广播交换后,所有从节点拥有一致的模型梯度的副本。最后,循环层和拓扑编码器通过 Adam 优化器更新它们的参数,主节点重复图3 中步骤 2 - 5直到收敛。

训练模型

EULER 模型有两种训练模式:链接检测器链接预测器。这两种模式的区别在于步骤 4.)中嵌入向量 传入从节点是否计算损失。链接检测器是一种归纳学习,它使用观察到的部分快照 生成 ,并视图从 中重构邻接矩阵 。在实际运用中常被用作审计工作,对已经发生的异常连接进行审查识别。
链接预测器是一种直推式学习。它使用快照 生成 ,预测未来的状态 ,且 ,在实际运用中,它常被用作运行的入侵检测工具,在边被处理为完整的快照之前,预测模型可以为观测到的边打分。例如,当 给定网络中到 时刻之前的观察见过,EULER 的目标是对时间 观察到的边进行打分。这样模型可以从网络之前的状态学习到的嵌入向量,处理正在发生的连接。
为了实现这些目标。重建的损失函数目标是最小化等式(3)的负对数似然。其中训练检测器时 ,训练预测器时 。对于更大的图,操作整个邻接矩阵变得不可行,相反,通过最小化已知边的近似分数的二进制交叉熵近似这个值,以及在时间 的非边缘的随机样本:。最终,对于 时刻快照的重建损失函数表示为:
每个训练周期,从节点从他们分配的快照随机采样新的负边缘。主节点协调将张量 的切片发给每个从节点以生成 ,并且每个从节点独立的所持有的训练数据的损失。
在预测模型中,表示未来 n 个的节点潜在空间。因此,预测模型无法对图中的前n个快照计算损失。为了解决这个问题,主节点在 开头用 的零矩阵填充,并在返回嵌入向量给从节点时,移除最后的 n 个矩阵。这样在除了持有初始快照的其他所有从节点上, 预测索引为 t 的快照,同时忽略等于零矩阵的嵌入。算法如下所示:
notion image
zeros 表示拼接的零矩阵,futures 存储计算的损失。zs 存储的是每个从节点经过 RNN 后的嵌入向量。

分类

尽管在评估中依赖于与分配给边缘的分数相关的回归指标,但是在自动确定分类异常阈值是很有用的。为此,在训练模型时,准备一个或多个完整快照作为额外的验证集,使用来自训练快照时的 RNN 最终隐藏层 h 作为验证快照的输入,将\训练分区的边缘通过模型。找到边的可能性分数的最佳阈值也就成了一个优化问题。
一组存在于验证集但不在训练接的边的分数,以及一组非边的分数,最佳阈值 满足
其中 分别表示给定阈值 的真阳率和假阳率,而 是一个范围在 [0,1] 的超参数,用于偏置模型优化。在实验中追求更低的假阳率 ,经测试 非常有效,在文章中涉及的任何分类指标都是通过边的可能性分数确定的,除非另有说明,均有
 

V. 基准评估

先前的工作 [19] [22] 如果仅仅使用图神经网络对快照进行嵌入,然后放在 RNN 运行(如 [20][35]),将无法充分捕捉动态网络中节点分布的变化。先前的研究[22]证明了这一点,针对推断未来数个时间步骤中的完整图结构,但是[19]没有将他们的模型与他们彻底忽视的模型进行评估。文章对比了现有的时间序列自编码器模型,以及基于 EULER 框架的简单堆叠 GCN[36] 和 GRU[37]。选择这两个原因是,他们在各自领域有最广义的模型特征,同时也缺乏参数。

模型测试和数据集

在本节,我们将 EULER 实现为一个目前通用的 GNN 模型:图卷积网络 GCN,并堆叠在一个参数非常少的循环神经网络 GRU 上。尽管这个模型被 [20] 称为“朴素方法”,非常简单,但是测试中最有效的模型。拓扑嵌入层是一个两层的GCN,实际上是一个图自编码器。在初始向前传播前加入了边丢弃层[40],并在所有层之间加入了特征丢弃层,以防止在小数据集上过拟合和过度平滑。其隐藏层和输出均为32维。GCN输出的序列经过tanh激活函数处理,然后通过一个32维的单层 GRU 进行处理,最后通过一个多层感知机将输出投影到16维的嵌入空间。
其他的模型的评估如下:
DynGraph2Vec[41]:该模型将邻接向量传入一个多层感知机(MLP)和一个循环神经网络(RNN),利用传统的深度学习技术来捕捉图动态。DynAE变体通过深度自编码器结构传递邻接向量;DynRNN变体通过 RNN 传递邻接向量;而DynAERNN将深度自编码器的输出传递给RNN来生成节点嵌入。如果在EULER框架中使用 MLP 而不是 GNN,则后者模型(DynAERNN)适用于该框架。提到这个模型是为了展示消息传递网络的价值所在
Evolving GCN[22]:一个GCN模型,其参数在每个时间步通过 LSTM [42]或GRU [37]进行传递。在EGCN-O变体中,GCN参数作为LSTM的输入和输出;在EGCN-H变体中,GCN参数被用作GRU的隐藏状态,该GRU以前一个嵌入作为输入。在原始论文中评估这些模型进行时间链接预测时,它们没有给出任何真实边子集来生成嵌入。相反,它们使用前一个快照的预测结果作为邻接矩阵的输入。这比本文的链接预测方法要困难得多,在本文方法中,每个快照都有一个可用作训练集的真实边子集。但对于异常检测的情况下,始终可以提供这样的数据。[22]中的模型使用了一个 MLP,它以两个节点的嵌入作为输入来计算似然分数,但是本文发现内积解码效果更好
VGRNN [19]:一种在GC-LSTM [21] 上堆叠的GCN模型。然而,他们的方法无法适应 EULER 框架,这是因为 GCN 的节点嵌入被传递到 RNN 中,其输出与节点特征串联在一起,作为下一个快照的输入。这个过程必须串行进行。RNN 的隐藏状态向量旨在预测图的下一个状态,并为 GCN 提供信息。因此,对于预测任务,RNN 输出的非线性变换被用作节点嵌入,而不是直接使用GCN的输出。
VGAE [32]:一个简单的两层变分图自编码器 VGAE,该模型完全不考虑时间,而是将每次交互视为一个大型图。提到这个模型是为了展示其他模型中循环单元的有用性。VGAE作为一个基准模型用于比较归纳测试。由于它是一个静态模型,因此无法用于动态(新的)链接预测。
在这些测试中使用了三个数据集:Facebook [43]、Enron10 [44] 和 COLAB [45]。这些数据集都不包含节点特征,因此对于所有模型,使用单位矩阵作为初始特征输入。这些图都是有向图,在评估过程中不考虑自环。
notion image

评估指标

ROC 曲线下面积 (AUC) 和平均精度得分 (AP)。 AUC 分数定义为通过绘制真阳性率 (TPR) 和假阳性率 (FPR) 作为分类更改阈值而创建的曲线下面积
notion image

实验设置

与[19]的做法一样,进行了三个不同的基准测试,以比较 EULER 与其他时间链接预测方法:归纳动态链接检测推导动态链接预测推导动态新链接预测。链接检测和链接预测的实施方式如 [EULER-训练模型]章节所述。目标函数是等式 3(如下),在链接检测测试中 。在(新的)链接预测测试中 n = 1。
在链接检测测试中,我们随机地从每个快照中分别移除了5%和10%的边用于验证和测试。报告的结果是对最后3个快照进行评估的结果,这些快照在训练过程中从未被使用。但是,在评估期间,从这些后续时间步长中保留了一组用于训练的边,不进行评估,在前向传播过程中作为输入使用。
对于链接预测测试,最后3个快照中的所有边都被视为测试集中的正样本,并随机选择相同数量的负样本边。由于这是一个推导测试,所以在前向传播过程中,时间点t的所有边都被输入以预测t + 1时刻的状态。然而,在解码过程中,我们保留了5%的边用于验证。
新链接预测是对预测模型的额外评估。这个测试与链接预测相同,但真正的正样本集只包括在前一个快照中不存在的边:
这个测试的目的是评估预测模型根据其观察到的图动态来预测新边的能力。
模型参数使用 Adam 优化器 [34] 进行更新,学习率根据参数搜索设置为0.03、0.02、0.01或0.005。模型进行1500个 epoch 的训练,并在验证数据上连续100个 epoch 没有进展时进行提前停止。对于(SI-)VGRNN、DynGraph2Vec模型和VGAE模型的结果,使用[19]提供的结果。使用[22]提供的源代码来评估EGCN模型。

结果

介绍了一下评判方式,几个公式,包括均值差异不明显认为是等效的。

VI. 横向移动检测

之前数据集较小,这一节把 EULER 应用到真实世界中,才可以体现出性能的区别。
为了展示与其他相关工作的性能区别,在 LANL 2015 Comprehensive MultiSource Cyber Security Events 数据集上评估了几个 EULER模型。该数据集包含洛斯阿拉莫斯国家实验室内部企业网络中,正常活动和红队活动为期57天,5个不同来源的日志文件。表的具体细节如表5。表中边数量表示加权边的数量,其中,同一时间段内的同一实体之间的多个事件可能被压缩为单个加权边。(介绍一下数据集质量高被[9][12][13][15]使用)发出一个警告信号通常发生在未认证的情况下,很有可能是横向移动。
notion image
在本节中,除非有说明,所有分布式模型都是使用4个工作节点。所有实验都是在一台机器上完成。服务器配置:Intel Xeon E5-2683 v3(2.00 GHz)CPU*2,每个 CPU 都有 14 个核心和 28 个线程,以及 512 GB 的内存[47]。
  • 图的构建
我们通过将实体之间的身份验证映射为权重化的有向图来构建。使用 LANL 中的源计算机和目标计算机的实体作为节点。对于从时间 的所有身份验证,将在源和目的计算机之间建立一条边,如果边已经存在,则更新一个计数器跟踪两台机器的身份验证次数。实验表名,将这些计数器归一化为可用的边权重,最有效的方法是对计数器取逻辑 Sigmoid 函数。数学上可以表示为:
其中, 代表sigmoid函数,代表 u 和 v 之间身份验证的频率, 代表时间窗口内所有边缘频率的均值和标准差。在这种模式下,发生频率低的边缘权重较低,看起来不太“正常”,发生频率高的边缘,表明计算机到域控制器获得身份认证,具有较高的权重,并且看起来是例行公事。
LANL 数据集没有节点特征,但是可以从日志文件中使用的命名约定中获取一些信息。实体具有唯一的匿名标识符,以 U 或 C 开头,分别表示用户和计算机。还有一些非匿名名称的节点在系统中具有重要角色,例如TGT(Kerberos密钥分发中心)、DC(域控制器)等。为了利用这些额外的数据,我们将一个 one-hot 向量(表示用户、计算机或特殊管理机器)与每个节点的 one-hot ID向量连接起来。
为了更快的扫描文件和加载数据,69GB 的 auth.txt 被分为多个块,每个块包含10,000秒(大约3小时)的日志。每个工作机器(从节点)被指示读取特定范围的日志文件并构建图,生成多个子进程并行加载多个快照来完成此操作。每个子进程的边和边权重列表合并为最终的 TGRaph 对象,该对象包含所有边列表、边权重、节点特征和张量掩码的列表,以便对每个边列表的分区进行训练。
对于所有实验,训练集包括在身份验证日志中出现第一个异常边之前的所有快照。这使得模型可以学习正常活动的特征。从这个集合中,我们删除最后5%的快照以便调整分类器,并在每个快照中屏蔽5%的边以进行验证。
  • 实验设置
我们测试了三种编码器与两种循环神经网络结合的模型,以及没有循环层的模型,以衡量时间数据对总体嵌入的价值。编码器模型包括GCN [36],GAT [48]和GraphSAGE [49]。循环模型包括GRU [37]和LSTM [42]。这些模型的训练方式与第五节中的链接检测和链接预测模型相同。实验中,一旦找到局部最优解且验证分数不再提高就很难再改进,所以,在连续10个 epoch 没有改进的情况下,停止训练。
实验表明,对于每个模型来说,使用较小的时间窗口总是会导致更好的结果。因此,我们只展示了在时间窗口 秒(30分钟)的时间图上进行测试的结果。
GAT 编码器使用了3个注意力头,通过超参数调整发现这是最优的选择。SAGE编码器则使用了最大池化作为聚合函数,这是最优的选择,这使得它能够区分出GCN无法区分的某些图形[50]。
在 LANL 数据集上和其他工作相比。[12][13][15]没有完全使用该数据集,或者对数据其他部分进行测试,和它们对比结果是不公平没有意义的。[9]使用了完整的身份验证日志,但是也使用了更大的数据集,使用了不包括异常活动的日期作为训练集。对比工作包括了[9]的结果,还包括了[9]报告的基于规则的“未知身份验证”(UA)模型的 TPR 和 FPR。这个规则只是将任何在训练数据中不存在的边标记为异常。
默认情况下,VGRNN 使用完整的邻接矩阵进行操作,但是我们为了进行实验,使用了稀疏边缘列表。这样,它能够适应 LANL 数据集的大规模。DynGraph2Vec 依赖于密集的邻接矩阵,而作为输入的 1-hot 向量的大小对于 E-GCN来说太大了。因此,我们的硬件无法完全评估这些方法,它们的结果与EULER的结果没有进行比较。
所有评估的模型都使用32维隐藏层和16维嵌入。所有EULER模型在编码器和循环层之间使用tanh激活函数,在 GNNs 之前使用边缘 dropout 层。它们都根据方程6确定分类阈值,除了GraphSAGE 模型,均有 \lambda = 0.6。对于这个编码器,实验表明 更合适。所有报告的结果都是对链接检测和链接预测进行5次独立测试的平均分数。
  • 异常边缘检测
 
 

相关工作

结论

在这项工作中,我们提出了EULER框架:当每个拓扑编码器可以独立操作时,生成节点嵌入的计算密集型任务可以以高效的方式进行扩展。尽管这个框架的模型简单,但我们已经证明,在异常链接检测和预测方面,遵循EULER框架的模型表现得与或优于复杂的同行。最后,我们展示了如何使用这个框架来训练基于异常的入侵检测系统,当网络活动通过时序图的抽象来观察时。这些入侵检测系统具有可扩展性,并且尽管使用较少的数据进行训练,比其他无监督技术更为可靠。
未来的工作可以包括测试我们未涉及的其他拓扑或时态编码器。通过测试比我们使用的简单内积逻辑回归更先进的边解码技术,可以进一步改进分类器的性能。由于这个框架允许可扩展的消息传递图神经网络,未来的工作甚至可以在以前被认为对GNNs难以处理的任何大型时态图数据集上测试这一技术。
 
initApplication of a Dynamic Line Graph Neural Network for Intrusion Detection With Semisupervised Learning
  • Valine