2.2 威胁猎杀的定义

在讨论威胁猎杀的定义之前,我们先来说明一下哪些不是威胁猎杀,进而澄清一下关于这个概念的一些误解。首先,威胁猎杀与网络威胁情报(CTI)或事件响应不同,尽管它与它们密切相关。CTI可能是一个很好的猎杀起点。事件响应可能是该组织在成功猎杀后采取的下一步行动。威胁猎杀也不是指安装检测工具,尽管安装检测工具可以提高它们的检测能力。此外,它并不是在组织的环境中搜索IOC,相反,将寻找绕过检测系统的工件,而这些系统已馈送有IOC。威胁猎杀既不等同于监控,也不等同于在监控工具上随机运行查询。最重要的是,威胁猎杀并不是一项只能由选定的专家小组完成的任务。当然,专业知识很重要,但这并不意味着只有专家才能进行威胁猎杀。有些威胁猎杀技巧需要更长时间才能掌握,有些则是与事件响应和分类共享的。威胁猎杀实践本身已经存在多年了,早在它被叫作“威胁猎杀”之前就已经存在了。进行猎杀的主要条件是知道该问什么,从哪里挖出答案。那么,威胁猎杀是什么呢?

根据SANS最早的一份关于威胁猎杀的白皮书The Who,What,Where,When,Why and How of Effective Threat Hunting(https://www.sans.org/reading-room/whitepapers/analyst/membership/36785)——由罗伯特·M·李(Robert M.Lee)和罗布·李(Rob Lee)于2016年撰写,威胁猎杀被定义为“一种集中和迭代的方法,用于搜索、识别和了解防御者网络内部的对手”。

让我们稍微扩展一下上述定义。首先,我们需要声明,威胁猎杀是一种由人驱动的活动。将威胁情报应用于猎杀实践是一种主动的安全方法,因为它是在为时已晚之前做一些事情,也就是说,它不是一种被动的措施。威胁猎杀也是为了在组织的环境中不断寻找危害的迹象。它是一种迭代过程,因为它从其他安全活动中获取信息,也为其他安全活动提供信息。此外,威胁猎杀的前提是已经发生了入侵。

在威胁猎杀中,我们假设对手已经在我们的环境中,猎人的工作是尽快发现入侵,以便将其损害降至最低。这一过程涉及人的分析能力,因为能否找到绕过可能已经部署就位的自动检测系统的入侵迹象取决于猎人。总而言之,威胁猎人的目标是缩短威胁的驻留时间。

驻留时间是指从对手渗透到环境到检测到入侵之间的时间量(见图2.1)。根据SANS 2018威胁猎杀调查结果,平均而言,对手可以在失陷环境中自由漫游超过90天。需要明白的一件重要事情是,减少驻留时间的战斗永无止境。对手会适应我们的检测率,并将改进其技术,以便在我们的系统中实现渗透而不被发现。社区和猎人将从他们的新技术中学习,并将再次减少驻留时间,只要对手以组织的环境为目标,这个循环就会继续下去。

图2.1 威胁猎杀时间表

因此,我们可以说威胁猎杀是一种由人驱动的活动,它在组织的环境(网络、终端和应用程序)中主动地迭代搜索危害迹象,以缩短威胁的驻留时间并最大限度地减少入侵对组织的影响。

此外,如果希望了解组织在尝试检测某些技术时的可见性差距,威胁猎杀也可派上用场。它将有助于创建新的监控和检测分析,可以引领发现新对手的TTP(这些TTP将为网络威胁情报团队和社区提供支持),而且猎杀本身也可能会带来进一步的分析。

2.2.1 威胁猎杀类型

Sqrrl Team(https://www.cybersecurity-insiders.com/5-types-of-Threat-Hunting/)将威胁猎杀划分为五种不同类型:数据驱动、情报驱动、实体驱动、TTP驱动和混合驱动。同时,这五种不同的类型又可以分为结构化(基于假设)和非结构化(基于数据中观察到的异常)类型,如图2.2所示。

图2.2 威胁猎杀类型

2.2.2 威胁猎人技能

截至目前,我们已经尝试给出了威胁猎杀的定义。我们已经提到,威胁猎杀并不是只有经验丰富的安全分析师才能做的事情。那么,威胁猎人都需要具备哪些技能呢?

由于威胁情报是猎杀的触发因素之一,因此称职的威胁猎杀分析师至少要对网络威胁情报的核心主题——高级持续性威胁、恶意软件类型、危害指标、威胁行为体动机和意图等——有基本的了解。此外,威胁猎人还需要了解攻击者将如何实施攻击。熟悉网络杀伤链和ATT&CKTM框架将会对此有所帮助。尤其需要指出的是,如果我们希望熟悉在不同的技术环境(Linux、macOS、Windows、云、移动和工业控制系统)中实施攻击的方式,那么ATT&CK框架将非常有用,并且这些技术(和子技术)提供的粒度能够让分析师更好地了解攻击的设计过程和随后的执行方式。

一般来说,在分析网络活动时,对网络的架构和取证有很好的了解将非常有用。同样,执行威胁猎杀时一部分工作是处理大量的日志。与此相适应,威胁猎人需要能够识别网络活动以及从终端和应用程序收集的数据中的异常模式。在这方面,熟悉数据科学方法和SIEM的使用方法将大有裨益。我们将在第4章深入讨论这一具体问题。

最后,威胁猎杀分析师需要很好地了解组织使用的操作系统的工作原理,以及他们将要使用的工具。

为了进行猎杀并能够发现什么是偏离常规的行为,威胁猎人需要熟悉组织的正常活动(基线)以及事件响应流程。理想情况下,负责猎杀的团队不会是负责事件响应的团队,但有时由于资源限制,情况并非如此。在任何情况下,团队都需要知道在发现入侵后应该采取什么步骤,以及如何保存入侵的证据。

威胁猎人也需要善于沟通。一旦确定了威胁,就需要将信息适当地传达到该组织的关键实体。猎人需要能够沟通,以验证他们的发现,并传达其发现的紧迫性和可能会对组织产生的影响。最后,威胁猎人必须能够有效地传达投资回报是如何达成的,以保证威胁猎杀计划的持续开展(我们稍后将对此进行更深入的挖掘)。

2.2.3 痛苦金字塔

大卫·比安科(David Bianco)的痛苦金字塔(https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html)模型是一种同时用于CTI和威胁猎杀的模型,如图2.3所示。这种模型可以表示一旦你确定了对手的危害指标、网络基础设施和工具后,对手不得已改变自己的攻击方式时面临的“痛苦”程度。

图2.3 痛苦金字塔

最下面的前三个级别(散列值、IP地址和域名)是自动检测工具最感兴趣的。这些都是威胁行为体可以轻松改变的指标。例如,一旦域名暴露,威胁行为体只需注册一个新域名即可。比更改域名更容易的是更改IP地址。域名更令人头疼的主要原因是它们必须付费购买并进行配置。

散列是加密算法的结果,加密算法可以将原始信息映射到另一个值(具有固定大小的十六进制字符串)中,而不考虑其原始大小。散列有多种类型,包括MD5、SHA-1、SHA-2和SHA-256。散列化不仅仅是一个单向的过程,理想情况下,它不能从不同的文件中产生相同的结果。对原始文件所做的任何细微更改都会导致生成不同的散列。这就是为什么威胁行为体更改与其工具相关的散列值是微不足道的。

重要提示:

散列冲突是指两个不同的值生成相同散列值的现象。虽然MD5散列仍可用于验证数据完整性,但众所周知,它们存在较高的散列冲突率。

你可以在Ameer Rosic关于该主题(https://blockgeeks.com/guides/what-is-hashing/)的文章中了解更多关于散列的信息。

攻击者需要付出更多的努力才能更改网络和主机工件。这类指标可以是注册表键、用户代理和文件名。为了更改它们,攻击者需要猜测哪些指标被拦截,从而需要修改该工具的配置。如果猎杀团队能够检测到对手工具的大部分工件,对手将被迫更改它以便规避检测。

想象一下,分配了大量资源并花费大量时间开发了一个软件,而且已根据需要进行了调整,然后有一天不得不完全放弃这个项目而开始另一个新的项目。尽管这个示例可能过于极端,但对于了解为什么对手更换工具会很有挑战性是非常有用的。

金字塔的顶端是战术、技术和程序(TTP)。当对这些TTP作出反应时,我们不是对对手使用的工具作出反应,我们的实际目标是它的核心,也就是它们的行为方式。检测对手的技术及行为方式是最令其痛苦的事情,因为对手为了改变做事的方式,必须重新思考,学习新的做事方式,走出已有的舒适区,重新塑造自己,这就意味着需要更多时间、资源和金钱。