前言

2014年,Ryan Stillions介绍了一种用于评估组织检测能力成熟度的工具:DML模型(The DML model[1])。可能是很多所谓的检测XX其实是低级别检测,国内鲜有提到该框架。DML模型包含9个成熟度级别,其中0级是最不成熟的,8级是最成熟的。DML模型有助于组织了解检测的不同阶段,以及如何需要改进其能力以有效应对网络威胁。

或者换个说法:检测成熟度级别 (DML) 模型目的是帮助组织对检测能力分级。检测的是域名、哈希还是某种工具的特征?抑或是能检测特定组织的特定战术特征。

DML定义

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

  1. 组织的成熟度不是通过其获取 相关情报的能力来衡量的,而是通过将情报有效地应用于检测和响应功能的 能力来衡量的。

  2. 如果不被发现,人们就没有机会做出反应。虽然在实践中这并不是严格的线性关系,但您可以概念化情报、检测和响应任务之间的关系,如下图所示。

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

    该图经常提出有关预防的问题以及预防技术在其中的应用?好吧,由于我们还没有讨论 DML,所以现在是讨论这个问题的好时机。简而言之,只有达到可以有效使用预防技术的成熟水平,预防技术才会产生价值。预防系统并不是“一劳永逸”的技术,部署它们的前提是组织打算随着对威胁形势的了解发生变化而更新它们。如果您知道可以安全地预防某些事情,您就应该这样做。我坚决支持 Richard Bejtlich 的观点:“预防最终会失败”。当这种情况发生时,我们仍然需要一个成熟的检测和响应功能随时准备好尽快检测和响应。

    其次,我们必须能够独立检测预防技术何时成功或失败。盲目忽视成功的预防措施可能会导致错失从一开始就知道对手的企图所获得的情报。我知道这表面上听起来可能很奇怪,但对于某些威胁行为者来说,对侦察和攻击交付尝试(即使不成功)的时间分析对于时间线和活动分析可能非常重要。

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

DML 级别

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

DML-8 目标

如果参与者是一个更大规模的组织化运作的一部分,他们可能会从更高级别的来源或处理者那里接收他们的目标。根据对手活动的组织程度和复杂程度,这些目标甚至可能不会与操作人员共享。对于非目标威胁行为者,这种情况的组织性或分布性可能要差得多。

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

DML-7 策略

如果对手的高级目标是"在2年内或更短时间内复制Acme公司的超级棒产品Foo",他们的支持策略可能包括:

  1. 在生产这种技术的公司中植入实体人员,这些人员具有访问实现这一目标所需信息的权限。

  2. 通过网络攻击危害这些组织,并从包含实现此目标所需信息的系统中窃取数据。对于针对性较低的攻击,策略可能完全不同,持续时间较短或目标不同。目标 (DML-8) 和策略 (DML-7) 的重要区别因素是它们本质上很大程度上是主观的。它们非常非技术性,并且通常反映对手(或其处理者)的真实意图(以及实现这些意图的策略)。它们代表了对手想要的东西。因此,对于大多数私营组织来说,它们不容易通过常规的网络手段检测到。DML-8或DML-7通常不会出现在大多数检测或响应专家的日常工作雷达上,如果它们出现了,通常是在从情报来源收到关于对手的战略情报报告的背景下。

    关于下游消费传播的威胁情报,这是一个重要的区别,因为它与我们的检测和响应任务有关。假设您甚至有权访问一个成熟的情报资源,能够传播一个完整的DML-1到DML-8的敌人配置文件(大多数组织没有,这是另一个话题),前两个级别(目标和策略)甚至不能被大多数检测技术所消费。他们对检测和响应任务的技术贡献在很大程度上是补充性的,但它们确实为响应者提供了可能具有巨大价值的情境背景。初级情报分析师的一个常见假设是,下游消费者只关心可以自动转化为检测技术的原子指标,而这与事实相差甚远。事实上,检测和响应功能越成熟,他们期望在 DML 中消耗的威胁情报就越高。因此,检测成熟度级别更高。

    接下来的三个级别的战术、技术和程序在我的另一篇文章中有所区分,但就它们对 DML 的应用而言,它们如下:

DML-6 战术

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

DML-5 技术

