攻击推理专题-属性图异常检测及在网络安全领域的应用
2021-01-06 16:12:28 Author: blog.nsfocus.net(查看原文) 阅读量:252 收藏

阅读: 1

一、背景

在网络空间这个战场中敌暗我明的条件下,大规模、多维度的数据采集在赋能安全防御能力的同时,也给安全运营团队带来了前所未有的挑战。安全运营人员每天面对海量的告警信息,这需要根据个人经验及专业知识对告警进行分析、关联、然后再溯源到攻击者。针对当前安全运营存在的问题,迫切需要一种方法从多个维度对攻击者进行画像,并评估攻击者的威胁评估推荐给安全运营人员高危攻击者进行人工研判。属性图建模是一种有效的建模方法,可以多属性、结构和时序等不同维度对攻击者进行建模。

属性网络在现实世界中无处不在,如社交网络、通信网络和商品共同购买网络等,在这些网络中除了网络本身的拓扑结构外,每个节点自身还有一系列描述它自身特性的属性。在网络安全领域,属性图更适合对网络空间数据进行建模,比如攻击者画像,以攻击者为节点,攻击者相关特征为节点属性构建网络空间关联图。从大规模的网络空间关联图中找到攻击者及其攻击路径,可以看成属性图的异常检测在网络空间的应用。

利用属性图对攻击者进行建模需要明确属性、顶点与边。属性图中顶点表示攻击者(或攻击者IP)和受害者(或受害者IP),如果包含终端日志会涉及到进程、文件、服务等。图的结构特征通常用邻接矩阵(Adjacency Matrix)表示,邻接矩阵是表示顶点之间相邻关系的矩阵,属性图的邻接矩阵表示攻击者对受害者执行的攻击行为。顶点属性表示攻击者的相关特征,攻击者的属性主要包含以下特征:IP地址、IP是否属于外网,IP所属网段,相关端口以及一些相关的统计特征。边表示攻击者到受害者的攻击行为。属性图中的异常检测主要是找出在行为模式上与其他节点差异较大的节点。在网络入侵检测环境中,属性图异常检测可以用来找到真正的攻击者及其攻击行为。

当前,属性图异常检测已成为研究热点。一些研究工作通过对节点进行聚类来分析不同社区的质量找出异常点。还有一些研究通过节点特征的子空间选择来实现属性图的异常分析。最近的属性图异常检测主要是基于残差分析的异常检测方法[1,2],该类方法是利用编码解码的误差来衡量属性图的顶点或边的异常度。本文介绍了几种经典的属性图异常检测方法。

二、静态属性图异常检测

本小节主要介绍两种静态属性图异常检测方法。一种方法是针对无向图的属性图异常检测框架-DOMINANT[1],另一种是针对有向图的异常检测方法-AnomalyDAE[2]

2.1 DOMINANT

文献[1]提出了一种经典的属性图异构检测框架-DOMINANT。

图1 DOMINANT属性图异常检测框架

整体的流程如图1所示。通过上图可以看出DOMINANT的主要模块是深度自编码器,主要包括三个部分:属性网络编码、拓扑结构重构解码器和属性重构解码器。属性网络编码器在同一框架下实现对属性网络的拓扑结构和属性的无缝建模,然后利用GCN实现了顶点的特征表示学习。结构重构解码器通过节点的特征表示重构网络拓扑结构。属性重构编码器通过节点的特征表示重构属性网络中节点的属性。

当前研究表明,原始数据与估计数据之间的差异(其实就是重构误差)可以在一定程度上反映数据集中的异常实例。具体来说,具有较大重构误差的数据实例更有可能被认为是异常,因为它们的模式明显偏离大多数情况,无法从观测数据准确地重构。在各种基于重构的异常检测算法中,深度自编码器具有最好的性能。深度自编码器是一种深度神经网络,它是通过将多层编码和解码函数堆叠在一起,以一种无监督方式学习数据的潜在表示。深度自编码器已经在多个领域取得了不错的效果。

