专栏首页绿盟科技研究通讯攻击推理专题-属性图异常检测及在网络安全领域的应用

攻击推理专题-属性图异常检测及在网络安全领域的应用

一、背景

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

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

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

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

二、静态属性图异常检测

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

2.1DOMINANT

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

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

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

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

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

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

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

2.2AnomalyDAE

图2AnomalyDAE框架

文献[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函数。a和b表示表示优化输出层的参数,β和μ是得分函数的超参数。

3.2AMAD

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

图4 AMAD框架

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

四、异构属性图异常检测

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

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

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

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

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

五、总结

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

参考文献

1 DingK , Li J , Bhanushali R , et al. Deep Anomaly Detection on AttributedNetworks[M]// Proceedings of the 2019 SIAM International Conference on DataMining. ACM, 2019.

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

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

4 XueL , Chen Y , Luo M , et al. An Anomaly Detection Framework for Time-EvolvingAttributed Networks[J]. Neurocomputing, 2020, 407.

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

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

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

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

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

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

关于天枢实验室

天枢实验室聚焦安全数据、AI攻防等方面研究,以期在“数据智能”领域获得突破。

内容编辑:天枢实验室 薛见新 责任编辑:王星凯

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

关于我们

绿盟科技研究通讯由绿盟科技创新中心负责运营,绿盟科技创新中心是绿盟科技的前沿技术研究部门。包括云安全实验室、安全大数据分析实验室和物联网安全实验室。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

绿盟科技创新中心作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。

我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。

本文分享自微信公众号 - 绿盟科技研究通讯(nsfocus_research),作者:天枢实验室

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 安全第一步,密钥管理服务

    最近爆出不少公司代码泄露的新闻,像前不久的Bilibili后端代码被上传到Github,大疆因为前员工泄露公司源代码,致黑客入侵造成百万损失。生产环境代码泄露的...

    绿盟科技研究通讯
  • 鱼和熊掌兼得——隐私保护与价值挖掘之利器

    在该系列的第一篇中:《浅析数据安全与隐私保护之法规》,介绍了国内外的数据安全与隐私保护相关法规,如欧盟《GDPR》、美国《CCPA》和中国《网安法》。这些法规保...

    绿盟科技研究通讯
  • 大数据下的隐私攻防02:身份证号+手机号如何脱敏才有效?

    在这样的背景下,全球掀起了监管不断强化的数据安全的立法热潮。欧盟的GeneralData Protection Regulation (GDPR);美国的Cal...

    绿盟科技研究通讯
  • 剑指offer_11_旋转数组中的最小数字

    初看题目我们最直观的解法并不难,遍历数组用俩个"指针"一前以后,当前面"指针"指向的元素比后面的"指针"指向的数组元素小时,这时我们就找到旋转数组中的最小元素,...

    用户6055494
  • [答疑]某本书上的一张序列图评点

    Bank的意思是银行,那是个组织,不应和系统并列,应该写清楚是和银行的哪个系统交互,可能是一个人肉系统,也可能是一个非人肉系统。

    用户6288414
  • 【上帝的孤独程序员】TempleOS创作者去世

    Terry Davis是TempleOS操作系统的开发者。现在主流的操作系统都是集众人之力完成的,而TempleOS彻彻底底是由他个人独立开发。

    新智元
  • @import 属性——加载外部层叠样式表

    @import 加载外部层叠样式表。@import 规则必须放在其他除了@charset规则以外的CSS规则的前面;@import 规则不可嵌套于条件规则组...

    Html5知典
  • Oracle sql loader 导数据时添加序号的三种方法

    1.用触发器和序列实现 CREATE SEQUENCE u.seq_questionno START WITH 0 MAXVALUE 9999999999999...

    用户1148526
  • js sort()方法

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,按照字符编码的顺序进行排序。

    星辉
  • YARN任务监控界面Aggregate Resource Allocation指标解析

    在YARN的原生任务监控界面中,我们经常能看到Aggregate Resource Allocation这个指标(图中高亮选中部分),这个指标表示该任务拥有的所...

    九州暮云

扫码关注云+社区

领取腾讯云代金券