[14.04.22]Ryan Stillions - DML 模型

另一篇博文中,我讨论了 TTP 以及它们与事件检测和响应的关系。这篇博文将介绍基于该博文中的概念的检测成熟度级别 (DML) 模型。

定义

检测成熟度级别(DML)模型是一种能力成熟度模型,用于参考检测网络攻击的成熟度。它专为执行英特尔驱动的检测和响应以及强调拥有成熟的检测程序的组织而设计。推动建立该模型的两个关键原则是:

  1. 衡量一个组织的成熟度的不仅仅是 获取相关情报的能力,而是将情报有效地应用于检测和响应功能的能力。
  2. 没有发现,就没有机会做出反应。

虽然在实践中这不是严格线性的,但您可以概念化您的情报、检测和响应任务之间的关系,有点像下图。

DML(检测成熟度级别) - 图1
这表明任何先前领域的成熟(或缺乏成熟)将直接影响后者发挥最佳功能的能力。换句话说,我建议人们必须从左到右将他们的东西放在一起,而不是在大多数 IR 组织建立的从右到左的反应性“有机增长”模型中。

这张图经常提出关于预防的问题,预防技术在哪里适合?好吧,既然我们还没有接触到 DML,那么现在是讨论这个的好时机。简而言之,在您达到可以有效使用它的成熟度之前,预防技术不会产生价值。预防系统不是“一劳永逸”的技术,部署它们假定组织打算在他们对威胁形势的了解发生变化时对其进行更新。如果您知道可以安全地预防某些事情,则应该这样做。我坚决支持 Richard Bejtlich 的观点,即“预防最终会失败”。当这种情况发生时,我们仍然需要一个成熟的检测和响应功能,以尽可能快地检测和响应。
其次,我们必须能够独立检测预防技术何时成功或失败。盲目地忽视成功的预防措施可能会导致错过从知道那些对手尝试甚至首先存在的情况中获得的情报。我知道这表面上听起来可能很奇怪,但对于某些威胁参与者来说,对侦察和攻击投递尝试(即使不成功)的时间分析对于时间线和活动分析可能非常重要。

DML(检测成熟度级别) - 图2

预防和检测之间的区别很重要,因为成功的检测程序基于检测所有形式的对手活动,无论它们是否被预防技术阻止、延迟或加剧。检测是所有其他功能的关键连接点,因为它提供了必要的可见性和上下文,使我们能够观察、定位、决定和采取行动。因此,检测成熟度级别 (DML) 模型旨在衡量检测能力的有效性。

DML 级别

DML 由九个成熟度级别 (0-8) 组成,最低级别在技术上最具体,最高级别在技术上最抽象。也就是说,这是一个完整的模型,可以理解当前在主机、网络或事件日志数据域中运行的检测方法无法轻松掌握的多个级别,但人类分析师可以。

DML(检测成熟度级别) - 图3

DML-8 目标

如果参与者是一个更大的有组织的操作的一部分,他们可能会从更高级别的源或处理程序接收他们的目标。根据对手的活动的组织和复杂程度,这些目标甚至可能不会与运营商自己共享。在非目标威胁参与者的情况下,这可能是组织性或分布式的少得多。

目标几乎不可能(直接)检测到,但它们几乎总是 C 级领导者在违规后提出的最棘手的问题。“是谁,为什么?” 除非您以 8 级检测成熟度对您的对手进行操作,并且可以可靠地证明您知道他们的目标是什么,否则这些问题永远无法如实回答。除此之外,它是根据在较低 DML 上进行的行为观察(例如,数据被盗、列出的目录、员工或目标程序等)来猜测对手的真实意图是什么。我预计很少有组织真正在这个级别上始终如一地针对他们面临的威胁行为者进行操作,因为仅根据目标几乎不可能检测到。

DML-7 策略

如果对手的高级目标是“在 2 年或更短的时间内复制 Acme 公司的 Super Awesome 产品 Foo”,他们的支持策略可能包括:
1. 将自然人植入生产该技术的公司中,在可以物理访问实现该目标所需信息的位置上。
2. 通过网络攻击破坏这些组织,并从包含实现此目标所需信息的系统中窃取数据。
对于针对性较低的攻击,策略可能完全不同,持续时间更短或目标不同。
关于目标 (DML-8) 和策略 (DML-7) 的重要区别因素是它们本质上是主观的。它们非常非技术性,并且通常反映了对手(或其处理者)的真实意图(以及实现这些意图的策略)。它们代表了对手想要的东西。由于这些原因,对于大多数私人组织来说,它们不容易通过传统的网络手段检测到。DML-8 或 DML-7 甚至不在大多数检测或响应专家的日常雷达上,这是很常见的,如果他们是,通常是在从情报来源收到战略情报报告的背景下关于对手。

