FINDING CYBER THREATS WITH ATT&CK-BASED ANALYTICS

PDF(710.84 KB)

介绍

保护企业网络不受高级持续威胁(advanced persistent threat, APT)的威胁仍然是一个越来越困难的挑战,这需要先进的技术和方法来挫败对手的目标。在当前的企业网络中,组织不太可能有能力或资源来检测和防御对手可能使用的访问其网络和系统的每一种方法。即使组织的企业补丁和软件遵从性程序是完美的,对手也可能利用0-day漏洞或社会工程攻击来在潜在受害者的网络中获得立足点。一旦进入,对手就会隐藏在目标环境的噪声和复杂性中,经常使用合法的机制,并在正常的网络流量中伪装他们的活动,以实现他们的目标。根据目标网络的安全复杂性,对手通常有足够的时间来完成他们的工作。例如,FireEye的M-Trends指出,2015年企业发现自己被入侵的平均时间是146天。[1]
为了帮助解决这些挑战,MITRE在2010年开始通过使用端点遥测数据,在“假定违约”的心态下,研究更快速地检测APTs的数据源和分析过程。具体来说,MITRE的工作集中在破坏后的检测,集中在对手的行为后,他们获得了访问一个网络中的系统。
MITRE方法的一个驱动因素是,关于网络入侵的公共信息表明,在与端点或受害者系统交互时,对手往往表现出一致的行为模式。MITRE研究的目标是表明,端点数据的自动测量或遥测技术可以用于检测破坏后的操作,以一种有用的方式将这种行为与正常系统使用产生的典型噪声区分开来。本研究的结果显示,使用基于主机和网络行为结合的分析方法,可以提供一种有效的方法来检测后破坏对手的行为。
作为研究工作的一部分,从2013年开始,MITRE还开发了一个用于在粒度级别上模拟对手破坏后行为的过程。这个模型被命名为ATT&CK™(对抗战术、技术和常识)[3],它既是对手模拟的手段,也是发现目标网络内分析覆盖和防御缺口的方法。ATT&CK于2015年发布,可以通过https://attack.mitre.org访问。
此外,MITRE的研究人员还创建了一种描述行为入侵检测分析的方法和一套与ATT&CK模型相一致的分析方法,这两种方法都已通过MITRE网络分析存储库向信息安全社区公开。[4]
行为检测分析的创建和这种方法在检测威胁行为方面的有效性都通过一系列“网络游戏”得到了验证,这些“网络游戏”让红队使用APT行为(如ATT&CK模型中所述)进行对手模拟,而蓝队使用分析来检测红队的入侵及其在整个目标网络中的行动范围。游戏是在MITRE的实时企业网络上一个大约有250个节点的生产平台上进行的。使用实时网络来确保真实的网络和系统噪音,这些噪音通常是通过正常使用公司网络环境产生的,因此MITRE的分析可以适当地进行调优以检测恶意行为。
本文的目的是:

  1. 教育读者如何应用MITRE的ATT&CK模型来更好地检测给定系统或网络中的APT操作;
  2. 描述开发该模型的过程和方法及其相关的方法和分析;3)分享一些实践经验和轶事,让读者了解MITRE的研究如何帮助特定组织保护其网络和系统。

本文以一个假设的APT活动为出发点,并采用ATT&CK模型的战术、技术和程序(TTPs)对其进行了描述。
MITRE的高级研究过程和它开发的行为检测范式将在第2节中进行描述。
ATT&CK模型本身在第3节中进行了描述。
第4节阐述了利用ATT&CK开发行为入侵检测分析的过程。
第5节详细介绍了MITRE在应用我们的方法方面的一些经验。
第6节对MITRE的工作进行了总结。

参考框架

