一 前言

看到很多友商宣称的响应闭环处置的方案中,对于检测的内容介绍的较多,但是对于分析和响应处置的部分的介绍都大致相同,特别是响应处置的部分,要么就是阻断、要么就是隔离,响应处置的场景单一,严重制约着SOAR或XDR的发展和“最后一公里”的落地应用。

本着“摸着鹰酱过河”的思路,对现有的几个安全分析框架和模型规范中与Course of Action应对措施相关的内容进行系统性分析和梳理,希望能对从事自动化响应处置、智能运营相关工作的同行有一些帮助和启发。其中,将ATT&CK框架中的Mitigation缓解措施、MITRE的Shield框架中的Active Defense主动防御、STIX模型中的Course of Action应对措施、IACD编排模型中的功能和能力、RE&CT框架中的Incident Response应急响应等内容都纳入Course of Action应对措施的范畴。

二 ATT&CK框架中的Mitigation缓解措施

谈到ATT&CK框架[1],很多人想到的ATT&CK矩阵中的Tactic攻击战术和Technique攻击技术/Sub-Technique攻击子技术,但实际上ATT&CK框架是由五部分内容组织,分别是:Tactic攻击战术、Technique攻击技术/Sub-Technique攻击子技术、Adversary Group攻击团伙、Software软件、Mitigation缓解措施,它们之间的关联关系如下图所示:

其中,Mitigation缓解措施可以看作是Course of Action应对措施的一种。在最新的ATT&CK V8.2中,介绍了42种Enterprise Mitigations企业场景缓解措施和13种Mobile Mitigations移动场景缓解措施,其中一项Mitigations缓解措施对应于一个或多个ATT&CK Technique/Sub-Technique攻击技术/子攻击技术。

以M1049 Antivirus/Antimalware为例[2],该缓解措施可用于攻击技术T1547.006 Boot or Logon Autostart Execution: Kernel Modules and Extensions启动或登录自动启动执行 :内核模块和扩展、T1059 Command and Scripting Interpreter命令和脚本解释器、T1027 Obfuscated Files or Information混淆的文件或信息、T1566 Phishing网络钓鱼和T1221 Template Injection模版注入的攻击缓解。

整体而言,对于ATT&CK中的Mitigation缓解措施是针对Techniques攻击技术的有效补充,使得整个ATT&CK框架更加完整。但是在Mitigation缓解措施的体系化构建、Mitigation缓解措施的完备性和指导落地方面,仍然有较大的补充和改进空间。

对于ATT&CK框架,想了解更多,请查看文章:从ATT&CK看威胁情报的发展和应用趋势

三 Shield主动防御框架

Shield主动防御矩阵[3]也是由MITRE提出的,针对ATT&CK中的攻击技术,进行主动防御策略介绍的内容。与ATT&CK中的Mitigation缓解措施对比,Shield模型更加体系化。Shield主动防御框架主要包括Tactics战术阶段、Techniques防御技术、Procedures程序、Opportunity Space机会空间和User Cases用例等几部分内容。

类似于ATT&CK框架,Shield主动防御框架的Tactics战术阶段主要介绍了防御人员选择主动防御技术的具体效果。共包括分为八部分内容:Channel渠道、Collect收集、Contain包含、Detect检测、Disrupt扰乱、Facilitate促进、Legitimize合法化、Test测试。说明如下:

Shield模型的Techniques防御技术则重点描述了防御者可以执行的一般动作,共介绍了33项防御技术,覆盖了8个Tactics战术阶段。以DTE0014 Decoy Network诱饵网络[4]为例,其描述为:用一组目标系统创建网络以实现主动防御,用于安全地执行可疑恶意代码的动态分析,实现与攻击者的攻防对抗。

其中,Opportunity Space机会空间是描述攻击者使用他们技术时引入高级主动防御的可能性,在本防御技术中主要介绍了四个Opportunity Space机会空间,包括:DOS0003长期接触以观察TTP、DOS0020部署前对软硬件的诱饵网络进行测试和验证、DOS0231动态创建诱饵网络延长攻击者的接触时间和DOS0251在诱饵网络中引入服务以判断攻击者对特定服务的试探。如下:

