初识ATT&CK框架
前言:

ATT&CK这一概念自2014年提出时起,作为安全分析领域中的前沿研究一直在默默地发挥着自己的影响,但是由于其概念在当时过于超前以至于并没有引起多大反响,直至2019年的红蓝对抗赛这才把ATT&CK框架重新推回到了安全圈的C位上,接下来的三期内容,美创安全实验室将为大家带来ATT&CK模型的独家解读,好了,废话不多说Let‘s go!

但是要是想完全弄懂ATT&CK模型到底是什么,那么有一个相关概念以及问题必须要先弄懂。还请大家耐心看完。

什么是威胁情报?
威胁情报又称IOC(Indicator of compromise)。一般为网络流量中或者操作系统上观察到的能高度表明计算机被入侵的痕迹,例如某某病毒的Hash值、C&C服务器的IP地址等等。简单来说,威胁情报就像是当计算机被入侵时所表现出来的某种特征,我们将这些威胁情报搜集起来整理成库,当计算机再次表现出库中的某些特征的时候我们就可确定计算机已经被入侵了,这样我们可以制定更好的安全策略来规避以上问题。

那么是不是只要有足够的 IOC,我们就可以规避所有风险?
众所周知,在网络安全领域中白帽子相比于黑帽子来说是处于弱势的一方,那么造成这种“安全难做”情况的根本原因在于攻守双方的信息不对称。但是当白帽子掌握了足够多的IOC之后是否能守住黑客的所有攻击呢,答案当然是不可能的。即使白客拥有某黑客之前攻击产生的所有IOC,但是当黑客随便更改一下IP地址或者域名就可以产生新的IOC,且成本低廉。如果不知道黑客的攻击手法或者入侵行为仅靠IOC的信息量,并不能规避所有的风险。

Ok,现在我们得到结论:IOC能够帮助我们指定更好的安全策略,而且IOC信息量的多少也能影响最终防护效果,但IOC并不能表达攻击者如何与受害系统交互,且只能表示是否受害而无法体现其过程。 因此,为了解决上述问题,ATT&CK模型也就油然而生了。
ATT&CK模型简介:

ATT&CK全称是Adversarial Tactics, Techniques, and Common Knowledges,即对抗战术、技术和常识。从这个组合名称就可以看出,ATT&CK不是单单某一项技术,而是很多战术、技术、知识的汇总或者集合,可以看作是一个更加底层的“知识库”。“战术”指的是ATT&CK的技术原因,是攻击者执行行动的战术目标,涵盖了攻击者在操作期间所做事情的标准和更高级别的表示。而“技术”指的是攻击者通过执行动作实现战术目标的方式,或者执行动作而获得的内容。在ATT&CK矩阵中可以到看到战术和技术的关系,可能有很多种方法或技术可以实现战术目标,因此每种战术类别有很多种技术。

ATT&CK的关注点从单点IOC信息转移到了上下文信息,并用更加标准和抽象的方式总结形成了包含:初始访问、驻留、横向移动、命令控制等阶段。ATT&CK完美解决了IOC无法描述攻击过程的这一痛点,他对攻击性操作进行细分和分类,形成一种完善统一的参照标准,极大的减少了安全分析中整理总结的成本。

目前ATT&CK模型由三部分组成,如下图:

    PRE-ATT&CK:攻击前的准备,例如优先级定义、目标选择、信息收集、发现脆弱点、攻击性利用开发平台,建立和维护基础设施、人员的开发、建立能力和分段能力等。
    Enterprise:攻击时的部分已知技术手段,例如访问初始化、执行、常驻、提权、防御规避、访问凭证、发现、横向移动、收集、数据获取、命令和控制等。
    Mobile:移动端的部分已知技术手段、移动框架和Enterprise类似,只是适用的平台不同。
    在这里插入图片描述

ATT&CK for Enterprise将网络安全事件划分为12个阶段。初始访问阶段、执行阶段、持久化阶段、提权阶段、防御规避阶段、凭证访问阶段、发现阶段、横向移动阶段、采集阶段、命令与控制阶段、渗出阶段、影响阶段。攻击手法和各阶段的映射关系如下图所示:
在这里插入图片描述
ATT&CK对安全分析的帮助

