为应对高级持续性威胁(AdvancedPersistent Threat,APT)、利益驱动的内部员工威胁,面向主动防御的威胁狩猎(ThreatHunting,TH)方案逐渐得到关注[1]。以“系统失陷”为假设,狩猎者基于安全经验与集成的数据平台,对信息系统进行持续的调查、验证、观测,以召回漏网的已知威胁,识别隐匿的未知威胁,并对威胁事件进行溯源和场景重建,进而固化为安全知识与启发式规则。在高级威胁频发、安全人力成本剧增的形势下,研究数据驱动的,能持续自适应辅助狩猎任务的自动化技术与系统,有着重要意义。
图1 威胁狩猎典型范式
当前相对成熟的安全管理工具已集成大规模的、多源的数据,包括网络侧、样本侧、终端侧、身份侧等维度,这给威胁的数据分析提供了宝贵的资源。不过,持续的内部红蓝对抗,以及频繁曝光的外部数据泄露事件,带给我们诸多启示,其中之一就是安全数据量大不代表质高。基本的数据处理、低鲁棒性的异常检测、初级的多级检索关联,已经难以满足攻击事件“大海捞针”的挑战。欠语义化、高误报率的检测手段,如今只能相对应的处理低成本自动化的攻击脚本,投入重金的高级威胁在大部分环境下有着压倒性的技战术优势。
为应对这一挑战,高级的威胁分析策略、模型、算法、系统已成为安全产品、安全研究的重要方向。本文面向数据驱动威胁狩猎,将针对终端侧行为数据——溯源数据挖掘(ProvenanceMining)与威胁狩猎进行关键概念的介绍与方法总结。
一、溯源数据(Provenance)
终端侧的数据采集与分析,能够提供细粒度的行为上下文,一直以来都是网络安全数据的重要组成部分。特别是在网络安全边界模糊的现状下,终端级别的防御能力变得更加重要。杀毒软件已能够行之有效的阻拦绝大部分已知文件威胁,如今,面向高级威胁分析场景终端大数据分析,如EDR、集成终端数据的分析平台等应运而生。然而过度的信息采集将给终端设备带来过高的性能开销;采集单元的部署会对包含敏感数据的关键终端引入新的数据安全风险;此外,现有的处理方法难以满足大规模、动态终端数据的分析需求,对网络侧检测分析能力支撑有限…诸多因素限制了终端分析能力从传统杀毒到新一代智能分析的演进。
溯源数据(Provenance)是终端侧数据的关键组成,当前操作系统(如Linux、Windows等)已具备高线溯源数采集的能力。有效的溯源数据挖掘方法,能够支撑威胁狩猎的多种任务场景。如下图所示,Provenance能够忠实记录终端上实体的行为逻辑依赖关系,自然形成溯源数据图(ProvenanceGraph,简称溯源图)。所记录的实体,包括文件(菱形)、网络(椭圆)、进程(矩形)等维度;根据实体对的类型,实体间关系又包括文件读写、进程创建、网络连接等等。在溯源数据完整有效采集的情况下,通过溯源图的后向追溯(backward-trace)和前向追溯(forward-trace),能够有效弥补网络侧的数据盲点,实现攻击事件的溯源与取证。
图2 溯源数据图[2]
二、溯源数据威胁狩猎的挑战
溯源数据能够作为威胁狩猎的关键资源,为威胁的识别、评估、关联提供丰富的上下文。不过,仍然没有免费的午餐。通过溯源数据挖掘进行威胁狩猎的支撑工作,有着多方面的挑战,以下简要分析。
- 溯源图依赖爆炸挑战 这是溯源数据分析中的个性化问题。根据采集方式,溯源数据可分为两类:细粒度的(Fine-Grained)和粗粒度的(Coarse-Grained)。因现阶段性能和系统架构易用性限制,粗粒度的溯源数据广泛应用和部署。粗粒度的采集采取“贪心”的方式,记录实体间所有可能的依赖关系,难以准确跟踪实体间的信息流向。即,某个实体的下游实体的信息流,可能由时间较早任意一个实体信息流产生。特别是长期存活实体的存在,这种不确定性会造成上下游实体的信息依赖的爆炸式增长。例如下图所示,Powershell及其子进程树的上游信息依赖关系难以明确,这带来信息取证的挑战。
图3 溯源数据图的依赖爆炸[3]
- 低频事件挖掘挑战 在大规模正常背景行为数据中识别攻击行为,这是安全大数据分析的needle-in-a-haystack的共性问题。高级威胁具有对抗性,攻击者将想方设法隐匿攻击行为,例如可通过盗取的合法凭证,完成认证过程;可长期潜伏,完成长周期的横向移动与数据窃取。数据驱动的分析方法的前提是数据中包含威胁的蛛丝马迹,然后这种可疑行为的时空低频性,对数据分析方法,例如异常检测算法的攻击回召率、事件误报率有严格的要求。告警疲劳(Alert Fatigue)已足以杀死一个异常检测系统的可用性。
- 性能拓展性挑战 威胁狩猎可包含如已知威胁实时匹配的OLTP(On-Line Transaction Processing)任务及长周期、大规模关联分析及溯源的OLAP (On-line Analytical Processing) 任务。延续了上一挑战,为保证不同任务特别是OLAP任务下数据的可用性,溯源数据规模将迅速膨胀。此外,终端的多样性,将在数据生命周期、数据对齐、数据关联等多方面带来存储、分析架构的拓展性冲击,在攻防持续对抗的场景下,保持系统的高性能将充满挑战。
三、溯源数据挖掘研究概览
Provenance具有重要的安全应用价值,provenancemining则具有科学的挑战,因此近年来,诸多研究工作围绕在APT等威胁分析场景下的溯源数据挖掘任务展开。从威胁狩猎的主要场景分类出发,下图粗略的对相关工作进行了分组。为了对抗高级威胁,各位作者在方法的命名上也是煞费苦心,各大侦探、神与神兽齐聚一堂,也映衬了APT检测与溯源的高难度系数。
图4 溯源数据挖掘的威胁狩猎方法分类
威胁狩猎的一种假设是,当前网络环境下有未被检测出的已知威胁,例如边界检测设备未覆盖的,或者威胁情报的最新推送等等。在溯源数据中挖掘已知威胁,主要涵盖威胁模式匹配和事件重构溯源两方面主要工作。威胁模式匹配一般建模为图上的子图模式匹配问题,需要解决图数据建模、查询子图的生成及查询优化等多个子问题。以TIC[4]为例,将溯源数据(及其他数据)抽象为时序图结构,包含实体、事件、标签三层数据,进而实现了基于图数据库的DSL(DomainSpecificLanguages)τ-calculus用于查询该数据视图。POIROT[5](侦探波洛)将STIX等格式的威胁情报转化为攻击行为查询子图,进而主要解决威胁情报子图与溯源图的节点概念对齐及匹配问题。
图5 已知威胁模式匹配
威胁狩猎的另一种假设是,行为模式未知的威胁已突破防护边界,潜伏在信息系统内部,需要在溯源数据中识别恶意行为,实现攻击场景的重建。目前主要有策略启发、频率建模、机器学习等几类方法。其中,HOLMES[6](福尔摩斯),采用层次化的策略模板,将底层实体行为映射为ATT&CK矩阵中的技术和战术,实现了有语义的威胁检测于场景重构方法。NODOZE[3]使用统计低频路径挖掘的方法解决依赖膨胀问题,从而更准确还原告警产生对应的溯源数据子图。HERCULE[7]认为威胁事件与正常事件之间有较明确的社区化行为划分,通过将多源日志融合,以自动化的方式完成异常行为社区发现,归并其对应的攻击步骤。
图6 威胁识别与溯源
以上介绍了基于溯源数据挖掘的威胁狩猎最新研究方法及其分类,已有研究方法大部分基于真实威胁环境的演练,具备强可操作性和实战性,对攻防场景下的威胁识别与溯源具有重要的指导价值。然而,相对于利益驱动下APT等高级威胁的高对抗性、针对性、持续性、长周期等场景特性,溯源数据的挖掘方法研究仍处于初级阶段。如果说边界安全数据勾勒出攻击事件的轮廓,那么终端侧数据(不限于Provenance)的重要价值,在于能填补轮廓内部的纹理细节。为威胁狩猎任务提供更真实的攻击者及攻击行为情景画像,以及智能化的行为观测方法,进而支撑行为数据与知识、情报、环境数据的系统化融合,这不仅仅考验数据科学方法的应用,更考验安全能力、安全经验的持续积累,是对安全防御能力的综合挑战。
本文为数据驱动威胁狩猎系列文章之一,主要针对终端侧行为图的分析部分,感兴趣的同学欢迎阅读相关文章:《智能威胁分析之图数据构建》、《以ATT&CK为例构建网络安全知识图》。
参考文献:
[1].RSA, Hypothesis in Threat Hunting, https://www.rsa.com/en-us/blog/2017-07/hypothesis-in-threat-hunting
[2].Hossain M N, Sheikhi S, Sekar R. Combating Dependence Explosion in Forensic Analysis Using Alternative Tag Propagation Semantics[J].
[3].Hassan W U, Guo S, Li D, et al. NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage[C]. NDSS, 2019.
[4].Shu X, Araujo F, Schales D L, et al. Threat intelligence computing[C]. Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018: 1883-1898.
[5].Milajerdi S M, Eshete B, Gjomemo R, et al. Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting[C]. Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, 2019: 1795-1812.
[6].Milajerdi S M, Gjomemo R, Eshete B, et al. Holmes: real-time apt detection through correlation of suspicious information flows[C]. 2019 IEEE Symposium on Security and Privacy (SP), 2019: 1137-1152.
[7].Pei K, Gu Z, Saltaformaggio B, et al. Hercule: Attack story reconstruction via community discovery on correlated log graph[C]. Proceedings of the 32Nd Annual Conference on Computer Security Applications, 2016: 583-595.