原文标题:DISTDET: A Cost-Effective Distributed Cyber Threat Detection System
原文作者:Dong F, Wang L, Nie X, Shao F, Wang H Y, Li D, Luo X P, Xiao X S
原文链接:https://www.usenix.org/system/files/sec23summer_8-dong-prepub.pdf
发表会议:32nd USENIX SECURITY SYMPOSIUM
笔记作者:[email protected]
笔记小编:[email protected]
构建考虑软件行为之间因果关系的起源图(provenance graph)可以更好地提供网络攻击的上下文信息,特别是对于APT攻击等高级攻击来说。起源图将系统执行过程表示为有向无环图(DAG),其中节点表示系统实体(如进程、文件和网络连接),边表示系统事件(如创建文件的进程)。使用起源图,检测工具可以通过构建导致异常检测工具所报告的报警事件来获取APT攻击的上下文信息。这类上下文信息可以有效地揭示高级攻击策略(如区分ZIP的良性使用与勒索软件)。使用起源图来执行攻击检测的现有方法存在两个基本的限制。
首先,现有方法采用集中式检测架构,将所有系统审计日志发送到服务器进行处理,导致数据传输、数据存储和计算成本难以承受。其次,研究者要么采用基于规则的检测技术,这种技术无法检测未知威胁;要么采用产生大量误报的异常检测技术,未能在APT检测中实现准确率和召回率的平衡。
作者因此提出DISTDET,一种检测APT攻击的第一个分布式计算、异常检测和误报过滤技术的具有成本效益的检测系统。DISTDET采用了一种新颖的分布式检测架构,通过将部分APT检测转移到客户端,只向服务器传输代表潜在攻击的摘要图,从而最大限度地降低整体计算成本,从而大大降低了数据传输和存储成本。此外,DISTDET结合异常检测和误报过滤来检测未知威胁(提高召回率)和对抗报警疲劳(提高精度)。
作者在大规模工业环境(1130台主机,14天,约16亿事件)和DARPA TC数据集上的实验表明,DISTDET在检测攻击方面与最先进的技术一样有效,同时显著降低了网络带宽(从11.28Mb/s到17.08kb/s,减少了676.5倍),内存使用量从364MB到5.523MB(减少了66倍),存储从 1.47GB 到 130.34MB(减少 11.6 倍)。截至撰写这篇论文时,DISTDET 已部署到 50 多家行业客户和 22,000 多台主机超过 6 个月,并识别了 900 多次真实世界的攻击。
DISTDET开发了三个主要组件:
DISTDET首先构建HST作为主机模型,并将其传输到服务器以导出全局模型,这有助于解决局部偏差。DISTDET利用派生的全局模型将未观察到的行为检测为警报,并为每个警报生成ASG。在生成ASG之前,首先使用滑动时间窗口来去除重复的报警,并将重复报警的数量记为边的属性。ASG发送到服务器端后,DISTDET将与告警事件关联的命令解析成句法树,并聚合具有相似命令的ASG。聚合后,剩下 29 个 ASG 用于检测 F-Lateral 攻击,DISTDET 根据我们的 ASG Ranking 算法进一步计算它们的异常分数。在这 29 个 ASG 中,有 23 个 ASG(包括 2 个误报 ASG)的异常分数高于阈值 τd,被 DISTDET 报告为攻击 ASG。由于仅遗漏了 2 个 ground truth ASG,因此 DISTDET 可以非常有效地检测 F-Lateral 攻击的攻击步骤(精度为 91%,召回率为 91%)。
这个组件有两种模式:训练模式和检测模式。在训练模式中,它从系统事件流中为每个客户端训练一个主机模型;在检测模式中,将偏离模型的事件检测为报警,并根据报警生成ASG。
HST模型由四层节点组成:Event type、Oprtation、Process和Attribute,其中每一层都是关于事件的一组特定的属性。对于一个系统事件,HST在每一层中找到一个匹配的节点来表示事件的相应属性值,或者如果找不到值则会创建一个新节点。
当新创建的节点比例连续两天小于0.1%时,该模型被认为是收敛的。实验结果显示,大多数服务器在3天内达到收敛。
在客户端的HST收敛后,DISTDET会切换到检测模式。给出一个检测的系统事件,DISTDET搜索HST,找出是否与该事件属性相匹配的节点。如果没有找到,就会报告为一个报警。DISTDET会认为在学习期间没有观察到的事件会被认为是异常事件。
对于警报,DISTDET会生成一个ASG,其中包含异常事件和其上下文事件。由于一些进程会产生子进程,共同完成某些系统任务,如文件压缩和网络下载。为了去捕捉这种关键信息,对于报警事件中的主体进程p(称为报警进程),DISTDET首先会建立一个p的进程血缘树(process lineage tree),并确定它X代内的祖先和Y代内的子孙。然后DISTDET就把这些被识别的节点(即它们所发起的事件)的每种类型(进程、文件和网络)的前N条出边,以形成一个ASG。
DISTDET采取三个组件来克服误报事件
报警去重基于一种观点:相当数量的误报代表相同的行为。为了消除重复的报警,DISTDET为每个报警维护一个时间窗口,所有后续相同的报警事件将被丢弃。在时间窗口结束时,重复报警事件的频率也会被记录到该重复事件所生成的ASG中。根据作者的研究,作者将时间窗口设为24小时。
除了相同行为的重复报警外,作者还观察到大量误报与所执行的类型命令有关,它们仅在某些参数或操作对象上有所不同。因此DISTDET通过使用聚合相似语义的报警来进一步地减少报警事件数量。
DISTDET通过标记命令中的单词来构建命令的句法树,如上图所示。然后计算两个命令树之间的相似度,如果两个命令的相似度超过阙值,则会认为它们是相似的。DISTDET将报警事件相似的ASG进行聚合,并记录聚合后的ASG出现的频率。
最后一步是通过考虑警报的稀有度(频率)以及它们的上下文事件(ASG中的祖先进程和子孙进程)是否也异常来确定报警的优先级。作者设计一种排名算法,该算法考虑报警事件及其祖先/后代的异常分数。
在服务器中构建全局模型可以作为每个客户端中构建的主机模型的补充。DISTDET可以通过导出全局模型并分发全局模型来更新主机模型,从而解决局部偏差问题。
这个过程包含以下四个步骤:
作者在Industry Arena数据集上比较了DISTDET和Unicorn(最具代表性的集中式架构之一)的成本。
DISTDET 将存储成本从 1.47GB/host(1.63TB/1130)降低到 130.34MB/host(143.83GB/1130),减少了 11.6 倍。
与 UNICORN 相比,DISTDET 将带宽从平均 11.28Mb/s 降低到 17.08Kb/s(减少 676.5 倍)。
DISTDET 将平均计算成本从 364MB/host 降低到 5.523MB/host(客户端为 5.52MB,服务器端为 3KB,即减少了 66 倍)。
DISTDET 将主机成本(保护单个主机的费用)从 3.4 美元降低到 0.061 美元(减少 56 倍)。因此,为了保护 1,130 台主机的整个集群,DISTDET 的成本仅为 68.93 美元,而集中式系统的成本为 3,842 美元。此外,所花的钱只是可以量化的成本,还有业务受损、技术壁垒等其他隐性成本。例如,在采用集中式系统时,使用11.28Mb/s的网络带宽进行安全检测会严重影响其他日常业务。另一方面,由于服务器端需要401GB的内存来实时检测APT攻击,因此需要额外搭建一个如此规模的集群。这些障碍极大地限制了现有集中式方法在现实世界中的使用。
DISTDET 报告了 11K 个 ASG 中的 141 个攻击 ASG,其中 2 个是误报 (FP)。由于有 139 个标记的攻击 ASG,DISTDET 没有遗漏任何真正的攻击,实现了 100% 的召回率和 99% 的准确率。并且作者发现,那两个误报是由于下面两个原因所引起:(1). 罕见的良性行为。Windows Explorer.EXE 启动了意外的主题更新,导致创建了 \Local\Microsoft\Windows\ActionCenterCache\xx.png 文件。相关事件在模型中以低频率记录,导致误报;(2). 日志的缺失。由于缺少日志,计划任务apt-daily.service 被标记为攻击,这是一项定期刷新Ubuntu服务器中可用包列表的服务。
对于不同的集群,全局模型平均可以减少70%左右的误报。并且作者选择了企业中最具代表性的服务:MongoDB、Redis和Kubernetes集群作为案例研究来展示全局模型的有效性。如下图所示,全局模型(虚线)产生的误报数量远少于局部模型(实线)。当仅依靠局部模型进行检测时,每个主机产生的平均误报数为 240,而全局模型报告的平均误报数为 39。这表明全局模型可以有效地补充主机模型以消除局部偏差。
在为期两周的实验中,1,130 台主机总共发出了约 100 万条警报,平均每台主机每天发出 69 条警报。使用 24 小时的滑动时间窗口进行重复数据删除后,警报数量减少到 76,000(4.8 个警报/主机/天)。这表明DISTDET以较小的开销减少了客户端93.03%的重复告警,节省了大量的网络带宽。
语义聚合后,从76,000 个ASG中最终保留下来了 11,242 个ASG。这说明语义聚合可以进一步消除85.21%的报警
当训练期间发生攻击行为是,攻击噪声可能会导致主机模型受到污染
泛化能力差:在客户端的HST模型计算效率较高,但对其他类型的良性行为的泛化能力很有限
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com