来源:Assessments and Engineering
https://attack.mitre.org/resources/getting-started/
在前几章中,我们已经介绍了如何使用ATT&CK来进行威胁情报、检测和分析,以及对手模拟。在第四部分中,我们将讨论评估和工程,展示如何使用ATT&CK来度量防御并实现改进。本章在很多方面都建立在前面的基础上,所以如果你还没有读过,我们建议你先读一下。
为了使这个过程更容易访问——以及跟随其他章节——我们根据成熟度和资源可用性将这个部分分为三个级别:
�一级对于刚开始那些可能没有许多资源
�二级对于那些中层团队开始成熟
�三级对于那些更高级的网络安全团队和资源
开始进行“评估”一开始可能听起来有些吓人——谁喜欢被评估?但是ATT&CK评估是一个更大的过程的一部分,为安全工程师和架构师提供有用的数据,证明基于威胁的安全改进:
1. 评估你的防御在ATT&CK中是如何对抗技术和对手的
2. 在你当前的覆盖率确定最高优先级的差距
3.修改你的防御——或者获取新的防御——来解决这些差距
评估和工程的级别是累积的,并且相互构建。即使你认为自己是一个先进的网络安全团队,我们仍然鼓励你从1级开始,逐步进入一个更大的评估过程。
一、1级
如果你和一个小团队一起工作,他们没有很多资源,你想做一个全面的评估,不要这样做。立即创建一个ATT&CK矩阵的彩色编码热图,使您的覆盖率可视化,这个想法很有吸引力,但更有可能让您在ATT&CK上筋疲力尽,而不是兴奋地使用它。
相反,应该从小处着手:选择一个要关注的技术,确定该技术的覆盖范围,然后进行适当的工程增强来开始检测它。通过这种方式,您可以练习如何运行更大的评估。
提示:不确定从哪种技术开始?请参阅第一章,了解如何使用ATT&CK和威胁情报来选择起点
一旦你选择了一项技术,你就会想要找出你对这项技术的覆盖范围。如果您可以使用自己的术语,我们建议从以下类别开始:
�你现有的分析可能会检测技术;
�你的分析不会检测技术,但你可用正确的数据源来检测技术;或
�目前你没有用正确的数据源来检测技术。
提示:当第一次开始时,保持你的评分类别简单:你是否能够检测到它?
开始度量覆盖率的一个好方法是查看您的分析,看看它们已经包含了哪些技术。这可能很费时间,但是值得一试:许多SOCs已经有了可以映射到ATT&CK的规则和分析,即使它们最初并没有这样设计。通常情况下,您需要引入关于该技术的其他信息,这些信息可以从该技术的ATT&CK页面或外部资源获得。
例如,假设我们正在查看远程桌面协议(T1076),我们有以下警报:
1. 端口22上的所有网络流量
2. 所有进程由AcroRd32.exe产生
3.任何名为tscon.exe的进程
4. 所有内部网络流量通过端口3389
查看远程桌面协议的ATT&CK技术页面,我们可以很快看到规则#3与“检测”标题下指定的内容相匹配。快速的web搜索显示,由规则#4指定的端口3389也符合该技术。
如果你的分析已经掌握了这项技术,那就太好了!记录您对该技术的覆盖范围,然后选择一个新的来重新开始该过程。如果您没有覆盖它,请查看技术的ATT&CK页面上列出的数据源,并确定您是否已经获取了正确的数据来构建新的分析。如果是,那么问题就在于如何打造一个。
但是,如果没有获得正确的数据源,应该怎么做呢?这就是工程学发挥作用的地方。可以从技术ATT&CK页面上列出的数据源作为一个可能的起点,并尝试评估开始收集每个数据源的难度和使用它们的效率。
提示:一个经常被引用的数据源是Windows事件日志,它提供了许多ATT&CK技术的可见性。开始使用事件日志的一个好资源是恶意软件Archaeology的Windows ATT&CK日志备忘单,它将Windows事件映射到您可以用它们检测的技术。
升级到下一个阶段:不要停留在一个技术上——在这个过程中反复练习,为每次练习挑选一个新的技术(或两个)。使用ATT&CK导航器跟踪结果,这对于生成ATT&CK覆盖的热图非常有用。
您对这个过程感到很舒服,执行数据源分析,并提供一份热图,根据您正在引入的数据源,您可以检测哪些技术。可以帮助您入门的一些资源包括Olaf Hartong的ATT&CK数据地图项目、DeTT&CT和MITRE自己的ATT&CK脚本。
二、2级
一旦您熟悉了这个过程,并且能够访问到更多的资源,您将理想地希望扩展您的分析以跨越ATT&CK矩阵的一个相当大的子集。另外,您可能希望使用更高级的覆盖方案来考虑检测的保真度。在这里,我们想要建议对我们的SOC中的工具或分析工具在技术上发出警告的低、一些或高可信度的屏蔽覆盖率。
提示:当您试图评估您的覆盖率时,不要担心精确的准确性—您的评估目标是了解您是否具有一般检测技术的工程能力。为了更精确,我们建议运行对手模拟练习,如第3章所述。
这个扩展的范围使得分析分析稍微复杂了一点:现在每个分析都可能映射到许多不同的技术,而不是以前的一种技术。另外,如果您找到了一个覆盖特定技术的分析,而不是仅仅标记该技术被覆盖,那么您还需要梳理出该分析的覆盖保真度。
提示:对于每一个分析,我们建议找到它的关键所在,看看它是如何映射回ATT&CK的。例如,您可能有一个针对特定Windows事件的分析;要确定该分析的覆盖率,您可以在Windows ATT&CK日志备忘单或类似的存储库中查找事件ID。你也可以使用ATT&CK网站来分析你的分析。下图显示了一个搜索检测端口22的示例,它出现在常用的端口ATT&CK技术中。
另一个需要考虑的重要方面是随技术一起列出的组和软件示例。这些描述了程序或特定的方法,对手已经使用了一种技术。通常它们代表了一种技术的变体,这种变体可能被现有的分析方法所覆盖,也可能不被现有的分析方法所覆盖,它们还应该被作为一种置信评估的因素,来评估您如何覆盖一种技术。
除了查看您的分析之外,您还需要开始分析您的工具。为此,我们建议遍历每个工具——为每个工具创建单独的热图——并提出以下问题:
�工具运行在哪里?取决于工具运行的位置——例如。无论是在外围还是在每一个终点,它都可能在特定的战术上做得更好或更糟。
�工具检测如何?它是否使用了一组静态的“已知的坏”指标?或者它是在做一些行为上的事情?
�工具监控什么数据源?了解工具监视的数据源可以让您推断它可能检测到哪些技术。
回答这些问题可能很难。并不是所有的供应商都发布这类信息,通常情况下,当你搜索它时,你会发现营销材料。尽量不要花太多时间在细节上,而是选择画出大致的覆盖模式。
要创建覆盖的最终热图,请聚合您的工具和分析的所有热图,记录每种技术的最高覆盖范围。
作为提高您的覆盖率的第一步,我们想要推荐一个我们之前提到的更高级的分析开发过程:
1. 创建一个你想在短期内关注的高优先级技术列表。
2. 确保你获取了正确的数据,开始为你所关注的技术编写分析。
3.开始建立分析并更新你的覆盖率图表。
您可能还想开始升级您的工具。在分析文档时,请跟踪可能用于增加覆盖率的任何可选模块。如果你遇到这样的问题,考虑一下如何在你的网络上启用它,并与它提供的覆盖范围保持平衡。
如果您无法为您的工具找到任何额外的模块,您也可以尝试使用它们作为替代数据源。例如,您可能无法在每个端点上安装Sysmon,但是您现有的软件可能能够转发相关的日志,否则您可能无法访问这些日志。
升级到下一个级别:一旦您开始实现其中的一些更改并改进您的覆盖率,下一步就是引入对手模拟,特别是原子测试。每次您创建一个新的分析的原型时,运行一个匹配的原子测试,看看您是否捕获了它。如果有,太好了!如果你没有,看看你错过了什么,并相应地完善你的分析。你也可以看看我们的论文与ATT&CK-based发现网络威胁分析这个过程更多的指导。
三、3级
对于那些拥有更先进团队的人来说,加强评估的一个好方法就是加入缓解措施。这有助于将您的评估从仅仅关注工具和分析以及它们所检测到的内容转移到关注您的SOC整体。
识别您如何缓解技术的好方法是检查SOC的每个策略、预防工具和安全控制,然后将它们映射到它们可能影响的ATT&CK技术,然后将这些技术添加到您的热覆盖图中。我们最近对各种缓解措施进行了重组,允许您查看每个缓解措施并查看其映射到的技术。一些采用缓和技术的例子包括:
可以使用帐户锁定策略减轻�蛮力攻击。
�部署凭证警卫在Windows上10系统可以使凭证倾销更加困难。
�硬化本地管理员帐户可以防止Windows管理共享。
�利用微软EMET的攻击表面减少规则可以使它更难使用RunDLL32。
另一种扩展你的评估的方法是与在你的SOC工作的其他人进行面谈或非正式的交谈。这可以帮助您更好地了解您的工具是如何被使用的,以及突出您可能没有考虑到的差距和优势。
你可能想问的问题包括:
�使用最频繁的工具做什么?他们的优点和缺点是什么?
你希望你能看到�数据源但又无法看到的是什么?
�从检测角度你最大的优点和缺点是什么?
这些问题的答案可以帮助你扩大你之前做的热图。
例如:如果你以前发现了一个工具,它有很多与att&ck相关的功能,但工作人员只是使用它来监视Windows注册表,那么你应该修改这个工具的heatmap,以更好地反映它是如何被使用的。
在与同事交谈时,请查看以前创建的工具热图。如果您仍然不满意您的工具所提供的覆盖率,那么可能需要评估新的工具。为每一个潜在的新工具制定一个覆盖热图,看看添加它如何有助于增强您的覆盖。
提示:如果您的资源特别充足,您可以建立一个有代表性的测试环境来实时测试这个工具,记录它在哪些地方做得好,哪些地方做得不好,以及添加它将如何影响您现有的覆盖率。
最后,您可以通过实现更多的缓和来减少对工具和分析的依赖。查看ATT&CK中的缓解措施,以判断您是否可以实际实现它们。查阅您的检测热图作为这一过程的一部分;如果有一种高成本的缓解方法会阻止你很好地检测一种技术,这可能不是一个好的权衡。
另一方面,如果您可以实现一些低成本的缓解,而您正在为编写分析而努力,那么实现它们可能是对资源的一种很好的利用。
提示:在进行研究时,一定要权衡潜在的可见性损失,以排除有利于减轻的检测。确保在可能绕过缓解或控制的情况下有一些可视性,这样就不太可能错过这些事件。检测和缓解都应作为有效覆盖的工具。
总结
评估你的防御和指导你的工程可以是一个伟大的方式开始与ATT&CK。运行评估为您提供了对当前覆盖率的了解,您可以使用威胁情报来增加差距,然后通过编写分析来调整现有的防御。
长期而言,你不应该设想自己每周甚至每个月都要做一次评估。相反,你应该在你最近的评估上保留一个运行的标签,每次你得到新的信息时都更新它,并且定期运行对手模拟练习来检查你的结果。
随着时间的推移,网络的变化和收集的信息可能会产生意想不到的后果,从而降低先前测试过的防御的有效性。通过利用ATT&CK来展示你的防御是如何应对真正的威胁的,你将能够更好地理解你的防御姿态,并优先考虑你的改进。