读《Tactical Provenance Analysis for Endpoint Detection and Response Systems端点检测和响应系统的战术起源分析》

Tactical Provenance Analysis for Endpoint Detection and Response Systems

一、背景

1.刊物/会议级别

本文收录于2020年IEEE S&P,网络安全领域四大顶会之一。DOI Bookmark为10.1109/SP40000.2020.00096

2.作者团队

本文作者中的两位是伊利诺伊大学香槟分校的Wajih Ul Hassan和Adam Bates,另一位为来自诺顿LifeLock研究组(NRG)的Daniel Marino,诺顿LifeLock为一家上市公司,帮助保护消费者的设备、身份、在线隐私以及家居和家庭需求,该研究组成立于2002年6月,旨在通过新的安全和隐私模式来保护世界上的计算设备和信息。NRG在许多前沿技术(例如目标攻击保护、基于声誉的安全、行业领先的rootkit保护、基于云的安全服务)的开发中发挥了领导作用,这些技术现在已经在诺顿LifeLock的许多产品领域商业化。

3.论文背景

本文指出已有的EDR(端点检测和响应)工具存在的三个主要弊端:

1)EDR工具会产生大量的虚假警报,从而为分析人员积压了调查任务;

2)确定这些威胁警报的准确性需要大量的低级系统日志,人工任务繁琐

3)由于日志占用巨大资源,系统日志通常在进行调查之前就被删除

其主要贡献为:

1)提出了战术源图(Tactical Provenance Graphs, TPGs)的概念,研发了RapSheet系统,直接推理EDR系统生成的威胁警报之间因果关系;

2)引入了基于TPG中各个威胁警报之间的时间顺序的威胁评分方法来解决EDR的虚假警报问题;

3)提出了一种新的日志减少方案,维护了一个最低限度的骨架图,该图可以提供现有和未来威胁预警之间的可链接性,将长期保留日志带来的负担减少87%;

4)集成了原型系统RapSheet

此贡献恰好可以避免现有EDR存在的三个主要弊端。

二、设计思想

本文提出了RapSheet系统的设计思想,主要分为以三下个部分:

1.建立战术源图

1.收集日志:

收集企业中每个主机上的系统日志,这些系统日志捕获了不同系统实体之间的因果关系。 例如,在Linux中,创建子进程的父进程之间的因果关系由捕获对sys_clone()的调用生成的事件表示。 一旦在每个主机上收集了这些系统日志,它们就会被处理成JSON格式。

2.规则匹配

收集日志过后便可以进行规则匹配来发出警报。在本文的实验中使用了Symantec EDR工具提供的一组默认的MITER规则,并通过未涵盖的MITRE技术的附加规则对这些规则进行了补充。 用户可以通过添加其他TTP的新规则扩展系统。

3.建立起源图结构

这一部分是系统新颖之处:每个主机上的系统日志都解析为一个起源图的图结构,起源图数据模型包含两种顶点类型:进程顶点类型和对象顶点类型,其中包括文件,注册表等。连接这些顶点的边标记有事件类型,描述了连接的实体和事件之间发生的关系。

在这里插入图片描述

同时,实现了一种汇总技术:合并具有相同操作的两个顶点之间的边,并仅保留具有最新时间戳的一个边。 这可以大大减少出处图的大小,同时仍保留因果分析的正确性。

4.战术级起源分析

这里提出了三个概念和一个算法,并对TPG做了精确定义:

给定一系列触发的警报和主机出处图,在图中找到所有初始感染点(IIP)顶点。 如果IIP顶点对应的过程是多阶段攻击的第一步,那么其余的攻击将被此过程及其后代生成的未来警报捕获,我们可以对相关警报进行分组。

IIP满足以下两个条件:

(i)它对应于生成一个警报事件的过程,

(ii)从起源图中的向后跟踪不包含其他警报事件。

对于每个IIP顶点,生成一个植根于IIP的图形——IIP图,定义如下:

给定一个出处图G <V,E>和IIP Vertexva上发生的警报事件,该IIP Graph G'<V',E'>是一个以Va为根源的图,其中e∈E',它既因警报事件又导致警报事件。

由于该图可能包含多个路径,因此将IIP图转换为一个新图,其中每个顶点都是一个警报事件,边指示警报之间的时间顺序。称这些边为序列边

