之前介绍了 Richard Bejtlich 和 Robert M. Lee 就 hunting 术语定义进行的博客辩论。这次讨论还衍生出了关于 TTPs 和 IOCs 的问题。今天的分享首先回顾 Richard Bejtlich 和 Robert M. Lee 就此话题的讨论。然后会再介绍几篇围绕痛苦金字塔以及 TTPs 进行讨论的文章。
辩论回顾
这个话题始于讨论过程中 Robert 向 Richard 提的一个问题:“你会认为匹配TTPs 的检测不算狩猎吗”?这是因为 Robert 之前在 NSA Threat Operations Centers (NTOC) 的工作经历,应用 TTPs 作为分析特征是他们发现未知威胁的其中一种方法。
在回答1这个问题时,Richard 首先引用了 David Bianco 定义的痛苦金字塔(The Pyramid of Pain,简称PnP )。痛苦金字塔由 IOCs 组成,同时也用于对IOCs 进行分类组织。TTPs 即 Tactics, Techniques and Procedures(战术、技术以及步骤)的简称,指对手从踩点到数据泄漏以及两者间的每一步是“如何”完成任务的。TTPs 处于痛苦金字塔的顶尖,属于一类 IOCs,而之前也介绍过 Richard认为基于 IOCs 的匹配不能算狩猎,因此,他也不认为基于 TTPs 的匹配是狩猎。
对于 TTPs 的理解,Robert 则回应 David Bianco 在痛苦金字塔中使用“指标”(indicator)这一术语,更多是和 Lockheed Martin 网络杀链模型2保持一致。但痛苦金字塔定义的 TTPs 对应到杀链中定义的行为指标,似乎存在分歧,因为现实中的 TTPs 并不会像杀链模型中的行为指标,一定需要利用原子指标或计算指标进行描述。他具体探讨了两点内容3:
- 随着术语和思想流派的不断发展,现今业界几乎将“指标”与机读情报(indicator feeds)以及原子和计算形式的指标完全关联起来。比如 MITRE’s ATT&CK 框架中特别指出,于他们而言,关注战术和技术(TTP中的TT)对于超越“传统的 IOCs”非常重要。
- 技术的演进,今天可以实现多数团队在十年前不一定能够做到的检测,比如可以有效分析对手行为(也即TTPs)的威胁分析技术。而这里的 TTPs 不同于杀链模型中定义的行为指标4(指计算和原子指标的集合),不需要原子或计算指标进行描述。举例来说,可以通过分析引擎完成一个常见的安全分析实例:每次匹配条件“将文件 drop 到系统、打开一个网络端口、产生访问一个外部IP地址的网络流量,一旦通信建立就会下载其他文件”,就会产生告警。这个分析可以得出杀链模型中就行为指标给出的例子,但并不需要使用行为相关的具体后门 hash、IP 地址或其他指标。如果按照 Richard 的观点,上述分析条件定义后也是在做“匹配”。但如果是利用分析之外的TTPs、将之作为一种搜索特征去发现新的威胁,那就应该算是狩猎。这里并没有匹配任何指标,而是使用情报驱动的假设来识别新的威胁。 这正是 Robert 在NTOC所做的工作,也称之为狩猎。
讨论至此,两人的主要分歧根源在于对 IOC 的定义。Richard 另做了一次考古5,并戏谑自己是历史学家,帮助大家了解了 IOC 这一术语的起源。
- Mandiant 在“指标”的基础上,于 2010 年正式定义了失陷指标(IOCs)。而“指标”这一术语则是由Kevin Mandia 不晚于他2003年的事件响应书籍定义,其后在检测环境中被广泛引入。(对应之前分享过的《Incident Response & Computer Forensics(第3版)》读书笔记6,书中定义:失陷指标(Indicators of Compromise,IOC)的生成,是以结构化的方式记录事件的特征和证物的过程。IOC包含从主机和网络角度的所有内容,而不仅仅是恶意软件。它可能是工作目录名、输出文件名、登录事件、持久性机制、IP地址、域名甚至是恶意软件网络协议签名。)
- 2010年1月25日第一份 M-trnds 报告中,针对IOC进行了描述:IOC不仅查找特定的文件和系统信息,还使用详细描述恶意活动的逻辑语句。
- Mandiant 博客“Combat the APT by Sharing Indicators of Compromise7”中,作者Matt Frazier 介绍了一个基于 XML 语言的 IOC 实例化,并且可以使用免费的 Mandiant 工具读取和创建IOC。
阅读自此,我个人更倾向于 Robert 的观点,TTPs 和行为指标并不能完全对应,前者应该包含后者。也或者说,TTPs 中有一类属于 IOCs。
痛苦金字塔 & TTP 延伸阅读
跟随前面的讨论,我重新阅读了David Bianco 的痛苦金字塔系列博客,一些摘要结合个人理解分享如下:
- David 发表痛苦金字塔8 的初衷:时值 Mandiant 发布著名的 APT 1 报告,David 发现业界众多跟随的分析报告以及厂商产品层面的响应,并没有有效地利用好这份报告的附录指标。因此,他提出了痛苦金字塔模型,用于对 IOCs 进行分类并描述各类 IOCs 在攻防对抗中的价值。
- TTPs 处于痛苦金字塔塔尖。于攻击方,TTPs 反映了攻击者的行为,调整 TTPs 所需付出的时间和金钱成本也最为昂贵。于防守方,基于TTPs 的检测和响应可能给对手造成更多的痛苦,因此 TTPs 也是痛苦金字塔中对防守最有价值的一类 IOCs。但另一方面,这类 IOCs 更加难以识别和应用,由于大多数安全工具并不太适合利用它们,也意味着收集和应用 TTPs 到网络防御的难度系数是最高的。
Source: 9
- 在《What Do You Get When You Cross a Pyramid With A Chain?》10中,David 则进一步提出痛苦金字塔如何集成到网络杀链模型中并对其进行补充。具体来说,它可以作为一种指导,帮助了解如何对有限的检测资源进行优先级排序、以获取最大的收益。并用踩点阶段如何集成痛苦金字塔为例,本质还是讲述了攻防双方对抗的成本博弈。
另外还推荐 Harlan Carvey 的两篇博客《TTPs》11与《Follow up on TTPs post》12,写于 2014 年。这两篇文章基于痛苦金字塔对 TTPs 做了进一步讨论,尤其第一篇的评论也不应该错过,有David Bianco等人的互动讨论,非常精彩。一些观点摘要如下:
- 痛苦金字塔可以视作组织的检测/响应成熟度衡量指标,越是能建立金字塔往上的能力,越表明 IR 的成熟度,尤其是成熟到可以专注在 TTPs 时,事实上使用的是流程而非简单地寻找特定数据点。而正因为有了流程,不仅能检测并响应使用不同 TTPs 的其他威胁,还能知道这些 TTPs 何时发生变化。(是否也可以认为痛苦金字塔可以用于度量情报厂商的能力呢?)
- David 评论中提及 TTPs 的共享,远不如金字塔下层的指标那么广泛可获得,部分原因在于收集 TTPs 的困难,导致很多组织对它们的重视程度更高,这使得他们更不愿意进行共享。另一原因则是,TTPs 较难以自动化方式共享。没有好的方法来表达 TTPs 中涉及的摘要信息。目前为止(时值2014年),David 见过最好的方式是简单英文文本,这就使得生产和导入工具变得更加困难。
- Ryan Stillions 则提出关注在金字塔较低级别指标上,实际会给分析师造成痛苦(误报问题)。这里有一个“上下文重建的成本”,也即分析师工作在痛苦金字塔越低级别,用于重建情景上下文、得出结论等所需的时间就越长。(痛苦金字塔也对应了威胁情报不同应用场景,如适用于安全产品的指标、对安全分析师价值更大的指标。)
最后推荐 Ryan Stillions 的文章《On TTPs》13,发表在 Harlan Carvey 两篇文章之后,与这次讨论也有相关性。文中严谨地分享了 TTPs 的原始定义,阐释这一起源于军方的概念如何应用于网络环境以及如何适用于检测和响应。他对 TTP 做了拆解定义和阐述,对于更好地理解痛苦金字塔是一个不错的补充。但毋庸置疑的是,痛苦金字塔是一个简洁、经典、同时可以衍生出诸多含义的威胁情报模型。
Source: 14
随感
一直以来分享的初衷,主要有感于国外诸多经典读物的产出路径如出一辙:国外同仁在实战经验的积累过程中,往往会上升到理论高度,形成相应的方法论,并通过社区的各种讨论进行完善,最终会进一步促进相关领域的发展。威胁情报领域当前在国内也还处在探索阶段,希望业界同仁在实践中探索积累前行的过程,提供客户价值和解决方案的同时,也能产出具备理论高度的研究,相信这对整个行业以及市场的成熟也都是有益的。
- https://taosecurity.blogspot.com/2018/11/even-more-on-threat-hunting.html
- https://www.lockheedmartin.com/content/dam/lockheed-martin/rms/documents/cyber/LM-White-Paper-Intel-Driven-Defense.pdf
- http://www.robertmlee.org/threat-hunting-ttps-indicators-and-mitre-attck-bingo/
- https://digital-forensics.sans.org/blog/2009/10/14/security-intelligence-attacking-the-kill-chain
- https://taosecurity.blogspot.com/2018/11/the-origin-of-term-indicators-of.html
- https://www.jianshu.com/p/c4d7ef14687e
- https://www.fireeye.com/blog/threat-research/2010/01/combat-apt-sharing-indicators-compromise.html
- https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html
- 同上
- http://detect-respond.blogspot.com/2013/03/what-do-you-get-when-you-cross-pyramid.html
- http://windowsir.blogspot.com/2014/04/ttps.html
- http://windowsir.blogspot.com/2014/04/follow-up-on-ttps-post.html
- http://ryanstillions.blogspot.com/2014/04/on-ttps.html
- 同上