查看原文
其他

如何基于沙箱的威胁情报平台上搭建ATT&CK展示界面?

安恒信息 E安全 2022-05-13

安恒安全研究院猎影威胁情报分析团队基于对ATT&CK部分公开资料的学习,梳理了一些学习心得,包括:

  • ATT&CK是什么?

  • 如何使用ATT&CK?

  • ATT&CK的优势、误区及展望?

  • 如何借助公开资料在基于沙箱的威胁情报平台上搭建ATT&CK展示界面?


学习笔记

基于对以下5个公开文档的学习:

• 《MITRE ATT&CK:Design and Philosophy》

• 《Putting MITRE ATT&CK into Action with What You Have, Where You Are》

• 《Improving Threat Intellingence and Cyber Defense with MITRE ATT&CK》

• 《ATT&CK™ Your CTI with Lessons Learned from Four Years in the Trenches》

《ATT&CK™ Is Only as Good as Its Implementation: Avoiding Five Common Pitfalls》


ATT&CK是什么?


ATT&CK的全称是Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK)。它是一个站在攻击者的视角来描述攻击中各阶段用到的技术的模型。


该模型由MITRE公司提出,这个公司一直以来都在为美国军方做威胁建模,之前著名的STIX模型也是由该公司提出的。


官方对ATT&CK定义如下:

MITRE’s Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK) is a curated knowledge base and model for cyber adversary behavior, reflecting the various phases of an adversary’s attack lifecycle and the platforms they are known to target.


技术域和平台


ATT&CK最直观的表现是一个矩阵。ATT&CK按照技术域(Technology Domains)和平台(Platform)进行了分类,如下:


Technology Domains

Platform(s) defined

Enterprise

Linux,  macOS, Windows,Cloud

Mobile

Android,  iOS


在具体的矩阵表示中,上述分类都是基于post-compromise阶段。为了对这之前的pre-compromise阶段进行描述,ATT&CK又建立了另外一个矩阵,叫做PRE-ATT&CK Matrix。


设计理念


  • It maintains the adversary’s perspective (基于攻击者视角)

  • It follows real-world use of activity through empirical use examples (借助先验案例追踪现实世界中的用法)

  • The level of abstraction is appropriate to bridge offensive action with possible defensive countermeasures (抽象层次恰好可以比较好地将攻击手法和防守措施联系起来)


抽象层次


根据官方表述,ATT&CK的抽象层次被定位在比较中间的阶段。我们来看一张图:


由上图可以看到,MITRE公司认为洛克西·马丁公司的Cyber Kill Chain模型是比较高层次的抽象。以下为洛克西·马丁官方给出的Cyber Kill Chain:


MITRE公司认为上面的模型对于理解高维度的过程和攻击者目标很有帮助,但这类模型无法有效描述对手在单个行动中做了什么,例如:

•一次行动与另一次行动之间有什么联系?

•连续的行动是如何与敌人的战术目标联系起来的?

•这些行动与数据源、防御、配置和其他被用在一个平台/技术域之间的措施间如何具体联系起来?


相反的,对于抽象层次比较低(或几乎没有抽象)的一些概念,诸如具体的漏洞利用数据集,各类恶意软件数据集。MITRE公司认为,这些概念在描述具体技术的实现细节方面是非常详细的,大部分还存在详细的代码片段。但它们的短板在于“只见树木,不见森林”。研究员在分析一个具体漏洞或利用时,或在分析一款具体的恶意软件时,并不知道它是什么时候在什么情况下被什么人使用的,从而缺乏有效的上下文。而且,这个层次的表述也没有考虑到一些合法的软件如何可以被用来实现恶意操作。


而ATT&CK这种中间层次的模型可以将上述这几个部分有效连接起来。ATT&CK中的战术和技术将一次生命周期中的攻击者行为定义到了一个能将其更有效映射到防御的程度。高级别的概念(战术),诸如控制、执行和维持被进一步分解为更具描述性的分类(技术)。而且技术的具体实现过程还可以细分,一项技术可以通过多种方式去进行实现。


一个中间层次模型也可以有效地将低抽象层级的概念(如漏洞利用、恶意软件)放入上下文中进行思考。漏洞利用和恶意软件对于攻击者的武器库来说是很有用的,但要完全理解它们的实用性,有必要了解它们在实现目标过程中的上下文。一个中间层次模也可以将威胁情报和事件数据联系起来,以显示谁正在做什么,以及特定技术的使用普遍性。


