ATT&CK相关项目调研
最近想基于 ATT&CK
的模型做一个分析工具,ATT&CK
本身有几个相关的工具,于是看一下能不能作为参考。
ATT&CK
相关项目链接为:https://attack.mitre.org/resources/related-projects/
主要了解的项目是:
CAR
The Cyber Analytics Repository (CAR) is a knowledge base of analytics developed by MITRE based on the ATT&CK® adversary model.
CAR
是MITRE公司基于 ATT&CK
攻击者模型发展出来的网络攻击行为分析仓库,该仓库包含各种应用 ATT&CK
攻击实例分析数据。
CAR
定义了一个使用伪代码表示的数据模型,每一个模型表示一个攻击利用,针对不同的具体应用还会有不同实现。
说明文档指出,存储在 CAR
里的实例分析数据还包括以下信息:
- 用来解释攻击思路的推断
- 分析对象所在域(比如主机、网络、进程等)
- 分析发现的
ATT&CK
技术和战术 CAR
的字段解释 the Glossary- 实施分析的伪代码
- 触发分析的单元测试
总之,CAR
是攻击案例的分析数据库,分析包括攻击的技术、战术,攻击检测方法和单元测试等信息。
CASCADE
CASCADE is a research project at MITRE which seeks to automate much of the investigative work a “blue-team” team would perform to determine the scope and maliciousness of suspicious behavior on a network using host data.
CASCADE
是用来帮助分析高级攻击行为的一个平台,可以识别和搜索已知的攻击行为。CASCADE
可以通过上下文使部分分析操作自动化,比如进程捕获和 ATT&CK
技术识别。
本质上 CASCADE
的工作是查询分析,并且输出结果,CASCADE
需要定义数据模型作为输入,此处的数据模型基于 CAR
中的数据模型,主要包括:
object
:已更改、访问或操作的资源的名称,可以包括操作系统级别的实体,例如进程、文件、网络连接和线程action
:描述资源实际发生了什么,例如创建或者终止进程,可以创建、写入、读取或删除文件field
:描述事件的属性名称,如果创建了一个进程,那么可以保存进程的ID或者执行文件的路径或命令参数
分析是基于会话的,每一个会话就是一个时间窗,分析将在时间窗上进行。
分析方法
Analytics are essentially queries created to detect specific behaviors.
CASCADE
的分析方法本质上是对不同的特定行为的查询。可以理解为基于规则的查询。
在给出的示例 brawl-demo
中,有选择分析规则的配置:
外部分析部分对应的代码:
1 | class ExternalAnalytic(Analytic): |
代码中 platform
部分对应的平台就是配置的外部数据库,在 brawl-demo
中是配置的 ElasticSearch
数据库,连接数据库创建会话后执行上图中的分析,调用的代码即为上述代码。
CALDERA
CALDERA is an automated adversary emulation system that performs post-compromise adversarial behavior within Windows Enterprise networks.
CALDERA
是一个自动攻击仿真系统,模拟攻击者攻入网络后的行为。
CALDERA
可以模拟攻击者协助红队实施手动渗透并且实施自动化事件响应。
启动该服务器后可以进行代理 agent
配置,红队的 agent
用于控制和通信,蓝队的 agent
用于检测和相应,还可以配置攻击者,让攻击者自主发动攻击。攻击者具有攻击决定引擎判断接下来是用什么攻击。
总结
CAR
中主要问攻击分析的案例数据,对于分析工具的开发启发不大,如果分析基于结构化数据,可以考虑使用该仓库中的数据。
CASCADE
基于 CAR
中的数据进行时间窗分析,使用基于规则的方法,输入的是结构化的数据,根据规则进行分析和事件关联。可以考虑使用结构化数据,在此基础上考察一下其他分析方法。
CALDERA
是攻击者模拟仿真系统,如果要开发仿真系统,可以参考其思路和具体实际方法。