近日,云安全公司Sysdig发布了《2023年全球云威胁报告》,研究了瞄准垂直行业的针对性云攻击,结果发现云攻击者正在通过利用云服务和常见的错误配置,以复杂的方式发展他们的技术和工具包。更重要的是,云中的攻击移动速度很快,侦察到威胁和造成严重破坏之间的间隔可能仅几分钟。
报告摘要
- 云自动化的武器化:云攻击发生得很快,侦察和发现的速度更快。这些技术的自动化使攻击者能够立即发现目标系统中的漏洞。数据显示,机会主义攻击平均在2分钟内就能找到公开暴露的凭据,而从凭证发现到攻击启动往往只需21分钟。很多时候,发现警报往往为时已晚;
- 10分钟结束战斗:云攻击者行动迅速,伺机而动,往往只需10分钟就能发动攻击,其中5分钟是驻留时间。而根据Mandiant的数据,全球网络攻击平均“驻留时间”(攻击者入侵网络到入侵被检测的时间)为16天;
- 90%的安全供应链并不够安全:另外10%的高级供应链威胁对预防工具来说是不可见的。规避技术使恶意代码能够隐藏,直到映像被部署。
- 攻击者隐藏在云中:攻击者正在滥用云服务和策略,以充分利用云原生环境的复杂性。使用源混淆(source obfuscation)使它们更难被跟踪。新技术使得基于IoC的防御失效,将蓝队推向先进的云威胁检测;
- 65%的云攻击针对电信和金融科技公司:电信和金融公司拥有成熟的高价值信息,提供了快速牟利的机会。
从零到管理:扭转云的对抗力
确保安全配置是任何云安全程序的基础。当锁定帐户访问权限并减少攻击面时,威胁参与者也会寻找新的漏洞来获得初始访问权限。
由于身份和访问管理(IAM)是关键的云安全控制,攻击者正专注于发展他们的技术,用于凭据访问、特权升级和横向移动。与此同时,防御者也在学习在“万物皆代码”的世界中操作,在这个世界中,为适当的访问和特权编写代码时出现的语法错误可能成为通往成功的拦路石。
初始访问
事实证明,威胁行为者正在不断利用易受攻击的应用程序,寻找云凭据,并将攻击范围扩展至云。
S3桶和其他类似的对象存储选项是存储秘密和密钥的流行云服务。而威胁行为者正使用Espiderfoot、Linode和S3 Browser等工具持续扫描存储桶,以求找到有用的错误配置。它们还会暴力破解实际组织可能使用的S3桶名,以期找到与目标公司相关的有价值信息。当相关资源被扫描或凭据泄露时,坏人和好人都会使用聊天机器人(Chatbot)来获取通知。
信息收集
云环境中的发现策略是攻击者杀伤链中最被低估的步骤之一。防御者倾向于把注意力集中在其他攻击战术上(比如防御逃避),但忘记了大多数复杂的攻击都是从广泛的发现活动开始的。
云环境中的发现活动是高度自动化的,几乎在首次登录后便会立即发生。查看许多攻击活动的云事件日志会发现,大多数API调用间隔为毫秒,这是使用自动工具或脚本的明显证据。
攻击者还会每天或每小时持续执行一些小的周期性发现活动,以跟踪潜在的受害帐户并利用更改或错误配置。这一阶段的攻击并不微妙。它的特点是对许多端点的查询快速连续,如下表所示。这种类型的活动表明攻击者正在进行信息收集,并且应该触发对帐户的事件响应分析。
事件名称 | 记录数量 | 描述 |
ListSecrets | 4814 | 攻击者可以列出Secrets Manager在AWS账户中存储的秘密。 |
GetPolicy | 4720 | 攻击者可以提取指定策略的信息,包括策略所依附的IAM用户、组和角色的总数。 |
GetPolicyVersion | 4483 | 攻击者可以检索有关策略的指定版本的详细信息,包括策略文档。 |
ListGroupsForUser | 2517 | 使用此API,可以提取并列出指定IAM用户所属的IAM组。 |
ListUserPolicies | 2209 | 攻击者可以列出用户附加的策略。 |
ListAccessKeys | 1609 | 攻击者可以提取与用户相关的ccess key ID列表。 |
GetLoginProfile | 1578 | 攻击者可以使用此API来了解用户是否有权访问AWS管理控制台。 |
ListMFADevices | 1574 | 攻击者可以列出多因素身份验证(MFA)设备,以便了解哪些用户可以作为攻击目标。 |
ListUserTags | 1354 | 此API列出附加到指定IAM用户的标签,为攻击者提供他们可以在攻击路径中使用的额外信息。 |
ListUsers | 1161 | 攻击者可以使用此API枚举和列出AWS帐户内的所有用户。 |
ListAttachedUserPolicies | 857 | 该API提取附加到用户的策略。攻击者可以枚举用户的特权,寻找可能的特权升级路径。 |
ListObjectVersions | 635 | 该API返回bucket中所有版本对象的元数据。 |
GetCallerIdentity | 526 | 此API通常用作检查获得的凭据是否有效的首个操作。它提供了有关IAM用户或角色的详细信息,其凭据用于调用API。 |
ListStack | 415 | 通常在枚举和信息收集阶段使用,攻击者可以使用此API来获取状态与指定的StackStatusFilter匹配的堆栈的汇总信息。 |
ListRolePolicies | 303 | 此API列出嵌入到指定IAM角色中的内联策略的名称。 |
数据收集
攻击者对无服务器功能代码和基础设施即代码(IaC)软件(如CloudFormation和Terraform)尤为感兴趣,因为这些文件通常包含凭据、秘密或其他敏感信息。这些资产可能在安全扫描中被忽视,因为它们相对模糊和新颖。防御者通常低估了只读访问的力量,但是这可能正是攻击者所需要的。
研究人员观察到的一个例子是,攻击者调用了几个API(如GenerateCredentialReport和GetCredentialReport)以便自动生成和下载包含帐户中所有用户及其相关状态、密码、访问密钥和MFA设备的凭据报告。对于从AWS账户中提取关于其他用户的有价值信息时,这些API特别方便。
收集过程通常是自动化的。许多攻击——从最初的访问到实际行动——往往发生在10分钟或更短的时间内,但一些更复杂的攻击将需要更长的时间。
特权升级
众所周知,人是网络安全中最薄弱的环节,攻击者也深知这一点,因此一直在寻找人为错误。在云环境中,攻击者可以利用十分微小的错误来提升权限。在某些情况下,这些错误无法被云原生或第三方云安全态势管理(CSPM)安全评估工具检测到。
想要记住云安全提供商(CSP)何时区分大小写,何时不区分可能很困难。以AWS中的策略资源为例,其中有一些字段(如Action)不区分大小写。而其他字段(比如Resource)则区分。在SCARLETEEL 2.0的操作中,攻击者便是滥用了云环境中不一致的命名约定。下述代码就是将该策略应用于具有已定义用户名的受限资源子集的示例。
{
“Sid”: “VisualEditor2”,
“Effect”: “Deny”,
“Action”: [
“iam:CreateAccessKey”
],
“Resource”: [
“arn:aws:iam::078657857355:role/*”,
“arn:aws:iam::078657857355:user/*admin*”
]
}
在这次攻击中,受害者对所有管理员帐户使用了特定的命名约定:“adminJane”、“adminJohn”等等。虽然,根据采用的惯例正确地创建了将特定操作限制为管理员用户名的策略,但其中一个帐户无意中命名不一致。它转而使用大写的“A”来表示“Admin”,比如“AdminJoe”。攻击者能够绕过这个限制性策略并为AdminJoe创建访问密钥,因为该名称不属于标准命名约定。
横向移动
云环境中的横向移动通常与攻击者从一个用户的帐户移动到另一个用户的帐户有关。然而,研究人员已经目睹了攻击者从企业云帐户横向移动到计算基础设施。如果云中的服务器与之相连,这种类型的攻击可以让攻击者转向本地服务器。
在这起事件中,攻击者利用一个名为SendSSHPublicKey的API来访问EC2实例,如下图所示。使用此API,攻击者将自身提供的SecureShell(SSH)公钥推送到指定的EC2实例,然后允许任何拥有相应私钥的人通过SSH直接连接到系统。一旦进入,攻击者就可以控制设备,然后进行下一步操作。
这种类型的横向移动可能会给防守者带来问题,因为它通常涉及跨越检测边界。例如,一旦攻击者从AWS转移到EC2,CloudTrail将不会提供有关攻击者正在做什么的任何信息。当攻击者从一个计算实例转移到云端时,情况也是如此。防御者需要在运行时监控他们的云控制平面API(如CloudTrail)和他们的EC2工作负载,以便了解攻击的全部范围。
在获得对云账户的控制权后,损失可能是一笔巨额账单、数据被盗或被破坏,或者第三方(比如受害组织的客户)受到损害等等。在涉及多种环境的情况下,时间至关重要。威胁检测需要是实时的,不能在云或操作系统等边界上停止。响应云环境中的事件需要对运行时工作负载和云的可见性。
攻击者的目标
通过加密挖矿劫持资源仍然是最常见和最有利可图的威胁行为者目标之一。在接管账户后,威胁行为者会迅速将资产货币化。攻击者已经创建了许多高性能、昂贵的实例(例如,c5.metal或r5a.4xlarge)。在一个案例中,攻击者试图启动40个实例。
攻击者还会瞄准防御者难以察觉的现有资源。这里的动机并不纯粹是利润驱动的。攻击者可以直接连接到EC2实例,并将其作为跳板对下一个目标发起攻击,如上图所示。
缓解措施
像AWS这样的CSP和像GitHub这样的存储库已经注意到泄露的秘密攻击向量,并共同努力提供缓解措施。例如,AWS将扫描GitHub以查找任何AWS凭据,一旦有所发现,将向用户附加隔离策略以限制潜在的损害。GitHub也开始检查一些秘密格式的提交,并可以自动拒绝它们。这些解决方案有帮助,但我们永远不能低估用户为了方便而绕过保护措施的可能性。
为此,建议遵顼以下建议:
- 采用机密管理系统(Secrets management system)以减少凭据泄露的可能性。通过将密钥和凭据保存在集中的位置,并提供一个API来动态检索密钥,这样密钥和凭据就不会无意中留在文件中。
- CSP为用户和资源的身份验证和授权模型提供了很大的灵活性。一个好的CSPM解决方案将提供可见性和解决方案选项,以及合规性,以加强云帐户安全性。
- 运行时威胁检测必须应用于云日志以及在计算资源中发生的活动。为了检测复杂的攻击,威胁检测需要有一个完整的视图,具有跨多个环境跟踪威胁的能力。
攻击者隐藏在云层中
以云为目标的攻击者正在不断改进他们的技术,以更隐蔽和聪明的方式绕过保护机制。网络军备竞赛仍在继续,越来越多的安全组织正在启动云安全运营计划。而CSP提供的过多服务无疑为攻击者提供了许多不同的方式在云中开展攻击。
防御逃避的VPC
在研究S3桶访问时,Sysdig TRT识别了来自与内部基础设施无关的私有IP地址的源IP地址。Hunters之前的研究表明,攻击者可以使用AWS虚拟私有云(VPC)来伪造他们的IP地址。这种技术不再仅仅是一个研究课题;攻击者目前正在使用它。到目前为止,研究人员还未在野看到这种混淆方法,不过,我们必须考虑到这种可能性。
受害者的CloudTrail日志包含伪造的IP,因此模糊了攻击者的真实位置。这允许攻击者绕过依赖于源IP地址的安全措施。当伪造的IP地址与内部网络中使用的IP地址一致时,分析也会变得更加困难。
攻击者可以在自己的AWS环境中创建具有任意私有IP CIDR块的VPC,然后使用属于该CIDR块的IP地址创建EC2实例。为了欺骗它们的源IP,攻击者只需要配置EC2实例,使用VPC端点连接到端点服务。这样,在调用服务端点时,请求将来自VPC。
值得注意的是,属于另一个AWS帐户的用户可以从他们的VPC发出类似的请求,而无需对受害者的帐户进行任何初始访问。这种先进的技术可以用来绕过依赖源IP地址的安全措施,并匿名化处理任何对可公开访问的服务端点的请求。
用于特权升级的AWS CloudFormation
与CSP的交互主要通过API进行,这需要Secrets。而实际上Secrets很容易被放错地方,正如我们在SCARLETEEL中看到的Terraform状态文件。令牌或API密钥最终出现在S3存储桶或第三方存储库中是很常见的。
在另一次复杂的攻击中,攻击者的目标是AWS CloudFormation,即AWS的基础设施代码服务(IaC)。CloudFormation允许用户通过将基础设施视为代码来建模、配置和管理AWS及第三方资源。CloudFormation不仅用于创建和管理资源。它还能够在传统机制之外操纵角色和策略。这使得它成为攻击者滥用的理想特性。
尽管CloudFormation已经存在了十多年,但很少有关于它被用于公开攻击的报道。直至2022年1月,一个名为“BreakingFormation”的相关漏洞曝光。研究人员发现,该攻击分为以下权限升级步骤:
- 使用有效的AWS凭证,攻击者获得了对AWS云帐户的初始访问权限,并开始收集信息。
- 攻击者能够找到不同的特权升级路径,并通过AssumeRole和加入不同的IAM用户组来横向移动。
- 一旦攻击者被分配了角色,他们就可以访问权限,这允许他们:
- 使用假设角色访问额外的特权,以便完全控制AWS Lambda。
- 将受损的IAM用户添加到一个新组中,并获得CloudFormation服务的使用权限,该服务可以被滥用来创建资源或进行进一步的特权升级。
- 使用新的访问权限进行更深入的信息收集活动。
在此案例中,攻击者使用著名的虚拟专用网络(VPN)服务CyberGhost来隐藏源IP,并使用AssumeRole API来获得额外的权限,进一步通过杀伤链向主要目标发起攻击。
有了新的额外功能,攻击者重新启动了云帐户内的枚举,寻找新的、有趣的信息。攻击者加入的新组在CloudFormation中具有特权。攻击者随后调用API CreateStack,并试图添加一个名为“EvilTemplate”的CloudFormation模板。CloudFormation被配置为允许攻击者访问它并尝试运行恶意模板,但为了防止管理员访问,它被赋予了有限的特权。
缓解建议
- 随着云中的攻击变得越来越复杂,仅仅依靠CSP提供的本地警报已经远远不够。这些警报通常数量很少,更新也很差。使用完整的云威胁检测系统(包括运行时分析),可以检测高级威胁,并提供足够的可见性,以便在成功攻击发生时进行事件响应。
- 过多的和不正确的权限配置是导致许多涉及云的安全事件的原因。为了采用最小特权模型,建议实现一个云基础设施和授权(CIEM)系统,以更好地理解和解决权限问题。
- 我们无法保护自己不了解的事物。考虑到资源的动态性,在云环境中尤为如此。涵盖所有云资产的清单(包括Lambda函数和策略)以及相应的安全状态将确保没有未受保护的资产被部署,并允许组织更快速地识别系统环境。
90%安全供应链并不够安全
软件供应链攻击仍然是一种流行的攻击媒介,3CX桌面软件事件是2023年最引人注目的事件之一。在此事件中,3CX受到软件供应链攻击的威胁,致使攻击者可以获得对其系统的初始访问权限。
开源项目经常引起攻击者的强烈兴趣,因为它们被个人和公司广泛使用。今年,研究人员将分析范围扩展至各种存储库,以了解攻击者究竟对什么感兴趣。
云攻击者瞄准工件存储库(Artifact Repositories)
在研究过程中,Sysdig TRT将有效的云凭据分发到十多个注册中心、包存储库和公开的版本控制系统存储库中。研究人员监控的大多数活动来自公共包存储库和数据站点,如Pastebin、Python包索引(PyPI)、Go和helm,如下表所示。
结果显示,PyPI存储库受到了攻击者的更多关注,究其原因可能是最近的供应链攻击和Python在AI中的普遍应用。在ChatGPT发布后,人工智能的受欢迎程度不断飙升,攻击者知道绝大多数人工智能开发者和用户都没有很好的安全意识。
另一个值得注意的目标是GitHub中的Helm charts。尽管GitHub在最近的攻击后加强了安全措施,但威胁者并没有放过这项服务。Helm是配置Kubernetes集群最流行的工具,目前大多数企业都是这样部署容器的。Helm charts不仅可以包含有用的信息(比如凭据),而且获得对Helm charts的访问权限可以使攻击者危及整个Kubernetes集群。
静态分析远远不够
随着容器的不断普及,它们成为了恶意代码的理想交付工具。容器本质上是一个用于交付应用程序的包,其中内置了应用程序所需的一切。目前,许多组织关注容器中的漏洞,并试图通过确保不部署易受攻击的容器来降低风险。一些漏洞管理解决方案还包含防病毒功能,它将静态扫描容器的内容。这些静态漏洞管理方法只是容器安全的关键部分;它们还不足以确保容器是安全的。
为了说明为什么静态分析和运行时分析的结合至关重要,我们在运行时分析了超过1.3万个Docker Hub映像,以寻找高级威胁。Sysdig TRT将静态分析数据与运行时分析相结合,发现超过10%的恶意映像完全无法被任何静态分析工具或漏洞扫描仪检测到,因为先进的规避技术使攻击者能够隐藏恶意代码。
缓解建议
- 在软件开发过程中采用“左移”。这个概念试图在开发过程中尽可能早地植入安全检查。像GitHub Actions这样的工具可以在每次开发人员推送提交时运行自动检查。在这些时候添加静态和运行时安全性检查将快速捕获问题。
- 尽早并经常在构建管道中执行漏洞扫描,以确保不会无意中涉及过时包。使用工具检测是否存在脆弱代码,将防止开发人员被需要修复的漏洞所淹没。
- 确保了解软件的组成及其所有依赖项,即使它来自可信的来源。运行静态和运行时分析,以确保软件不会表现出恶意行为。避免来自不可信或不可靠来源的依赖项,或者将它们保存在本地,这样就不可能进行更改。
结论与趋势预测
由于CSP主要使用API与用户和环境进行交互,因此泄露的凭据是组织应该关注的主要威胁向量。凭据最终落入攻击者手中的方式有很多,包括糟糕的秘密管理、网络钓鱼和凭据填充。一旦攻击者发现了凭据,他们就会迅速展开行动。
秘密管理(Secret management i)是防止这些攻击的良好开端,但它只是安全等式的一部分。持续监控云帐户和资源的恶意行为同样至关重要,因为攻击者总能找到一种方法来破坏帐户。
考虑到云环境中安全性的复杂性,很容易在策略定义或其他任何地方犯一个简单的错误,这可能导致整个帐户的泄露。攻击者正在充分利用这种复杂性,并隐藏在防御者使用的相同云应用程序和工具中。预防是非常困难的,因此高级状态管理、资产库存和云基础设施授权管理(CIEM)程序都是必不可少的,以阻止攻击者的任何入侵尝试。
容器在部署和扩展使用云原生环境的应用程序方面越来越受欢迎。攻击者知道容器是供应链攻击的有效载体。组织开始在部署容器之前对其实施漏洞扫描和静态恶意软件分析;然而,这些措施还远远不够,因为它们忽略了许多威胁。对容器进行运行时威胁检测可以提供更有效的覆盖,并检测到原本可能被遗漏的恶意代码。
虽然CSP和安全供应商都在不断改进他们的安全产品,但我们预计违规行为将继续增加。由CSP或使用其系统的公司提供的新服务正在频繁面市,并且采用这些服务的设计往往都是快捷和易用的。攻击者也将继续更加努力和快速地工作,并充分利用新的云环境和服务来进行攻击。
世界将继续朝着“万物皆代码”(EaC)和使用容器部署应用程序的方向发展。这将导致攻击者可利用的复杂性和错误进一步增加,而防御者往往很难跟上这一节奏。此外,对于防御者和攻击者来说,供应链攻击仍然是一个高优先级的问题,运行时分析将成为越来越普遍的防御手段。最后,尽管攻击时间线可能不会比我们今年看到的更快,但攻击者将继续创新规避手段,并更多地自动化他们的技术。
原文链接:
https://sysdig.com/content/c/pf-2023-global-cloud-threat-report?x=u_WFRi