两个警报之间存在序列边(ea,eb),并且满足以下任一条件:(a)ea和eb警报是否在同一台主机上、同一源头路径上和同一起始路径上,或(b)同一主机上的ea和eb警报和ea顶点时间戳小于eb,(c)ea有一个connect事件且eb有一个回应的accept事件。

战术级起源图战术级起源图(TPG)可以定义为一对(V,E),其中V是一组威胁警报事件,而E是顶点之间的一组序列边缘。

TPG图生成算法如下:

Inputs:
Raw provenance graphG(V,E); Alert Events AE	//输入为原始起源图和警报时间
Output:
List of Tactical Provenance GraphsList TPG	//输出为战术级起源图TPG
AE′←{ae:time(ae)},ae∈AE, sort by timestamp in asc. order	//以时间戳升序排列
2:Seen←∅, set of seen alert events
3:List IIP←∅, List of IIP Vertex Graphs
4:for all ae:AE′,ae /∈Seendo
5:Seen←Seen∪{ae}
6//使用了DFS算法从输入事件返回所有前向跟踪路径
7:Paths←ForwardPaths(ae)
8:IIPG←∅, IIP graph
9:for all path:Paths do
10://返回输入起源路径中的所有警报事件
11:alerts←GetAlertEvents(path)
12://在IIP图中只保留那些至少有一个警告的路径
13:if alerts≠∅then
14:IIPG←IIPG∪path
15:Seen←Seen∪alerts
16:ListIIP←ListIIP∪IIPG
17:ListTPG←∅, List of TPGs to return
    
/*以上,是IIP图是生成过程*/
    
18:for all IIPG:ListIIP do
19:TPG←∅, tactical provenance graph
20:alerts←GetAlertEvents(IIPG)
21://根据规则之前发生的事件对警报进行排序
22:alertshb←{a:time(a)},a∈alerts
23://循环排序警报,一次两个
24:for allae1,ae2:alertshb do
25:V←ae1
26:V′←ae2
27:TPG←TPG∪(V,V′)//添加序列边缘

28://后期处理TPG以提高可读性
29:TPG←ReadabilityPass(TPG)
30:ListTPG←ListTPG∪TPG

2.威胁评分

本文结合了各个警报的风险评分,采用了一种计分机制,包括两个风险评估指标:“攻击可能性”和“典型严重性”。每一个都按照非常低(1分),低(2分),中(3分),高(4分),非常高(5分)的五类等级进行评分。每个警报的最终得分为:

在这里插入图片描述

为了将单个警报得分组合为总体得分,有两种备选方案:

1.基于路径的计分方案

对于每个警报,生成了反向跟踪路径,然后汇总了该路径上发生的分数。然而在某些情况下,基于路径的方法无法捕获攻击的整个上下文。

2.基于图的评分方案

这也是该系统最终采用的方案,其中警报与攻击者通过MITRE定义的战术杀伤链的有序阶段一致。这些有序警报的最长(不一定是连续的)子序列与 tacticla kill chain战术击杀链 的有序阶段一致。 然后,将该子序列中单个警报的分数相乘以得出TPG的总体分数。如果存在多个最长的子序列,则选择产生最高总体分数的子序列。

在这里插入图片描述

3.结构图的简化

本文提出以下两个规则,以在保留基于TPG的警报相关性的任何时间修剪源图。

规则1:删除对象顶点O,如果O的向后跟踪图中没有警报事件,并且没有直接连接到O的警报事件边;

规则2:删除进程顶点P,如果i)P的向后跟踪图中没有警报事件,ii)没有警报事件边直接连接到P,iii)P被终止。

文章用了一个例子来说明简化算法:

删除的对象顶点是O2,因为O2的向后跟踪图由顶点{P2,P1}和带有时间戳{t5,t1}的边组成,这些边没有任何警报事件。 因此,可以安全地从图形中删除O2和带有时间戳5的边缘,而不会丢失任何有关当前或将来警报的连接信息。删除的进程顶点,在向后跟踪图中没有警报事件,并且没有任何作为警报事件的突发事件。 因此可以安全地从图中移除过程顶点P3以及具有时间戳记{t2,t3}的边。

