HOLMES:基于可疑信息流的实时APT检测


原文作者:Sadegh M. Milajerdi, Rigel Gjomemo, Birhanu Eshete, R. Sekar, V.N. Venkatakrishnan

原文标题:HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows

原文来源:S&P2019

原文链接:https://arxiv.org/pdf/1810.01594.pdf

1 简介

本文构建了一个可以实时检测高级持续性威胁(Advanced Persistent Threat, APT)的系统——HOLMES。该系统可以通过实时汇总攻击者的行为,产生基于杀伤链模型(kill chain)的高级图(high-level graph),实现了将复杂的数据映射为简洁的APT攻击阶段,从而有利于防御者更加直观地发现威胁并进行防御。

1.1 杀伤链模型

杀伤链模型用来描述APT的生命周期,可以让人们更加直观的认识到APT攻击的各个阶段是如何协作配合完成目标的。
HOLMES:基于可疑信息流的实时APT检测
一个典型的APT攻击包含以下阶段:

  • Initial Compromise:例如网站挂马或者鱼叉式钓鱼
  • Establish Foothold:安装木马后门
  • Escalation Privilege:通过漏洞利用
  • Internal Reconnaissance:内部侦察目标系统信息
  • Move Laterally:横向渗透
  • Maintain Presence:Command and Control(C&C)、Remote Access *s(RATs)
  • Complete Mission:Exfiltration of Confidential Information

我们注意到,虽然攻击者的手段多种多样,但是映射到高层次的攻击步骤之后,其抽象攻击模式基本不变,基于此可以将复杂的数据映射到具体的攻击阶段。

1.2 研究现状

当前从报警关联(alert correlation)的角度来进行APT入侵检测,使用的大多数都是像Splunk、LogRhythm、IBM
QRadar这样的SIEM(Security Information and Event Management )系统,从不同的主机上收集日志来关联它们,此类系统存在的问题包括:

(1)对于从报警到攻击实例之间的复杂关系缺乏可解释性

(2)将不同主机、时间跨度极长的攻击步骤聚合在一起,精确度不高

1.3 创新点

(1)能够实时检测系统,产生APT报警

(2)能够实时产生高级别的攻击图来描述攻击者的行为,协助防御者进行实时地安全响应

1.4 解决的主要问题

HOLMES的要解决的问题是将日志和报警信息映射到杀伤链模型上,提供实时、直观、可视化的攻击场景图,并且能将大量的审计数据抽象为少数的几个攻击节点。

具体实现上的问题包括:

(1)如何生成能反映攻击者行为的报警、并降低噪声

(2)如何有效地进行报警关联

(3)如何呈现攻击场景

1.5 实现方法和主要贡献

(1)将原始的日志和报警映射到语意上与APT接近的活动步骤TTPs(Tactics,Techniques and Procedures),然后再映射到Kill Chain

(2)使用系统中低级别实体(如文件、进程等)之间的信息流(Information Flow)作为基础,来进行警报关联.

(3)开发了高级别情景图(high-level scenario graph, HSG),HSG的节点对应于TTPs,边表示TTPs实体之间的信息流。在HSG中定义了以下概念:

  • Ancestral Cover:描述节点之间的依赖关系
  • Noise Reduction:降低与良性活动相关的依赖性
  • Ranking and Prioritization:修剪与APT无关的节点和边

(4)评估数据来自DARPA Transparent Computing #3 的Host Audit Data,使用了9个真实的APT场景进行体统评估,并将系统放在真实环境中运行了2周来评估检测效果。