在网络安全领域,篇读攻击者可以相对自由和相对无限的篇读运用资源对组织机构随意发起攻击;而防守方则处于被动挨打的地位 ,用有限的篇读资源去对抗无限的安全威胁。基于这种攻防不对称的篇读情况 ,防守方始终会被以下问题所困扰:①防御方案是篇读否有效;②能否检测到APT攻击;③新的安全产品 、安全策略能否有效;④安全工具覆盖范围是篇读否有重叠;⑤如何确定安全防御优先级 。 一直以来
,篇读没有人能够很好地回上述的篇读问题,源码库直到MITRE ATT&CK的篇读出现 。ATT&CK提供了一种许多组织机构迫切需要的篇读关键功能——用一种标准化的方法来开发、组织和使用威胁情报防御策略
,篇读实现企业合作伙伴、篇读行业人员
、篇读安全厂商以相同的篇读语言进行沟通和交流。 之后 ,篇读MITRE公司在ATT&CK框架的基础上开发了开源工具CALDERA。CALDERA是一个网络安全平台,旨在轻松实现对手仿真自动化
、建站模板协助手动红队以及事件响应自动化[1]。 因此 ,本文将对ATT&CK和CALDERA进行一个简介,并对CLADERA的一些基本功能做一个演示
。 ATT&CK(Adversarial Tactics, Technologys, and Common Knowledge)
,是由MITRE公司2013年提出的“对抗战术、技术和常识”知识库框架。它基于真实世界的攻防数据来描述和分类对抗行为
。这个知识库是由社区驱动的,并且是免费模板公开免费、全球可访问的知识库[2]。 该知识库建立的目的是为红队、蓝队
、厂商、企业等不同组织构建一套通用语言 ,提供更细粒度 、更易共享的战术、技术、流程、文档等资源。云计算 对于攻方 ,ATT&CK能起到对抗模拟、红队渗透测试作用,使红队更好实施作战计划;对于守方则能进行防御差距评估
、行为分析研究、威胁情报分析、SOC成熟度评估等行为,更好展开威胁分析和安全防御;研发人员也能借此设计开发出更实战有效的安全产品
,领导更全局掌控攻防态势。 该框架包含三个技术域[3]
,即①企业级的Enterprise ATT&CK,包含PRE、Windows 、macOS、服务器租用Linux 、云
、网络 、容器等平台;②移动端的Mobile ATT&CK,包括安卓和iOS等平台;③工控系统的ICS ATT&CK。具体信息如表1所示。 表1. ATT&CK技术域 对于每一个技术域 ,ATT&CK有对应不同的矩阵 。矩阵包括战术、技术、程序
,通过ATT&CK Matrix矩阵展示。横轴代表战术,高防服务器核心研究攻击者的技术目标,提供一个大的行动纲领;纵轴代表技术,指具体的战术执行(How、What),中间包括程序。战术、技术 、子技术的具体含义如下: 以Enterprise ATT&CK为例,ATT&CK矩阵如图1所示
。 ATT&CK战术共14个 ,包括侦察、资源开发
、初始访问、执行
、持久化、权限提升 、防御绕过
、凭证获取
、发现横向移动、搜集、命令控制、数据渗出、影响[4]
。战术仅为作战行动提供目标纲领 ,具体行动由战术中的技术与子技术实现 。 图1. ATT&CK矩阵 ATT&CK当前缓解措施共42项,包括防病毒、审计
、代码签名
、漏洞扫描、应用程序隔离和沙箱
、漏洞利用防护、网络入侵防护 、威胁情报计划、软件更新、OS配置、加密敏感信息、多因素认证等[5]。 每一项技术和子技术都会有相对应的缓解措施,帮助防御者提高安全防护能力
。 图2. 战术、技术
、缓解措施示意图 攻击组织使用某些技术和软件完成某(几)种战术,缓解措施则用于抵御技术攻击。 如图2所示,红队从矩阵中选取部分战术并使用相关技术和程序进行对抗模拟和渗透测试。蓝队利用矩阵中的技战术进行行为分析;评估防御差距;利用提供的缓解措施抵御红队攻击。 CALDERA的全称是 :Cyber Adversary Language and Decision Engine for Red Team Automation,即“用于红队自动化的网络对手语言和决策引擎” 。它基于MITRE ATT&CK建立,是一种能够轻松运行自主的违规和模拟练习的网络安全框架
。功能包括自动化红队行动、手工红队行动 、自动化应急响应等。 该框架包含两个组件,如图3所示 : 图3. CALDERA整体架构 此外
,还有几个名词需要明确 :①Ability
:一段具体的功能程序(TTPs);②Adversary(Profile):一系列Ability的结合;③Operation
:针对特定组(group)特定Adversary的实现;④Agent:代理。具体关系如图4所示 。 图4. Ability
、adversary 、operation、agent的关系 CALDERA服务器上包含Ability、adversary、operation和各种有用的插件,而通过将代理(Agent)部署到不同平台的机器上,可以对目标机器完成攻击模拟的实现和缓解措施的测试 。 CALDERA Server开源于GitHub ,可使用git clone直接部署于任何Linux发行版或者macOS系统上。除此之外 ,要求双核及以上CPU和大于8GB内存,并安装Python3.7+、pip3和Golang1.17+
。 环境准备完成后终端输入如下命令即可启动CALDERA Server: 打开浏览器输入http://$(ServerIP): 8888即可访问CALDERA Server
。$(ServerIP)替换为安装CALDERA Server机器的IP。红队蓝队账户名分别为red、blue,密码均为admin CALDERA代理部署 ,共有sandcat、ragdoll
、Manx三种代理可选 。本文以sandcat为例,其余两种参考sandcat执行。 1.Linux和macOS Linux各发行版和macOS操作步骤基本一致,以Ubuntu系统为例。首先需要在OS上安装curl: 此后登录caldera server
,选择侧边栏的Agent,选择代理和平台类型。将app.contact.http改为server IP,复制下端代码至目标机器终端执行,即可在目标机器建立代理 。如图5所示。 2.Windows 关闭Windows Defender实时防护,其他参考Linux agent部署
。 若Win11的Windows Defender无法打开,PowerShell管理员运行如下命令: 图5. 代理部署 Operations选项能自定义攻击剧本并对剧本进行执行
。操作步骤见图6如下:① 选择operation标签;② 点击“Create Operation”创建operation;③ 选择相关选项
,开始operation。 图6. Operations操作步骤 CLADERA的插件为CALDERA提供了丰富的功能 。本文以两个常用插件Access和Compass为例。 1.Access Access提供了CALDERA的Ability中所有功能的单项实现。通过使用Access可以从数据库中为任何具有任意Ability的代理分配任务 。这对于执行初始访问攻击特别有用 。要做到这一点 ,需要在目标机器部署一个代理,并使用pre-ATT&CK或初始化Access策略来分配任务,指向任何目标 。用户还可以远程部署代理并将其用作代理来执行初始Access攻击。具体操作见图7所示。 图7. Access使用步骤 2.Compass Compass是一个基于网络的工具,用于注释和探索ATT&CK矩阵。它可以用于可视化防守覆盖范围、红/蓝团队规划、检测技术的频率等。它可以为任何Adversary生成一个layer文件
,用户可以将其覆盖在Compass提供的矩阵上,或在矩阵中创建一个Adversary
,然后上载layer文件以生成用于操作的Adversary
。具体界面如图8所示。 图8. Compass操作界面 ATT&CK通过用一种标准化的方法来开发、组织和使用威胁情报防御策略
,实现了企业合作伙伴、行业人员、安全厂商以相同的语言进行沟通和交流
,提供了更细粒度、更易共享的战术、技术 、流程
、文档等资源。而开源软件CLADERA基于MITRE ATT&CK的资源,建立了一个对红蓝双方都简单易用的攻防模拟平台 ,能够轻松运行自主的违规和模拟练习。 本文对于ATT&CK和CLADERA的基本功能和架构进行了一些简单介绍,并演示了如何使用CALDERA的一些功能。但是受限于文章篇幅和学识有限,只能对二者进行简单介绍 ,更多深入的功能和认知还需要再实践中探索学习
。也欢迎各位读者共同探讨交流 。 1.CALDERA. GitHub - mitre/caldera: Automated Adversary Emulation Platform 2.MITRE ATT&CK. https://attack.mitre.org/ 3.ATT&CK MATRICES. Matrix - Enterprise | MITRE ATT&CK® 4.ATT&CK TACTICS. Tactics - Enterprise | MITRE ATT&CK® 5.ATT&CK MITIGATIONS. Mitigations - Enterprise | MITRE ATT&CK®概 述
ATT&CK
ATT&CK概述


CALDERA
CALDERA概述





结 语