DML(检测成熟度级别) - 图4

这是分布式威胁情报下游消费的一个重要区别,因为它与我们的检测和响应任务有关。假设您甚至可以访问能够传播完整的 DML-1 到 DML-8 对手档案的成熟情报资源(大多数组织没有,这是另一天的话题),前两个级别(目标和战略) 甚至不能被大多数检测技术使用。他们对探测和响应任务的技术贡献在很大程度上是补充性的,但它们确实为响应者提供了情境背景,这可能具有很大的价值。初级情报分析师的一个普遍假设是,下游消费者只关心可以自动化进入检测技术的原子指标,而这不能 不要离真相更远。事实上,检测和响应功能越成熟,他们期望消耗威胁情报的 DML 越高。因此,更高的检测成熟度级别。
接下来的三个级别的战术、技术和程序在我的另一篇文章中进行了区分但关于它们对 DML 的应用,它们如下:

DML-6 战术

为了在 DML-6 上成功运作,无论对手使用的技术或程序、他们选择使用的工具或由于使用而留下的工件和原子指示符如何,都必须能够可靠地检测到正在使用的策略战术。虽然表面上这听起来不可能,但绝对有可能。几乎在所有情况下,策略都不是直接由作为确凿证据的单一指标或人工制品或单一检测特征或分析技术检测到的。只有在对时间和环境方面的多项活动进行总体观察后,才能了解战术。因此,战术检测通常由熟练的分析师完成,而不是技术关联或分析系统。

DML-5 技术

从成熟度的角度来看,能够检测对手的技术优于能够检测他们的程序。主要区别在于技术是特定于个人的。因此,在尊重这种区别时,仅通过技术检测在您的环境中运行的特定参与者的能力是一个优势。与此最好的类比是膛线枪管,它在子弹的侧面留下了独特的可识别特征。正因为如此,弹道学专家可以高度确定地将用过的子弹与发射它的确切武器相匹配。不仅仅是口径或型号的任何武器,而是用于发射特定子弹的确切武器。人类是有习惯的生物,大多数对手都没有意识到每次攻击他们 重新留下他们个人技术的证据供我们查找。这同样适用于编写这些对手使用的工具的工具制造商。找到这些区别并确保我们正在寻找它们是我们的义务。人类最难改变的是个人行为和习惯,因此通过寻找创造性的方法来检测他们在您的环境中的行为和习惯,给您的对手造成伤害。
“不要重复使你获得一胜的战术,而要让你的方法受制于无限的情况。 ”——孙子(蛤?)

DML-4 程序

DML(检测成熟度级别) - 图5
鉴于当今的检测技术以及现成的关联和分析技术,令人惊讶的是,更多组织的大多数对手还没有达到检测成熟度级别 4。程序是检测对手活动的最有效方法之一,并且确实可以对经验不足的“B 团队”造成最大的痛苦。在最简单的形式中,检测过程就像检测演员所采用的两个或多个单独步骤的序列一样简单。这里的目标是隔离攻击者在事件期间似乎有条不紊地执行两次或更多次的活动。

这方面的一个很好的例子是经常发生在杀伤链的目标行动阶段的预渗透侦察,当最可预测的时候,攻击者系统地一个一个地连接到受害者系统,执行目录列表,并将这些结果转储到一个文件中后来被提取和渗出。从这里开始,您不妨启动倒数计时器,因为他们回来迅速收集特定数据以进行渗透只是时间问题。我一直将此目录列表程序视为受害者组织“事情升温”之前的最后事件之一。人们有理由相信,这个反复执行的程序的教科书示例将是大多数检测程序的优先事项,
事件充满了程序。任何对解码的 C2 命令执行过重要时间线分析的人都知道我指的是什么。在时间上重建一系列事件后不久,您就可以开始挑选重复行为的模式。这些模式是程序的指示,并成为自己的检测机会。重要的是不仅要注意这些步骤和这些步骤的重复,还要注意观察过程的每个步骤之间的停留时间。他们快吗?它是脚本化的还是手动运行的?如果手动运行,他们是否会在途中的某个地方打错字?如果是这样,他们是如何反应的?我记得有一次看到一个演员狂热地尝试让 pwdump 运行,将各种语法错误的命令行参数传递给它,在最终放弃并转移到另一个盒子之前。这不仅证实了手动交互,也让我们对演员的技术水平有了一定的了解。一些演员比其他演员更快地完成他们的程序。在比较涉及妥协的多个主机时,像跨主机命令之间的停留时间一样细微的观察可以表明环境中是否有多个操作员作为一个团队一起工作,或者只有一个。这些都是非常重要的记录因素。同样的信息也可用于训练您的检测方法,以提高功效和减少假阳性。在比较涉及妥协的多个主机时,像跨主机命令之间的停留时间一样细微的观察可以表明环境中是否有多个操作员作为一个团队一起工作,或者只有一个。这些都是非常重要的记录因素。同样的信息也可用于训练您的检测方法,以提高功效和减少假阳性。在比较涉及妥协的多个主机时,像跨主机命令之间的停留时间一样细微的观察可以表明环境中是否有多个操作员作为一个团队一起工作,或者只有一个。这些都是非常重要的记录因素。同样的信息也可用于训练您的检测方法,以提高功效和减少假阳性。

