MITRE ATT&CK 框架在终端安全产品的落地与应用
2019-09-03 11:09:27 Author: www.secpulse.com(查看原文) 阅读量:206 收藏

日益增多的安全事件(数据泄露,勒索软件,挖矿病毒)表明百分百安全的防护方案是不存在的。攻击者往往只需要利用一个漏洞就能攻陷你的网络,而防守者需要防守加固所有的方面。这就是为什么安全方案朝着检测和响应的方向演进的原因:对已经攻入网络的攻击者进行检测并针对他们的各种行动进行有效的响应,以此来达到防护并降低安全风险的目的。

伴随着各种检测和响应(Detection Response)安全产品(EDR,NDR,XDR)的推广,有一个热门词汇逐渐出现在各大安全会议和媒体----MITRE ATT&CK框架。MITRE ATT&CK框架是一个系统性地收集整理了攻击手法的知识库,并且这些攻击手法是来自于对真实安全事件的洞察。该框架把攻击者所采用的攻击战术系统性地组织起来,在每个战术项内又包含实现该战术目的的各种已知的攻击技术,同时在每项技术中详细描述了运用该技术的具体步骤和流程。这就是另一个热门词汇TTP(Tactic,Technology,Procedure)的概念,在ATT&CK的框架矩阵中以表格的形式展示了TTP,即:

  • 战术”位于表格的每一列的表头,它代表着攻击者运用某个技术的目的,包括:初始进入,代码执行,持久化,提升权限,凭据窃取,内部侦察,横向移动,数据收集,C2,影响。

  • 技术”位于某个战术列的下方,它代表着攻击者为达某个战术目的可采用的手段,ATT&CK框架为每个技术赋予一个编号。

  •  “步骤”代表着攻击者如何执行一项技术,它提供了某个技术如何在真实世界中被实现的详细信息。

这些“战术”被从左到右以此排列,从最左边的“初始进入”一直到最右边的“影响”代表着攻击者如何开始攻击一直到实现攻击目的。这个框架一直在演变和进化之中,在不久的将来MITRE将会有一个重大的调整,“子技术”的概念将会被引入。现有的某些技术会被合并为一个,而有些技术中将会细分出多个“子技术”。例如Rundll32和Regsv*将会被降级为“子技术”,新的技术为“签名的二进制代理执行(Signed Binary Proxy Execution)”,而“权限提升”将会包含多个细分的“子技术”。

简而言之,MITRE ATT&CK框架系统性地收集整理了攻击者的TTP。那如何利用这个系统性的知识库来增强安全能力呢?目前出现在各类安全会议和媒体的议题主要集中在这几个方面:利用该框架进行红蓝军建设,利用该框架评估安全能力,该框架与安全情报建设,利用该框架的甲方安全建设。而本文将要探讨的是罕被提及的ATT&CK框架在安全产品的落地和应用,且本文认为终端安全产品是ATT&CK框架的最佳落地点。

常见的安全产品不论是防护类或者是检测响应类,他们都是基于检测能力而构建(防护类方案被认为检测后配上各种自动处置机制)。因此,检测能力成为大部分安全产品的最基本的核心能力。纵观整个网络安全历史,攻防双方一直是围绕着反检测与检测进行着持续的对抗。攻击方对抗检测的最重要法宝是“变”,他们通过变化来规避各种已知的检测手段,而防守方必须去应对各种变化才能逐步提升防护能力。下图展示了攻击者做出各类变化的难度和成本,从下往上的难度和成本逐步增加,亦被称为“痛苦金字塔”。

图片.png

痛苦金字塔

如果防守方采用一些简单的特征匹配的方法检测位于底层的Hash/IP,攻击者只需要做一些简单的自动处理就可以躲避检测(如混淆变形等),这对攻击者来说几乎没有痛苦。而如果我们针对TTP进行检测,意味着我们是在根据攻击者的行为进行检测。如果攻击者想要躲避检测就需要改变他们的行为,这需要研究一些新的技术和攻击手段,这意味着更高的难度和付出更大的成本,对攻击者来说是存在较大的痛苦。