数据结构

MITRE在定义ATT&CK时,定义了一些关键对象:

•战术 (Tactics)

•技术 (Techniques)

•组织 (Groups)

•软件 (Software)


《MITRE ATT&CK:Design and Philosophy》一文中的第3节对这4个对象的数据结构进行了详细定义。以下是这4个对象之间的关系:

当对应到具体情境时原文举了一个APT28的例子:


关于这一节的详细信息可以阅读《MITRE ATT&CK:Design and Philosophy》


怎么用?


ATT&CK能用来干什么?以下是官方给出的答案:

•Detection (提升检测)

•Assessment and Engineering (评估与工程化)

•Threat Intelligence (威胁情报) 

•Adversary Emulation (APT模拟)

下面稍微列举一下提升检测部分可采用的做法。


Detection

•Improve focus on post-exploit activity (in addition to perimeter defenses) (主要关注利用后的活动)

–基于我们已有的日志(Sandbox logs)

–当前检测能力的覆盖率评估 (Coverage Rating)

–对每种检测的质量进行评级 (Quality)

–对每种检测的可信度进行评级 (Confidence)

•Move toward detecting adversary TTPs in addition to indicators (在迹象检测的基础上,逐步转移到迹象加攻击者TTPs的检测)

•Organize detections to enable:

–Finding gaps in coverage (找出覆盖率上的空缺)

–Tacking improvement over time (随时间推移逐渐改进这些空缺)

更多关于Assessment and Engineering/Threat Intelligence/Adversary Emulation 的用法请阅读《Putting MITRE ATT&CK into Action with What You Have, Where You Are》和《ATT&CK™ Your CTI with Lessons Learned from Four Years in the Trenches》


优势


当前问题

基于ATT&CK的威胁情报

需要阅读的报告太多

难以将情报应用到防御

依赖IOC

结构化的威胁情报,更便于消化APT报告

提供了一种直接将情报与防御进行比较的方式   

转向TTPs和基于行为的检测

外加:

•提供了一种可以用来沟通的通用语言

•允许我们比较APT组织(Groups)

这部分的详细信息可以阅读《ATT&CK™ Your CTI with Lessons Learned from Four Years in the Trenches》


误区

1.Don’t Assume All Techniques Are Equal (不要假设所有的技术都是等价的)

2.Don’t Try Building Alerts for Every Technique (不要盲目追求覆盖率,简单的、有效的、擅长的技术先来)

3.Don’t Misunderstand Your Coverage (每种技术的实现都是多样的,先实现那些已经公开的,一种一种来)

4.Don’t Stay in the Matrix (敌人永远有新手法出现,不要局限在Matrix内)

5.Don’t Forget the Fundamentals (那些基础的防御元素一样很重要,不要顾此失彼(安全意识训练、漏洞管理、最小权限原则))


这部分的详细信息可以阅读《ATT&CK™ Is Only as Good as Its Implementation: Avoiding Five Common Pitfalls》


挑战

•Being realistic about coverage (对覆盖率有比较现实的认识)

•Handling false positives 

–更多覆盖率意味着更多误报

–可以借助比较新颖的方式,如机器/深度学习等方式减少误报

•Getting and searching data (如何获得和搜索数据)


这部分的详细信息可以阅读《Improving Threat Intellingence and Cyber Defense with MITRE ATT&CK》


展望

•Improve and add to ATT&CK content (持续改进 ATT&CK 的内容)

–Sub-techniques (子技术)

–Impacts (影响)

–New technology domains (新的技术域)

•Continue to expand the ATT&CK community (持续扩张 ATT&CK 社区)

•Open up the development and governance of ATT&CK (开放 ATT&CK 的开发和管理)

•Create a new website and infrastructure that makes ATT&CK easier to use (创建一个新的网站和基础设施,让 ATT&CK 变得更好用)

这部分的详细信息可以阅读《Improving Threat Intellingence and Cyber Defense with MITRE ATT&CK》



其他参考链接

•Atomic Red Team

•《Threat Detection Report 2019》



ATT&CK矩阵展示可行性分析


我们假定读到这里的读者有沙箱系统开发经验,至少熟悉cuckoo的整套流程。看着国外各种云沙箱将ATT&CK集成到平台内,读者也许也在思考:如何比较快地将ATT&CK集成到自己正在为之工作的威胁情报平台?


下面笔者来分析一种可行性思考过程。


现状