您有多少检测签名或相关规则严格基于检测这些类型的程序事件?如果答案是“不多”,那么您可能还没有给对手造成太大的痛苦

DML-3 工具

能够在 DML-3 上进行检测意味着您可以可靠地检测到对手的工具,而不管工具的微小功能更改,或者它可能留下的工件或原子指示器。检测工具分为两个主要领域。首先是检测工具的转移和存在。这包括能够观察通过网络传输的工具,能够在文件系统上找到静止的工具,或者能够识别它加载到内存中。

工具检测的第二个也是更重要的领域是通过功能可靠地检测工具. 例如,让我们以一个有 25 个函数的 webshell 为例。如果我们想为这个 webshell 声明 DML-3 级别检测,我们必须执行这 25 个函数中的每一个,并了解它们各自的作用。它们在运行时在主机、网络和事件日志级别是什么样的?然后,我们的目标是在这些数据域中为这 25 个函数中的尽可能多的函数构建检测,可靠地平衡误报和其他约束。这背后的原因很简单,我们希望能够通过它执行的功能来检测该工具的这个版本以及该工具的尽可能多的未来变体。如果攻击者决定更改我们检测到的 25 个函数中的 5 个,我们仍在检测整个工具。为了让对手在我们的环境中完全不被发现地使用这个工具,他们将被迫改变每一个功能;或者至少是我们能够可靠地构建检测的那些。

实际上,DML-3 是当今许多技术供应商都在努力运营的领域。问题是他们没有非常有效地做到这一点。看看商品病毒检测软件。由于恶意软件样本的数量急剧增加,他们已经自动化了检测创建。这降低了检测技术的功效,因为它们通常只检测恶意软件的一个或几个功能。显然,必须有一个平衡。我们不能对每个二进制文件进行逆向工程,并为它在所有数据域中执行的每个功能编写整体检测,但如果你绝对必须给对手带来伤害,这是一个必须达到的详细程度在检测成熟度级别 3 运行。找到他们的工具,

您有多少基于以这种方式检测对手工具的检测签名或关联规则?如果答案是“不多”,那么你肯定不会 给对手造成太大的痛苦

DML-2 主机和网络工件

DML(检测成熟度级别) - 图6
DML-2 是大多数组织花费过多资源的地方;试图以主机和网络工件的形式收集他们所谓的“威胁情报”。现实情况是,这些只是在攻击期间或之后观察到的指标。它们就像流感的症状,但不是流感本身。当我想到 DML-2 时,我经常使用“追逐蒸汽轨迹”的类比,因为追逐主机和网络工件很像追逐飞机后面的蒸汽轨迹。我们知道敌机就在我们面前的某个地方,如果我们继续追逐这个蒸汽试验,我们最终会追上飞机并找到我们的敌人,对吧?
错误的。
拥有成熟的检测和响应程序意味着您的操作高于 DML-2,并且您重新锁定到飞机本身
你知道它是如何运作的,你知道它的能力是什么,你知道它的飞行员的战术、技术和程序,你几乎可以预测它的下一步行动可能是什么
这正是为什么优秀的网络情报分析师几乎不会仅根据主机和网络工件将活动归因于特定的威胁参与者、团体或国家的原因;他们了解这个 DML 概念,并意识到他们何时可能只是盯着蒸汽轨迹。
他们明白,实际上蒸汽轨迹(指示器)可能来自任意数量的飞机(工具),操纵杆后面有任意数量的飞行员(演员),你几乎可以预测它的下一步行动可能是什么。
这正是为什么优秀的网络情报分析师几乎不会仅根据主机和网络工件将活动归因于特定的威胁参与者、团体或国家的原因;他们了解这个 DML 概念,并意识到他们何时可能只是盯着蒸汽轨迹。
主机和网络工件至关重要。我并不是要淡化它们对检测和响应的贡献,但它们应该被视为支持我们在更高层次上工作的独立构建块。它们不应该是向分析师发出警报的前提,它们绝对不应该是凌晨 3 点寻呼机响起时唤醒我们的原因。如果这听起来像您的组织,请停止追逐蒸汽痕迹并开始考虑如何将您的检测程序提升到 DML 到更高的成熟度级别。