而ATT&CK框架的TTP都来自于对真实攻击的调研,很多相同的技术被不同的攻击者运用在不同的攻击事件中。TTP位于痛苦金字塔的顶端,这是攻击者需要付出最多努力才能发现新手法并实现躲避的领域。如果能让ATT&CK框架在安全产品中落地实现,让安全产品具有针对TTP的检测能力,无疑能增强安全产品的核心检测能力,一切TTP层以下的规避动作将无所遁形。

所有的检测方案都是基于某些数据源和某些策略(人工产生或AI生成)的匹配过程。我们如果需要检测某个攻击技术,首先需要获取到这项技术所对应的数据,所谓的数据就是当攻击者运用这项技术攻击主机或网络后,在主机或网络设备上留下的蛛丝马迹,他们所呈现的形式往往是各种日志,可能是系统或应用内置的日志,也可能是因为安全需要而特意录制的日志数据。在MITRE ATT&CK的每项技术描述中都有对应于该技术的数据源信息,它告诉我们可以从哪些类型的数据中找到攻击技术实施后所留下的痕迹。

图片1.png 

例如上面这项攻击技术的数据源为进程和进程命令行参数。这意味着如果攻击者运用这项技术实施攻击,就会在进程信息和进程命令行参数信息中留下痕迹。如果对这些信息进行实时监控或者把这些信息记录下来,再配以相应的匹配机制就可以实现对该技术的检测或防护。

如果对所有技术相关的数据源进行统计,会发现有些数据源与很多技术有关,而有些数据源只与一两项技术相关。根据各数据源相关的技术数排序如下:

图片2.png 

这些数据源有的只能从终端上获取,有的只能从网络设备获取,还有一些从终端和网络设备都可以获取。统计如下:

图片3.png 

从上面我们可以看到,大部分的数据源只能在终端获取。在不需要跨终端的场景下,终端成了落实ATT&CK框架的天然落地点。如果能在终端一线实现有效的针对TTP的检测,无疑防护的时效性是最佳的。

所以在本文的剩余部分我们将简单探讨如何在终端安全产品中落实ATT&CK框架。

如何落地实现呢?我们可能会想过去钻研每一项技术的具体步骤,并运用这些知识来对攻击者的行为进行监测。这似乎很简单,但整个框架中有三百多的技术并且还在持续增加中。我们该从哪里开始并排出优先级呢?

我们可以根据客户的业务和网络环境来分析攻击界面以及威胁通过攻击界面后在客户环境中的扩散和达成目的可能路径。这能让我们明确我们需要保护的东西,以及这些东西所面临的风险。我们可以据此来挑选我们需要重点检测和防护的攻击技术,并根据攻击技术的流行程度和实现难度进行优先级排序。攻击技术的实现难度可以按如下表格划分:

难度

描述

最简单,且合法用途中也常见

不算严格意义上的攻击,合法用途中也常见;

需要使用其他技术才能使用;

例如:T1061图形用户界面

简单,任何人都能运用

容易实施攻击;

不需要恶意软件,脚本或其他工具;

例如:T1015便于访问的功能

稍难,利用现成工具

可以利用像Metasploit那样的现成工具;

比上面那类更高级一点;

例如:各类漏洞利用攻击技术

较难,需要开发简单工具

需要一些额外的设施才能用以攻击;

有些要求高,有些要求低;

例如:T1100 WebShell

困难,需要开发复杂工具

可能需要定制的 DLL/EXE;

深入理解操作系统;

例如:T1055进程注入

用不同的颜色在ATT&CK的矩阵标记这些难度,如下所示:

图片4.png 

在挑选出需要重点防护的攻击技术后,我们该如何做出有针对性的检测防护方案呢?在下一篇文章中笔者将重点讨论这几方面:如何获取所需数据源,数据的分析处理与建模,终端安全中如何运用这些数据.


文章来源: https://www.secpulse.com/archives/111723.html
如有侵权请联系:admin#unsafe.sh