• 目前国外主流沙箱产品都已经增加对ATT&CK的展示界面

  —Hybrid

  —Joe Sandbox

  —VMRAY

  —ANY.RUN


• 目前国外主要威胁分析厂商也都已在报告中加入ATT&CK相关描述


  —FireEye

  —Kaspersky

  —ESET

  —Unit42


需求描述

如果要在沙箱平台上增加对ATT&CK矩阵的展示,具体需要分为如下几个步骤:

1.在规则文件中增加ATT&CK的关联id(例如T10XX),并在保证后续命中后可以抽取对应字段

2.在任务结果展示界面增加一张完整的ATT&CK矩阵描述

3.对于每个任务,在界面展示时,提取相应的attckid,进行查询,要求如下:

1)将所有命中的attckid映射到大步骤2的大矩阵上

2)给一个attckid,查询其相应信息(以Joe Sandbox为例,主要是获取ID、Name、Description、Tactics、Data Source、Platforms、Urls这些信息以及对应命中的规则) (需要对应的查询数据库)

3)当用户点击某个命中的attckid方格后,弹出对话框,展示上面获取的的att&ck字段和对应的规则


前置工作

这里我们以原生cuckoo为例,下面是官方文档中对其规则命中格式的描述:

故而,要完成上述步骤1,读者必须想办法在cuckoo的规则文件中将相关attckid绑定到对应的规则,这不是什么难事,纯粹是体力活。


可行性分析

完成前置工作后,后面的问题主要是如何获取ID、Name、Description、Tactics、Data Source、Platforms、Urls这些信息。


获取所需信息

MITRE在github开源了一个cti项目,里面恰好有我们所需的数据。


该项目中的如下目录中存储着每一个Technique对应的详细信息。


https://github.com/mitre/cti/tree/master/enterprise-attack/attack-pattern


里面的每一个json文件代表了ATT&CK内一个具体的Technique。


以该文件为例。具体说明如下:

MITRE自己也在对应的说明文档中对相关字段进行了详细的解释:

所以,从可行性来看,基于cuckoo的沙箱系统可以在比较短的时间内完成对每个任务ATT&CK矩阵的展示工作。


(写这篇文章时)这部分一共244个json文件(现在可能有所增加),只要确保查找算法可以在用户可以接收的时间内将相应的信息展示到界面即可。


进一步展望

ATT&CK矩阵得到展示后,对应的威胁分析人员可以尝试用矩阵中TTP的相似性去关联同源APT样本,负责检测的人员也可以通过该矩阵去继续细化没有覆盖到位的检测点。


团队简介

猎影威胁分析团队是安恒安全研究院一支专注于攻防技术研究的团队,团队由一支擅长攻防技术研究、APT分析、二进制研究的年轻队伍组成。欢迎有志于安全检测、二进制研究和攻防技术研究的小伙伴加入我们团队。


招聘二进制安全研究员

职位描述:

1、在日常可疑文件分析的基础,进行数据挖掘,寻找APT攻击事件;

2、分析客户反馈的可疑文件,编写分析报告,提供解决方案等;

3、负责热门安全事件、最新漏洞的分析,编写分析报告或poc代码等

4、研究新的检测方法,维护和完善APT检测等产品策略

5、协助内部威胁分析平台建设等


职位要求:

1、熟悉windows、Linux上调试手段,能够熟练使用常用逆向分析工具(IDA、WinDbg、OD等);

2、熟悉C/C++、汇编语言,至少熟悉一门脚本编程语言,能快速完成POC代码编写;

3、熟悉病毒、木马通信原理和常用技术以及常见加密算法等;

4、熟悉安全漏洞原理,有独立文档漏洞分析能力;

5、至少1年以上逆向分析、安全研究相关工作经验,能力优先不受工作年限限制;

6、具备大数据挖掘能力,对数据极度敏感,能够快速对数据进行关联分析;

7、思路清晰,善于主动思考,有创新、能独立分析和解决问题,具有良好的沟通能力和团队合作精神;

8、有漏洞分析、病毒木马分析、Web攻防、威胁情报挖掘、反APT攻击、机器学习相关、IOT、ICS等工作经验的优先。


联系方式:

xiaoyi.tu@dbappsecurity.com.cn


注:本文由E安全编译报道,转载请注原文地址 
https://www.easyaq.com

推荐阅读:


▼点击“阅读原文” 查看更多精彩内容


喜欢记得打赏小E哦!



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存