IaaS/PaaS攻击向量定义、描述及要点梳理

IaaS/PaaS攻击向量定义、描述及要点梳理

最佳答案 匿名用户编辑于2023/10/30 08:54

下面简单列举一些常见的 IaaS/PaaS 攻击向量。

1:可利用的工作负载

定义

根据 CSA 安全指南,CSA 将工作负载定义为“处理单元,可以在虚拟机、容器或者其他的抽象中”。可利用的工作负载是一种攻击向量,详细描述了攻击者利用工作负载的漏洞,在云环境中获取初始访问的能力。这些漏洞可以是已知的漏洞,也可以是零日漏洞。如果不加以缓解,这种对云环境的初始访问可能会增加与攻击向量相关的风险。这种攻击方法的一个常见影响是利用它运行加密货币挖矿或勒索软件攻击。在其他情况下,利用先进的技术,可以使用附加或存储的云凭据在环境中移动,获得数据访问权限,或在云环境中提升权限和横向移动。

描述

可利用的工作负载是指由于云上网络配置错误,从而对内部或外部攻击者提供访问权限的任何虚拟机或容器。如果工作负载具有公网 IP 地址,或者攻击者已经能够访问内部环境,那么可达性就会实现。“可利用的工作负载”表示该资产容易受到配置错误的影响,存在已知的常见漏洞(CVE)和应用程序漏洞等。通过结合访问权限和现有漏洞,攻击者可以成功获取访问权限、控制权或利用云工作负载来进一步实施攻击。在这种攻击向量中,受损的资产可能会导致攻击者在云环境中实现持久化、获得数据访问权限或进行权限提升。接下来,攻击者可以利用该资产加强其访问和控制能力,执行横向移动操作并寻找其他目标资产。

要点

为了强化云环境,应该在攻击路径的所有节点上实现安全保护。 网络:尽可能限制网络访问,最好是私有子网并使用安全组和微隔离。使用IP 限制,专门设定无类别域间路由(CIDR) 范围,并开放对选定端口的访问,而不是过于宽泛的端口访问范围。只要有可能,就使用安全屏障保护对外开放的服务,例如负载均衡器、API 网关和/或 Web 应用程序防火墙 (WAF)。

漏洞:定期扫描所有工作负载以检测已知漏洞,并通过建议的补救措施修复。建议专门针对组织的云环境执行安全评估,确保发现未知风险。请记住,不同的工作负载需要不同的漏洞扫描工具(即容器可能需要与虚拟机不同的工具)。应使用自动化工具(用于检测开源软件包中的漏洞的软件组合分析工具、用于检测代码中的漏洞的 SAST/ DAST/IAST 工具【取决于应用程序类型】等)执行漏洞扫描,并将其嵌入到持续集成/持续交付(CI/ CD)流程。

 身份和访问管理(IAM):所有对资源的访问都必须经过身份验证和授权。遵循最小权限或已知权限的原则,并向工作负载提供所需的最低权限,使工作负载能够执行指定的任务并将应用程序机密存储在安全位置。

 应用程序:确保应用程序的设计符合公认的原则安全开发,包括自动修补。

2:工作负载权限过高

定义

以下攻击向量描述了云环境中具有过高权限的工作负载。在云环境中,工作负载如虚拟机或容器,通常会分配一个身份或角色,用于执行在云基础设施上的操作。一个典型的例子是为虚拟机分配角色,以便其可以访问云存储。遵循这一向量,如果攻击者能够获取对工作负载的访问权限,就可以利用这些权限获取对整个环境的更高权限

描述

工作负载是一个处理单元,可以在虚拟机、容器或其他抽象概念(如Serverless 或FaaS)中运行。常见的做法是创建工作负载,承载多个作业或任务,这些任务可能具有不同的访问模式和身份验证要求,并需要访问各种服务和资源。为了管理对特定服务和资源的访问,权限通常以策略或角色的形式分配给工作负载。这种复杂性给特定服务和资源的访问管理带来了挑战,从而导致了不良的安全实践,例如过度赋予权限的现象。这种攻击向量强调了特权提升的可能性。攻击者通常会以低级别权限获得初始访问权限,工作负载过高的权限可能会导致特权提升,攻击者可以通过这种攻击向量获得更好的持久化效果和造成更多危害的能力。