从成熟度的角度来看,能够检测对手的技术优于能够检测他们的程序。主要区别在于技术是针对个人的。因此,在尊重这种区别时,能够通过专门的技术检测在您的环境中运行的特定参与者是一个优势。对此最好的类比是有膛线的枪管,它在子弹的侧面留下了独特的可识别特征。正因为如此,弹道学专家可以高度确定地将用过的子弹与发射它的武器进行匹配。不仅仅是任何口径或型号的武器,而是用于发射特定子弹的确切武器。人类是习惯性的动物,大多数对手都没有意识到这样一个事实:他们每次攻击时都会留下他们个人技术的证据供我们发现。这同样适用于编写这些对手使用的工具的工具构建者。我们有义务找到这些区别并确保我们正在寻找它们。对于人类来说,最难改变的是个人行为和习惯,因此,通过寻找创造性的方法来检测他们在您的环境中的行为和习惯,从而给您的对手带来伤害。

故其战胜不复,而应形于无穷。——孙子

DML-4 程序

考虑到当今的检测技术以及现成的关联和分析技术,令人惊讶的是,越来越多的组织尚未达到大多数对手的检测成熟度级别 4。程序是检测对手活动的最有效方法之一,并且确实会给经验不足的预备队带来最大的痛苦。在最简单的形式中,检测过程就像检测威胁行为者所采用的两个或多个单独步骤的序列一样简单。这里的目标是隔离对手在事件期间两次或多次有条不紊地执行的活动。

这其中的一个很好的例子是在攻击链的“对目标行动”阶段常常发生的窃取数据前侦察活动,这是最可预测的阶段,攻击者会系统地逐一连接到受害者的系统上执行目录列表操作,并将这些结果转储到一个文件中,这个文件随后会被提取出来并被窃取。从这里开始,你不妨启动倒计时,因为他们回来迅速收集特定数据进行数据泄露只是时间问题。我一直将这个目录列出过程视为受害者组织“事态升温”之前的最后事件之一。人们有理由相信,这种教科书式的程序一而再再而三地被执行,对于大多数检测程序来说,这应该是优先考虑的问题,但迄今为止,许多组织未能在其终端上检测到此活动。

事件充满了程序。任何对解码的 C2 命令进行过时间线分析的人都知道我指的是什么。在暂时重建一系列事件之后,不需要很长时间,您就可以开始挑选重复行为的模式。这些模式指示了程序并成为其自身的检测机会。重要的是,不仅要注意步骤以及这些步骤的重复,还要注意观察过程的每个步骤之间的停留时间。他们快吗?它看起来是脚本化的还是手动运行的?如果手动运行,他们是否会在运行过程中的某个地方犯错?如果是这样,他们有何反应?我记得有一次看到一个演员疯狂地尝试让 pwdump 运行,向它传递各种语法上不正确的命令行参数,然后最终放弃并转移到另一个盒子上。这不仅证实了人工互动,也让我们感受到了演员的技术水平。有些演员比其他演员更快地完成他们的程序。当比较涉及妥协的多个主机时,像跨主机命令之间的停留时间这样微妙的观察可以表明环境中是否有多个操作员作为一个团队一起工作,或者只有一个操作员。这些都是需要记录的非常重要的因素。同样的信息也可用于训练您的检测方法,以提高效率并减少误报。

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

DML-3 工具

能够在 DML-3 上进行检测意味着您可以可靠地检测对手的工具,无论该工具的功能是否发生微小变化,或者它可能留下的痕迹或原子指示器。检测工具分为两个主要领域。首先是检测工具的传输和存在。这包括能够观察通过网络传输的工具,能够在文件系统上找到它的静止位置,或者能够识别它加载到内存中。工具检测的第二个也是更重要的领域是通过功能可靠地检测工具。例如,我们采用一个具有 25 个函数的给定 Webshell。如果我们想对这个 webshell 进行 DML-3 级别的检测,我们必须分别使用这 25 个函数并了解它们各自的作用。当它们被执行时,它们在主机、网络和事件日志级别看起来是什么样的?然后,我们的目标是在这些数据域中尽可能多地建立对这 25 个函数的检测,可靠地平衡误报和其他约束。这背后的原因很简单,我们希望能够通过它执行的功能来检测该工具的此版本以及该工具的尽可能多的未来变体。如果对手决定更改我们检测到的 25 个功能中的 5 个,我们仍然会检测整个工具。为了让对手在我们的环境中完全不被发现地使用这一工具,他们将被迫更改其中的每一项功能;或者至少是我们能够可靠地构建检测的那些。

事实上,DML-3 是当今许多技术供应商都在努力尝试的领域。问题是他们做得不太有效。看一下商业杀毒软件。由于恶意软件样本数量的急剧增加,他们已经自动化了检测创建。这降低了检测技术的效果,因为它们通常只检测恶意软件的一项或少数功能。显然,必须有一个平衡。我们无法对每个二进制文件进行逆向工程,并为其在所有数据域中执行的每个功能编写整体检测,但在您绝对必须给对手带来伤害的情况下,这是必须了解的详细程度在检测成熟度级别 3 上运行。找到他们的工具,并通过为其大部分功能构建检测来拒绝他们在您的环境中使用这些工具,然后监控每个新事件,对手如何随着时间的推移改变其工具集并进行相应更新。

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