ATT&CK早在2014年提出以来就全世界的安全分析领域中如火如荼的发挥着影响,尤其是近两年的热度呈指数级增长,如下图所示。众所周知ATT&CK框架是从攻击战术和技术两方面来构建知识资源库的,而这也正好是安全分析中研究的重点。但是在安全分析中一直存在着两大难题:上下文检测以及统一标准的缺失。
在这里插入图片描述

先来谈谈上下文检测,目前分析、检测的基础还是以IOC为主,例如病毒样本的HASH值、域名、IP、注册表、流量等信息都属于IOC特征信息,IOC只能表示“是与否”、“黑与白”,它反映的是现在所处的状态和发生的事件,是不具备能表达“攻击过程”这种具有方向性的特性的。 除此之外,IOC还有一个缺点就是不稳定性,特别是Hash、IP这种,攻击者可以轻易改变。许多时候,多个 IOC 其实表达的是同一个攻击过程。IOC 方便检测、但是不善于描述攻击。

其次再来谈一谈统一标准的缺失,在安全研究领域一直有一些比较有先见之明的能人,他们在几年以前就一直在尝试推动建立能被更多人认可的标准模型,例如面对威胁信息分享的模型时,MITRE定义了STIX模型;以及更加著名的洛克希德·马丁定义的杀伤链 Lockheed Martin Cyber Kill Chain。其实无论是Kill Chain(杀伤链)还是SITX模型等等都具有很高的现实意义,虽然他们能在一定程度上帮助分析人员在威胁建模,防御检测方面提供比较完善的理论支持。但是现阶段没有成熟的方法,将攻击描述规范化向分析模型映射。特别是TTP(战术、技术、过程)方面,目前还没有统一的描述标准,信息交换方面存在沟通成本。

从上面的研究中我们可以看出,无论是IOC还是SITX模型都在尝试用一个个攻击节点来描述一个完整的攻击过程,而此时ATT&CK的横空出世就像是胶水一样,很好的将每个节点粘合到了一起。丰富且适用的字典可以帮助 IOA、SITX 或其他的一些实践方法进行落地,让攻击描述可以聚焦于更加抽象的过程总结,而不必纠结这个攻击的实际步骤。并且采用统一的描述方法,可以更好的进行信息交换,降低数据转入转出成本,提高信息适用性和可拓展性。 并且运用时拿攻击步骤在到 ATT&CK Enterprise中去对应就够了,匹配效率比总结效率高得多。
ATT&CK和态势感知

ATT&CK的关注点是上下文连贯的动作,而态势感知又恰好是根据在一段时间和空间中观察到的元素,同时理解这些元素的意义并预测这些元素在将来的状态,这一点与ATT&CK可以说是不谋而合。

为了防止有同学不清楚态势感知的感念,先说一下何为态势感知,所谓态势感知,总共分为三个阶段:观察、理解和预测。观察就是收集可观测对象的状态和事件,理解就是规整观察到的对象反映出的问题,预测是观察到的对象对未来的影响。通过态势感知我们就可以根据用户提供的上下文信息来动态决定我们的安全策略。

在态势感知系统中,观察数据的分类、归并、关联分析等阶段可以借助ATT&CK对其进行沉淀和格式化表达,使用ATT&CK可以更好地对融合的信息进行综合分析。ATT&CK和杀伤链模型有密切的联系,杀伤链模型同样也适用于态势感知系统中的某些功能。但是需要强调的是:杀伤链预测不等同于态势预测。
在这里插入图片描述
杀伤链还原是对已发生攻击事件的复盘推演,而态势预测是对未来可能发生的事情进行预测。杀伤链分析的对象是攻击线,而态势感知分析的对象网络环境。杀伤链预测的结果可以反馈给态势感知系统形成态势预测的资料。ATT&CK可以帮助杀伤链还原量化指标,杀伤链还原可以帮助态势感知进行态势理解和行为预测。
总结:

