一、背景
攻击溯源意如其名,就是回答在网络攻防对抗中谁攻击了我,攻击点在哪以及相关攻击路径。通过攻击溯源技术可以确定攻击源或攻击的中间介质,以及其相应的攻击路径,以此制定更有针对性的防护或反制措施,实现主动防御。可见攻击溯源是网络空间防御体系从被动防御到主动防御的转换的重要步骤。
攻击溯源图是描述攻击者攻击行为相关的上下文信息,利用攻击溯源信息来实现威胁评估是当前研究的热点。之前的公众号文章《攻击溯源-基于因果关系的攻击溯源图构建技术》[1]已经介绍了攻击溯源图的构建工作,本文将介绍基于攻击溯源图的威胁评估相关工作。基于攻击溯源图的威胁评主要有两类:一类是基于图异常检测思路的攻击识别;一类是引入外部知识构建相关规则进行攻击识别。
二、基于异常检测思路的攻击识别
文献[2,3]的方法假设攻击行为一定是异常行为。因此,可以利用异常检测思想从攻击溯源图中找到异常行为,以此作为攻击行为。图1表示某终端日志生成的终端溯源图。溯源图中紫色框表示攻击者的攻击路径,而绿色框内是终端正常终端行为关联图。
图1 攻击溯源图实例
文献[2,3]的核心是构建参考模型,也就是在发生攻击之前对系统的正常行为进行建模,这种思想类似于UEBA(用户与实体行为分析)。由于参考模型刻画的是用户的正常行为,因此,严重偏离参考模型的行为被认为是攻击行为。基于参考模型可以实时地计算每个攻击源的异常行分, 根据溯源图中每个节点的异常值为进行路径遍历就得到了一种局部最优的攻击路径。显然在没有外部知识的引入的情况下,这种方法的效果完全依赖于异常行为与攻击行为的关系。但是在真实环境中异常行为并不等于攻击行为,因而该方法会存在大量的误报。
图2为基于异常检测的复杂攻击的通用框架[2]。首先需要采集网络侧与终端侧相关数据。并基于因果挖掘方法构建溯源图。在未出现攻击行为之前利用概率模型对正常系统行为进行建模。以正常系统行为模型为参考模型,实时的检测攻击行为。该框架本身有一定的局限的,首先需要保证参考模型是基于正常行为构建的,而没有被未知攻击混淆;别外,对于终端来说每一个终端都需要保存其参考模型,可扩展性较差。
图2 基于异常检测的复杂攻击识别框架
总体来说,由于溯源的的关联粒度较粗会导致溯源图依赖爆炸,因而从海量的图中找到有效的攻击路径就变得异常困难。
三、 基于外部知识引入的攻击识别
文献[4]从网空威胁情报(CTI)报告和IOC(Indicator ofCompromise)的相关描述,形式化了威胁狩猎相关问题,开发了POIROT系统。该系统的目标是获得攻击行为攻击成功的概率。通过给定的IOC以及其相关的关系通过专家知识构建一个威胁查询子图。然后利用子图匹配的方法在攻击溯源图中进行匹配。本质上是根据外部情报利用专家知识构建相关的威胁子图,然后在攻击溯源图中匹配满足威胁子图的模型的相关子图。但是该方法也存在一个局限性,就是威胁子图的构建完全依靠安全专家,该方法对于未知威胁显然无能为力。
图3 POIROT 方法框架
HOLMES[5]是一种检测APT(Advanced Persistent Threat)攻击的系统。该系统实时的汇总攻击者的攻击行为,并基于kill-chain(攻击链)构建高级溯源图。
图4 多层溯源图的APT攻击识别
当前复杂攻击溯源面临的挑战是低级别日志数据与攻击者目标、意图和能力相关高层视角之间的巨大语义鸿沟。为了弥合低级系统调用视角和高级攻击链视角之间的语义差距,HOLMES构建了一个中间层HSG(高级场景图)。HSG节点是TTP(Tactics, Techniques and Procedures)中的实体,边表示TTP之间的信息流。本质上HOLMES是通过专家实现了由底层日志数据到TTP的映射。如图4所示,中间层HSG是基于MITRE的ATT&CK框架做的一种语义层的抽象,它描述了近200种行为模式和TTP。
TTP代表了具体日志数据和高级APT阶段之间的一层中间抽象。具体来说,依靠两种主要技术将审计日志数据提升到这个中间层:
(a)以安全相关事件的溯源图形式的终端表示形式表示;
(b)TTP中涉及的实体之间的信息流依赖关系的使用。
总之,这些技术实现了高级别的恶意行为规范,这些规范在很大程度上独立于许多TTP细节,例如使用特定系统调用,恶意软件的名称,创建的中间文件以及用于创建它们的程序等。信息流的依赖关系是检测隐蔽APT攻击的关键。
除了指定TTP的步骤之外,还需要捕获它的先决条件(prerequisite)。先决条件不仅有助于减少误报,而且有助于理解TTP在APT活动的更大背景下的作用。在的TTP规范中,先决条件采用APT阶段之间的因果关系和信息流的形式。
一个典型的威胁子图的构建如图5所示,图的节点表示匹配的TTP,在图中用椭圆表示。在每个椭圆内部,用灰色表示匹配的起源图实体。为了便于说明,还包括TTP的名称,每个TTP所属的APT阶段以及每个TTP的严重性级别(低,中或高)。图的边代表不同TTP之间的前提。完成两个实体之间的路径的虚线表示前提条件。例如,MakeMemExec TTP将Untrusted_Read TTP作为前提,由两个节点之间的边表示。
威胁子图的构建主要由前提驱动:如果满足所有前提条件,则TTP匹配并添加到HSG。这个因素可以随时减少HSG中的TTP数量,从而可以在不影响实时性能的情况下进行复杂的分析。
图5 威胁子图示例
HOLMES从一定程度上解决了低级别审计数据与攻击者目标、意图和能力相关高级杀伤链视角之间的巨大语义差距。但是该方法完全依赖于专家知识撰写规则,因此,检测结果的好坏严重依赖于安全专家。
文献[6]提出一种有效的终端侧攻击检测框架RapSheet。该框架通过攻击行为到TTP的映射实现了数据溯源图到战术溯源图的抽象。该方法的检测规则完全参考ATT&CK,这样在构建的依赖图中就可以通过ATT&CK相关知识过滤掉与攻击不相关的数据。如图6所示。
图6 RapSheet 技术框架
RapSheet认为从攻击行为角度对攻击者刻画的粒度过细,而且攻击行为本身很难聚合。为此,RapSheet从战术角度构建更高层的攻击溯源,利用攻击行为到ATT&CK相关战术的映射,实现攻击行为的战术溯源,这样大大减少了溯源图的规模,也就不存在依赖爆炸问题。同时基于战术可以很容易挖掘攻击者的攻击意图。
四、结语
网络攻击溯源技术通过综合利用各种手段主动地追踪网络攻击发起者、定位攻击源,结合网络取证和威胁情报,有针对性地减缓或反制网络攻击,争取在造成破坏之前消除隐患,在网络安全领域具有非常重要的现实意义。
而攻击溯源技术同时也可以反作用于入侵检测,以解决入侵检测中的技术难点。攻击溯源图是其中的关键,但是由于攻击行为与正常用户行为的边界很难确定导致攻击溯源图的规模通常很大。基于异常检测的方法可以从攻击溯源图中检测相关的已知和未知威胁,但是结果缺少可解释性,并且存在较高的误报;而基于外部知识介入的威胁评估方法具有很强的可解释性,本身专家知识的引入完全依赖人力,全是专家知识的引入具有很大局限性,存在大量的误报,且在企业环境中很难落地。
在外部知识的引入方法,HELMOS和RapSheet已经做了很好的尝试,他们提出的HSG和战术溯源图已经具有知识图谱的雏形。安全知识图谱的引入将是企业威胁评估的未来研究的方向。
参考文献
1 攻击溯源-基于因果关系的攻击溯源图构建技术https://mp.weixin.qq.com/s/ofP4j2TEfNoCYqrLhMsvZA
2 LiuY , Zhang M , Li D , et al. Towards a Timely Causality Analysis for EnterpriseSecurity[C]// Network and Distributed System Security Symposium. 2018.
3Hassan W U, Guo S, Li D, et al. NoDoze:Combatting Threat Alert Fatigue with Automated Provenance Triage[C]. NDSS,2019.
4 MilajerdiS M , Eshete B , Gjomemo R , et al. POIROT: Aligning Attack Behavior withKernel Audit Records for Cyber Threat Hunting[J]. 2019.
5 MilajerdiS M , Gjomemo R , Eshete B , et al. HOLMES: Real-time APT Detection throughCorrelation of Suspicious Information Flows[J]. 2018.
6 Hassan, Wajih Ul, Adam Bates, and DanielMarino. “Tactical Provenance Analysis for Endpoint Detection and ResponseSystems.” Proceedings of the IEEE Symposium on Security and Privacy. 2020.