【APT行为数据分析】终端溯源数据中的依赖爆炸问题

高级持续性威胁(Advanced Persistent Threat,APT)具有对抗性、隐匿性、低频性、持续性,在配合复杂、定制化的技战术手段,给传统防护检测方案带来挑战。为提升高级威胁分析的时效性,降低狩猎门槛,探索通过数据驱动的方式提升关键线索定位、攻击路径补齐的自动水平,有着重要的意义。

当前,大规模异构网络、终端、情报数据分析场景中,存在信息依赖爆炸、安全语义模糊等问题,亟待解决。《Provenance Mining:终端溯源数据挖掘与威胁狩猎》一文,介绍了终端溯源数据(Provenance)以及溯源图(Provenance Graph)的概念。本文将从数据维度解析基于终端的APT检测溯源关键挑战——溯源数据的依赖爆炸(Provenance Dependency Explosion)问题。

一、溯源数据挖掘技术背景

溯源数据能够忠实记录终端上实体的行为逻辑依赖关系,自然形成溯源图。通过溯源图的后向追溯和前向追溯,可实现攻击事件的溯源与取证。如图1所示,图中的节点包括文件、进程、域名、连接等实体点,以及文件读写、进程创建、域名解析等行为边[1]。该攻击子图是经分析算法提纯后的攻击行为还原,即该图中只包含了与关键攻击行为或异常行为相关联的部分点和边,已隐藏了大量的背景行为信息。通过溯源图的分析,专家可以以细粒度的系统行为视角观测攻击者的行为,为攻击行为取证提供了关键素材。

图1 一个典型的溯源图

二、溯源数据依赖爆炸问题

APT组织通常结合0-Day与N-day漏洞及隐匿的攻击行为,对目标投递定制化的攻击载荷,以控制防护薄弱的目标主机,完成横向移动,最终实现数据窃取、系统破坏等目标。图2列举了2020年谷歌搜索热度前10名的漏洞,其中大部分漏洞是高危的远程可利用漏洞,并被诸多APT攻击组织利用。

图2 2020年谷歌搜索热度Top 10的漏洞及被利用信息

图2显示,有多达14个APT组织在攻击过程中利用CVE-2017-0199漏洞。本文将以CVE-2017-0199漏洞在APT场景下的利用为例,分析利用溯源数据进行威胁行为挖掘过程中的依赖爆炸问题。

该漏洞是利用Office Word软件漏洞达成攻击执行目标(ATT&CK T1203 Exploitation for Client Execution)的一个高危漏洞。如图3所示,攻击者构造包含OLE2链接对象的Office文档进行钓鱼投递。受害者打开该文档后,Office程序winword.exe将向攻击者搭建的服务端请求下载恶意HTA文件。该文件实际为嵌入了恶意脚本的RTF文件,winword.exe最终自动调用Microsoft HTA 应用程序mshta.exe加载执行该恶意脚本[2][3]。

图3 CVE-2017-0199漏洞利用示意图[3]

基于该漏洞,研究者进行了APT攻击模拟与溯源数据重构,除了攻击行为,主机上还模拟了日常操作行为,以生成背景行为日志[4]。在该场景中,攻击者向受害主机1投递了包含漏洞利用脚本的文档,进而收集敏感信息,并通过受害主机1的门户网页服务端特性完成横向移动攻陷受害主机2。该APT场景一个有效还原的溯源图如图4所示,该还原方法能够识别关键的攻击行为及其序列,从而精简的重构了该漏洞利用的攻击过程。

图4 CVE-2017-0199攻击行为溯源数据重构[4]

实际上,从终端溯源数据中挖掘并生成精简的攻击溯源子图,并不是简单和直接的任务,其中一个关键阻碍就是溯源数据中大量的信息流依赖。限于采集平台的性能开销与技术瓶颈,目前绝大部分溯源数据采集系统所采集的数据是粗粒度的(Coarse-Grained)。粗粒度的行为数据采集采取“贪心”的方式,记录实体间所有可能的依赖关系,难以精确跟踪实体间的信息流向。特别是类似系统级别的服务进程、用户级别的浏览器等长期存活的实体,作为信息流传播的中心环节,大规模关联实体的信息流会在该中心实体交汇,导致上下游信息流无法有效溯源。