本期的ATT&CK模型简介到这里就结束了,下一期美创安全实验室将继续给大家带来ATT&CK系列文章的第二篇,有关ATT&CK的落地与应用知识的分享,希望大家继续关注。
————————————————
版权声明:本文为CSDN博主「美创安全实验室」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38103658/article/details/106077779

att&ack学习笔记4的更多相关文章

  1. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  2. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  3. Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...

    下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...

  4. TIMAC 学习笔记(二)

    昨天大体上熟悉了TIMAC自带的CC2530的示范例程,今天先从演示抓包入手,分析四种不同的配置工程在空中传输的差异.随后,会按照扫描.组网.入网等MAC层接口函数入手,结合IEEE 802.15.4 ...

  5. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  6. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  7. ZooKeeper 学习笔记

    ZooKeeper学习笔记 1.   zookeeper基本概念 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和Habase的重要组件,是为分布式应用提供一致性服 ...

  8. 基于51单片机IIC通信的PCF8591学习笔记

    引言 PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入.一个输出和一个串行I2C 总线接口.3 个地址引脚A0.A1 和A2 用于编程硬件地址,允许将最多8 个器件连接 ...

  9. 基于51单片机IIC通信的AT24C02学习笔记

    引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter ...

  10. 基于I2C总线的MPU6050学习笔记

    MPU6050学习笔记 1. 简述 一直想自己做个四轴飞行器,却无从下手,终于狠下决心,拿出尘封已久的MPU6050模块,开始摸索着数据手册分析,一步一步地实现了MPU6050模块的功能,从MPU60 ...

随机推荐

  1. [nRF24L01+] 1. 硬件设计

    nRF24L01pluss_REFERENCE_MODULES.pdf nrf24l01p_product_specification_1_0.pdf 1. 硬件设计 1.1. 实物图 [左边是PCB ...

  2. md2pdf

    https://www.pandoc.org/installing.html https://github.com/jgm/pandoc/releases/tag/2.18 https://blog. ...

  3. Win32 API 读取文件

    昨天又用Win32来读取文件的时候,又出现了字符编码的问题. 用TCHAR字符来写文件呢,用系统的记事本打开是乱码. 用CHAR字字符来写呢,在读取汉字的时候后面有一串乱码, 用CHAR[]数组读取就 ...

  4. Linux 网络设备命名规则

    在 Linux 系统中,网络接口的命名规则已经经历了几次重要变化,特别是从传统的以 eth 和 wlan 开头的名称,转变到更现代.更具描述性的命名方式.以下是这些变化的概述: 1. 传统命名约定 在 ...

  5. Android升 Androidx 语系切换失效

    背景: 一个很旧的Android项目,android升androidx 切换语系失败,debug的时候,传的语系值是对的,但是确实没有国际化效果 原因: 经过一番学习,原因是使用 implementa ...

  6. DPABInet做 Network Contruction时一直报错“函数或变量 'nets_netmats' 无法识别”

    DPABInet模块做 Network Contruction时一直显示报错"函数或变量 'nets_netmats' 无法识别",是因为没有将FSLNets导入路径,所以找不到该 ...

  7. 鸿蒙(HarmonyOS)常见的三种弹窗方式

    最近有一个想法,做一个针对鸿蒙官方API的工具箱项目,介绍常用的控件,以及在项目中如何使用,今天介绍Harmony中如何实现弹窗功能. 警告弹窗 警告弹窗是一个App中非常常用的弹窗,例如: 删除一条 ...

  8. 物体检测序列之一:NMS

    IoU (Intersection over Union),交并比,是衡量物体检测模型在特定数据集上检测效果好坏的一个常用的标准,通常情况下,想要通过IoU来衡量物体检测模型好坏需要具备以下几点: 1 ...

  9. ES6之常用开发知识点:let 和 const 命令详解(二)

    let命令 基本用法 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 根据上面结果显示,let声明的变 ...

  10. Angular Material 18+ 高级教程 – CDK Drag and Drop

    前言 CDK Drag and Drop 和 CDK Scrolling 都是在 Angular Material v7 中推出的. 它们有一个巧妙的共同点,那就是与 Material Design ...