DML-1 原子 IOC

这些是构成主机和网络工件的原子粒子。如果您在检测成熟度级别 1 进行检测,则意味着您可能正在从各种共享组织和供应商那里以列表的形式(例如域和 IP 地址)获取“情报”,并将它们输入到您的检测技术中。让我在此明确我的立场。在少数情况下,我的意思是非常宝贵的少数情况,这是有意义的并且可以可靠地完成。这些是特定原子指标具有足够长的“保质期”的极端情况,在这种情况下,继续并从中创建检测功能是有意义的。这方面的例子包括在二进制文件中发现的唯一字符串,或者对手可能愚蠢到坐在同一个侦察、交付、C2、或渗透基础设施,让您能够可靠地检测他们的域名或 IP 地址。这些可能是可行的情况,仅在原子指示器上进行检测是有意义的。不幸的是,在剩下的 99% 的时间里,由于多种原因,试图检测这种数据并不是最理想的。

  1. 数据的变化率非常高。如果您不相信我,只需计算您每年收集的新原子指标的数量与您收集的工具或 TTP 的数量。收集、分析和管理这些数据是有成本的。对于具有高变化率但产生低警报与真阳性检测率的数据执行此操作是否有意义?
  2. 它通常不会 给对手造成太大的痛苦
  3. 它通常会给您的检测技术带来很大的痛苦。信不信由你,每项技术都有一个可以运行的玻璃性能上限。您是否知道在检测技术、SIEM 等开始丢包、丢失事件或以意外方式发生故障之前,您可以将多少原子指标塞入您的检测技术、SIEM 等?是五千吗?万?如果一个人不知道这些问题的答案,他们很可能会遗漏一些东西(包括真正的积极妥协),甚至不知道。最悲惨的情况是高价值检测能力(DML-3 或更高)未能发出警报,因为硬件或软件正在努力跟上处理所有基于 DML-1 和 2 的检测。这种对您自己的检测基础设施的自我造成的拒绝服务攻击,对于许多组织来说,这是一个真正的问题,而且他们中的许多人甚至没有意识到他们正在为自己做这件事。我曾经使用一个简单的 Splunk 仪表板对全局 NSM 传感器部署的接口丢包进行仪表板,只是为了量化这个问题的影响。不用说它的受欢迎程度不同,但它仍然证明了我的观点。在较低级别的 DML 上运行对技术有真正可衡量的影响。但它仍然证明了我的观点。在较低级别的 DML 上运行对技术有真正可衡量的影响。但它仍然证明了我的观点。在较低级别的 DML 上运行对技术有真正可衡量的影响。
  4. 它通常会给您的员工带来最大的痛苦。这是迄今为止在 DML-1 上运行的最严重的副作用。一家公司非常关心解决正面的威胁,他们在所有正确的地方进行投资。他们首先聘请敏锐、有才华的专业人士,并辅以领先供应商的专业服务。他们为自己购买了一些预防和检测技术。然后,该组织犯了一个致命的错误,即通过卡车将原子指标铲入这些系统,期望他们的响应者能够从噪音中筛选。帮您的团队一个忙,并关闭所有警报,除非它们是检测成熟度级别 3(工具)或更高,或者,它们被证明非常高保真,绝对值得继续使用。在较低级别的 DML 操作对您的分析师影响最大,

    DML-0 无或未知

    对于不在 DML-1 或更高级别运营的组织,或者他们甚至不知道自己在此规模上运营的位置,我们将检测成熟度级别 - 0。与其指出与此级别相关的所有负面因素,我会走上正轨,并给予一些积极的鼓励。恭喜你,你处于零基础。它只能从这里变得更好。


当今利用 DML 的四个用例


