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

安全知识图谱(Cyber Security Knowledge Graph)是知识图谱在网络安全领域的实际应用,包括基于本体论构建的安全知识本体架构,以及通过威胁建模等方式对多源异构的网络安全领域信息( Heterogeneous Cyber Security Information)进行加工、处理、整合,转化成为的结构化的智慧安全领域知识库。

背景

内部威胁(Insider Threat)是指内部人利用获得的信任做出对授信组织合法利益不得的行为,这些利益包括企业的经济利益、业务运行、对外服务以及授信主体声誉等。内部威胁不仅仅是组织合法成员的有意或无意导致的组织利益损失,还包括一些外部伪装成内部成员的攻击。(内网威胁检测现有的情况),现在内网威胁检测分为网络侧与终端侧,网络侧检查主要全流量,IPS/IDS, 终端侧主要是EDR,蜜罐等,还有现在流行的UEBA,每天会产生大量的告警信息,而对于安全人员来说人工处理这种级别的告警是不现实的,通常一些真实的攻击事件会被淹没在告警中。在日常运维中威胁评估就显得尤为重要。

安全知识图谱(Cyber Security Knowledge Graph)是知识图谱在网络安全领域的实际应用,包括基于本体论构建的安全知识本体架构,以及通过威胁建模等方式对多源异构的网络安全领域信息( Heterogeneous Cyber Security Information)进行加工、处理、整合,转化成为的结构化的智慧安全领域知识库。对于内网数据来说,告警数据与流量数据缺少相关的语义,而安全知识图谱融入了已经的安全知识,能大大提高威胁识别与评估的准备性。

图嵌入(Graph Embedding,也叫Network Embedding)是一种将图数据(通常为高维稠密的矩阵)映射为低微稠密向量的过程,能够很好地解决图数据难以高效输入机器学习算法的问题。知识图谱属于异构图数据,即节点与边不只一种类型。利用图嵌入技术可以高效的实现知识图谱分析。

传统的威胁评估方法,一般是攻击目标构建相应的攻击图来量化,一方面针对大规模数据构建攻击图的复杂性比较高,同时攻击图考虑维度比较局限。为此针对已构建的安全知识图谱提出一种基于图嵌入的威胁评估方法。首先以安全知识图谱为输入,利用图神经网络(编码器),对图的顶点生成嵌入向量,其中融入了结构威胁评估及属性评估。然后利用图神经网络学习每一个节点对某一个节点的威胁度,并聚合得到该节点的威胁度,再通过结构威胁评估(中心度)进行调整,如此迭代最终得到图谱中每个节点的威胁度排序。

二.  相关技术介绍

安全知识图谱

智慧安全知识图谱[9](Intelligent Cyber Security Knowledge Graph)是知识图谱在网络安全领域的实际应用,包括基于本体论构建的安全知识本体架构,以及通过威胁建模等方式对多源异构的网络安全领域信息( Heterogeneous Cyber Security Information)进行加工、处理、整合,转化成为的结构化的智慧安全领域知识库。

针对信息安全领域知识图谱构建的两个关键要素,构建了威胁元语言模型对威胁知识的结构化描述,包括概念、实体、属性的定义以及知识关系的定义。研究中依据STIX2.0以及领域专家知识,构建三层安全知识图谱,如下图所示。知识图谱辅助安全事件分析、安全合规标准、APT追踪溯源等实际业务场景所需的数据表示和语义关系。

图2.1 安全知识图谱

其中信息层为知识图谱从外界抽取的知识实体,知识层和智慧层为信息安全领域关键概念及这些概念之间的逻辑语义关系。

在威胁元语言模型中,威胁实体构建和实体关系是两个最为关键两个步骤。

图嵌入

