标题:3D-IDS: Doubly Disentangled Dynamic Intrusion Detection
作者:Chenyang Qiu, Yingsheng Geng, Junrui Lu, Kaida Chen, Shitong Zhu, Ya Su, Guoshun Nan, Can Zhang, Junsong Fu, Qimei Cui, Xiaofeng Tao
作者所在机构:Beijing University of Posts and Telecommunications HUAWEI Technologies
发表会议:数据挖掘领域顶级会议 SIGKDD
据报道,由于在线业务的不断发展,全球 31%的公司每天至少遭受一次网络攻击。比如 2022 年国际电信巨头沃达丰的葡萄牙公司遭受了一大波“以损害与破坏为目的的蓄意网络攻击”,其大部分客户数据服务被迫下线,固定语音、电视、短信、语音等服务瘫痪。这就迫切需要一种智能的系统,能够帮助管理员自动过滤掉大量在线流量中的网络异常。而基于网络的入侵检测系统(NIDS, network -based intrusion detection system,简称 NIDS)可以监控网络流量并识别恶意活动,帮助管理员在日益增加的攻击中形成一线防御。我们可以从下图中看出 NIDS 建立的一线防御:图中 DoS 以大量流量淹没目标,从而淹没在线服务,MITM 则可以窃听两个目标之间的通信并窃取私人信息。而 NIDS 可以统计收集提取网络流量数据并提醒管理员注意潜在威胁。
如图所示,NIDS 通过只读操作读取实时流量信息,并智能化检测其中是否包括入侵攻击,如 DOS 或者 MITM,如存在异常则向管理员发送流量异常报警。
现有的 NIDS 可以分为两类:基于特征的 NIDS 和基于异常的 NIDS。最近的一些热门研究采用图卷积网络(GCN)来获得的更好的预测,比如 E-GraphSAGE、Euler 等方法。
虽然智能化 NIDS 具有前景,但是我们观测到现有的 NIDS 普遍存在「以下问题」:在识别不同类型的攻击时检测效果不同,甚至存在较大差异,即检测性能不一致。如下图 1 所示。以 F1 来评估检测性能时,对于基于 svm 的方法,未知攻击为 9%,而 DDoS 则可以达到 40%。
图表 1
这就类似于“木桶效应”,那些复杂、难以被准确检测的“短板”入侵攻击,降低了 NIDS 检测的整体性能:
那究竟是什么原因导致了现存几乎所有 NIDS 中的性能不一致问题?我们深入异常流量数据,并进行了如下分析。
首先我们定量分析了流量特征的纠缠分布问题。基于 SVM 的模型在测试期间的两种未知攻击的流量特征统计分布结果如下图 2 所示。我们可以观察到,MITM 攻击的特征分布是纠缠的,而 DDoS 攻击的特征分布更加分离。结合图一的结果,我们可以推断出分离分布更有利于未知攻击的识别。我们把这种现象称为「统计特征的纠缠分布」。
图表 2
接着为了分析测试时已知攻击性能变化的原因,我们用 Pearson 相关性热图分别可视化了各类攻击的表征,具体结果如下图 3 所示,我们可以看到 MITM 表征系数远大于 DDoS 的。我们可以推断出相关性系数越高,攻击检测系数越低。我们把这种现象称为「表征特征的纠缠分布」。
图表 3
根据上述分析,我们将 NIDS 性能不一致问题归因于流量原始特征以及表征特征的分布纠缠。因此自然地,我们希望通过解开纠缠的分布,进而实现 NIDS 在检测复杂攻击时带来的性能下降问题,进而缓解性能不一致问题。
如果要解决第一种纠缠分布,我们需要区分实时网络流量中数以万计的特征。而这在当前领域并没有足够的研究。对于第二种纠缠分布,其他领域比如计算机视觉、自然语言处理等具有相关方法,但它们侧重于对象级表征学习,并不适用于入侵检测这一领域。
我们尝试通过「双重解纠缠」来针对解决上述问题。
此外我们还考虑到网络流量特征具有时空性、动态性,为了更好的聚合特征,并进一步融合多层拓扑结构信息,我们提出了一种新的多层图扩散方法。
综合一下上述方法,提出了称为 「3D-IDS」(Doubly Disentangle Dynamic IDS),一种旨在通过「双重解纠缠」和「动态图扩散技术」来解决 NIDS“短板”问题的新方法。
3D-IDS 包括五个模块:边缘构建模块、统计解纠缠模块、表征解纠缠模块、多层图扩散模块和流量分类器。其中统计解纠缠模块、表征解纠缠模块和多层图扩散模块为关键组成部分。
如上文所说的,这一模块我们需要分离流量特征。那么我们怎么实现呢?在这里我们用
表示边缘,其中
、
分别表示源、目的节点,
表示设备 i 所在的层数,
表示流量持续时间,
表示流量特征。
首先我们对
进行最小最大归一化,结果用
表示。此时我们需要一个权重矩阵
来生成
的解纠缠表示。我们将其范围规定如下:
而我们的主要目标是最小化两个特征元素之间的互信息并且在执行聚合时也绑定
的范围。因此我们将向量
分量之间的距离最大化,具体如下:
其中
代表相邻特征
之间的分布距离,我们可以看出上式旨在最大化两个特征之间的距离。但是由于上式没有闭式解,我们无法确定优化对象的凹凸性,因此我们采用 SMT 求解器对该问题进行求解:
进而我们可以得到解纠缠边缘的表示:
其中
为哈达玛积
在这个模块我们产生节点表征
,并减轻纠缠程度。对于新传入的流量,我们首先通过历史记忆
和
构建一个更新消息:
接着我们通过将最新消息与历史记忆合并来更新节点记忆:
其中
是一个编码器。最后我们可以得到节点表征:
其中
为历史节点表征 但是上述更新操作可能会再次纠缠节点表征,因此我们通过如下正则化解决该问题:
其使得结点直接的特征正交。
此时我们已经得到了具有时间信息的节点表征,但是网络流量特征具有时空性、动态性,因此在此模块我们进一步了融合多层拓扑结构信息,同时保留解纠缠的属性。
首先为了保留纠缠特性并抑制一些琐碎因素的影响,我们考虑了 PM 扩散:
其中的
是和梯度反比的说明,可以防止关键信息在聚合中消失。
此外,动态多层图中的边具有不同的时间戳,可能在不同的层,且可能有不同层和时间的交互,我们将这些因素考虑进扩散过程,提出了
时间内节点
,
之间的层时间系数
最后我们需要将 PM 扩散转移到多层图中,通过在多层图中定义微分算子,得到我们新的多层图扩散:
我们使用 Runge-Kutta 方法解得
我们在五个公开数据集进行了实验,选择了 10 个基于深度学习的模型作为基线,以 F1 值和 AUC 值作为评价指标,证明了 3D-IDS 在检测已知和未知攻击方面的优势。
那具体来讲每个模块对提高 NIDS 性能有什么帮助呢?我们从以下四个方面进行介绍。「1. 统计解纠缠模块怎么帮助检测各种攻击?」
我们将统计解纠缠前后的特征分布可视化,结果如下图所示:
我们可以看到与原始数据相比,解纠缠后的特征分布重叠较少,这表明该模块可以减少特征间的相互参照。此外,分布逐渐向右移动,这代表了我们的解缠方法中的顺序保留的约束
「2. 对于特定攻击,表征解纠缠模块如何有利于流量分类?」
我们在 CIC-ToN-IoT 数据集中跟踪了几个注入攻击数据,并获得了这些数据在 3D-IDS 和 E-GraphSAGE 中的表示。同时,我们计算出良性数据在两个模型中的平均嵌入率,作为缩放比例。结果如下图所示。我们可以看到 E-GraphSAGE 的表示值更接近于正常值,这增加了注入攻击被识别为正常的概率。它说明,随着节点的聚集,特征的差异变得模糊了。异常节点的表示值逐渐向正常值靠拢,导致错误的预测。但是我们的模型在每个维度上的值仍然明显偏离正常值,因为我们的模型对信息的聚合施加了限制。这一结果证明了我们的模型在聚合过程中保持分解结构的有效性,确保了差异的存在,进而实现对特定攻击更准确的流量分类。
「3. 多层图扩散模块又是如何有效地进行入侵检测的?」
我们以 MITM 攻击为例,下图显示了一个基于深度学习的 NIDS。当一个 MITM 攻击发生时,由于没有考虑这些数据包的空间和时间信息,所以很难检测到入侵。也有一些方法只考虑空间和时间信息的单一方面,如 E-GraphSAGE 和 MStream。E-GraphSAGE 主要关注集合节点的空间关系并从中提取特征。然而,我们从表 4 中观察到,不同的流有各自的时间戳,所以时间信息的缺乏使得我们无法分析边缘的动态结构变化。同样,把时间信息作为唯一的影响因素也会得到不完整的特征。此外,一些同时考虑空间和时间信息的方法,如 Euler。采取快照的方法来捕捉流量的特征,但它并没有实现空间和时间信息的同步更新。而如下图(b)所示,我们的模型可以克服以上缺陷。当流量从 ??2 - ?? 3 变为 ??2 - ??6 和 ??6 - ??3 时,我们可以迅速检测到 UE6 是第 1 层的入侵设备。此外,我们还注意到动态图结构变化时,多层图扩散模块可以实现时空耦合和同步更新。总的来说,3D-IDS 在检测各种攻击方面在这些基线中表现最好。
「4. 双重解纠缠是如何促进3D-IDS的可解释性的?」
我们以下图(a)为例,利用其来恢复密码攻击的可能流量特征。首先,由于双重解纠缠后保留了原始特征,我们可以发现一些在节点嵌入中明显偏离正常值的特征值。
如下图所示,拆分后的边缘向量与拆分后的节点表示之间存在着线性关系。因此,基于这种关系,我们观察到偏离的特征 "Fwd Pkt Std "和 "Fwd Pkt Len Max"与密码攻击呈现出强烈的关联性。