2.4 ATT&CK云安全攻防模型
2.4.1 ATT&CK定义
ATT&CK(Adversarial Tactics,Techniques,and Common Knowledge)是由MITRE公司在2013年推出的,包含对抗策略、技术和常识,是网络对抗者(通常指黑客)行为的精选知识库和模型,反映了攻击者攻击生命周期的各个阶段,以及已知的攻击目标平台。
ATT&CK根据真实的观察数据来描述和分类对抗行为,将攻击者的攻击行为转换为结构化列表,并以矩阵、结构化威胁信息表达式(Structured Threat Informatione Xpression,STIX)和指标信息的可信自动化交换(Trusted Automatede Xchangeof Indicator Information,TAXII)的形式来表示。由于此列表全面地呈现了攻击者在攻击网络时所采用的行为,因此它对各种具有进攻性和防御性的度量、表示和其他机制都非常有用。
从视觉角度来看,ATT&CK 矩阵按照易于理解的格式将所有已知的战术和技术进行排列。攻击战术展示在矩阵顶部,每列下面列出了单独的技术。一个攻击序列至少包含一个技术,并且从左侧(初始访问)向右侧(影响)移动,这样就构建了一个完整的攻击序列。一种战术可能使用多种技术,如攻击者可能同时尝试鱼叉式网络钓鱼攻击中的钓鱼邮件和钓鱼链接。
ATT&CK战术按照逻辑分布在多个矩阵中,并以“初始访问”战术开始,如发送包含恶意附件的鱼叉式网络钓鱼邮件就是该战术下的一项技术。ATT&CK中的每一种技术都有唯一的ID号码,如技术T1193。矩阵中的下一个战术是“执行”,在该战术下有“用户执行T1204”技术,该技术描述了在用户执行特定操作期间执行的恶意代码。在矩阵后面的阶段中,你将会遇到“提升特权”“横向移动”和“渗透”之类的战术。
攻击者不会使用矩阵顶部所有的12项战术,相反,他们会使用最少数量的战术来实现目标,因为这可以提高效率并且降低被发现的概率。例如,攻击者使用电子邮件中传递的鱼叉式网络钓鱼链接对 CEO 行政助理的凭证进行“初始访问”,在获得管理员的凭证后,攻击者将在“发现”阶段寻找远程系统。接下来可能是在 Dropbox 文件夹中寻找敏感数据,因为管理员对此也有访问权限,因此无须提升权限。最后攻击者通过将文件从 Dropbox 下载到计算机来完成收集。
2.4.2 ATT&CK使用场景
在各种日常环境中,ATT&CK都很有价值。当开展防御活动时,可以将ATT&CK分类法作为预判攻击者行为的参考依据。ATT&CK不仅能为网络防御者提供通用技术库,还能为渗透测试和红队提供基础,即通用语言。组织可以以多种方式来使用ATT&CK,下面是一些常见的场景。
1.对抗模拟
ATT&CK可用于创建对抗性模拟场景,对常见对抗技术的防御方案进行测试和验证。
2.红队/渗透测试活动
攻防双方的渗透测试活动的规划、执行和报告可以使用ATT&CK,为防御者和报告接收者提供一种通用语言。
3.制定行为分析方案
ATT&CK可用于构建和测试行为分析方案,以检测环境中的对抗行为。
4.防御差距评估
ATT&CK可以用于以行为为核心的常见对抗模型中,以评估组织内现有防御方案中的工具、监视和缓解措施。在研究 ATT&CK时,大多数安全团队都倾向于为Enterprise矩阵中的每种技术尝试开发某种检测或预防控制措施。虽然这并不是一个坏主意,但是ATT&CK矩阵中的技术通常可以通过多种方式执行。因此,阻止或检测执行这些技术的一种方法并不一定意味着涵盖了执行该技术的所有可能方法。由于某种工具阻止了用另一种形式来采用这种技术,而组织机构已经适当地采用了这种技术,这可能会产生一种虚假的安全感。这时,攻击者仍然可以采用其他方式来采用该技术,但防御者却没有任何检测或预防措施。
5.SOC成熟度评估
ATT&CK可作为一种度量,确定SOC在检测、分析和响应入侵方面的有效性。SOC团队可以参考ATT&CK已检测或未涵盖的技术和战术,这有助于了解防御的优势和劣势并验证缓解和检测控制措施,以便发现配置错误和其他操作问题。
6.网络威胁情报收集
ATT&CK对网络威胁情报很有用,因为ATT&CK是在用一种标准方式描述对抗行为,是根据攻击者利用的 ATT&CK 技术和战术来跟踪攻击主体。这就为防御者提供了一个路线图,以便他们可以对照操作控制措施,针于某些攻击主体查看自己的弱点和优势。针对特定的攻击主体创建ATT&CK导航工具内容,是一种观察环境中攻击主体或团体的优势和劣势的好方法。ATT&CK还可以为STIX和TAXII 2.0提供内容,从而很容易地将支持这些技术的现有工具纳入其中。
2.4.3 AWS ATT&CK云模型
随着云计算平台的快速发展,对云基础设施的攻击也显著增加。2019 年 AWS 针对云攻击推出了AWS ATT&CK云模型,下面针对云攻击模型的攻击战略和战术,以及防护和缓解措施做详细的介绍。
1.初始访问
攻击者试图进入你的网络。
初始访问是使用各种入口向量在网络中获得其初始立足点的技术。其用于立足的技术包括针对性的鱼叉式欺骗和利用面向公众的Web服务器上的安全漏洞获得的立足点,例如有效账户和使用外部远程服务等。
攻击者通过利用面向互联网的计算机系统或程序中的弱点,产生破坏行为,这些弱点可能是错误、故障或设计漏洞等。这些应用程序通常是指网站,但也包括数据库(如SQL)、标准服务(如SMB或SSH),以及具有Internet(因特网)可访问开放套接字的任何其他应用程序,如Web服务器和相关服务。
如果应用程序托管在基于云的基础架构上,则对其使用可能会导致基础实例受到损害,如使对手获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP(Open Web Application Security Project,开放式Web应用程序安全性项目)公示的前十大安全漏洞和CWE(Common Weakness Enumeration,常见弱点枚举)排名前25位,突出了最常见的基于Web的漏洞。
2.执行
执行策略是使攻击者控制的代码在本地或远程系统上执行的技术。此策略通常与初始访问结合使用,作为获得访问权限后执行代码的手段,以及横向移动以扩展对网络远程系统的访问权限。
有权访问AWS控制台的攻击者可以利用API网关和Lambda创建能够对账户进行更改的后门,那么一组精心设计的命令就会触发 Lambda 函数返回角色的临时凭证,然后将这些凭证添加到本地AWS CLI(AWS Command-Line Interfoce,AWS命令行界面)配置文件中来创建恶意用户。
3.持久性
对手试图保持立足点。
持久性是指攻击者利用重新启动、更改凭证等手段对系统访问的技术组成。攻击驻留技术包括任何访问、操作或配置更改,以便使它们能够在系统内持久隐藏,例如替换、劫持合法代码或添加启动代码。
Amazon Web Service Amazon Machine Images(AWS AMI),Google Cloud Platform(GCP)映像和Azure映像,以及容器在运行时(如Docker)都可以被植入后门以包含恶意代码。如果指示基础架构配置的工具始终使用最新映像,则可以提供持久性访问。
攻击者已经开发了一种工具,可以在云容器映像中植入后门。如果攻击者有权访问受感染的AWS实例,并且有权列出可用的容器映像,则他们可能会植入后门,如Web Shell。攻击者还可能将后门植入在云部署无意使用的Docker映像中,这在某些加密挖矿僵尸网络实例中已有报道。
4.提升权限
攻击者可以使用凭证访问技术窃取特定用户或服务账户的凭证,或者在侦察过程的早期通过社会工程来获取凭证以获得初始访问权限。
攻击者使用的账户可以分为三类:默认账户、本地账户和域账户。默认账户是操作系统内置的账户,如Windows系统上的Guest和Administrator账户,或其他类型的系统、软件、设备上的默认工厂或提供者设置账户。本地账户是由组织配置的账户,供用户远程支持、服务或在单个系统或服务上进行管理。域账户是由Active Directory域服务和管理的账户,其中为跨该域的系统和服务配置访问权限。域账户可以涵盖用户、管理员和服务。
受损的凭证可能会用于绕过放置在网络系统上各种资源的访问控制,甚至可能会用于对远程系统和外部可用服务(如VPN,Outlook Web Access和远程桌面)的持久访问。受损的凭证也可能会增加攻击者对特定系统或访问网络受限区域的特权。攻击者可能不选择将恶意软件或工具与这些凭证提供的合法访问结合使用,以便更难检测到它们的存在。
另外,攻击者也可能会利用公开披露的私钥或被盗的私钥,通过远程服务合法连接到远程环境。
在整个网络系统中,账户访问权、凭证和权限的重叠是需要关注的,因为攻击者可能会跨账户和系统进行轮转以达到较高的访问级别(即域或企业管理员),从而绕过访问控制。
5.防御绕过
攻击者试图避免被发现。
防御绕过包括攻击者用来避免在整个攻击过程中被发现的技术。逃避防御所使用的技术包括卸载或禁用安全软件或对数据和脚本进行混淆或加密。攻击者还会利用和滥用受信任的进程来隐藏和伪装其恶意软件。
攻击者在执行恶意活动后可能会撤回对云实例所做的更改,以逃避检测并删除其存在的证据。在高度虚拟化的环境(如基于云的基础架构)中,攻击者可以通过云管理仪表板使用VM 或数据存储快照的还原轻松达到此目的。该技术的另一个变体是利用附加到计算实例的临时存储。大多数云服务商都提供各种类型的存储,包括持久性存储、本地存储和临时存储,后者通常在VM停止或重新启动时被重置。
6.凭证访问
攻击者试图窃取账户名和密码。
凭证访问包括用于窃取凭证(如账户名和密码)的技术,包括密钥记录和凭证转储。若攻击者利用了合法的凭证访问系统,则更难被发现,此时攻击者可以创建更多账户以帮助其增加最终实现目标的概率。
攻击者可能会尝试访问云实例元数据API,以收集凭证和其他敏感数据。
大多数云服务商都支持云实例元数据 API,这是提供给正在运行的虚拟实例的服务,以允许应用程序访问有关正在运行的虚拟实例的信息。可用信息通常包括名称、安全组和其他元数据的信息,甚至包括敏感数据(如凭证和可能包含其他机密的 UserData 脚本)。提供实例元数据API是为了方便管理应用程序,任何可以访问该实例的人都可以访问它。
如果攻击者在运行中的虚拟实例上存在,则他们就可以直接查询实例元数据 API,以标识授予对其他资源访问权限的凭证。此外,攻击者可能会利用面向公众的Web代理中的服务器端请求伪造(Server-Side Request Forgery,SSRF)漏洞,该漏洞可以使攻击者通过对实例元数据API的请求访问敏感信息。
7.发现
攻击者试图找出你的环境。
发现包括攻击者可能用来获取有关系统和内部网络知识的技术。这些技术可帮助攻击者在决定采取行动之前观察环境并确定方向。它们还允许攻击者探索他们可以控制的东西及进入点附近的东西,以便发现如何使他们当前的目标受益。
攻击者可以通过查询网络上的信息,来尝试获取与他们当前正在访问的受感染系统之间或从远程系统获得的网络连接的列表。
获得基于云环境的一部分系统访问权的攻击者,可能会规划出虚拟私有云或虚拟网络,以便确定连接了哪些系统和服务。针对不同的操作系统,所执行的操作可能是相同类型的攻击发现技术,但是所得信息都包括与攻击者目标相关的联网云环境的详细信息。不同云服务商可能有不同的虚拟网络运营方式。
8.横向移动
横向移动由使攻击者能够访问和控制网络上的远程系统的技术组成,并且可以但不一定包括在远程系统上执行工具。横向移动技术可以使攻击者从系统中收集信息,而无须其他工具,如远程访问工具。
如果存在交叉账户角色,攻击者就可以使用向其授予AssumeRole权限的凭证来获取另一个AWS账户的凭证。在默认情况下,当使用AWS Organization时,父账户的使用者可以在子账户中创建这些交叉账户角色
攻击者可以识别可用作横向移动桥接器的IAM角色,并在初始目标账户中搜索所有IAM用户、组、角色策略及客户管理的策略,并识别可能的桥接IAM角色。在AssumeRole事件的初始目标账户中,攻击者使用两天的默认回溯窗口配置和1%的采样率收集有关任何跨账户角色假设的信息。有了潜在的桥接IAM角色列表,MadDog就可以尝试获取可用于横向移动的临时凭证账户了。
通过波动模式,攻击者可以使用 MadDog 通过从每个被破坏账户中获得的凭证来破坏尽可能多的AWS账户。通过持久性模式,MadDog将在每个违规账户下创建一个IAM用户,以进行直接和长期访问,而无须遍历横向移动最初使用的AWS角色链。
9.纵向移动
纵向移动包括使攻击者能够访问和控制系统并同时在两个不同的平面(即网络平面和云平面)上旋转的技术。
攻击者可以使用AWS SSM(Simple Server Manager)来获得具有适当权限的AWS凭证在计算机中的反向Shell。借助云的控制,攻击者可以向自己授予读取网络中所有硬盘的权限,以及在磁盘中搜寻凭证或用户的权限。
10.收集
攻击者正在尝试收集目标感兴趣的数据。
收集包括攻击者用来收集信息的技术。通常,收集数据后的下一个目标是窃取(泄露)数据。常见的目标来源包括各种驱动器类型、浏览器、音频、视频和电子邮件。常见的收集方法包括捕获屏幕截图和键盘输入。
攻击者可能会从安全保护不当的云存储中访问数据对象。
许多云服务商都提供在线数据存储解决方案,如Amazon S3,Azure存储和Google Cloud Storage。与其他存储解决方案(如 SQL或 Elasticsearch)的不同之处在于,它们没有总体应用程序,它们的数据可以使用云服务商的API直接检索。云服务商通常会提供安全指南,以帮助最终用户配置系统。
最终用户的配置出现错误是一个普遍的问题,发生过很多类似事件,如云存储的安全保护不当(通常是无意中允许未经身份验证的用户进行公共访问,或者所有用户都过度访问),从而允许公开访问信用卡、个人身份信息、病历和其他敏感信息。攻击者还可能在源存储库、日志等中获取泄露的凭证,以获取对具有访问权限控制的云存储对象的访问权。
11.渗透与数据窃取
攻击者试图窃取数据。
渗透由攻击者用来从网络中窃取数据的技术组成。攻击者收集到数据后,通常会对其进行打包,避免在删除数据时被发现,这包括数据压缩和数据加密。用于从目标网络中窃取数据的技术通常包括在其命令和控制信道或备用信道上传输数据,以及在传输中设置大小限制。
攻击者通过将数据(包括云环境的备份)转移到他们在同一服务上控制的另一个云账户中来窃取数据,从而避免典型的文件下载或传输和基于网络的渗透检测。
通过命令和控制通道监视向云环境外部大规模传输的防御者,可能不会监视向同一个云服务商内部的另一个账户的数据传输。这样的传输可以利用现有云服务商的API和内部地址空间混合到正常流量中,或者避免通过外部网络接口进行数据传输。在一些事件中,攻击者创建了云实例的备份并将其转移到单独的账户中。
12.干扰
攻击者试图操纵、中断或破坏系统和数据。
干扰包括攻击者用来通过操纵业务和运营流程破坏系统和数据的可用性或完整性的技术,包括破坏或篡改数据。在某些情况下,有时候业务流程看起来还不错,但可能已进行了更改,以使攻击者的目标受益。攻击者可能会使用这些技术实现其最终目标,或为违反保密性提供掩护。
常见的攻击战术包括DDoS(Distributed Denial-of-Service,抗拒绝服务攻击)和资源劫持。
攻击者可以对来自AWS区域中EC2实例的多个目标(AWS或非AWS)执行DDoS,也可能会利用增补系统的资源,解决影响系统或托管服务可用性的资源密集型问题。
资源劫持的一个常见目的是验证加密货币网络的交易并获得虚拟货币。攻击者可能会消耗足够的系统资源,从而对受影响的计算机造成负面影响或使它们失去响应。服务器和基于云的系统经常是他们的目标,因为可用资源的潜力很大,但是有时用户终端系统也可能会受到危害,并用于资源劫持和加密货币挖掘。