知识图谱最大的特点是具有语义信息,然而构建好的内网安全知识图谱如何应用到内网威胁识别中。这就需要一些图分析方法,传统的图分析方法主要是路径分析(可达性,最短路径,k-out),社区发现等。利用图模型做内网威胁识别,一个很直接的方法是利用社区发现[4,5,6]方法对威胁主体进行社区划分,把威胁度高的攻击主体划到一起,从而实现威胁识别。理论上这种方法是可行的,因为构建的实体与实体之间的关联和行为在社区内关系紧密,而在社区间关系稀疏。

而现有社区发现方法一方面只考虑顶点的邻居关联,忽略了潜在的近邻关系,同时,社区发现的复杂度较高,不适合大规模图分析。

为了对这种高维图模型进行降维,图嵌入技术应运面生,图嵌入的本质是在尽量保证图模型的结构特性的情况下把高维图数据映射到低维向量空间。发展到现在图嵌入技术已经不仅仅是一种降维方法,与深度学习相结合后图嵌入技术可以具有更复杂的图计算与图挖掘功能。

图2.2 图嵌入流程

首先图2.2(a)中是用户行为,从知识图谱的角度可以抽象成图2.2(b)中的图模型。在当前推荐系统和安全领域都比较常见,而对于抽象的图模型如何利用图嵌入技术处理呢?首先,DeepWalk[1,2,3]将随机游走得到的节点序列当做句子,从截断的随机游走序列中得到网络的部分信息,再经过部分信息来学习节点的潜在表示。该方法借助语言建模word2vec中的一个模型,skip-gram来学习节点的向量表示。将网络中的节点模拟为语言模型中的单词,而节点的序列(可由随机游走得到)模拟为语言中的句子,作为skip-gram的输入。可以看出在表示图模型中图嵌入技术有天然的优势,因为它本身把多维图模型映射到同一向量空间,顶点之间的关联关系可以通过顶点向量的相似度计算,任一顶点与其他顶点的潜在关系都可以很快的计算出来。

当前已有一些针对社区发现的图嵌入技术[6,7]。社区嵌入可以描述其成员节点在低维空间中的分布情况,所以这次不能简单的把社区看成一个向量,而是低维空间中的分布(高斯混合分布)。

一方面,节点嵌入可以帮助改进社区检测,从而输出良好的社区以适应更好的社区嵌入,另一方面,社区嵌入可以通过引入a community-aware 高阶近似性来优化节点嵌入。在这指导下,提出了一个新的社区嵌入框架,如图2.3所示。

图2.3 社区感知的图表示框架

三.  基于安全知识图谱的内网威胁识别

(介绍利用安全知识图谱做内网威胁识别的总体框架)

基于知识图谱的内网威胁主要包括三部分:图模型构建、图嵌入和威胁评估。针对内网威胁已经有一些检测组件,但是通常这些检测设备之间缺少关联性,需要安全人员组合不同组件的告警利用经验分析,而图模型本身具有很强的关联性,可以有效关联多源数据,并且易于下钻。

图模型构建

图模型的构建主要是确实图中的实体与关系,实体的选择通常比较容易确定,通常以ip、端口、网段、告警、文件、日志等实体为主,而关系通常分为显示关系与隐式关系,显示关系是直接可以得到的关系,而隐式关系是通过数据挖掘方法得到的一些数据中暗含的关联关系。

实体构建

实体的构建根据场景的不同会有不同选择,可以参照STIX2.0中的十二个对象域的划分,以及当前世界范围内对安全元素描述的使用较为广泛的标准来确定实体,本文只介绍几个核心实体类型:

攻击模式:攻击发起者使用的策略、技术和程序,参考:通用攻击模式枚举和分类(CAPEC)、MITRE公司的PRE-ATT&CK、ATT&CK、Kill Chain

目标客体:攻击目标资产,参考:通用平台枚举(CPE)

威胁主体:攻击发起者,可以是个人、团体和组织,参考:威胁代理风险评估(TARA)中的威胁代理库

战役:针对具体目标的一系列恶意行为或攻击

威胁指示器:在检测或取证中,具有高置信度的威胁对象或特征信息。