要点

 始终遵循最小权限原则,为工作负载提供执行分配到的任务,所需的最低权限。 优先选择使用临时访问令牌而不是永久权限。 与预定义和一般角色相比,应优先定制策略和角色。 尝试通过使用权限边界、承担角色等功能更进一步细化您的策略。 防止激活具有高权限的本地用户账户,尤其是在使用容器时。 验证和审核工作负载的权限,确保没有过多的权限。

3:不安全的密钥、凭证和应用密钥

定义

该攻击向量详细说明了云工作负载、服务或代码存储库中可能存在的明文凭证或未受保护的凭证。这些凭证可能采用不同的形式,并存放在不同的位置。常见的攻击向量包括将 IAM 访问 keys 或 API keys 嵌入配置文件、模板或实际代码中,或者将SSHkeys 嵌入到镜像或工作负载中。这些类型的凭证被称为密钥。

描述

在云服务中,不同的服务之间需要交互,包括与外部服务通信。这种交互涉及到一组权限,因此需要身份验证和授权机制来确保安全性。该机制使用API 或访问密钥对消费类服务或工作负载进行身份验证并授予相应的权限。 举例来说,一个常见的用例是 EC2 实例为了存储或检索数据,需要访问S3 存储桶,或者 CI 服务需要 API 密钥验证外部代码存储库的身份。 另一种常见场景是使用 SSH 密钥管理一组虚拟机,从而为管理SSH 密钥带来挑战。由于访问密钥管理的复杂性,组织对多个计算实例使用相同的密钥。因此,攻击者在攻陷一台服务器后,可以访问使用相同 SSH 密钥对的所有服务器。这是在云环境中移动、收集更多信息并搜索更高权限的简单方法。 许多组织未能建立明确的密钥生命周期管理(生成、存储、检索、轮换和退役)策略,从而导致未经授权的资源访问、执行横向移动的能力以及环境中特权的提升。

要点

存储和使用 API 密钥、密钥、密码、SSH 密钥或证书的推荐最佳实践取决于实际的访问场景。以下是一些示例:

云提供商工作负载访问同一提供商的服务:向工作负载授予访问权限的建议方法是为其附加具有所需权限的身份。这将消除对静态访问密钥的需要,并动态分配密钥。此类解决方案的示例包括 AWS STS、GCP OICD 或 Azure SAS。 应用程序组件之间交互或与云外部服务交互时,可以将机密存储在指定的安全存储中。示例包括 AWS Secrets Manager、Azure Key Vault 或 GCP Secret Manager。

对于 SSH 密钥、具有一次性 SSH 密钥的安全堡垒主机(“jump box”)或基于IAM的身份验证解决方案(即 AWS Session Manager、Azure Bastion 或Google Identity‑ Aware Proxy)可用于最大限度地提高安全性。一些企业解决方案还支持MFA 和SSH身份验证机制。此外,建议针对不同的环境和分类,使用不同的SSH 密钥。 遵循从生成到撤销的任何密钥生命周期的安全程序。 将密钥存储在指定的企业服务中(例如 AWS Secrets Manager、Azure KeyVault 或GCPSecret Manager)。 智能的管理开源解决方案中的公共分发流程,例如容器将流程发布到公共容器注册表或该组织开发并在公共开源存储库中共享的代码库。 监控访问日志以检测与访问密钥和凭证相关的任何可疑活动。

4:可利用的身份验证或授权

定义

该攻击向量详细描述了对实体(如用户、工作负载、功能、角色、组等)的不当管理和身份验证。每个身份都应该受到安全控制,并得到适当的维护。忽视某些身份,即长期未被使用或根本未被使用但拥有过高权限的身份,可能会导致未被察觉的攻击行为,从而对该身份造成风险。

