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攻击的各个阶段是如何协作配合完成目标的。
一个典型的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周来评估检测效果。