内网环境中的威胁主体是指攻击的发起者,通常指两类,一类是组织内部人员由于个人原因有意或无意的造成的违规行为;一类是外部用户伪装成内部用户进行一些攻击行为。目标客体通常是攻击的目标,通常是网段、端口、终端及文件等。攻击模式包含已有的一些通用攻击策略相关知识,如果攻击链,att&ck,等,现在一些威胁检测组件产生的告警信息已经包含了部分相关知识。

关系构建

关系的构建包括直接关系与间接关系构建。直接关系比较容易得到,内网环境中通常能通过日志、沙箱、原始流量和外部数据直接得到的关系对,例如,文件访问域名,域名解析IP,文件访问IP等。

间接关系是通过间接关联得到的关系,比如使用同一种攻击工具的攻击者有一定的相似性,文件与文件通过相似度计算得到的相似性等等都属于间接关系。这样通过直接关系与间接关系的构建就构成了内网安全知识图谱。

动态威胁评估

在内网环境中,不同的检测组件每天会产生大量的威胁告警,对于安全人员来说人工处理这么大量的告警是不现实的,但是真实的告警往往又会被这些大量的误报所淹没,有效的威胁评估可能给安全人员提供处理威胁的优先顺序,从大量的告警中选择最有可能的告警。现在威胁评估的指标较多,而且实体的威胁程度是随着时间动态变化的,比如某个攻击源发现了一个高危漏洞后,它本身的威胁程序就变大。准确的威胁评估是内网日常运维所急需的。

初始威胁度

周期性

周期性指标主要用来对告警数据的产生原因进行判断,一般被蠕虫或者木马感染的主机会周期性地发送攻击报文,其每隔一段时间发送的攻击报文数量和内容也都相似,这样的攻击报文虽然对网络安全也构成一定的威胁,但由于其发送报文数量一定、内容相似以及具有周期性发送的特点,相对于具有突发性、攻击手段多样性的人为的主动攻击,更容易防范,其造成的威胁也相对较低。为此,我们需要判断告警信息是否具有周期性,并从中减小具有周期性木马等恶意代码产生的告警威胁,提高对突发事件威胁性的计算。

考虑周期性计算的复杂程度,如果要进行较为精确的周期性计算,花费时间较长,而周期性只是多项指标中的一项;而如果计算太为简单,又不能够体现出指标的作用。综合考虑其计算量和指标的精确度,现将攻击周期性的计算方法定义如下。

对攻击源的不同类型的攻击次数以小时为单位进行分时间的统计,对每一项统计值进行方差值的计算,如果方差值大于设定阀值,则认为该类攻击手段的攻击不具有周期性,小于设定阀值,则认为该类攻击手段实施的攻击具有周期性。

漏洞

主要采用CVSS[8]评价系统(Common Vulnerability Scoring System)中的Temporal Metrics作为评分参考,该评分能够描述攻击者利用该漏洞后造成的影响程度和难易程度,漏洞的Temporal 评分越大,说明利用该漏洞产生的威胁就越大;Temporal评分越小,说明利用该漏洞产生的威胁就越小。知识图谱实体的威胁值的计算方法如下公式所示,其中为a图中的节点,TVL (a)代表节点的威胁值,

代表对应的漏洞的Temporal评分。动作节点的威胁值定义如下:

目标客体重要性

目标客体由于其重要性不同,被攻击后造成的危害程度也不同。例如,一些不重要的FTP服务器、WEB服务器或者蜜罐节点可能被赋予1的重要性,而一些重要的数据存储服务器和总控服务器被赋予9的重要性;和CVSS的Temporal评分一样,主机的重要性可以设置为0-10区间的分数。目标客体的威胁值定义如下:

出于简化分析考虑,暂定每个目标客体的威胁值都为相关主机的主机重要性的平均值,并未考虑主机上的细分业务和主机不同权限对威胁值产生的影响。主机的重要性越高,攻击者所产生的威胁就越大。