帮助理解本文所述研究的适用性,首先考虑基于对手破坏后战术、技术和程序(TTPs)的假设APT活动是有帮助的。本例中的假想对手使用公开报告的TTP,每个TTP都在ATT&CK模型中进行了描述,并在脚注中进行了引用,这些脚注不应与本文中使用的尾注混淆,并使用括号中的数字命名法(如[#])表示。ATT&CK模型将在第3节中进一步解释,但是这里引用它来说明它如何描述破坏后的对手行为。
这个假想的战役开始于一个对手发送一个鱼叉式钓鱼电子邮件,该邮件是围绕一个当前感兴趣的事件设计的。有效载荷是一个.zip文件,其中包含一个可移植文档格式(PDF)文件和一个恶意的可执行文件,该文件使用PDF在安装了Acrobat Reader的系统上伪装自己。[6]
当运行时,可执行文件下载第二阶段1远程访问工具(RAT)负载,使远程操作员能够访问受害计算机以及网络的初始访问点。然后,敌手生成用于命令和控制(C2)目的的新域名,并通过定期更改twitter处理程序将这些域发送到受影响的网络上的RAT病毒。用于C2的域和互联网协议(IP)地址是短命的,通常在几天后就会被对手改变。对手通过安装Windows®服务(其名称很容易被计算机所有者假定为合法的系统服务),在受害计算机上持久存在或维持一个看似合法的存在。在部署这个恶意软件之前,对手已经在一系列反病毒(AV)产品上测试过它,以确保它与任何现有或已知的恶意软件签名不匹配。
为了与主机受害者进行交互,远程操作员使用鼠标启动Windows命令提示。然后,攻击者使用已经在被破坏的计算机上可用的工具来更多地了解受害者的系统和周围的网络,目的是增加他对其他系统的访问级别,并使攻击者更接近于实现他的目标。更具体地说,攻击者使用内置的Windows工具或合法的第三方管理工具来发现内部主机和网络资源,并发现诸如accounts7、权限组8、进程9、服务10、网络配置11和附近的网络资源等信息。然后,远程操作员可以使用Invoke-Mimikatz15对缓存的身份验证凭证进行批量捕获。Invoke-Mimikatz15是流行的Mimikatz[8]工具的Windows PowerShell®16包装器,它允许该工具无需向计算机的硬盘驱动器写入可执行文件即可运行。在收集了足够的信息之后,[9]可能会从一台计算机横向移动到另一台计算机,这通常会使用映射的Windows管理共享文件和远程Windows(服务器消息块[SMB])文件副本,以及远程调度的任务来实现。每增加一次访问,对手就会在网络中发现感兴趣的文档。然后,对手将这些文档放置到一个中心位置,使用RAR等实用工具通过远程命令行shell对压缩文件进行压缩和加密,最后,通过安全套接字层/传输层安全(SSL/TLS)中的一个格式良好的超文本传输协议(HTTP)会话从受害者的主机上提取或导出这些文档。这样,对手就从受害计算机和网络中窃取了重要的利益和价值文件,然后转移到他自己的远程计算机中,在他方便的时候分析和使用被窃取的信息。
image.png

当代方法检测的缺点

当前的网络安全方法很难检测到与上述假设示例中相似的APT。大多数反病毒应用程序可能无法可靠地检测自定义工具,因为这些工具在使用之前已经由对手针对各种产品进行了测试,甚至可能包含用于逃避其他类型恶意软件检测的混淆技术。恶意远程操作人员还能够在它们所危害的系统上使用合法的功能,本质上是“以陆地为家”的[11],以避免被发现,因为许多防御性工具没有收集足够的数据来检测这种对其他适当系统行为的恶意使用。
目前的网络安全方法,如威胁情报订阅或共享,可能无助于检测对手基础设施的使用情况,因为对手指标可能变化太快。典型的网络流量检查也没有用,因为APT的流量(如前面假设的示例中所描述的流量)是由有效的SSL加密的。SSL拦截可能是有用的,但是没有已知签名组件的先验知识(即在正确形成的HTTP流量中,发现这种级别的恶意活动并将其与良性网络行为区分开来实在是太难了。这些当代方法的缺点导致MITRE在多年的研究工作中开发了一种不同的方法来检测APTs,方法是使用ATT&CK威胁模型关注对手的破坏后行为。
image.png

基于威胁的安全方法

MITRE的基于威胁的网络入侵检测方法使用了一种行为方法学,并遵循了在其研究过程中形成的五个原则。这些原则描述了有效的基于威胁的网络安全方法的关键原则。本文对它们进行了总结(图1),并在本节的其余部分进行了更详细的解释。
image.png
**1:包括后破坏检测
随着时间的推移,以前有效的周界和预防性防御可能无法阻止网络的持续威胁。
当威胁绕过已建立的防御系统或使用新方法进入网络时,必须具备破坏后检测功能
**注行为
签名和指示符对于预先了解敌方的基础设施和工具工件是有用的,但是当签名与变化的威胁相关时,依赖于已知签名的防御工具可能变得不可靠。
复杂的防御还应该包括发现和从破坏后的对手行为中学习
原则3:使用基于威胁的模型
一个准确的和范围良好的威胁模型是必要的,以确保检测活动对现实的和相关的对手行为是有效的。
则4:通过设计进行迭代
对抗的工具和技术景观是不断发展的。
一个成功的安全方法需要对安全模型、技术和工具进行持续的、迭代的演化和细化,以考虑不断变化的对手行为,并理解网络是如何被APT破坏的。
原则5:在现实环境中开发和测试
分析开发和细化应该在生产网络环境中执行,或者在尽可能符合现实网络条件的环境中执行。真实网络用户所产生的行为应该反映出标准网络使用所产生的传感器噪声的预期水平。只要有可能,就应该通过仿真该环境中的对手行为来测试检测功能。

原则1:包含破坏后检测

即使是防御最严密的网络,也可能有办法渗透进去。
例如,目前没有完全有效的方法来防止每一个0-day漏洞被利用[12,13],没有方法来即时修补软件,没有方法来防止人们暴露密码,也没有经济有效的方法来保护供应链。
攻击表面的绝对规模和复杂性意味着APT将可能继续寻找方法来规避常见的安全实践,并成功地渗透企业网络以实现其目标。(墨菲定律,有可能发生就一定会发生)
因此,任何有效的网络安全都应该考虑到攻击后的对手行为,以便将成功突破您最初防御的对手所造成的损害降到最低。

原则2:关注行为

当代的防御集中在破坏的签名或指标(IoCs)。
IoCs是在已知恶意软件或活动存在时可以观察到的工件或工件的组合。在很多情况下,这些漏洞很脆弱,很容易被对手通过修改恶意软件或基础设施来绕过。文件散列、IP地址和域名等指标已经成为许多网络防御者关注的焦点,但对于为了避免被发现而进行更改的对手来说,这些指标都是微不足道的
此外,防御组织需要通过威胁指示器共享程序或商业数据feed访问相关的和最新的指示器,所有这些可能仍然不能确保防御者能够跟上对手的变化。
一个包含行为检测分析的入侵检测程序对对手通过修改指示器来避免基于签名的检测的尝试更有弹性。行为检测方法有助于识别入侵期间跨多个敌对组执行的常见行为,这些行为独立于敌对组对指示器所做的特定更改。这是推动ATT&CK分析发展的前提。

原则3:使用基于威胁的模型

长期以来,威胁模型的使用一直是健壮安全流程的基础。威胁模型中敌方行动和行为的集合允许防御者充分地计划和评估他们的防御。根据原则1和原则2,ATT&CK中封装的威胁模型描述了企业网络中破坏后的对手行为。图2显示了ATT&CK模型如何采用网络攻击生命周期[15]29的三个后破坏或后利用阶段,并将它们扩展为APTs采用的10种不同的策略。

原则4:设计迭代

迭代过程对于创建符合ATT&CK模型的有效行为分析和检测系统至关重要。这一过程的一个重要部分是每隔几个月对一个红队进行行为分析测试,红队模拟的是基于ATT&CK的网络游戏中记录的已知APT行为。第4节将更详细地介绍这种方法。使用迭代过程的好处之一是为分析开发人员提供了快速的反馈循环。通过在每次迭代中只针对少量的分析,然后针对真实网络中的模拟威胁验证它们的性能,分析人员可以快速地看到哪些想法是有用的,哪些需要进一步开发,哪些应该放弃。这种方法为开发人员提供了大量的机会来测试关于如何最好地检测真实网络中的给定行为的假设。
迭代的另一个好处是网络防御能够适应不断变化的威胁环境。如前所述,行为检测方法为处理快速改变行为以克服防御障碍的APT提供了一种有效的方法。就像本文第1.1节中描述的假设APT示例一样,对手使用合法的web服务和强大的加密来绕过网络协议签名检测和黑名单,但是他们仍然需要与端点系统以与系统操作方式一致的方式进行交互。在本文假设的APT示例中,远程操作人员使用新的Windows服务安装持久性恶意软件。然而,不管入侵者试图运行什么恶意软件,像新的Windows服务这样的东西的出现是ATT&CK模型描述的敌对行为之一,并且可以与其他事件结合起来识别不同的敌对行为模式。
行为侦测让对手更难避免侦测。然而,随着时间的推移,对手仍然会继续改变他们的行为,而迭代方法提供的关于防御能力的快速反馈对于有效地检测最新的威胁行为仍然是至关重要的。

原则5:在现实环境中开发和测试

对于分析和检测功能的迭代开发(2.4)来说,在实时生产环境或尽可能真实的生产环境中执行是非常重要的。为此,MITRE的红队基于对ATT&CK当前威胁的最新理解,模仿了APT行为。分析的实际开发和测试是在MITRE公司网络上的一个250个节点的enclave上执行的(参见第5节了解更多细节),真实的用户执行他们的日常工作以确保真实的背景系统噪音。通过使用一个在实时网络上紧密模仿真实APT行为的红队,分析通过网络游戏过程进行了测试,这有助于确保他们有效地检测所需的对手行为的能力。
如果分析是在实验室环境中开发和测试的,而没有真正的用户使用真正的任务应用程序执行实际工作,那么可以检测到的敌对行为可能最终是用户或系统管理员例行执行的行为,从而使它们对于检测生产网络上的APT行为毫无用处。

ATT&CK

ATT&CK是描述对手在企业网络中操作时所采取的行动的模型和框架。该模型可用于更好地描述妥协后的对手行为,其目标是将已知入侵行为中的常见行为提炼为对手可能为实现其目标而采取的单个或多个行动的组合。ATT&CK中描述的TTP是根据公开报告中观察到的APT入侵来选择的,并且被包含在模型的抽象级别中,这对于有效地确定防御投资的优先级和比较端点入侵检测能力是必要的。

破坏后的基于威胁的建模

ATT&CK解决了社区对破坏后具体入侵细节理解上的一个缺口。关于敌对组织和入侵的公开报告提到了敌对行为的高级细节,但往往缺乏可用于防御入侵者技术的关键信息。例如,只笼统地提到横向移动而不提供对手如何执行这些移动的细节的报告,无助于组织抵御这种特定的战术。例如,与将远程访问工具复制到共享目录并发出远程服务启动命令来执行它相比,对Windows远程桌面功能的敌对使用是一种非常不同的横向移动方式。
MITRE创建了ATT&CK模型,以满足对更多细节的需求,同时仍以观察到的和合理的对手行为为基础。为该模型提供信息的信息源包括公开威胁情报报告、渗透测试、红色团队知识和安全研究。
ATT&CK中的技术主要集中在Windows企业系统上,因为有大量公开可用的入侵报告,其中包含针对Windows的详细信息和敌对工具——这表明企业网络入侵往往集中在这类系统上。
即便如此,因为不管在什么平台上,对手的更高层次的目标往往是相同的,所以ATT&CK模型可以扩展到非基于windows的企业系统中,尽管这样做需要关于这些平台上的对手技术的额外信息来维持所需的经验现实主义水平。
ATT&CK被分解为高级的对手战术类别和对手可以在每个战术类别中使用的单个技术。战术描述对手为什么采取行动,技术描述对手如何采取行动。技术描述在ATT&CK模型从进攻和防守的角度,所以他们是一个有用的参考和两个学科之间的枢纽。ATT&CK技术还包含对已经使用的技术的已知示例的引用,以及对已知使用该技术或相关工具的敌对团体的公开威胁报告的链接,以提供野外敌对行为的示例。

战术

战术代表了ATT&CK模型中最高层次的抽象。它们是对手在行动中的战术目标。ATT&CK战术类别如下:

持久性

对一个系统的任何访问、操作或配置更改都可以让对手在该系统上保持持久的存在。对手通常需要通过中断(如系统重新启动、凭据丢失或其他故障)来维护对系统的访问。

权限升级

导致对手获得系统或网络上更高级别权限的技术的结果。某些工具或操作需要更高级别的特权才能工作,并且在整个远程操作的许多地方可能都是必需的。

防御躲避

对手可能使用的技术,以逃避检测或避免其他防御。

凭证访问

导致在企业环境中使用的系统、域或服务凭证的访问或控制的技术。

发现

允许对手获得关于系统及其内部网络的知识的技术。

横向移动

使对手能够访问和控制网络上的远程系统的技术。横向移动的下一步通常是远程执行对手引入的工具。

执行

在本地或远程系统上执行由对手控制的代码的技术。

收集

用于识别和收集信息的技术,如敏感文件,将其泄露到目标网络中。

数据泄露

技术和属性,结果或帮助敌人删除从一个目标文件和信息网络。这一类也包括在一个系统或网络上的位置,在那里一个对手可能寻找信息来泄露。

命令和控制

在目标网络中,对手如何与他们控制下的系统通信的技术和属性。例如,使用合法的协议(如HTTP)来传输C2信息。
在这个层面上,ATT&CK非常类似于其他描述敌方生命周期的威胁模型。ATT&CK与其他模型的区别在于其适用范围。当对手在网络中移动时,ATT&CK战术类别适用于从一个端点系统到下一个端点系统,而像网络攻击生命周期(参见图2)这样的模型根据对手的生命周期考虑更广泛的整个操作范围。
ATT&CK模型中的策略也代表了在企业网络中导航的对抗过程。
图3提供了ATT&CK模型中战术类别和相关技术的概述。该图在视觉上把每个战术类别下的单个技术排列起来。
image.png

技术

ATT&CK模型中的技术描述了对手为达到战术目标而采取的行动。在每个战术类别中,都有有限数量的行动可以完成该战术的目标。在他们妥协后的整个行动过程中,对手不断地根据知识、获得的关于目标环境的信息、未来行动所需的信息和当前可用的能力来决定使用哪种技术。技术以独立于特定对手恶意软件和工具的方式描述操作。这种方法的好处是,它涵盖了对手通过远程访问工具、脚本或命令行界面上的交互所表现出的行为,而不需要将防御与特定的对手恶意软件和可能随时间变化的工具绑定在一起。
技术在ATT&CK之间一个重要的区别,IoC是许多ATT&CK技术是合法的系统功能,可以用于恶意用途,而IoC部署入侵检测机制通常是已知的一个动作是由于或的影响下一个对手。例如,使用Microsoft Windows schtasks.exe实用程序的调度任务是一种可以用于持久性或作为横向移动的一部分远程执行二进制文件的技术。在系统上出现或调用schtasks.exe本质上不是恶意行为,因为它是操作系统的合法管理特性。对手知道这个和其他合法的系统功能,以及如何利用这些功能。
技术的个别出现不是在真空中执行的,而是通常遵循一系列行为或事件序列。除了上述示例中调用的步骤之外,对手可能还从本地系统上的凭据转储程序收集了用于执行schtasks.exe的凭据,或者他可能使用了键盘记录程序。同样,由sch任务.exe执行的远程文件也可能有自己的行为指示器,这些指示器在执行后产生,比如一个未知的进程使用网络来回调C2服务器或另一个凭据转储程序。将这些事件联系起来是防御的一个重要部分,也是ATT&CK模式的一个特点。
因此,ATT&CK模型中所描述的技术不应该被孤立地看待,也不应该被视为单一的、恰当的行动,而应该被视为敌方剧本的一部分,它描绘了防御系统能够探测到的恶意行为。来自对手事件序列中每一步的数据可以用来构建一个更精确的案例,以确定一组活动是否构成恶意或良性行为。
ATT&CK并没有声称在一个特定的战术类别中列举了所有可能的技术,但它是基于一个关于对手为特定目的而使用的行动的知识社区,以及这些行动如何相互关联以形成可识别的行为序列。为了进一步扩展schtasks.exe示例,当使用schtasks.exe的出现作为可疑活动的指示器时,ATT&CK建模方法强调了理解使用schtasks.exe的上下文的重要性,以及以下示例中描述的结果效果。这种查看指示器的上下文方法提供了收集关于使用敌手技术的有效信息的最佳方法,以及如何将它们与其他数据点联系起来以形成有用的分析。

例子ATT&CK技术

行为:通过使用schtasks.exe的调度任务远程执行。

要求

  1. 提供SMB(服务器消息块—Windows文件共享机制)访问远程系统的凭据或现有域权限。
  2. 能够将一个文件移动到远程系统,以便根据计划的任务执行。
  3. 允许在本地系统上运行schtasks.exe。默认情况下,任何用户都可以运行schtasks.exe。
  4. 对远程系统的管理访问,通过远程过程调用调度任务。

    原因

  5. 在命令行界面上调用schtasks.exe,参数用于在远程系统上执行文件。

    效果

  6. exe进程在本地系统上启动。

  7. 从本地系统到目标系统建立RPC连接。
  8. 该任务的条目位于远程系统的“%SystemRoot%\Tasks\M目录下。
  9. 远程系统上的文件在指定的时间作为taskeng.exe的子进程执行。
  10. 后续的系统更改是由二进制文件或脚本的执行引起的。例如,如果程序是远程访问工具,则产生的进程可能尝试打开网络连接。

    操作用例

    ATT&CK模型显示了在进攻和防守领域的多种应用的潜力。例如,在MITRE的网络游戏练习(在5.1节中描述)中,ATT&CK作为对手模拟的模型。我们介绍了一个白色团队,它被用来开发用于测试防御的威胁场景。白队构建了模拟APT用例的场景(在第4.4节中描述),这些场景基于ATT&CK模型中描述的行为和动作来测试特定的传感器和分析。
    该模型为红色和蓝色团队成员提供了一种共同的语言,用于讨论网络环境中的操作,以及如何在模拟的对抗操作中检测或不检测这些操作。
    ATT&CK的后破坏行为的鲁棒威胁模型也使得执行防御差距分析(4.2.1节)和测量现有和新的防御工具和服务的有效性成为可能。我们使用基于ATT&CK的操作用例来评估这些工具,以确定工具如何检测或阻止一组已知的敌方技术,这些技术是根据已知的敌方使用频率来选择和确定优先级的。

    4. 基于ATT&CK的分析开发方法

    MITRE使用基于ATT&CK的分析开发方法来创建、评估和修改分析,目的是更准确地检测网络对手的行为。自2012年网络游戏开始以来,这一过程已经通过调查对手行为、构建传感器获取数据和分析数据来检测对手行为的经验进行了改进。在描述这种开发方法时,术语“白队”、“红队”和“蓝队”扮演了以下角色:
    白色团队-开发测试防御的威胁场景。与红蓝团队合作解决网络游戏中出现的问题,确保达到测试目标。这个团队与网络管理员进行交互,以确保网络权益得到维护。
    红队-在这个网络游戏中与对手对战。执行计划的场景,重点关注对手的行为仿真,并根据需要与白队进行交互。发现的任何系统或网络漏洞都报告给了白队。
    蓝队-作为网络防御者,使用分析来检测红队的活动。他们也被认为是一支狩猎队。
    基于ATT&CK的分析开发方法包含七个步骤,如图3所示,并在这里描述了它们在MITRE网络游戏中的应用:

  11. 识别行为

从威胁模型中识别和优先检测对手的行为。

  1. 获取数据

识别数据是必要的,以检测一个期望的对手的行为。如果不存在获取数据的能力,则必须创建一个传感器来收集这些数据。

  1. 开发分析

从收集的数据中创建分析来检测确定的行为。同样重要的是,确保分析在良性环境事件上不存在不可接受的假阳性率。

  1. 开发一个对手模拟场景

白队开发了一个基于ATT&CK的对手模拟场景,其中包括第1步(识别行为)中确定的行为。该场景包括红队应该使用的特定技术。

  1. 模拟威胁

红队试图通过实践ATT&CK模型中描述的行为和技术来达到白队所描述的目标。

  1. 调查攻击

蓝队试图使用分析和步骤3(开发分析)中开发的数据来重新创建红队活动的时间轴。

  1. 评估绩效

白、红、蓝三色团队评估审计业务,以评估蓝色团队能够在多大程度上使用分析和传感器数据来成功地检测模拟的APT行为。在此评估之后,循环重复并返回到步骤1。
image.png
异步蓝队/红队的评估
值得注意的是,在MITRE的研究期间,蓝队和红队的网络游戏练习团队是彼此异步进行的。这通常意味着在红队事件后几周进行蓝队评估。与更传统的同步方法相比,采用这种方法有几个原因:
首先,研究的重点是发现对手,而不是纠正或试图阻碍它。事实上,实时检测红队的活动并阻止他们的行为将会阻止使用engagement来确定检测模拟威胁的多种方法。其次,异步练习更准确地模拟了非常常见的真实世界的情况,防御者直到事件发生后才被告知对手的活动。这通常是更有挑战性的情况,因为辩护人通常很少知道他们的搜索时间范围。
虽然MITRE选择不使用同步的方法,同步进行的训练可以帮助发展和精炼其他必要的防守技能,比如能够实时对对手做出反应。如果正确应用,这些技能可以潜在地防止对企业的广泛损害。同步约定还可以促使攻击者和防御者在试图超越对方的过程中发挥各自的才能。最终,由练习的组织者决定哪种方法最适合他们的需要。

4.1 步骤1:识别行为

分析的发展过程从识别对手的行为开始。在决定如何优先处理敌对行为时,需要考虑以下几个因素:

哪些行为最常见?

对利益对手最常使用的TTP进行优先排序,将通过解决最普遍、因此最有可能遇到的威胁技术,对组织的安全态势产生最广泛的影响。一个强大的威胁情报能力可以为一个组织提供所关注的攻击战术和技术。

哪些行为产生的负面影响最大?

组织必须考虑哪些对手TTP对组织有最大的潜在不利影响。这些影响可能以物理破坏、信息丢失、系统损坏或其他负面后果的形式出现。

哪些行为的数据是随时可用的?

与需要开发和部署新的传感器或数据源的行为相比,已经具备必要数据的行为将更容易创建相关的分析。

哪些行为最有可能表明恶意行为?

通常只来自对手而不是合法用户的行为对防御者最有用,因为它们很少导致误报。

4.2 步骤2:获取数据

在创建分析之前,组织必须识别、收集和存储开发分析所需的数据。要确定分析师需要收集哪些数据来创建分析,重要的是了解现有传感器和日志记录机制已经收集了哪些数据。在某些情况下,这些数据可以满足给定分析集的数据需求。但是,在许多情况下,可能需要修改现有传感器和工具的设置或规则,以便开始收集所需的数据。在其他情况下,可能需要安装新的工具或功能来收集所需的数据。有关MITRE实现中使用的传感器的列表,请参阅附录6A.2。
在确定了创建给定的分析集所需的数据之后,必须收集这些数据并将其存储在将要编写分析的平台上。MITRE实现目前主要依赖于基于Splunk[17]的体系结构,该体系结构使用安装在其所有端点上的Splunk通用转发器来将收集到的数据发送给Splunk重型转发器。为了方便在其他平台上进行分析开发,MITRE可以通过配置Splunk Heavy转接程序将数据发送到Hadoop[18]集群和Elasticsearch[19],从而将选定的数据源存储在附加的存储技术中。

4.2.1 端点传感器

由于传感器可以方便地部署在网络入口和出口,许多企业依赖于外围的网络传感。然而,这限制了可见性,只对进入或退出网络的网络流量可见,并且不能帮助防御者了解在他们的网络内和系统之间发生了什么。在这种基于边界的感知范式下,防御者通常依赖于netflow、包捕获、防火墙、代理、基于网络的入侵检测系统和其他网络包分析或阻塞系统。如果一个对手能够成功地进入监控范围内的一个系统,并建立一个绕过网络保护的命令和控制系统,防御者可能会对对手在自己网络内的活动视而不见。与第1.1节的参考示例框架一样,对手使用合法的web服务和加密通信(通常允许穿越网络边界),使得防御者很难识别其网络中的恶意活动。
我们的研究是基于这样一种假设:端点检测对于通过检测ATT&CK行为来可靠地识别破坏后的操作是必要的,而ATT&CK行为通常不能通过基于边界的方法检测到。这是由于可以在网络范围内收集关于敌方行动和对端点系统影响的信息的高保真度。图5显示了一个ATT&CK矩阵,它表示在一个概念企业网络中,只有基于外设的网络传感器才能覆盖ATT&CK。红色的细胞表示没有能力检测行为,黄色的细胞表示部分能力。如果没有端点上的传感器来检测网络事件,比如进程启动和新的网络连接,那么在没有对对手(基础设施和/或C2协议)有一定先验知识的情况下,并且没有确定的防御能力(快速识别恶意网络流量、解码并处理它的能力)来确定对手行为的情况下,ATT&CK模型所描述的许多行为就很难在足够高的置信水平上检测到入侵。

image.png
其他入侵检测方法依赖于通过扫描IoCs的端点收集的端点数据或获取数据快照,也可能无法检测到已经突破网络边界并在网络内部操作的对手。间歇性地收集数据可能会导致错过检测快照之间发生的行为的机会。例如,对手可能使用技术来反射性地将未知的RAT病毒加载到合法的进程中(如explorer.exe),然后通过使用cmd.exe命令行接口的远程shell与系统交互。对手的一系列行动很可能会在短时间内发生,而留给网络防御者在事后发现的工件却很少。收集诸如正在运行的进程、进程树、加载的DLL、Autoruns位置、打开的网络连接和文件中已知的恶意软件签名等信息的快照只能在explorer中看到一个反射加载的DLL.exe,如果在加载RAT病毒时执行扫描。但是,由于没有以持久的方式收集数据,因此快照将错过实际将RAT注入explorer.exe、cmd.exe启动、生成的进程树以及对手通过命令shell执行的其他行为。

4.3 第三步:建立分析

一旦组织拥有了所需的传感器和数据,他们就可以开发分析。开发分析需要设计和运行分析的硬件和软件平台,以及设计分析的数据科学家。虽然这通常是通过组织的SIEM(安全信息和事件管理)平台完成的,但这可能不是惟一的方法。MITRE实现使用Splunk的查询语言实例化分析。MITRE的研究人员将att&ck相关的分析分为四种主要类型:

行为

一种分析设计来检测一个特定的对手行为,如创建一个新的Windows服务。这种行为本身可能是恶意的,也可能不是。这些行为应该映射回ATT&CK模型中确定的技术。

态势感知

针对在给定时间内网络环境中发生的事情的一般理解的分析。并非所有的分析都需要针对恶意行为生成警报。相反,通过提供关于环境状态的一般信息,分析可以证明对组织是有价值的。诸如登录时间之类的信息并不表示恶意活动,但是当与其他指标结合使用时,即使是这种类型的数据也可以提供关于敌对行为的非常需要的信息。态势感知分析还有助于监视网络环境的健康状况(例如,确定哪些主机传感器没有正确运行)。

异常/离群值

分析可能检测到的行为不是恶意的,但这是不寻常的,可能是可疑的。
例如,可以检测以前从未运行过的可执行程序,或者识别网络上通常不运行的进程。与态势感知分析一样,这些类型的分析并不一定表示攻击。

取证分析

在对事件进行调查时最有用的分析。通常,取证分析需要某种输入才能最有用。例如,如果分析人员发现主机上使用了凭据转储程序,则可以运行分析程序,以揭示所有凭据已被破坏的用户。
一组防御者可能会在网络游戏练习中或在为现实应用开发分析时结合使用这四种类型的分析。如何结合这些类型的分析的例子可以在前面1.1节描述的例子的上下文中演示如下:

  1. 安全操作中心(SOC)分析人员首先得到警报,知道可能有攻击正在进行中,警报是由寻找调度任务的远程创建的分析人员生成的(行为的)。
  2. 在看到来自被破坏的机器的这个警报之后,分析人员运行一个分析程序,寻找在该主机上调度的任何异常服务。这个分析表明,在远程任务被调度之前不久,实际上在原始主机上创建了一个新服务(异常/离群值)。
  3. 在确定了新的可疑服务之后,分析人员进一步调查。他运行一个分析程序来识别可疑服务的所有子进程。以这种方式进行的调查可能会揭示主机上正在执行什么活动的指标。这项调查揭露了RAT的行为。再次运行相同的分析,查找RAT子进程的子进程揭示了由RAT执行的PowerShell(取证)。
  4. 在怀疑其他主机从被破坏的计算机进行远程访问之后,分析人员决定调查可能从该计算机尝试的任何其他远程连接。为此,分析人员运行一个分析程序,详细描述环境中所涉及的机器的所有远程登录,并发现与之建立连接的其他主机(情景感知)。

第5.2节提供了一个关于MITRE如何在其网络游戏中迭代开发分析的详细示例。

4.4 步骤4:开发一个对手模拟场景

在进攻性网络安全测试的保护伞下,有许多关于哪些活动和测试类型的定义。传统的渗透测试侧重于突出不同类型系统的漏洞,对手可能会利用这些漏洞进行补救。红队参与可能集中在一个目标网络中的一个长期的、有影响的目标上,例如控制一个任务关键系统。在测试操作的过程中,Red团队可能会发现应该修复的漏洞,但是团队的范围通常局限于他们达到目标的路径,并且可能不能覆盖在进行渗透测试时发现的漏洞的广度。[20]
MITRE处理对手模拟的方法与这些传统方法不同。它的目标是让红队成员执行基于特定或许多已知对手的行为和技术,以测试系统或网络防御的特定方面。敌手模拟演习由小规模、重复的交战组成,旨在通过系统地向环境中引入各种新的恶意行为来改进和测试实时网络上的防御。模拟威胁的红色团队与蓝色团队(通常称为紫色团队[21])密切合作,以确保开放的通信线路,这对于快速磨炼组织的防御非常重要,以便在实际对手开始在目标网络环境中操作之前对其进行测试。因此,对手模拟测试通常以比全范围渗透测试或任务目标集中的红色团队更快速和集中的方式进行。
随着新的检测方法的发展、成熟和在网络社区的部署,安全研究将集中于绕过它们,而对手将继续适应。[22][23]对手模拟场景应该围绕这个思想开发,并且应该始终记住,大多数真实的对手都有特定的目标,比如获取敏感信息。在测试过程中操作,红色的团队可以具体目标,但他们的模拟对手操作应该关注他们如何试图实现他们的目标,而不是他们是否实现,这蓝色的团队能够进行网络防御和能力对成功和详尽的测试最可能的对手技术。

4.1.1 场景开发

当为了测试网络防御而开发一个对手模拟场景时,网络游戏可能需要一个高层次的计划来促进操作目标的交流,而不需要将操作测试场景的细节透露给红色或蓝色团队。白队应该利用他们对蓝队传感器的知识和对威胁行为的分析检测差距,以及蓝队已经做出的改变或需要评估的新分析,来制定这个计划。白队也应该确定红队是否有能力充分测试对手的行为。如果没有,白色团队应该与红色团队合作,以解决任何差距,包括可能需要的任何工具开发、获取和测试。高层计划可以用作全面对抗模拟场景的基础,以沟通需求,并与资产所有者和其他涉众进行协调。
高级场景计划的细节可能包括:

  1. 需要测试的传感器/分析和防御能力
  2. 常用的对手行为
  3. 为验证防御能力而建议的一系列行动的粗略计划
  4. 网络游戏/测试所需的系统、网络或其他资源。

敌手模拟场景可以是(但不一定是)一个命令一个命令的详细脚本。应该足够详细给红团队方向来验证防御能力也应该足够灵活自由的红色团队根据需要调整其业务在演习中测试行为变化,可能没有被认为是由蓝色的团队。由于蓝队的防御也可能达到覆盖已知威胁行为的成熟度,红队也必须能够自由地扩展,超越纯粹的模拟。通过使用白色团队来决定应该测试哪些新行为,蓝色团队可以不知道预期的具体活动,而红色团队可以不受可能影响红色团队决策的关于蓝色团队能力的假设的束缚。白队也继续自由地通知红队关于环境的细节,以充分测试针对对手行为序列的检测方法。

4.4.1.1 示例场景1

在场景1中,对手使用Windows操作系统的功能和可用的系统实用程序来执行某些操作。对手的自定义工具提供了一个接入点和一个C2通道,但对手选择通过一个交互式命令shell与系统交互。Blue团队已经部署了Microsoft Sysinternal的Sysmon,用于持久的进程监视和命令行参数收集。这个场景的目标是测试和开发基于Sysmon从实时网络中的端点收集的遥测数据的后破坏检测分析。
高级的场景:

  1. 红队可能会被给予一个特定的最终目标。例如,获取对特定系统、域帐户的访问权,或收集特定信息以进行泄露。
  2. 假设发生了破坏,并让红队进入一个内部系统测试破坏后的行为。Red团队在环境中的一个系统上执行一个加载器或RAT病毒,以模拟后破坏操作的成功,并获得一个初始立足点,而不考虑先前的知识、访问、利用或社会工程变量。
  3. Red团队必须使用ATT&CK模型中的发现技术来了解环境并收集数据以继续工作。这是使用可用的Windows实用程序完成的。
  4. 红队在初始系统上转储凭据,并尝试定位可以利用凭据的附近系统。
  5. 红队横向移动,直到获得目标系统/账户/信息。

高级场景被用来为红队构建一个更明确的计划,使用ATT&CK作为对手模拟指南。技术的选择重点是那些需要满足测试目标的技术,这些技术是基于它们在已知的入侵活动中通常是如何应用的,但是允许red团队在技术使用上的一些变化来引入额外的行为。
图6显示了场景1的ATT&CK矩阵表示。绿色高亮显示的单元描述了实现测试目标所需的技术。操作可能以一种浅显的方式进行,只使用主要的技术,或者作为一种更全面的测试,由红队执行附加的操作,这些操作是开放式的。黄色突出显示的单元格表示更全面的对手模拟场景的一般建议技术。有关完整的场景序列分解和使用特定工具和命令的ATT&CK战术和技术映射,请参见附录B。
image.png

4.4.1.2 示例场景2

第二个网络游戏(场景2)可以基于第一个游戏的成功和失败来开发。第二步的目标是验证任何新的数据源和分析是否与第一款网络游戏中之前的模拟行为相冲突。第二款网络游戏也将被红队用来引入新的对抗行为。
自场景1结束以来,Blue团队已经部署了持久的流程监控工具和功能,例如Sysmon,以捕获流程调用和命令行参数。这样做使得第一个网络游戏中的攻击行为可以用于防御分析。
在场景2中,假设蓝队现在对场景1中红队的对手模拟活动具有较高的检出率。因此,场景2的部分目标是针对可能无法通过过程监视有效检测到的现有ATT&CK行为和技术变化,使用传感器和分析能力。在场景2中,Blue团队使用命令行参数来捕获其分析的弹性。
最近的威胁报告表明,一些对手已经采用了PowerShell的使用,这是ATT&CK PowerShell条目中提到的。[24]其他报告表明,PowerShell正在被先进的目标攻击和犯罪软件用来逃避检测,并且以这种方式使用PowerShell是一个日益增长的趋势。根据PowerShell的使用方式和目标端点系统上PowerShell日志的存在和类型,它可以有效地屏蔽通过场景1中的进程监视和命令行参数有效检测到的对手技术。
高级事件序列与场景1的事件序列相匹配。场景2反映了相同的目标以及策略和技术的使用,但是这些技术是通过PowerShell等价物执行的,而不是通过常见的基于windows的实用程序。
免费的PowerShell工具,如Empire[26],可以代替一些常见的Windows实用程序来测试针对基于PowerShell的行为的防御。对于场景2,红队可以使用场景1中成功使用的ATT&CK技术子集的PowerShell替代方案,以避免被蓝队分析发现。图7是一个彩色的ATT&CK矩阵,显示了场景2中使用的技术。可以使用PowerShell替代方案修改的技术显示为橙色边框。有关场景2的技术的详细列表,请参见附录B。
image.png

4.5 第五步:模拟威胁

在设计了场景和分析之后,是时候使用场景模拟对手来测试步骤6中的分析功能了。这是通过让红队模拟威胁行为和执行由白队确定范围的技术来实现的。对抗仿真操作允许分析开发人员验证他们的网络防御的有效性。为了将重点放在破坏后的对手行为上,Red团队首先通过给定网络环境中特定系统上的远程访问工具访问企业网络。这种访问加快了评估,并确保妥协后的防御措施得到充分的测试。然后,红队遵循白队提出的计划和指导方针。
白队应该与组织的网络资产所有者和安全组织协调任何对手模拟活动,以确保在出现网络问题、用户问题、安全事件或其他可能出现的问题时能够得到关注。

4.6 步骤6:调查攻击

一旦红队的组成部分在给定的网络游戏中进行,蓝队聚集起来试图发现红队做了什么。在MITRE的许多网络游戏中,蓝队包括负责创建分析的开发者。这样做的好处是,开发人员可以直接体验他们的分析在接近真实情况下的表现,并且他们学到的经验教训可以驱动未来的开发和改进。另一方面,偶尔领导一个由没有分析经验的分析师组成的蓝色团队是有益的。以这种方式进行的测试有助于确保Blue Team的成功不依赖于机构知识,而且分析对所有用户都是直观的,而不仅仅是对开发人员。
蓝队在网络游戏的一开始就进行了一系列高度自信的分析,如果成功的话,这些分析将提供红队在何时何地活动的初步指示。这很重要,因为蓝队没有得到任何关于红队活动的信息,除了一个模糊的时间窗口,通常是一个月左右。通常情况下,蓝队的高置信度分析属于分析的“行为”类别,尽管有些可能属于“异常/异常值”类别。应用这些高可信度分析的结果促使Blue团队使用前面描述的其他类型的分析(态势感知、离群值/异常和取证)进一步调查单个主机。从更高的置信度分析中得到的信息有助于聚焦和细化更高的噪声分析,增加他们的输出指示红队活动的置信度。使用一个分析的输出来帮助改进另一个分析的输出的过程是迭代的,并且在收集新信息的整个练习中重复进行。
最终,当事件被确定为属于红队时,活动的时间表开始形成。理解事件的时间轴是很重要的,可以帮助分析人员推断出不能通过分析得到的信息。时间轴上的活动间隙可以确定需要进一步调查的时间段。此外,通过这种方式查看数据,蓝色团队成员可能能够推断出在哪里可以找到活动,即使没有任何其他证据。例如,看到一个新的可执行文件运行,但是没有证据表明它是如何被放置在机器上的,这可能会提醒分析人员注意潜在的红队行为,并提供关于红队如何完成其横向移动的详细信息。这些线索也可以为基于ATT&CK的分析开发方法的下一次迭代带来新的分析思路。
在调查红队的攻击时,蓝队在他们的部分训练进展中开发了几个主要的信息类别。这些可以采取他们希望发现的信息片段的形式,例如:

涉及/危害主机

这通常在演习期间表示为主机列表和每个主机被确定为可疑主机的原因。这是试图补救事件时的关键信息。

账户被盗

至关重要的是,蓝色团队能够识别已经被盗的网络账户。如果不这样做,红队,或者现实生活中的对手,就可以从其他载体重新访问网络,从而抵消之前所做的所有补救努力。

目标

蓝队还需要努力发现红队的目标,以及他们是否实现了这些目标。这通常是最难发现的方面之一,因为它需要大量的数据来确定。

使用TTPs

在练习结束时要注意红队的TTPs,这是确定未来需要完成的工作的一种重要方式。红队可能利用了需要解决的网络中的错误配置,或者蓝队可能发现了一种技术,而蓝队在没有进一步检测的情况下无法识别这种技术。蓝队识别的TTP应该与红队用来识别任何防守漏洞的TTP列表进行比较。

4.7 步骤7:评估绩效

蓝队和红队的活动都完成了,白队的成员通过分析来比较红队的活动和蓝队报告的活动。
这允许一个全面的比较,从这个比较中,蓝队可以获得关于他们如何成功地发现红队行动的宝贵信息。利用这些信息,蓝队改进现有的分析,识别对手的行为,他们需要为这些行为开发或安装新的传感器,收集新的数据集,或创建新的分析。

5 真实世界的经历

为了验证它的方法,MITRE创建了一个活生生的实验室——在MITRE公司的网络上大约有250台计算机。这些是MITRE员工每天用于实际工作的真正的pc。在使用第4节中概述的基于ATT&CK的分析开发方法开发行为分析之前,主机和网络传感器被添加到这些pc中。MITRE是在实际环境中(而不是在实验室环境中)开发其分析的,因为在实验室中工作良好的分析可能会因为不可接受的误报而在现实世界中失败。

5.1 网络游戏体验

MITRE在2012-2013年间完成了六款网络游戏实验。在这些比赛中,红队和蓝队都提高了他们的技能,并不断适应对方的能力。每个游戏提供了一个学习的经验,未来的练习应该如何组织和范围,以及后续的练习试图整合这些经验教训。本节将讨论前三款网络游戏,检视从中获得的经验教训,并描述这些经验教训如何推动了未来网络游戏的改进。本节还在脚注中注释了带有ATT&CK战术和技术的网络游戏叙述,以展示ATT&CK模型是如何被纳入MITRE的计划中的。
正如第4节所讨论的,这些游戏是在模拟破坏后几周进行的。部分原因是网络游戏是由研究人员而不是全职网络防御者来执行的。如果进行了同步游戏,就需要研究人员不断地监视网络,或者需要他们在预先安排的日期范围内监视网络。对网络的持续监测会妨碍MITRE的研究人员进行他们的实际研究。另一种选择是,给研究人员一组天来持续监控网络,这将模拟一个APT告诉网络防御者他们什么时候会攻击——这是一个不现实的场景。
另一方面,MITRE的分析作者每隔几天就会监控他们的分析,以防用于网络游戏的MITRE网络部分确实发生了恶意的事情。每当研究人员发现可疑的东西时,他或她就会要求白色团队的领导去识别这些被识别的活动是否属于锻炼的一部分。一旦分析达到成熟,蓝队通常会在对手模拟操作中检测到红队。任何研究人员发现红色团队活动是要求不参与蓝色的团队运动,直到其他蓝色团队成员缩小了红色团队活动到一个特定的时间框架,以便不偏见的其他团队成员与先验信息的运动。

网络游戏#1

在第一款网络游戏中,蓝队是由来自不同背景的人组成的,没有人与蓝队有直接的联系。蓝队在随后的网络游戏中积累了丰富的经验。相反,所有的红队成员都有几年的红队经验,因此,明显的结果有利于红队。这第一次演习被用作测试,以评估几个潜在传感器的用途,因此,这些传感器当时没有广泛部署。这导致了有限的能见度,并使检测红队活动跨主机的挑战。
广泛部署这些传感器的必要性是从这项工作中得到的基本教训之一。
尽管两队在过去的经验上存在差异,但蓝队能够识别出红队的大量活动。红队的活动主要由故意的噪声和使用Windows文件共享34 (SMB)向不同的主机写入标记文件组成。这提供了证据,证明红队已经建立了对这些主机的一些控制,并创建了一个衡量蓝队成功的指标。
红队还使用了凭据采集工具。总的来说,尽管蓝队的经验有限,但他们的调查还是非常成功的。这在很大程度上是由于使用端点传感器,可以看到某些主机上的进程启动事件的命令行,还可以看到其他主机上由红队执行的SMB文件副本。

网络游戏#2

在第二场网络游戏中,红队决定参照蓝队之前的成功经验,使用更先进的战术。许多针对第一款网络游戏而开发的分析在第二款网络游戏中未能产生任何结果,因为红队将内置的windows commands36重新命名,并且没有执行明显的操作,例如编写名为flag.txt的文件。除此之外,传感器环境还处于不断变化的状态。这导致了蓝队几乎看不到的空白。
尽管在所有的网络游戏中,蓝队的成功率最低,但在第二场网络游戏中,蓝队获得了宝贵的经验教训,为以后的训练做准备。的一个主要的努力进行这个练习是发展的结果分析分析用户登录活动通过网络一重点管理活动。在计划方面,MITRE发现,当环境不稳定且同时发生传感器部署时,蓝色团队发现恶意活动的难度要大得多。在未来的游戏中,白队会在演习开始前做出更大的努力来确保一个稳定的网络环境。

网络游戏3

第一款网络游戏对蓝队来说太简单了,第二款太难了,而第三款则介于两者之间。在这个网络游戏中,白队想要确保蓝队受到挑战并接触到新的ttp,同时允许验证之前使用的分析。正是在这个过程中,白队的策划者们决定将红队引向某些ttp,这些ttp将从蓝队的分析中产生警报,并使用蓝队不熟悉的ttp。蓝队的成功率与第一组相似。他们能够识别出红队的大部分活动,但仍有一些空白需要努力填补,比如识别出实际泄露的信息,以及确定红队是如何保持其持续性的。
随后的练习与第三局使用的方法相同。随着新的分析被开发出来,红队有意地执行一些活动来触发它们。红队还采用了新的TTPs来推动蓝队开发新的更好的检测APT活动的方法。随着时间的推移,蓝队处理演习的方式也发生了变化;起初,团队成员之间很少有协调或沟通。在进行演习时,蓝队尝试了不同的方法来解决这个问题,以便尽量减少重复工作。他们开始使用协作软件(Microsoft SharePoint和OneNote)来互相分享发现和信息。以下列表详细列出了蓝队在网络游戏中发现的有助于合作的一些重要信息:
当获得新的信息时,维护一个所有团队成员都可以参考和添加的时间轴。这有助于减少重复的工作,并有助于确定关于红队活动的知识差距。
在接触过程中建立了一个可疑的主机列表,列出了蓝队认为值得调查的所有主机。这个列表还包括来自每个主机的一些基本系统信息,如IP地址、用户名,以及为什么该主机被标识为可疑主机。当其他团队成员看到来自主机或IP地址的网络会话并想知道该主机是否已经被怀疑为恶意活动的受害者时,使用此扩展信息可以帮助他们。
绘制所有可疑主机之间的关系网络图也很有帮助。通过包括主机之间的连接是如何建立的以及事件的时间顺序等细节,分析人员可以更容易地看到破坏的进展。它还有助于了解所有的主机之间的关系。注意:使用此方法可能更容易识别活动节点。
最初,蓝队没有意识到在训练过程中详细记录自己行动的重要性。这影响了他们向其他团队成员传递所发现事件的详细信息的能力,并且使得在练习结束后很难写出Blue team报告。随着时间的推移,蓝队商定了一个标准模板,所有队员都可以用它来记录他们查看的数据和调查结果。这个模板包含数据,例如分析或查询的执行时间、实际的分析或查询启动、他们搜索什么以及为什么搜索,以及结果。

5.2 分析迭代

如前所述,基于att&c的分析的一个核心方面是迭代。这种跨网络游戏的分析发展过程的一个很好的例子是可疑命令分析的演变。(分析细节见第0节。)这个分析最初是为了识别在网络环境中使用某些命令的实例而创建的。它寻找的命令列表最初是基于开源威胁信息和ATT&CK技术。这些命令来自20多种不同的ATT&CK技术,如发现/进程发现、持久性/新服务和执行/计划任务。
在第一款网络游戏之后,MITRE的研究人员学习了关于这种分析的几堂课。其中一个教训是,最初的噪音水平过高,要求研究人员修改分析结果,以寻找一起运行的命令组。这既降低了噪音水平,又为每个命令添加了更多的上下文,从而使分析人员能够更好地确定某个命令是否被恶意使用。红队还使用了以前被监视的命令列表中没有的命令。在确定了这个缺口之后,Blue团队将这些命令添加到被监视的命令列表中,并开始监视更新的分析。
红队在第二款网络游戏中所做的主要改变之一是重新命名了许多他们用来更好地隐藏自己的工具。这一战术挫败了可疑的命令分析,并迫使蓝队找出一种寻找这些命令的新方法。为了实现这一点,Blue团队开始寻找这些命令通常使用的参数。这个方法更嘈杂,但它确实使蓝队成功地识别了红队的活动。演习结束后,蓝队在他们的报告中记下了这个分析想法,并在后来将其提炼成一个完整的分析。就像之前的分析一样,这种新的可疑论证分析在日常监控和更多网络游戏的作用下得到了进一步的完善。
这项研究工作的分析产品被记录并发表在MITRE网络分析存储库(CAR)中。CAR包含映射到特定ATT&CK技术的分析,并描述高级分析假设、伪代码分析实现、单元测试和用于开发它们的数据模型,以便分析可以转录到各种分析平台。CAR旨在被整个社区的网络防御者使用,并作为一种共享基于行为分析的机制,可用于敌手检测。参见附录A.1中的示例分析。CAR于2016年发布,网址为https://car.mitre.org。

6 总结

APT已经并可能继续成功地获得对目标企业网络的初始访问权。基于ATT&CK的分析开发方法是网络防御者用来创建和维护检测这些威胁的功能的强大工具。使用这些方法的检测不依赖于典型的已知的坏的IoCs或外部的网络入侵通知,并且可以通过检测敌手使用ATT&CK模型中描述的技术来快速发现网络入侵。
分析开发方法基于五个原则:

  • 包括破坏后的检测
  • 关注行为
  • 基于威胁模型
  • 按设计迭代
  • 在现实的环境中发展。

MITRE的研究人员使用ATT&CK模型来指导网络游戏分析的发展和红色团队的构建。MITRE利用了基于ATT&CK的分析开发方法的七个步骤,通过新的和改进的分析来迭代地改进其网络游戏中的防御姿态。MITRE已经发布了CAR作为分析共享平台,以记录通过这一努力开发的供社区使用和扩展的分析。