当前位置: 首页 > 科技观察

ATT&CK与CALDERA概述

时间:2023-03-13 17:15:23 科技观察

在网络安全领域,攻击者可以利用相对自由、相对不受限制的资源,随意对组织发起攻击;而防御者则处于被动地位,用有限的资源去对抗无限的安全威胁。基于这种攻防不对称的情况,防御者总会被以下问题所困扰:①防御方案是否有效;②能否检测到APT攻击;③新的安全产品和安全策略是否有效;④安全工具的覆盖范围是否有重叠;⑤如何确定安全防御的优先级。直到MITREATT&CK的出现,才有人能够很好地回答上述问题。ATT&CK提供了一个许多组织迫切需要的关键功能——一种制定、组织和使用威胁情报防御策略的标准化方法,让企业合作伙伴、行业人员、安全厂商可以用同一种语言进行交流和交流。随后,MITRE基于ATT&CK框架开发了开源工具CALDERA。CALDERA是一个网络安全平台,旨在轻松实现对手仿真的自动化、协助手动红队和自动化事件响应[1]。因此,本文将对ATT&CK和CALDERA进行介绍,并演示CLADERA的一些基本功能。ATT&CKATT&CKOverviewATT&CK(AdversarialTactics,Technologies,andCommonKnowledge)是MITRE于2013年提出的“AdversarialTactics,Technologies,andCommonKnowledge”的知识库框架,基于现实世界的攻防对对抗行为进行描述和分类数据。该知识库由社区驱动,是一个公开免费、全球可访问的知识库[2]。这个知识库的目的是为红队、蓝队、厂商、企业等不同组织建立通用语言,提供更细粒度、更易用的策略、技术、流程、文档等资源。分享。对于攻击方,ATT&CK可以起到模拟对抗和红队渗透测试的作用,让红队更好的执行作战计划;对于防御方,可以进行防御缺口评估、行为分析研究、威胁情报分析、SOC成熟度评估等行为,更好地进行威胁分析和安全防御;研发人员也可以借此设计开发出更加实用有效的安全产品,从而更加全面地掌控攻防态势。该框架包括三个技术领域[3],即①企业级的EnterpriseATT&CK,包括PRE、Windows、macOS、Linux、云、网络、容器等平台;②移动端的MobileATT&CK,包括Android、iOS等平台;③ICSATT&CK用于工业控制系统。具体信息如表1所示。表1.ATT&CK技术领域ATT&CK矩阵对于每个技术领域,ATT&CK都有一个对应的不同矩阵。该矩阵包括战术、技术和程序,并通过ATT&CKMatrix矩阵显示。横轴代表战术,着重于攻击者的技术目标,提供了一个大的行动方案;纵轴代表技术,指的是具体的战术执行(How,What),包括中间的程序。战术、技术、子技术的具体含义如下:战术:表示攻击过程中的短期战术目标;技术:描述对手达到战术目标的手段;在较低的技术层次上实现战术目标的技术手段。以企业ATT&CK为例,ATT&CK矩阵如图1所示。ATT&CK策略及缓解措施ATT&CK策略共有14种,包括侦察、资源开发、初始访问、执行、持久化、提权、防御绕过、凭证获取、检测横向移动、收集、指挥和控制、数据泄露、影响[4]。战术只是为作战行动提供目标程序,具体行动是通过战术中的技术和子技术来实现的。图1.ATT&CK矩阵ATT&CK目前有42项缓解措施,包括防病毒、审计、代码签名、漏洞扫描、应用程序隔离和沙箱、漏洞利用预防、网络入侵预防、威胁情报规划、软件更新、操作系统配置、加密敏感信息、多因素认证等[5]。每项技术和子技术都有相应的缓解措施,帮助防御者提升安全能力。图2策略、技术和缓解措施示意图攻击组织使用一定的技术和软件来完成一定的(几种)策略,缓解措施用于防御技术攻击。如图2所示,红队从矩阵中选取部分战术,利用相关技术和流程进行对抗模拟和渗透测试。蓝队利用矩阵中的技战术进行行为分析;评估防御漏洞;并使用提供的缓解措施防御红队攻击。CALDERACALDERA概述CALDERA的全称是:Cyber?? Adversary Language andDecisionEngineforRedTeamAutomation,即“Cyber??AdversaryLanguageandDecisionEngineforRedTeamAutomation”。它建立在MITREATT&CK之上,这是一个网络安全框架,可以轻松运行自主违规和模拟练习。功能包括自动红队操作、手动红队操作、自动事件响应等。该框架由两个组件组成,如图3所示:核心系统:这是框架代码,由该存储库中可用的内容组成。其中包括带有RESTAPI和Web界面的异步命令和控制(C2)服务器。插件:这些是独立于提供附加功能的核心框架的存储库。示例包括代理、GUI界面、TTP集合等。图3.CALDERA的整体结构此外,还有几个术语需要明确:①能力:特定的功能程序(TTPs);②对手(Profile):一系列能力的组合;③Operation:针对特定群体(group)的特定Adversary的实现;④代理人:代理人。具体关系如图4所示。图4.Ability、adversary、operation、agent的关系。CALDERA服务器包含能力、对手、操作和各种有用的插件。通过在不同平台的机器上部署代理(Agent),可以在目标机器上完成攻击模拟。缓解措施的实施和测试。CALDERA服务器部署CALDERA服务器在GitHub上是开源的,可以使用gitclone直接部署在任何Linux发行版或macOS系统上。另外需要双核以上CPU,内存大于8GB,安装Python3.7+、pip3、Golang1.17+。环境准备完成后,在终端输入如下命令启动CALDERAServer:gitclonehttps://github.com/mitre/caldera.git--recursivecdcalderapip3install-rrequirements.txtpython3server.py--insecure打开浏览器输入http://$(ServerIP):8888即可访问CALDERAServer。$(ServerIP)替换为安装CALDERA服务器的机器的IP。红队和蓝队的账号分别是red和blue,密码都是adminCALDERAagentdeploymentCALDERAagentdeployment,一共有三个agent:sandcat,ragdoll,Manx。本文以sandcat为例,另外两篇参考sandcat执行。一、Linux和macOSLinux发行版的操作步骤与macOS基本相同。以Ubuntu系统为例。首先需要在OS上安装curl:sudoaptinstallcurl,然后登录caldera服务器,在侧边栏选择Agent,选择代理和平台类型。将app.contact.http改为服务器IP,将低端代码复制到目标机终端执行,即可在目标机上建立代理。如图5所示。2.关闭Windows的WindowsDefender实时保护,其他参考Linux代理部署。如果无法打开Win11的WindowsDefender,PowerShell管理员运行如下命令:图5.代理部署CALDERAOperationsOperations选项可以自定义攻击脚本并执行脚本。操作步骤如图6所示:①选择操作选项卡;②点击“创建操作”创建操作;③选择相关选项开始操作。图6.Operations操作步骤CALDERA插件CLADERA插件为CALDERA提供了丰富的功能。本文以两个常用的插件Access和Compass为例。1.AccessAccess提供了CALDERAAbility中所有功能的单一实现。通过使用Access,可以将任务分配给数据库中具有任何能力的任何代理。这对于执行初始访问攻击特别有用。为此,在目标机器上部署一个代理,并使用预ATT&CK或初始访问策略将任务分配给任何目标。用户也可以远程部署代理,将其作为代理执行初始访问攻击。具体操作如图7所示。图7.访问使用步骤2.CompassCompass是一款基于网络的ATT&CK矩阵标注和探索工具。它可用于可视化防御范围、红/蓝团队规划、检测技术频率等。它可以为任何Adversary生成一个layer文件,用户可以将其叠加在Compass提供的matrix上,或者在matrix中创建一个Adversary,然后上传layer文件生成一个Adversary进行操作。具体界面如图8所示。图8.Compass操作界面结语ATT&CK采用标准化的方法来制定、组织和使用威胁情报防御策略,使企业合作伙伴、行业人员、安全厂商能够在同一个平台上进行沟通和交流语言,为策略、技术、流程、文档等提供更详细、更易于共享的资源。开源软件CLADERA基于MITREATT&CK的资源,建立了易于使用的红蓝双方攻防模拟平台,可以轻松进行独立的违规和模拟演练。本文简要介绍了ATT&CK和CLADERA的基本功能和架构,并演示了如何使用CALDERA的部分功能。但限于文章篇幅和知识有限,我们只能对两者进行简单介绍,更深入的功能和认知还需要在实践中去探索和学习。也欢迎广大读者共同探讨交流。参考文献1.CALDERA.GitHub-mitre/caldera:AutomatedAdversaryEmulationPlatform2.MITERATT&CK.https://attack.mitre.org/3.ATT&CK矩阵。Matrix-企业|MITREATT&CK?4.ATT&CK战术。战术-企业|MITREATT&CK?5.ATT&CK缓解措施。缓解措施-企业|MITREATT&CK?