DML-2 主机和网络痕迹

DML-2 是大多数组织花费过多资源的地方;试图以主机和网络痕迹的形式收集他们所谓的“威胁情报”。事实是,这些只是攻击期间或攻击后观察到的指标。它们就像流感的症状,但不是流感本身。当我想到 DML-2 时,我经常使用“追逐蒸汽尾迹”这个类比,因为追逐主机和网络痕迹就像追逐飞机后面的蒸汽尾迹一样。我们知道敌机就在我们前面的某个地方,如果我们继续追赶这个蒸汽试验,我们最终会追上飞机并找到我们的敌人,对吗?错误的。拥有成熟的检测和响应程序意味着您可以在 DML-2 之上进行操作,并且实际上可以锁定飞机本身。你知道它是如何运作的,你知道它的能力是什么,你知道它的飞行员的战术、技术和程序,你几乎可以预测它的下一步行动可能是什么。这正是为什么优秀的网络情报分析师几乎永远不会仅根据主机和网络痕迹将活动归因于特定的威胁参与者、组织或国家;他们理解这个 DML 概念,并意识到他们何时可能只是盯着蒸汽尾迹。他们明白,实际上,蒸汽尾迹(指示器)可能来自任意数量的飞机(工具),操纵杆后面有任意数量的飞行员(行为者)。

主机和网络痕迹至关重要。我并不是要淡化它们对检测和响应的贡献,但它们应该被视为支持我们更高级别工作的单独构建模块。它们不应该成为向分析师发出警报的前提,而且它们绝对不应该成为凌晨 3 点寻呼机响起时叫醒我们的东西。如果这听起来像您的组织,请停止追逐蒸汽踪迹,并开始思考如何将您的检测程序提升到 DML 至更高的成熟度级别。

DML-1 原子 IOC

这些是组成主机和网络文物的基本粒子。这意味着您可能会从各种共享组织和供应商那里以列表形式(如域和IP地址)获取“情报告知”,并将其输入到检测技术中。让我明确一下我的立场。在某些情况下,我的意思是非常宝贵的少数情况下,这是有意义的并且可以可靠地完成。这些是特殊情况,其中特定的原子指标具有足够高的"保质期",有必要提前根据它们创建检测能力。这方面的示例包括在二进制文件中发现的唯一字符串,或者对手可能愚蠢到在同一个侦察、载荷投递、C2 或数据泄露基础设施上,使您能够可靠地检测他们的域名或 IP 地址。这些可能是可行的例子,仅检测原子指标是有意义的。不幸的是,在剩下的99%的时间里,尝试对此类数据进行检测是不理想的,原因有很多。

  1. 数据的变化率非常高。如果您不相信我,只需计算您每年收集的新原子指标的数量与您收集的工具或 TTP 的数量即可。收集、分析和管理这些数据会产生相关成本。对于变化率较高但警报与真阳性检测率较低的数据执行此操作是否有意义?

  2. 通常不会给对手造成太大痛苦。

  3. 它通常会给您的检测技术带来很大的痛苦。不管你相信与否,每种技术都有一个性能上限,它只能在这个上限之下运行。您是否知道在检测技术、SIEM 等开始丢包、错过事件或以意想不到的方式出现故障之前,可以将多少原子指标塞入这些设备吗?是五千个?一万个?如果一个人不知道这些问题的答案,他们很可能会错过一些事情(包括真正真实的妥协),而且根本不知道。最悲哀的情况是,当硬件或软件努力处理所有基于DML-1和2的检测时,高价值检测能力(DML-3或更高)未能发出警报。这种对检测基础设施的自身Dos,对许多组织来说是一个真正的问题,而许多组织甚至没有意识到他们正在自己给自己制造问题。我曾经使用一个简单的 Splunk 仪表板显示了全球 NSM 传感器部署的接口丢包情况,只是为了量化这个问题的影响。不用说,它受到了不同程度的欢迎,但它仍然证明了我的观点。在 DML 较低级别上运行对技术具有真正可衡量的影响。

  4. 它通常会给您的员工带来最大的痛苦。这是迄今为止以 DML-1 运行的最严重的副作用。一家公司足够关心直接解决威胁,他们在所有正确的地方进行投资。他们首先雇佣聪明、有才华的专业人士,加上领先供应商的专业服务。他们为自己购买了一些预防和检测技术。然后,组织犯了一个致命的错误,将大量的原子指标强加给这些系统,期望他们的响应者筛选掉堆积如山的噪音。为您的团队做一件好事,除非他们是检测成熟度级别3(工具)或更高,或者他们被证明是高度保真的,否则关闭所有警报。在DML的较低级别操作对您的分析人员影响最大,这可能很难衡量,直到他们早已离职。

