zoukankan      html  css  js  c++  java
  • 细述MITRE ATT&CK框架的实施和使用方式

    在之前的文章——《一文看懂ATT&CK框架以及使用场景实例》中详细介绍了ATT&CK框架的概念和使用场景,相信大家对ATT&CK框架一定有了初步的了解,都知道了MITRE ATT&CK框架是用于构建检测和响应步骤的一个框架模板。下面笔者将介绍如何将 ATT&CK知识库中的内容应用于企业环境中。这也是很多安全人员所关注的内容。

    但是MITRE ATT&CK框架中有好几百种技术,并且会随着新技术的推出以及人工智能和机器学习系统的部署而逐渐扩大。那么企业应该从哪里入手?该如何确定优先级?又该如何构建和管理已开发的检测方案呢?

    正如《孙子兵法》中所说“知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。”同理,许多安全计划的第一步也是了解自己。

    一、了解自己,建立威胁模型

    首先了解公司的业务驱动因素、业务运作方式、公司资产排序、知识产权(IP)以及推动业务和企业发展的内部系统。了解如果这些业务资产、数据、IP或系统中的任何一项遭到攻击,会产生什么样的影响。可以设想一下,如果外部攻击者获得了通往企业的“密道”,他们会想要什么?他们的目标是什么呢?如果知道攻击者的重要目标是什么,那么就可以针对攻击者为了获取最有价值的资产可能会采用的技术,并以此采取针对性措施。

    二、选择检测方案所使用的技术

    面对ATT&CK那么多种技术,该如何选择制定检测方案所用的技术呢?查看 ATT&CK 矩阵,可以发现其架构从左到右是按入侵时间顺序排列的,与攻击者最终采用的步骤顺序密切相关。例如,最左侧是初始访问,它代表攻击者开始对企业进行攻击。

    当企业在矩阵中向右移动时,攻击者正在不断推进,并根据需要使用右侧的这些技术。安全人员不能只是从最左侧开始建立检测方案,然后逐步向右移动。当然,也不能随机选择任何技术。因此,选择与公司的敏感数据、系统和资产最相关的技术才是根本。

    三、了解不同技术的攻击难度

    企业如何进一步缩小ATT&CK技术范围呢?由于MITRE ATT&CK越来越受欢迎,并且很多人都愿意共享信息,因此许多开源和公共资源都可以作为参考资料。例如,有人按照攻击难度来组织ATT&CK矩阵,如下图所示ATT&CK框架颜色标记的图例是根据下表1技术分类制定的。该技术分类表示,从上到下,难度越来越高。

    表1:技术分类

    图1:使用ATT&CK导航器应用难度色码后的ATT&CK框架

    四、查看数据源及子数据源

    当确定要在检测方案中实施相关检测技术时,需要确保有适当的数据源来实施针对该技术的检测方案。如下图所示,对于图片中的“注册表中的凭据”,数据源包括“Windows注册表”、“0rocess命令行参数”和“进程监视”。有一些检测候选方案需要一定的数据源要求,每个技术的步骤都有与之相关的数据源。例如T1214:

    图2:T1214的数据源

    企业在使用ATT&CK之前,需要先了解一下在自己企业环境中,能够提供不同的ATT&CK技术的通用数据源,然后确定要实施的技术检测方案的优先级。

    图3:ATT&CK技术和数据源

    如果企业可以集成上述三个数据源,就可以最大程度地增加可以创建的检测方案。另外,为了更好地了解实现不同ATT&CK技术所需的数据源的整体情况,下文将重点介绍了检测方案对数据源的要求。

    图4:ATT&CK数据源优先级(1)

    图5:ATT&CK数据源优先级(2)

    此外,ATT&CK命名的几乎每个高级数据源都包含子数据源(该数据源的不同形式)。重要的是要了解,可以访问哪些数据源以及这些子数据源提供哪些内容。仅找到其中一项子数据源是远远不够的。需要了解自己还缺少哪些内容,才能弥合自身在检测功能方面的差距。

    实施不同的相关技术检测方案,例如通过Mimikatz或Rubeus进行哈希传递时,可以分析哪些技术与自身组织更相关,从而减少检测特定技术所需的子数据源数量。例如,有66种不同的技术都需要文件和进程监视数据源。

    图6:文件与进程检测(66种技术)

     

    但是,企业相关技术可能只需要子数据源的一个子集。

    图7:文件与进程检测(技术变化)

     

    例如,可以使用两种不同的方法(Mimikatz和Rubeus)来执行和检测一种技术(哈希传递)。

    图8:Mimikatz数据映射——哈希传递——T1075

    图9:Rubeus数据映射——哈希传递——T1075

    显示子数据源子集的目的是,如果威胁情报表明某个版本与公司的环境相关性更大,则企业可以专注于这个版本,这会可以提高检测方案的效率。

    五、选择合适工具进行数据整合

    在了解数据源的物理来源以及事件与这些物理数据源的关系之后,需要有一个信息存储库及相应的查询方式。可以使用图形数据库,并根据数据字典和公共信息模型中的信息实现类似于以下图表的内容:

    图10:信息存储库模型

    数据整合工作量非常大,这个过程可以选择一些开源工具辅助进行,例如Osquery等。OSquery可以收集环境中各主机的信息,并将数据聚合到表格中。可以使用类似SQL的查询来访问表格中的数据并编写检测方案,因此对于接触过关系型数据库的人来说难度并不大。

    此外,OSquery可以创建查询集合,映射到ATT&CK中的目标TTP,进行威胁捕获。安全人员可以即时创建和执行在线实时查询。有些查询可以识别网络攻击者,这些查询可以集成到安全信息和事件管理(SIEM)系统中来。

    当然企业也可以购买一些商用的平台,当然在购买这些工具时,需要考虑以下几点:

    ①支持哪些数据源?

    该工具在多大程度上支持特定数据源?该工具使用哪种子数据源来支持特定数据源?涵盖哪些技术,涵盖范围有多大?

    ②了解不同工具的功能和局限性

    确保该工具支持自己企业环境中的特定数据源,可以检测不同的MITRE ATT&CK技术。

    ③了解该工具提供何种级别的子数据源支持

    如果该工具声称支持Windows注册表,它是否支持创建、删除、修改和访问注册表键值?同时,企业也需要验证、审核或测试工具供应商提供的各种功能。查看该工具是否能够与企业现有的SIEM和安全编排、自动化和响应(SOAR)基础结构集成在一起。确保能够将数据推送到SIEM和SOAR基础架构,或从中抽取数据来丰富调查结果,减少误报。

    ④在检查产品时,了解不同类型警告之间的差异

    例如,可以通过工具提供一些与检测方案有关的不同级别的信息。一些工具提供信息类型的事件,其他工具提供有关MITRE ATT&CK技术的特定参照信息,并对有关事件进行更深入的说明。当然提供的信息越丰富,后期进行事件分类时所需的工作就越少。

    写在最后

    当然,ATT&CK也不是一家独有的秘籍,所有攻击者与防守者一样,都有MITRE ATT&CK框架的访问权限,因此攻击者知道企业将会使用哪种数据源以及如何检测这些数据源的。因此,企业也需要了解攻击者采用了哪些技术来绕过自己的检测和防御措施。例如,攻击者可能会创建错误和误导性信息,让终端检测和响应解决方案失去作用。例如,暂停一个最初创建的进行,并进行日志记录,然后修改其运行时命令和参数,然后继续执行该进程,让攻击者提供的命令得以执行而不被记录下来。然后将命令改写回其合法版本,骗过运行时分析工具。

    因此,青藤云安全认为,安全人员也需要与时俱进,了解攻击者的“欺骗手段”,才能让ATT&CK发挥更大价值。

  • 相关阅读:
    171 01 Android 零基础入门 03 Java常用工具类02 Java包装类 01 包装类简介 01 Java包装类内容简介
    170 01 Android 零基础入门 03 Java常用工具类01 Java异常 08 Java异常总结 01 异常总结
    169 01 Android 零基础入门 03 Java常用工具类01 Java异常 07 异常链 01 异常链简介
    168 01 Android 零基础入门 03 Java常用工具类01 Java异常 06 自定义异常 01 自定义异常类
    167 01 Android 零基础入门 03 Java常用工具类01 Java异常 05 使用throw和throws实现异常处理 02 使用throw抛出异常对象
    166 01 Android 零基础入门 03 Java常用工具类01 Java异常 05 使用throw和throws实现异常处理 01 使用throws声明异常类型
    165 01 Android 零基础入门 03 Java常用工具类01 Java异常 04 使用try…catch…finally实现异常处理 05 return关键字在异常处理中的使用
    DevExpress WPF v20.2版本亮点放送:全新升级的PDF Viewer
    界面控件DevExpress使用教程:Dashboard – 自定义导出
    DevExpress WinForms帮助文档:表单控件
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/13705911.html
Copyright © 2011-2022 走看看