User Cases用例是对防御者如何利用攻击者的行为所带来机会的高级描述,有助于讨论特定的实现过程,本防御技术重点介绍了四个用例:DUC0003攻击者使用诱饵网络作为攻击资源、DUC0020防御者在诱饵网络中安装特定软硬件用于识别攻击者的异常行为、DUC0231创建诱饵网络吸引攻击者、DUC0251利用诱饵网络和植入的云服务以查看攻击者的资源利用情况。如下:

Procedures程序是一种防御技术的实现,本防御技术重点介绍了两个程序实现。本防御技术重点介绍了两个程序:DPR0027创建一个孤立的诱饵网络以研究攻击者TTP、DPR0028使用隔离网络访问受损站点。如下:

最后是该主动防御技术可以应用的ATT&CK攻击技术场景,主要有5个攻击技术,包括:T1189 Drive-by Compromise路过式攻击、T1195 Supply Chain Compromise供应链攻击、T1482 Domain Trust Discovery域信任发现、T1526云服务发现Cloud Service Discovery、T1590 Gather Victim Network Information收集受害者网络信息。如下:

总的来说,Shield模型更体系化和结构化,但是对于讨论的Course of Action应对措施,Shield模型介绍的内容更多侧重在事前的主动防御措施,而对于事中、事后的响应和处置,则存在一定的欠缺和不足。另外,Shield模型还不够成熟和完善,虽然涵盖了8个Tactics战术阶段,但是目前只涵盖了33个主动防御技术,仍需要进行持续完善和改进优化。

四 STIX模型中的Course of Action应对措施

作为安全分析和共享处理的最好安全元模型参考,STIX的多个版本模型中都有对Course of Action应对措施的介绍,以最新包含18个元素的STIX 2.1模型为例,对每个元素元素的介绍主要包括属性和关系两部分[5]。

Course of Action对应措施是为防止攻击或响应正在进行的攻击而采取的行动。属性部分介绍的内容则是Course of Action应对措施的数据模型字段内容的说明。

关系则描述了在STIX 2.1模型中,Course of Action应付措施与其它元素之间的关联关系,包括investigate调查、mitigates缓解和remediates补救等,如下图所示:

值得注意的是,虽然在STIX 2.1模型中,对于Course of Action应对措施的内容,并没有使用单独的Vocabulary词汇表来枚举Course of Action的内容,但是早在STIX1.x中[6],对于Course of Action应对措施的词汇表项已经有一些介绍,如下表所示:

而另外STIX2.1对Course of Action应对措施的补充注释中,有这样的一段话:“Note: The Course of Action object in STIX 2.1 is a stub. It is included to support basic use cases (such as sharing prose courses of action) but does not support the ability to represent automated courses of action or contain properties to represent metadata about courses of action. Future STIX 2 releases will expand it to include these capabilities.(注意:stix2.1中的Course of Action对象是存根。它支持基本用例(如共享应对措施),但不支持表示自动应对措施的功能,也不支持包含表示行动方案元数据的属性。未来的stix2版本将扩展它以包含这些功能。)”,可以预期,后续的STIX2.2版本或更晚版本中,将对Course of Action应对措施元素进行进一步的扩展和更新,以更好的支持自动化的响应和处置。STIX模型的更新和迭代将不断带来惊喜,值得期待。

整体而言,STIX模型对Course of Action应对措施的详细字段内容和关联关系进行了细化,便于整体管理和落地应用,虽然最新的STIX2.1版本中并没有Vocabulary词汇表的内容,但早期版本的词汇表项中可以看到STIX对Course of Action应对措施详细内容和分类早有考虑,后续更新版本值得期待。

对于STIX2.1模型,想了解更多,请查看文章:从STIX2.1看安全智能归来

五 IACD中的能力抽象

IACD作为SOAR安全编排和响应的一个较全面、完整的参考模型[7],其编排模型对安全攻击和产品的功能、能力和活动进行了抽象。

其中就包括对响应处置的抽象,如在Functions功能中的Generate Reports生成报告、Update Inventory更新库存、Provide Alerts提供告警、Track User Behavior追踪用户行为、Block Ports阻断端口等内容,在Capabilities能力中的Enrich丰富、Forecast预测、Mitigate缓解、Respond响应等内容,以及在Activities活动中的Collecting收集、Investigating调查、Acting行动、Recovering恢复、Preventing组织、Protecting保护等内容,都可以看作是Course of Action应对措施的一部分。

