0 什么是威胁狩猎?
在我们讨论威胁狩猎的定义之前,让我们通过说明什么不是威胁狩猎来澄清一些关于这个概念的误解。首先,威胁搜索不同于网络威胁情报(CTI)或事件响应(IR),尽管它可以与网络威胁情报(CTI)或事件响应(IR)密切相关。CTI可能是一个很好的搜索起点。IR可能是组织在成功狩猎后的下一步。威胁搜索也不是安装探测工具,尽管这对提高它们的探测能力很有用。此外,它不是在组织的环境中寻找ioc;相反,你将寻找绕过已经被IoCs馈入的检测系统的东西。威胁搜索也不等同于监视,也不等同于在监视工具上随机运行查询。但是,最重要的是,威胁狩猎不是一项只能由一组精选的专家完成的任务。当然,专业知识很重要,但这并不意味着只有专家才能做到。一些威胁捕猎技术需要更长的时间才能掌握;有些是与事件响应和分诊共享的。这种做法本身已经存在多年,远早于它被称为“威胁狩猎”。进行狩猎的主要必要条件是知道问什么以及从哪里找到答案。
那么,什么是威胁狩猎?在第一个无白皮书关于狩猎的威胁,“谁,,,,为什么以及如何有效的威胁狩猎”(https://www.sans.org/reading-room/whitepapers/analyst/membership/36785),由罗伯特·李和罗伯·李在2016年,他们威胁狩猎定义为“专注和迭代方法寻找,识别、以及了解防御者网络内部的对手。”
让我们进一步扩展这个定义。首先,我们需要说明,威胁狩猎是人类驱动的活动。作为威胁情报,这也是一种积极主动的安全措施,因为这一切都是为了在为时已晚之前采取行动;也就是说,这不是一种反应性措施。威胁猎杀也就是不断地在组织的环境中寻找妥协的迹象。它是迭代的,因为它从其他安全活动中为自己提供服务,同时也为其他安全活动提供服务。另外,威胁狩猎是建立在入侵发生的假设上的。
在威胁狩猎中,我们假设对手已经在我们的环境中,而猎人的工作是尽快识别漏洞,以便将其损害降到最低。这个过程涉及到人类的分析能力,因为这取决于猎人找到入侵的迹象,绕过可能已经存在的自动检测过程。总之,威胁猎人的目标是缩短所谓的停留时间。
停留时间 dwell time 是指从对手侵入环境到被发现入侵之间所经过的时间。根据SANS 2018威胁狩猎调查,对手平均可以在受损环境中自由游荡90天以上。有一件很重要的事要明白,减少停留时间的战斗是无止境的。敌人将会适应我们的侦测率并将会改进他们的技术以便在不被察觉的情况下潜入我们的系统。社区和捕猎者将从他们的新技术中学习,并将再次减少停留时间,只要敌人的目标是我们组织的环境,这个循环就会继续:
因此,总结起来,我们可以说,威胁搜索是一种人为驱动的活动,它通过主动和迭代地搜索组织的环境(网络、端点和应用程序),以寻找破坏的迹象,以缩短停留时间,并最小化对组织的破坏影响。
此外,如果我们希望了解组织在试图检测某些技术时的可见性差距,威胁狩猎是有益的;它将有助于创建新的监测和检测分析;它可以导致发现新的敌对ttp,为网络威胁情报团队和社区提供信息;而狩猎本身可能会导致进一步的分析。
1、威胁狩猎的类型
Sqrrl团队(https://www.cybersecurity-insiders.com/5-types-ofthreat-hunting/)区分了五种不同类型的搜索:数据驱动、intel驱动、实体驱动、TTP驱动和混合驱动。同时,这五种不同的类型可以分为结构化(基于假设)和非结构化(基于数据中观察到的异常):
2、威胁狩猎的类型
Sqrrl团队(https://www.cybersecurity-insiders.com/5-types-ofthreat-hunting/)区分了五种不同类型的搜索:数据驱动、intel驱动、实体驱动、TTP驱动和混合驱动。同时,这五种不同的类型可以分为结构化(基于假设)和非结构化(基于异常)威胁捕猎者技能集到目前为止,我们已经想出了威胁捕猎的定义。我们已经提到过,威胁搜索并不是只有经验丰富的安全分析师才能做的事情。那么,每个威胁猎人都需要具备哪些技能呢?
由于威胁情报是狩猎的触发器之一,我们可以说,称职的威胁情报分析员必须至少对网络威胁情报的核心主题有基本的了解:高级持续性威胁、恶意软件类型、妥协指标、威胁行动者的动机和意图,advance persistence threats, malware types, indicators of compromise, threat actor motivations and intents等等。此外,威胁猎手还需要了解攻击者将如何实施攻击。熟悉网络杀伤链和ATT&CK™框架将有助于这方面的工作。特别是,如果我们希望熟悉在不同技术环境(Linux、macOS、Windows、云、移动和工业控制系统)中进行攻击的方式,ATT&CK™框架将非常有用。这些技术(和子技术)提供的粒度允许任何分析人员更好地理解攻击是如何设计和以后如何执行的。
一般来说,在分析网络活动时,对网络的架构和取证有很好的理解是非常有用的。同样,执行威胁搜索的一部分是处理日志——大量的日志。与此相一致,我们可以说,威胁猎人需要能够识别网络活动和从端点和应用程序收集的数据中的不寻常模式。在这方面,熟悉数据科学方法和SIEMs的使用将会有所帮助。
我们将在第四章“映射对手”中深入讨论这个具体问题。在数据中观察到):
最后但并非最不重要的一点是,威胁搜索分析师需要对组织使用的操作系统以及它们将要使用的工具有很好的了解。
为了进行搜寻并能够发现偏离规范的情况,威胁搜寻者需要了解组织的正常活动(基线)是什么样子的,以及事件响应程序是什么。理想情况下,负责狩猎的团队不会是负责响应事件的团队,但有时,由于资源限制,情况并非如此。在任何情况下,团队都需要知道在发现入侵后应该采取什么步骤,以及如何保存入侵的证据。
威胁猎手还需要善于沟通。一旦确定了威胁,就需要将信息适当地传输到组织的关键实体。猎人需要能够沟通以验证他们的发现,以及传递已经发现的东西的紧迫性和它可能对组织产生的影响。最后——稍后我们将深入探讨——威胁捕猎者必须能够有效地沟通如何实现投资回报,以确保威胁捕猎计划的继续。
3、痛苦金字塔
大卫·比安科的《痛苦金字塔》(https://detect-respond.blogspot.com/2013/03/the-pyramid-of pain.html)是一个在CTI和威胁搜索中都使用的模型。这是一种表示一旦你确定了对手的妥协指标、网络基础设施和工具,将会给对手造成多大的“痛苦”,从而改变他们的方式的方法:
最下面的前三层(散列值、IP地址和域名)主要用于自动检测工具。这些都是威胁行为者可以轻易改变的迹象。例如,一旦一个域名被公开,威胁参与者就可以简单地注册一个新域名。比改变域名更容易的是改变IP地址。域名之所以更令人头疼,主要原因是它们需要付费和配置。
哈希是一种加密算法的结果,该算法将原始信息(无论其原始大小如何)映射为另一个值:具有固定大小的十六进制字符串。
hash有几种类型(包括MD5、SHA-1、SHA-2和SHA-256)。哈希不仅是一个单向的过程——理想情况下,它不能从不同的文件产生相同的结果。对原始文件所做的任何微小更改都将导致生成不同的散列。这就是为什么威胁行动者更改与其工具相关的散列值并不重要。
为了更改网络和主机构件,攻击者需要付出更多的努力。这类指示符的例子包括注册表项、用户代理和文件名。为了更改它们,对手需要猜测哪些指示器被阻塞,并修改工具的配置。如果团队能够检测到他们工具的大部分工件,对手将被迫更改它。
想象一下,你花了很多时间开发一个软件,并在分配了很多资源之后根据你的需要对它进行调整,然后有一天你不得不放弃整个项目,开始一个新的项目。尽管这个示例场景可能有点过于极端,但理解为什么对手更改工具如此具有挑战性是很有用的。
金字塔的顶端是我们的战术、技术和程序(TTPs)。在回应这些ttp时,我们并不是在回应响应对手用作工具的东西;我们瞄准的是其核心;也就是他们的行为。发现对手的技术和他们进行的方式是他们最痛苦的,因为为了改变他们做事的方式,他们必须重新思考;他们必须学习新的做事方式,走出自己的舒适区,重新塑造自己,这转化为时间、资源和金钱。
一、威胁狩猎成熟度模型
威胁狩猎团队的组成和用于狩猎的时间将取决于组织的规模和需求。当一个专门的团队没有预算时,搜寻的时间将来自其他安全分析人员的工作时间表。在这种情况下,分析人员通常是SOC或事件响应团队的一部分。
所以,如果团队的资源有限,为了成功实施威胁狩猎计划,我们必须仔细计划和准备狩猎,并结合我们的过程和经验,以及我们正在使用的工具、技术和技术的丰富知识。在这里,David Bianco的威胁狩猎成熟度模型可以帮助我们确定我们所处的位置,以及我们需要做什么来发展我们的狩猎团队。
(1)确定我们的成熟度模型
所有组织都可以执行威胁搜索,但为了有效地执行,它们必须在必要的基础设施和工具上进行投资。然而,为了获得良好的投资回报,组织需要在他们的过程中足够成熟。如果团队不提供必要的技能、工具和数据,威胁捕猎计划的效果将是有限的:
威胁捕猎成熟度模型定义了用于对团队检测能力进行分类的五个级别:初始、最小、过程、创新和领导initial, minimal, procedural, innovative, and leading。该模型可用于确定组织处于哪个阶段,以及需要哪些步骤才能提升到另一个级别。该模型评估已建立的自动化水平、数据收集程序和数据分析程序。
最初阶段和最低阶段严重依赖自动检测工具,但在最初阶段,一些网络威胁情报被用于执行狩猎。
有两种类型的威胁情报来源可以用于威胁狩猎:内部和外部。内部来源可以是过去事件的记录或针对组织基础设施的侦察尝试。
外部来源可以是威胁情报小组使用OSINT或付费供应商报告或反馈进行的分析。任何有关对组织环境的可能威胁的信息,如果不是来自组织本身,都被认为是外部的。
程序、创新和领导级别都是由高水平的数据收集决定的,它们之间的区别取决于团队是否能够创建自己的数据分析程序,以及他们是否能够满足这些自动化程序,以避免重复相同的搜索。
二、威胁捕猎的过程
有几种安全信息和事件管理(Security Information and Event Management, SIEM)解决方案可供选择,已经编写了一些文章,介绍了它们的工作方式以及如何选择适合组织需求的解决方案。在本书的后面,我们将使用一些使用Elastic SIEM开发的开源解决方案。您应该使用这种类型的解决方案来集中从系统中收集的所有日志,以帮助您分析数据。确保收集的数据质量是很重要的。低质量的数据很少导致成功的狩猎。
另一个好的起点是搜索已发布的可以合并到您自己的流程中的搜索过程。您还可以创建新的狩猎过程,同时牢记组织的需求和关注点。例如,您可以创建聚焦于与您的组织行业相关的特定威胁参与者的搜索流程。尽可能多地记录和自动化这些操作,以防止狩猎团队一遍又一遍地重复相同的狩猎。
记住,总是假设一个入侵已经发生,思考威胁行动者是如何操作的,为什么要这样做,依靠狩猎活动来开启新的调查线,并根据与威胁相关的风险级别来优先考虑狩猎。不断搜索;不要等待警报的发生。
三、威胁猎杀循环
威胁搜索过程的最早定义之一是由Sqrrl在他们称之为“威胁搜索循环”的内容中做出的
第一步是建立我们狩猎所依据的假设。通过这样做,我们可以使用我们可以使用的技术和工具开始调查。在执行分析时,威胁搜寻者试图发现组织环境中的新模式或异常。这一步的目的是试图证明(或反驳)假设。循环的最后一步是尽可能地自动化成功搜索的结果。这将防止团队重复相同的过程,并使他们能够集中精力寻找新的漏洞。在这个阶段,记录这些发现是一个重要的阶段,因为文档将帮助团队更好地理解组织的网络。对组织环境中什么是正常的,什么是不正常的有很好的把握,这将有助于团队更好地进行狩猎。
四、威胁狩猎模式
Dan Gunter和Marc Setiz在《进行网络威胁搜索的实用模型》(https://pdfs.semanticscholar.org/4900/ b5c4d87b5719340f3ebff84fbbd4a1a3fa1 .pdf)中提供了一个更详细的模型,区分了六个不同的步骤,并强调了威胁搜索过程的迭代性质:
•目的:在进行威胁搜索时,应牢记组织的目标;例如,搜索可能受到长期业务目标的制约。
在这个阶段,我们需要说明搜索的目的,包括执行搜索所需的数据以及期望的结果是什么。
•范围:这一阶段包括定义假设,并确定我们想要从中提取数据的网络、系统、子网或主机。范围应该事先确定好,以减少可能干扰我们成功的“噪音”。它不能过于具体,因为我们可能会忽视环境中攻击者的存在。这个假设应该可以防止我们偏离狩猎,从而帮助狩猎者在从一个数据转向另一个数据时保持焦点。
•装备:在这个阶段,重点是如何做到。数据将如何收集?收集是否足够彻底?我们要怎么做分析呢?
我们如何避免偏见?在这个阶段结束时,威胁猎人应该对这些问题都有一个深入的回答。收集管理框架collection management framework (CMF)的实现可以帮助我们跟踪所收集的数据及其来源。
•计划审核:顾名思义,团队的负责人或者亨特将审查所有的计划,到目前为止已经完成,以确保狩猎将满足组织的目标,而团队所需的所有资源(人员、数据、工具和时间)成功进行狩猎。
•执行:执行阶段是指计划被批准后的搜索本身。
•反馈:此阶段与之前的所有阶段相关联。分析结果将有助于团队在未来以更高的效率进行狩猎。反馈阶段的目的是改进前面的所有阶段。它不仅帮助我们确定目标是否已经实现,而且还帮助我们确定团队可能陷入的任何可能的偏差,可能的可见性和需要修改的收集差距,是否正确地分配了资源,等等。
五、基于数据驱动的方法
在这两个模型之上,Rodriguez兄弟Roberto (@Cyb3rWard0g)和Jose Luis (@Cyb3rPandaH)在2019年Insomni'hack期间提出了一种数据驱动的方法(https : //www. youtube. com/watch?v=DuUF-zXUzPs)。他们设计的过程还包括六个不同的阶段,幸运的是,他们还设计了四个开源项目,您可以使用它们来组织和执行您的狩猎。
罗德里格斯兄弟定义的六个阶段如下:
1. 定义研究目标:为了在执行数据驱动的搜索时定义研究目标,理解数据并将数据映射到对手的活动是很重要的。罗伯托·罗德里格斯提出了一系列优秀的问题,为了确定我们的研究目标,我们应该能够回答这些问题:
我们要找的是什么?
我是否理解我的数据?我有数据维基吗?data wiki
我是否将数据存储在我的环境中?
我们有记录对手的行动吗?
我必须具体做什么?
每个假设我可以涵盖多少技术/子技术?
我关注的是技术促成者还是主要行为?
2. 数据建模:这个阶段的过程围绕着理解的数据从哪里来,将日志发送到数据湖咨询,通过创建数据字典和结构化数据,每个数据源的“需要映射到一个事件”。这个过程是非常有用的,如果你想真正了解你收集的数据。
OSSEM:为了帮助完成创建数据字典的繁重工作,Rodriguez兄弟创建了开源安全事件元数据Open Source Security Events Metadata (OSSEM),用于记录和标准化安全事件日志。这个项目是开源的,可以通过项目的GitHub库(https://github.com/OTRF/OSSEM)。
3. 模拟对手:对手模拟是红队在其组织环境中复制对手行为的一种方法。为了做到这一点,需要映射对手的行为,并将他们使用的技术链接在一起,以创建一个行动计划。MITRE ATT&CK™框架提供了一个如何创建基于APT3的仿真计划的示例(https://attack.mitre.org/resources/adversary-emulation-plans/)。
mordor:在这个狩猎阶段,罗德里格斯兄弟创建了魔多项目(https://github.com/hunters-forge/mordor),以JSON格式提供“由模拟对抗技术生成的预先记录的安全事件”。https://github.com/OTRF/Security-Datasets
4. 定义检测模型:支持基于步骤2中创建的数据模型的搜索,我们建立了执行搜索的方式。在前面的步骤中定义了如何进行检测之后,我们将在实验室环境中验证检测。如果我们没有得到任何结果,我们应该返回并回顾我们在前面步骤中所做的工作。
5. 验证检测模型:一旦我们对在实验室环境中获得的结果感到满意,并评估了数据的质量(完整性、一致性和及时性),我们就可以在生产中尝试我们的检测。有三种可能的结果:零结果,即对手的行为不在生产环境中;至少有一个结果,我们需要仔细查看结果,以确认漏洞;搜索的输出会产生大量的结果。最后一种情况通常意味着需要对我们的流程进行进一步的调整。
Helk:这是一个狩猎平台,由罗伯托·罗德里格斯设计,基于Elasticsearch, Logstash和Kibana。它还通过Jupyter笔记本和Apache Spark提供高级的分析功能。你可以在其GitHub知识库中找到更多信息(https://github.com/Cyb3rWard0g/HELK)。
6. 记录和交流发现:如果您正确地遵循了前面的步骤,您可能已经完成了一半的工作。记录搜索过程应该在执行搜索的同时进行。
威胁狩猎剧本:这个开源项目由罗德里格斯兄弟维护,旨在帮助文档项目和共享威胁猎人概念,开发某些技术,并建立假设。你可以在项目的GitHub仓库(https://github.com/hunters-forge/ThreatHunter-Playbook):
六、TaHiTI-目标狩猎整合威胁情报
目标狩猎综合威胁情报(TaHiTI)方法是几个荷兰金融机构共同努力的结果,以帮助建立一个共同的方法,以威胁狩猎活动。
顾名思义,TaHiTI的方法与威胁情报密切相关。
它是一种方法,用于以威胁情报提供的对手信息为起点进行狩猎,使用威胁情报来上下文化在狩猎中发现的内容,甚至为对手找到相关的已知ttp(旋转)并驱动新的狩猎。此外,按照这种模式,捕猎本身可以用来丰富威胁情报,因为它可能被用来发现与对手有关的之前未知的ttp和IoCs。
TaHiTI也分为八个步骤,同时可以分为三个阶段:
阶段1:初始化
a. 触发狩猎
b.创建抽象
c.存储代办事项backlog
阶段2:狩猎
d.定义/重新定义
(1)丰富调查抽象
(2)确定假设
(3)确定数据来源
(4)确定分析技术
e.执行
(1)获取数据
(2)分析数据
(3)验证假设
阶段3:最后
f.移交
g.文档化发现
h.更新代办事项
可视化过程如下:
第一阶段:启动 Initiate
在此阶段,搜索的触发器将转换为调查的摘要,并存储在待定项中。塔希提的方法区分了五个主要的触发类别:
•威胁情报
•其他狩猎调查
•安全监视
•安全事件响应:从历史事件和红队演习中收集数据。
•其他:例子包括找出什么是皇冠宝石以及它们如何被破坏,研究MITRE ATT&CK™框架,或者只是猎人的专业知识。
调查摘要是对假设的一个粗略描述,在接下来的阶段将会被完善。建议您包含关于创建日期、摘要、搜索触发器和优先级级别的信息。
第二阶段:狩猎hunt
该方法的第二阶段指的是实际的狩猎;也就是说,调查假设。在执行之前,必须对假设进行定义和细化。这意味着最初为狩猎而创造的摘要将会被更多的细节所扩展,然后,在调查过程中发现新的证据。重要的是要包括数据源、选择的分析技术和确定的范围。
我们掌握的关于威胁情报的信息,分配的资源,以及狩猎的分类也应该包括在内。
对正在执行的狩猎的分析将用于验证最初的假设。每次狩猎都有三种可能的结果:
•假设被证实,安全事件被发现。
•假设被推翻。这种状态是很难达到的,因为没有找到某样东西并不一定意味着它不存在。在声明假设已经被推翻之前,猎人必须真的确定他们没有错过任何可能的场景。
•不确定的结果。当没有足够的信息来证明或反驳假设时,搜索就会达到这种状态。在这个阶段,有必要继续完善假设,直到达到状态1或状态2。
阶段3 - Finalize
TaHiTI方法的最后一个阶段是记录你的发现。文件必须包括狩猎的结果和从中得出的结论。这可以包括改进组织安全的建议,也可以改进团队的狩猎过程。一旦编写完毕,这些文档需要在相关各方之间共享。报告可能需要根据不同的接收者进行调整,关于报告的信息可能需要根据他们的安全许可进行编辑或分类。
TaHiTI区分了威胁狩猎调查可能引发的五个过程:
•安全事件响应:启动IR进程。
•安全监控:创建或更新用例。
•威胁情报:发现一个新的威胁行动者的ttp。
•漏洞管理:解决发现的漏洞。
•对其他团队的建议:向其他团队发出建议,以改善整个组织的安全状况。
七、建立一个假设
在这一章中,威胁捕猎的主要特征之一是它是一种由人类驱动的活动,它不能完全自动化。这个过程的核心是生成狩猎假设,这是指组织环境中的威胁符合威胁猎人的预感,以及如何检测它们。假设部分基于观察,即我们注意到偏离基线的情况,部分基于信息,这些信息可能来自经验或其他来源。
完善这个假设对于获得好的猎物是至关重要的。一个定义不明确的假设将导致错误的结果或结论。这很可能会对组织产生负面影响,因为防御和可视化漏洞将被忽略,并为对手提供一条安全通道。缺乏足够的可视化是一个组织最大的敌人,因为这会产生一种错误的安全感,从而引发错误的假设,认为没有发生入侵。
一个定义明确的假设必须是简明和具体的。它必须是可测试的,不需要假定时间和资源的无限可用性。一个猎人无法验证的假设是没有用的,所以必须考虑他们使用的工具和所需的数据。它不能太宽泛,也不能太具体,但它必须指定数据将从哪里收集,以及将搜索什么。
Robert M. Lee和David Bianco写了一篇关于生成成功威胁狩猎假说的SANS白皮书(https://www.sans.org/reading-room/ whiteppapers /threats/paper/37172)。在本文中,他们区分了三种主要的假设类型:
•基于威胁情报的假设:这类假设考虑了良好的ioc;也就是说,合理地将破坏的指标、威胁状况和地缘政治背景结合起来。这种假设的主要危险在于,我们过于关注IOCs,所以最终会生成低质量的匹配。最好关注威胁行动者的ttp,而不是包含数百个指标的提要。
•基于态势感知的假设:这类假设依赖于我们识别组织中最重要的资产。这也被称为皇冠宝石分析。猎人试图弄清楚对手可能在组织环境中寻找什么,包括他们的目标。从这个角度来看,威胁猎人必须考虑他们需要什么类型的数据和他们要寻找的活动。重要的是要记住,并非所有事情都应局限于网络领域。在执行情景感知假设时,还应该考虑人员、流程和业务需求。
•基于领域专业知识的假设:这类假设是威胁猎人专业知识的产物。猎人产生的假设是由他们自己的背景和经验决定的。猎人过去进行的狩猎也会影响他的假设。对于记录已经获得的经验教训并与团队的其他成员分享这些经验教训,文档化过程在这里特别重要。有经验的猎人必须非常清楚偏见。尽量避免不良的分析习惯,并实施偏见预防技术。
网友评论