语义|攻击推理-安全知识图谱在自动化攻击行为提取上的应用

摘要
当前企业安全运营实现自动化的难点在于低水平日志与高水平行为之间的语义鸿沟。本文提出了一种安全知识图谱表示方法,并提出了一种自动化的行为识别方法。
一. 背景
当前企业环境面临的攻击越来越趋于隐蔽、长期性,为了更好的针对这些攻击进行有效的检测、溯源和响应,企业通常会部署大量的终端设备。安全运营人员需要通过分析这些日志来用来实现攻击检测、溯源等。利用安全知识图谱与攻击推理进行评估溯源,在相关专题文章[1,2,3]中都有介绍,其中[1]是通过挖掘日志之间的因果关系来提高威胁评估的结果,[2]利用图表示学习关联上下文提高检测与溯源的准确率,[3]主要是介绍了知识图谱在内网威胁评估中的应用。但这些工作把均是把异常日志当作攻击行为来处理。基于异常检测方法无论是在学术领域还是工业上都有了一些经典的应用如异常流量检测、UEBA(用户与实体行为分析)等。Sec2graph[4]主要是对网络流量进行建模,构建了安全对象图并利用图自编码器实现对安全对象图中的异常检测,并把异常作为可能的攻击行为进行进一步分析。Log2vec[5]通过分析终端日志的时序关系构建了异构图模型,利用图嵌入算法学习每个节点的向量表示,并利用异常检测算法检测异常行为。UNICORN[6]方法是基于终端溯源图[9]为基础提取图的概要信息,利用异常检测方法对图概要信息进行分析检测。之前的攻击推理专题中的文章[9]也是利用图异常检测算法进行攻击者威胁评估和攻击溯源。但是这些方法本质上都是基于这么一个假设:攻击行为与正常用户行为是有区别的。这些方法检测出来的结果只能是异常,异常行为与攻击行为本身有很大的语义鸿沟,同时这些异常缺少可解释性。
在安全运营的整个过程中,网络分析人员需要根据日志之间因果关系来对攻击者以及其破坏范围进行溯源分析。当前已有的技术通常是事先构建溯源图并利用之前提到的异常检测方法对溯源图进行分析,最终找到的仅仅是异常用户或是异常行为路径,这种方法的误报通常会很高。本质上当前的方法缺少一种系统日志到用户行为之间的语义映射,针对该挑战文献[8]通过安全专家构建的威胁子图作为知识图,利用图匹配算法从系统溯源图中找到相匹配的攻击。这些方法主要是事先设计一些规则库,基于这些规则检测审计日志中的相关行为[7,8]。然后,这些规则的设计严重依赖于安全专家的经验。知识图谱本身就是致力于解决这种语义鸿沟的问题,但是在安全领域知识图谱相关应用进展比较缓慢。这里借鉴了知识图谱在推荐系统上的应用方式,首先基于终端日志设计了有效的知识图谱表示形式;然后,以上下文为语义基于图表示学习方法自动的提取行为信息。
二. 终端安全运营的现状
当前企业安全所面临的挑战不再是检测设备检测的准确性问题,而是涉及到更上层的攻击者的战术、技术以及过程等不同层面的分析。当前安全检测设备面临的主要问题是底层的日志与上层抽象之间的语义鸿沟问题。知识图谱的提出就是致力于解决这种语义鸿沟问题,但是在威胁检测与识别方面安全知识图谱的应用还较少,还有一段很长的路要走。
针对这种情况,本文主要探索一种可行的安全知识图谱在安全运营中的应用方法。当前安全运营面临的最大难题就是低层日志信息与高层行为之间的语义鸿沟问题。我们首先提出一种有效的知识图谱表示方法,该方法区别与当前的溯源图结构。相比较溯源图,知识图谱的表示形式能支持更复杂的异常图,同时还能包含更多实体与边的属性。然后,使用自动化的方法从审计日志中抽象出高层系统行为,并利用语义相似度聚类方法把语义上相似的行为聚合到一起,即使并不能给出合理的解释标签,其实这种聚类也是有意义的。理论上来说,相关的系统行为已经根据语义进行了聚类,安全分析人员只需要从聚类中标记有代表性的系统行为,就可以分析这些代表性系统行为来快速进行调查取证。除了能有效减少行为分析的工作量外,自动的行为抽取可以为内部或外部攻击行为模式提供前瞻性的分析。

推荐阅读