图5展示了在整个观测周期内的完整溯源图。该图记录了两台主机终端(绿色与深灰色)的进程、文件、连接以及域名解析等日志中多种类型实体之间的,读写、创建、解析等多种类型信息流结构依赖关系。由于较为长时间的观测周期,受害者主机1、2上的系统进程、动态链接库、浏览器进程等实体之间高频的产生了大量的信息流交互操作,形成了下图中稠密的团。

图5 基于CVE-2017-0199跨主机APT攻击模拟的溯源图(完整)

对图5中圆圈部分进行局部放大,同时以关键的线索文档msf.doc(恶意软件检测或IoC情报命中)或C&C服务端IP(IoC情报命中)为出发点,可以看到局部恶意信息流覆盖。如图6(a)和6(b)中红色边所示。该图中,以msf.doc创建时间为界,过滤掉了该时间戳之前发生的所有行为边,以尽量屏蔽实际不存在的信息层结构关联。从关键线索出发,能够快速定位到被攻陷的异常winword.exe进程——该进程读写了恶意脚本文件或异常外联C&C服务端IP。然而,由于winword.exe是模拟的常驻程序,该进程或文件在指定时间范畴内,与大量的上下游文件或程序发生信息流传递,如图6(c)红色边所示,呈现数量指数级别的爆炸式增长,这无疑给进一步的攻击路径调查取证增加了难度。

图6 APT攻击模拟的溯源图(msf.doc或C&C Server IP为线索的信息流传染)

由前述APT漏洞利用溯源数据实例分析看出,在现有的粗粒度溯源数据采集技术基础上,终端关键实体之间,特别是进程、文件、连接等实体,存在自然的信息流传染效应。在没有先验知识或基线数据的情况下,任何恶意信息流经过中间实体的中转,将以一定的概率向上下游实体扩散。随着信息流在关联实体各自邻域的传播,特别是通过常驻实体的传播,进一步导致了终端溯源数据中的信息流依赖爆炸问题。

依赖爆炸问题覆盖终端溯源数据、威胁情报数据、网络日志数据等多源多类型场景,给自动化的攻击检测、攻击路径分析带来巨大挑战。一方面,直接大幅度提升了专家人工分析的难度。如果说线索定位是大海捞针,那还原攻击路径在该问题下犹如走迷宫。另一方面,自动化的分析方案同样面临由大量无效信息依赖带来的分析误判、性能瓶颈等问题。

三、总结

APT已成为国家级关键信息基础设施的重要威胁,传统被动、静态特征规则驱动的攻击检测方法,与关键线索驱动的逐步搜索溯源方法,难以应对相关攻击事件带来的潜在重大风险。而主动的威胁狩猎技术与自动化安全运营技术,依赖更加自动化的数据与知识挖掘基础设施,来弥补专家视野的局限性。

本文重点解析了终端溯源数据分析中依赖爆炸问题,欢迎关注系列文章,将为读者带来数据驱动的APT行为分析以及依赖爆炸等问题的实战化应对。

参考文献

[1] Hassan W U, Guo S, Li D, et al. NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage[C]. NDSS, 2019.

[2] https://cybersecurityworks.com/blog/vulnerabilities/google-trends-most-searched-top-10-vulnerabilities-in-2020.html

[3] https://blog.nsfocus.net/microsoft-office-ole2link-exploits-technology-analysis/

[4] Alsaheel A, Nan Y, Ma S, et al. {ATLAS}: A Sequence-based Learning Approach for Attack Investigation[C]. 30th {USENIX} Security Symposium ({USENIX} Security 21), 2021.

[5] https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html

版权声明

本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author

Leave Comment