1. 提供词典以便于交流

  1. 在这个检测和响应领域,我们经常互相交谈。当一个人交流他们关于检测横向移动技术的想法时,接收该消息的第一个人可能正在考虑低级别的原子指标,而同一消息的第二个接收者可能正在考虑他们用来完成它的工具。<br />有一次,我花了整整一周的时间与一大群同事讨论 IR 战略,我尊重他们中的许多人,因为他们是业内最有才华的 IR 人员,几天来我们都互相交谈。我们的意思都是一样的,但在我们如何在脑海中塑造它和传达我们的想法方面存在显着差异。有时,拥有像词典这样简单易懂的东西可以帮助我们所有人都在同一个页面上。

2. 评估你自己的检测成熟度

组织可以立即采取的第一步是将这个 DML 模型与您跟踪的所有已知和未知的威胁参与者堆叠起来。您当前的检测成熟度级别是否足以应对此威胁参与者?如果不是,您需要哪些额外信息才能进入下一个级别?
DML(检测成熟度级别) - 图7

3. 评估安全产品或服务提供商的成熟度

采用此 DML 模型并使用它来评估供应商或服务提供商的检测能力的质量。供应商很容易声称他们可以保护您免受“当今的威胁”,但将它们与 DML 相提并论,并开始向他们提出棘手的问题,例如他们打算如何证明他们可以在每个 DML 级别上预防或检测。如果你将洋葱层剥得足够远,许多技术只能在 DML-1 或 DML-2 的底层运行,并且在更高的水平上具有边际效果。

DML(检测成熟度级别) - 图8

情报管理系统是一个相对较新的领域。虽然我现在不会深入探讨这个话题,但问问你自己,你的情报管理平台是否可以帮助你执行这种分析。如果您的上游资源为您提供某种形式的消耗性“情报产品”或“英特尔提要”(我松散地使用这些术语),让他们反对这个模型,并问自己他们是否在每个检测成熟度中提供信息水平。
大多数组织都擅长提供 DML-1 / DML-2 类型数据的提要,并以更多的段落描述形式描述 DML-6(战术)的书面报告。它们是否包括技术和程序?
他们的 DML-3(工具)级别报告是否解释了该工具的全部功能以及如何跨主机、网络、和基于事件的数据,还是仅报告由于运行该工具而留下的主机和网络工件?更糟糕的是,它是否只为您提供回调 C2 信息等原子指标?

最重要的是,产品或服务提供商是否以允许您向上或向下浏览这些级别之间存在的关系的格式提供此信息。给定任何原子指示符(如用户代理字符串),您能否在关系树上导航到所有相关的网络工件,这些网络工件与展示这些工件的工具相关,这些工件与与使用相关的技术和/或程序相关这些工具等等。
这是上下文中的威胁情报;能够使您的分析师能够快速浏览将所有威胁情报联系在一起的威胁情报,使他们能够决定他们正在调查的活动是否与情报所说的他们应该寻找的活动相匹配,并允许他们采取相应的行动。“如果你不能快速浏览你的情报,你可能有蹩脚的情报。”

另外,一定要询问每个级别的机器可读性。在 DML-1 / DML-2 级别共享威胁情报领域已经完成了出色的工作,因为那些是我们的机器可以更轻松地使用这些数据的级别。不幸的是,我们经常因为丢失上下文而不保留存在于 DML 更高级别的关系而自取其辱(蛤?)。很少有产品和服务提供商可以以机器可读格式提供 DML-3 及以上数据。

4. 为您的分析师提供更多背景信息

立即开始,您可以在检测规则本身内对检测成熟度级别进行注释。您可以使用分类将其烘焙到您的 Snort 签名中带有自定义分类.config 语句的规则选项。您可以在 Yara 规则中包含 DML 级别。考虑将此添加到您的 SIEM 关联规则中,以便只有最高的 DML 规则会生成警报
有大量的技术可以让你开始参考现有的检测能力,它们在 DML 模型中的操作级别。考虑将此上下文添加到您的检测签名、相关性和警报中,以便分析师可以开始使用它们来确定响应活动的优先级。如果他们甚至了解 DML 的基本前提,这是给他们添加上下文的好方法,它还有助于启动初级分析师对战术、技术、程序、工具、工件和原子 IOC 之间差异的理解。

未来的用例?

肯定会有很多我们没有在这里讨论的其他用例,我计划在未来发布一些与不同应用 DML 用例相关的后续博客文章。与往常一样,如果您认为这篇文章有用,我很想听听您的反馈。我特别想了解其他人如何在他们的组织中应用 DML。