在这里插入图片描述

这一简化算法可以从两个方面说明其正确性:第一,简化的骨架图生成的TPG不会具有原始源图中不存在的警报相关性,因为RapSheet在还原过程中不会添加任何新的边或顶点。 第二,由RapSheet生成的骨架图不会有任何假阴性,也就是说它将捕获原始出处图中存在的所有警报关联。 这是因为TPG的性质,简化规则可确保在简化时,删除的节点和边不属于任何IIP图。 并且由于向后跟踪仅包含在给定事件之前发生的事件,因此它们不会成为将来的任何IIP图的一部分。

三、实验评估

作者团队评估了RapSheet作为企业环境中的威胁调查系统的功效。

1.实施

本文使用了Apache Tinkerpop图计算框架 ,与Symantec EDR对接,配置了67条警报生成规则,能够收集系统日志,将事件与攻击行为进行匹配以及生成威胁警报。

2.数据集

数据是在一周内从产品开发成员定期使用的主机上收集的。在这些主机上执行的任务包括:Web浏览,软件编码和编译,质量保证测试以及其他常规业务任务。由于使用情况的差异,某些计算机仅使用一天时间,而其他计算机则在数据收集周期间每天记录事件。总共收集了35GB的(轻度压缩)日志以及大约4000万个系统事件。 平均每台主机每天每台机器产生40万个事件。

实验中实施了三个不同的攻击活动,两个基于真实的APT威胁组(APT3和APT29)和一个定制的数据盗窃攻击。 基础EDR在实验期间生成了58,096条警报。人工确定了1,104个警报与模拟攻击者活动有关。

3.有效性

根据生成警报的日志事件是否与模拟攻击者活动相关,将这些警报手动标记为真阳性和假阳性。经过RapSheet系统生成TPG图,并计算威胁分数。作者团队采用了两种评分方法,基于序列的评分,和分数乘法的稻草人方法,ROC曲线如图:

在这里插入图片描述

可以看出基于图结构的序列评分在一定程度上优于稻草人方法。

4.响应时间

测量了评估数据集中所有警报的TPG生成查询响应(周转)时间,结果表明,对于80%的警报,RapSheet会在不到10秒的时间内生成源图,且大部分时间都花在了磁盘读取上。对于响应阶段,RapSheet能够在不到1毫秒的时间内,对所有警报中的95%进行战术出处分析并计算威胁得分。

5.图简化情况

34台主机图结构缩减情况如柱状图所示:

在这里插入图片描述

平均而言,RapSheet将图形大小减小了63%,日志缓冲区容量增加了2.7倍。说明骨架图可以有效地减少日志开销。图约简在15分钟内完成。 在最坏的情况下花了大约两个小时才能完成。虽然简化图带来了一些额外的存储空间和时间花销,但是好处超过了运行图归约算法的成本。

6.APT攻击活动案例研究

作者团队主要对APT3攻击情形做了描述。RapSheet由IIP图(左)生成了TPG图(右),可以发现攻击情形变得更加清晰:

在这里插入图片描述

RapSheet对于APT3的威胁评估分数排在了所有681个威胁的第15位,并且RapSheet找到了以下按时间顺序排列的战术序列:执行,躲避,发现和横向移动。

四、个人总结和研究启发

1.了解到了现有EDR工具的一些弊端,学习了用于将数据来源纳入EDR工具的思路,这种思路非常具有实用性,可以真正应用于商业而不仅仅停留在学术;

2.对我启发最大的是图缩减算法,让我意识到之前自己做过的项目里建立的关于日志的社区图结构,只是单纯地进行了相同节点压缩,而没有进行等效节点削减。这一意识在实际应用中十分重要,因为内存问题是用户比较关心的问题之一。

四、个人总结和研究启发

1.了解到了现有EDR工具的一些弊端,学习了用于将数据来源纳入EDR工具的思路,这种思路非常具有实用性,可以真正应用于商业而不仅仅停留在学术;

2.对我启发最大的是图缩减算法,让我意识到之前自己做过的项目里建立的关于日志的社区图结构,只是单纯地进行了相同节点压缩,而没有进行等效节点削减。这一意识在实际应用中十分重要,因为内存问题是用户比较关心的问题之一。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值