描述

保持健康的安全环境是非常重要的。虽然这并不是一项容易的任务,关注IAM的最佳实践至关重要,因为它通常是攻击者首先检查和尝试利用的目标。

不当的管理有多种形式: 使用默认密码。一些工具在安装时使用默认密码,管理员无法更改这些默认密码,导致了安全风险的存在。另外,弱密码策略也是一个问题。如果没有定义强密码策略,攻击者可以使用众所周知的技术(如字典攻击、暴力破解等)轻松猜测密码,并获取目标用户的身份以登录其云环境。

空组。组通常是为了将用户聚合成一个实体而创建的。在云环境中,可以给组分配权限,并授权其中的用户。这些权限也会被授予组中的所有用户。当添加新用户到组时,这些用户也将被授予该组已有的权限。因此,如果攻击者能够访问IAM并且可以重新填充该组,那么未分配给任何用户的组会对环境带来风险。

过高的权限。将特定权限授予给资源可能是一项繁琐的任务,这就是为什么我们经常看到用户或组无正当理由地拥有过高的权限。这个安全问题可能导致攻击者访问敏感资源并执行可能损害环境的操作。 未开启 MFA。未开启多重身份验证(MFA)时,用户缺乏额外的保护层。在没有启用 MFA 并且仅使用静态凭据(例如用户名和密码)进行身份验证时,攻击者一旦获得这些凭据的访问权限(例如通过网络钓鱼),就有可能轻松的破坏系统环境。首选方法是使用 Google Authenticator 等身份验证器。

不活动的身份。可以通过审核日志和上次登录记录来跟踪非活动的身份或用户的活动。这些被认为是被忽视的身份,因为它们通常没有受到监控或维护,可能对环境构成风险。 无日志记录。源端不记录 AAA 操作,导致无法检测恶意利用。 IAM 信任策略配置错误。如果错误配置身份和访问管理中的外部身份和跨账户访问的信任策略,可能导致对受害者云账户的未经授权的初始访问。

要点

为了主动阻止这种攻击路径,组织应该: 启用 MFA。MFA 对所有用户和所有应用程序都应该是强制性的。 创建强密码策略。确保用户密码不会轻易被泄露。除了标准密码策略的复杂性(长度、大写字母、小写字母、数字和非字母数字字符)之外,管理员还应该设置密码过期时间并配置设置,以便过期密码需要管理员重置并防止密码重复使用。 临时访问。使用临时访问(例如 AWS Assume Role 或 Azure Just‑ in‑ Time)而不是静态凭证/权限。 重新评估权限。审核和监控政策并确保遵循最小权限原则。 空组。如果存在没有用户的组,请删除该组。 不活跃的身份。使用审核日志和上次登录记录监控身份活动。如果某个身份在规定的时间内(由组织确定)看起来处于非活动状态,建议将其删除。确保账户在退出流程中被删除。 强制记录。对云中的任何 AAA 操作实施日志记录和审核应用级别。

参考报告

从laaS和PaaS视角了解云攻击向量.pdf

从laaS和PaaS视角了解云攻击向量。腾讯云鼎实验室成立于2016年,是腾讯安全旗下的顶级实验室之一。秉承“一切以用户价值为依归”的理念,云鼎实验室坚持研究创新和实践落地并重的技术路线,专注于云安全技术研究和创新工作,在大规模云安全防护和治理、云原生安全技术、密码学和云数据安全、容器和虚拟化安全、硬固件和基础设施安全等多个领域展开技术研究和产品创新工作。云鼎实验室同时也负责腾讯云平台自身的安全建设、防护和治理工作,通过安全治理体系建设、持续性安全攻防对抗、大数据安全运营平台、和云原生安全托管服务(Cloud-MSS)持续保障腾讯云平台及云上数百万租户的安全。腾讯是CS...

查看详情
相关报告
我来回答