形式化的描述可以表示为给定一个输入数据集X,通过编码函数Enc()把数据映射到低维特征空间中,然后利用解压函数Dec()根据特征空间的表示重构原始数据。

整个学习过程可看对如上所示的代码函数的学习。深度自编器可以通过在编码解码过程中应用多层线性单元和激活函数来捕捉高维输入数据的非线性信息,这个特性本身是深度学习所具有的特性,因此在这方面要明显优于传统的浅层学习方法。

文献[1]中编码器采用的是GCN,GCN的理论是建立在邻接矩阵必须是对称矩阵的前提下,因此GCN只能支持无向图。

2.3 AnomalyDAE

图2 AnomalyDAE框架

文献[2]在文献[1]工作上进一步改进提出面向有向图的异常检测方法-AnomalyDAE。如图2所示,AnomalyDAE是一个端到端的联合表示学习框架,它包括用于网络结构重建的结构自编码器和用于节点属性重建的属性自编码器。该方法以结构编码器学习的节点嵌入表示和属性编码器学习得到的属性嵌入表示为输入,在训练过程中,结构解码器和属性解码器共同捕获网络结构和节点属性之间的交互。最后,利用网络结构和节点属性的重构误差来度量属性网络中的异常。

网络结构与属性的交互对于检测属性图异常检测非常重要,因为这考虑了图结构与内容两个异常维度。为了解决以上问题,AnomalyDAE提出了一种新的双向自编码联合表示学习框架,该框架能同时对网络结构和属性进行处理,实现高质量的图特征表示。与文献[1]中使用的方法不同,AnomalyDAE由结构自动编码器和属性自动编码器组成,分别通过重构原始网络拓扑和节点属性来学习节点和属性的潜在表示。然后,从结构和属性两个角度测量节点的重构误差,检测网络中的异常。其主要贡献提出了一个基于双向自编码器的属性网络联合表示学习框架,该框架能对网络结构和属性的交互模式进行处理,并从网络结构和属性两个角度来进行异常检测。

三、动态属性图异常检测

在网络空间中,企业威胁检测设备采集的数据是实时的,这也要求构建的图是一个动态演化图。时序数据的处理是从时间演化角度进行考虑,这也为属性演化网络中的异常检测带来了新的挑战。关于动态属性图异常检测主要介绍两种方法:AddGraph[3]和AMAD[4]

3.1 AddGraph

AddGraph框架如图3所示。AddGraph的核心思想是在训练阶段使用快照(过去时间段内数据构建的图)中所有可能的特征,包括结构、内容和时序特征,建立一个框架来描述正常的边。然后,该框架可以进一步提炼并用于测量后续快照中的异常边。通常来说,AddGraph通过考虑节点的结构和内容特征,利用GCN来处理边在当前快照中的之前节点状态。然后利用上下文相关的注意力模型将短窗口的节点状态信息归纳为短信息。将GCN和短信息的输出输入到GRU中,得到节点在一个新的时间戳上的隐藏状态。利用节点在每个时间戳处的隐藏状态来计算一条现有边和一条负采样边的异常概率,然后反馈到边际损失中。

图3 AddGraph 框架

当前已得到节点在t时间的隐藏状态 。对于任意边 ,在 中查找第i个节点与第j个节点之间的嵌入表示。可以根据如下公式计算边的异常得分。

其中, 分别表示第i个节点与第j个节点的隐藏状态。 表示singmoid函数。ab表示表示优化输出层的参数, 和 是得分函数的超参数。

3.2 AMAD

文献[4]研究了动态环境中属性网络异常检测方法。尽管时序演化的属性网络异常检测有很多的应用场景,但面临两个挑战:1 由于网络结构与节点属性会随着时间变化而变化,异常节点也会随之发生变化,因此需要不断的在线更新模型实现有效的异常检测;2 因为网络结构和节点属性的小的扰动可能会对属性网络的派生模式产生涟漪效应,表征属性网络底层演化机制成为准确检测异常节点的关键。

图4 AMAD框架