总的来看,IACD模型对功能、能力和活动的抽象,可以极大的丰富Course of Action应对措施的场景,有效扩展分析处置的思路,并提升响应处置的灵活性。

对于IACD模型,想了解更多,请查看文章:IACD集成的自适应网络防御框架

六 RE&CT框架

RE&CT框架也是基于ATT&CK理念进行设计,主要是为积累、描述和分类可操作的事件响应技术而设计的[8]。

主要包括Response Stages响应阶段、Response Actions响应措施两部分内容,其中RE&CT框架设计了6个Response Stages响应阶段,如下:

Response Actions响应措施部分则涵盖了212个内容,单个响应措施内容主要介绍了响应措施的描述、类别、依赖条件和工作流内容。以RA3105阻断外部URL为例[9],描述为:阻断外部URL为公司资产访问,类别为:网络,依赖条件:MS_border_proxy、MS_border_ips、MS_border_ngfw、MS_dns_server,工作流程为:使用最有效的方式阻止外部URL被公司资产访问。如下图所示:

另外,RE&CT模型将响应操作ID的第二位数字,作为响应操作处理内容的类别。分类如下:

  • 数字为0,概述

  • 数字为1,网络

  • 数字为2,电子邮件

  • 数字为3,文件

  • 数字为4,过程

  • 数字为5,配置

  • 数字为6,标识

值得注意的是,RE&CT框架继承了ATC项目(Atomic Threat Coverage,原子威胁范围)[10]中的Actionable Analytics可执行分析,这意味项目响应处置的分析支持三种场景:

  • 人读的(.md文件),用于响应操作中的共享和使用

  • 机读的(.yml文件),用于自动处理/集成

  • 可执行的(.json文件),用于事件响应平台模版

并支持机读.yml文件向人读.md文件和事件响应平台可执行模版.json文件的转化。

整体而言,RE&CT更侧重可操作、可落地的响应处置技术,对于响应阶段的分类和应对措施的描述,更容易理解和上手,目前看来,RE&CT是构建Course of Actions应对措施体系的最好参考。

七 总结

通过对ATT&CK框架中的Mitigation、Shield主动防御框架、STIX模型中的Course of Action应对措施、IACD中的能力抽象和RE&CT框架等与Course of Action应对措施相关的内容进行分析,可以看到不同框架或模型的应用场景和思路的差异,同时可以看到自动化响应处置的发展趋势。

总结如下:

1、未来的响应处置框架是同时支持人工处理和机器自动处理的;

2、RE&CT框架是当前构建Course of Actions应对措施体系的最好参考,但Response Actions响应措施的内容,可以参考ATT&CK框架中的Mitigation缓解措施、Shield主动防御框架和IACD中的能力抽象进行补充和完善。

3、STIX模型将对Course of Action应对措施元素进行进一步的扩展和更新,以更好的支持自动化的响应和处置,STIX依旧是安全分析和共享处理的最好安全元模型参考。

参考资料

[1] ATT&CK框架,https://attack.mitre.org

[2] M1049 Antivirus/Antimalware,https://attack.mitre.org/mitigations/M1049/

[3] Shield框架,https://shield.mitre.org/

[4] DTE0014 Decoy Network诱饵网络,https://shield.mitre.org/techniques/DTE0014/

[5] STIX2.1委员会规范,https://docs.oasis-open.org/cti/stix/v2.1/cs02/stix-v2.1-cs02.html

[6] STIX1.2应对措施词汇表项,http://stixproject.github.io/data-model/1.2/stixVocabs/CourseOfActionTypeVocab-1.0/

[7] IACD参考模型,https://www.iacdautomate.org/conceptual-reference-models

[8] RE&CT框架,https://atc-project.github.io/atc-react/

[9] RA3105阻断外部URL,https://atc-project.github.io/atc-react/Response_Actions/RA_3105_block_external_url/

[10] Atomic Threat Coverage,原子威胁范围,https://github.com/atc-project/atomic-threat-coverage

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