威胁评估

对于已有的这些威胁评估,是从不同维度来解决威胁评估问题,那么不同角度的评估如如何融合优化成为威胁评估的问题。为此,基于已构构建的知识图谱进行分析,利用图嵌入把不同维度的威胁评估映射到同一空间中,在考虑更多特征及威胁的影响情况下,在同一空间对不同实体进行威胁评估,无论是效率和精度上都比传统方法有很大提升。

图3.1 基于知识图谱的威胁评估框架

基于图嵌入技术,已经可以由知识图谱这种离散模型转换成特征向量这种连续表示。然后基于图的结构特性和相关属性特征进行威胁评估,结构特征比如图的中心性,因为在图模型中,中心节点通常表示图的中心特性,中心节点对其他所有节点的影响最大,尤其是在威胁传播过程中的影响也最大。

图 3.2利用图神经网络计算主体威胁值

传统的威胁评估方法,一般是攻击目标构建相应的攻击图来量化,一方面针对大规模数据构建攻击图的复杂性比较高,同时攻击图考虑维度比较局限。为此针对已构建的安全知识图谱提出一种基于图嵌入的威胁评估方法。首先以安全知识图谱为输入,利用图神经网络(编码器),对图的顶点生成嵌入向量,其中融入了结构威胁评估及属性评估,然后利用图神经网络训练每个节点对某一节点的威胁度权值,经过不断的迭代最终生成返回知识图谱中节点的威胁度排名。

下面介绍评估模型的核心,知识图谱中包括多种实体,实体中的直接与间接关系表示着威胁传递,比如攻击者拥有攻击工具,那么该实体的威胁度就会增加,攻击者距离目标资产的距离近,那么该攻击者的威胁度就会增加等等,中心度是指图中,处理中心度上的攻击者的威胁度越大。在图神经网络中融合一跳或多跳近似训练知识图谱中不同的实体聚合的权值,然后生成新的威胁值,再利用中心度进行调整,进入下一层学习,直到满足终止条件。

四.  总结

知识图谱技术从提出到现在已经经历了7年,现在知识图谱在推荐,检索领域已经得到了广泛应用,但在安全领域知识图谱的应用还处理探索阶段。但是图模型已经在安全领域多个场景得到应用并取得了不错的效果,安全知识图谱在原有的图模型中融入了更多的知识,为检测,分析与响应提供了更多的语义信息。未来知识图谱在安全领域将会有更多的应用。

参考文献

1 Perozzi B , Al-Rfou R , Skiena S . DeepWalk: Online Learning of Social Representations[J]. 2014.  

2 Jian T, Meng Q, Wang M, et al. LINE: Large-scale Information Network Embedding[C]// International Conference on World Wide Web. 2015.

3 Grover A , Leskovec J . node2vec: Scalable Feature Learning for Networks[J]. 2016..

4 Newman M E J , Girvan M . Finding and Evaluating Community Structure in Networks[J]. Physical Review E, 2004, 69(2 Pt 2):026113..

5 https://blog.csdn.net/ztf312/article/details/80680263.

6 Wang X , Cui P , Wang J , et al. Community Preserving Network Embedding[C]// The 31st AAAI Conference on Artificial Intelligence. 2017..

7 Cavallari S , Zheng V W , Cai H , et al. Learning Community Embedding with Community Detection and Node Embedding on Graphs[C]// the 2017 ACM. ACM, 2017.

8 Pengsu C, Lingyu W, Jajodia S, et al.Aggregating CVSS Base Scores for Semantics-rich Network Security Metrics [A].// 2012 IEEE 31st Symposium on Reliable Distributed Systems (SRDS) [C], Irvine, CA: IEEE Press, 2012: 31-40.

9基于知识图谱的APT组织追踪治理,https://mp.weixin.qq.com/s/CluHeu1oy7DneBuR0cXZSQ

关于天枢实验室

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

Spread the word. Share this post!

Meet The Author

Leave Comment