基于此,本文提出了一种基于残差分析的适用于动态演化属性图的异常检测框架-AMAD。在时间平滑的假设下,AMAD利用两个连续时间戳之间小的扰动来表征属性网络的演化特征,基于之前的结果进行增量更新来保证异常检测的新鲜度。特征选择的上入保证了算法对数据中噪声特征的鲁棒性,其工作流程如图4所示。其本质是通过增量的表示来基于当前图表示下一时刻的图。其中的异常是对比相邻两个时刻的图的向量表示的差异。

四、异构属性图异常检测

异构图是相对同构图来说的,异构图是指图中的顶点与边有多种类型。在网络空间中,关联网络侧与终端侧告警日志后,属性图的顶点就包含了多种类型,如IP,进程、服务、文件等。而异构属性图中不同类型的顶点与属性具有不同的特征,异构属性图异常检测是属性图研究领域的难点。

文献[5]通过评估平滑图中节点的特定信息后节点的浓度来评估异构图节点的异常度。此外,还提出了一种用于社区检测的的马尔科夫稳态框架,社区发现主要用于找出异常节点的上下文信息。文献[5]方法展示了在大规模图中使用切比雪夫多项式近似的可扩展性。

由于真实网络中的异常产生机制通常是未知的,定义一个具体有效的异常通常是不现实的,因此评估一个节点的异常程度就是一个非常有挑战的工作。

通过多维度的社区发现算法把相近的节点聚到一类中,以发现异常节点的所有上下文信息,社区发现算法利用顶点属性相似作为顶点之间边的权值来进行计算。在实际情况中一个顶点可能在某个维度属于离群点,但是从全局角度来看就不是了,多维度异常检测方法可以从全局视角发现真正的异常顶点。

文献[5]方法提供一种原则性机制在对属性网络顶点进行异常排序,并在上下文环境中从多维度定位异常点。利用图拉普拉斯指数的切比切夫近似,证明了该方法的可并行性和可扩展性。此外,该方法还提供了一种利用连续时间Markov稳定框架快更快速的社区检测方法。

五、总结

图模型在刻画网络告警日志中有着先天的优势。但是网络空间的复杂性也为图模型的分析带来了挑战。利用属性图实现攻击源威胁评估及攻击行为识别是可行的。本文针对当前网络攻防场景的分析,说明了利用属性图建模的优势。其中利用属性图异常检测方法挖掘疑似攻击者与攻击行为也是一种有效的攻击检测手段,这种方法不仅可以检测已知攻击还可以用于检测未知攻击。但是,该方法的基础是攻击者的攻击行为一定是异常行为,这种检测方法虽然有较好的覆盖度,但是其准确率较低。

六、参考文献

1 Ding K , Li J , Bhanushali R , et al. Deep Anomaly Detection on Attributed Networks[M]// Proceedings of the 2019 SIAM International Conference on Data Mining. ACM, 2019.

2 Fan H , Zhang F , Li Z . AnomalyDAE: Dual autoencoder for anomaly detection on attributed networks[J]. 2020.

3 Zheng L, Li Z, Li J, et al. Addgraph: anomaly detection in dynamic graph using attention-based temporal GCN[C]//Proceedings of the 28th International Joint Conference on Artificial Intelligence. AAAI Press, 2019: 4419-4425.

4 Xue L , Chen Y , Luo M , et al. An Anomaly Detection Framework for Time-Evolving Attributed Networks[J]. Neurocomputing, 2020, 407.

5 Gutiérrez-Gómez, Leonardo, Bovet A , Delvenne J C . Multi-scale Anomaly Detection on Attributed Networks[J]. 2019.

本文为数据安全系列文章,欢迎阅读该系列的相关文章:

《攻击推理专题-基于攻击溯源图的威胁评估技术》

《攻击溯源-基于因果关系的攻击溯源图构建技术》

《图卷积神经网络在企业侧网络安全运营中的应用》

《安全知识图谱助力内部威胁识别》


文章来源: http://blog.nsfocus.net/attribute-graph-anomaly-detection-and-its-application-in-network-security/
如有侵权请联系:admin#unsafe.sh