DML-0 无或未知

对于那些不运行在DML-1或更高级别的组织,或者他们甚至不知道他们在这个规模上的操作位置,我们有检测成熟度等级-0。与其指出与这个级别相关的所有负面事物,我会选择积极的鼓励。恭喜您,您处于起点。从这里开始,情况只会变得更好。

现在利用 DML 的四个用例

1.提供词典,方便沟通 在检测与响应的这个领域中,我们经常自说自话。当一个人传达他们关于检测横向移动技术的想法时,接收该消息的第一个人可能会考虑低级原子指示器,而接收同一消息的第二个人可能会想到他们用来实现它的工具。我曾经花了整整一个星期的时间与一大群同事讨论 IR 策略,其中许多人是我尊敬的业内最有才华的 IR 人员,有好几天我们都各说各话。我们的意思都是一样的,但我们在头脑中塑造它和如何传达我们的想法方面有显著的差异。有时,像词典这样简单易懂的东西可以帮助我们达成共识。

2.评估自己的检测成熟度 组织可以立即采取的第一步是将此 DML 模型与您跟踪的所有已知和未知威胁参与者进行叠加。您当前的检测成熟度水平足以应对该威胁行为者吗?如果没有,您需要收集哪些其他信息才能达到下一个级别?

3.评估安全产品或服务提供商的成熟度 利用这个DML模型来评估供应商或服务提供商的检测能力质量。供应商很容易声称他们可以保护您免受“现在的威胁”,但是将他们与DML相比较,开始向他们提出一些棘手的问题,比如他们打算如何证明他们可以在每个DML级别上预防或检测。如果你揭露的""层次足够深,许多技术在底层只运行在DML-1或DML-2,并且在更高级别上的有效性较低。

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

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

同时,一定要询问每个级别的机器可读性。在DML-1 / DML-2级别分享威胁情报方面已经做了很好的工作,因为这些级别是我们的机器可以更容易消化这些数据的级别。不幸的是,我们往往因为丢失了上下文,没有保留DML的更高级别存在的关系,而搬起石头砸自己的脚。很少有产品和服务提供商能够以机器可读的格式提供DML-3及以上级别的数据。

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

立即开始,您可以在检测规则本身内部注释检测成熟度级别。您可以通过使用带有自定义classification.config 语句的分类规则选项将其融入到您的Snort规则中。您可以在 Yara 规则中包含 DML 级别。考虑将其添加到您的 SIEM 关联规则中,以便只有最高的 DML 规则才会生成警报。有大量技术可让您开始根据现有检测功能在 DML 模型中运行的级别来引用它们。考虑将此上下文添加到您的检测规则、关联和警报中,以便分析师可以开始使用它们来确定响应活动的优先级。如果他们了解 DML 的基本前提,这是给他们添加上下文的好方法,也有助于初级分析师理解战术、技术、程序、工具、痕迹和原子IOC之间的区别。

新增的DML-9 身份

最初的DML模型由0-8级构成。2016年,Siri Bromander等人[5]在此基础上增加了DML-9身份(identity)。这一层次是指攻击者的身份,或威胁代理,可以是一个人的名字,一个组织或一个国家。有时,身份只能与其他攻击联系起来,没有任何其他关于他们是谁或他们从哪里运作的迹象。如果防御者只想将攻击者从网络中剔除,那么攻击者的身份可能与他们无关。然而,能够将多次攻击与同一行为者联系起来以预测预期使用的策略、战术、技术和程序通常是很重要的。

参考

[1] The DML model:https://ryanstillions.blogspot.com/2014/04/the-dml-model_21.html

[2] Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains:https://www.lockheedmartin.com/content/dam/lockheed-martin/rms/documents/cyber/LM-White-Paper-Intel-Driven-Defense.pdf

[3] OODA:https://en.wikipedia.org/wiki/OODA_loop

[4] The Pyramid of Pain:https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html

[5] Semantic Cyberthreat Modelling:https://ceur-ws.org/Vol-1788/STIDS_2016_A03_Bromander_etal.pdf

声明:本文来自无界信安,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。