CSPM 是什么?
云安全态势管理(CSPM)是一类持续管理 IaaS 和 PaaS 安全态势的解决方案,通过预防、检测和响应云基础设施风险来实现。CSPM的核心是应用通用框架、监管要求和企业政策,主动或被动地发现和评估云服务配置和安全设置的风险/信任度。如果发现问题,CSPM 会提供修复选项(自动化或人工驱动)。
定义来自:https://www.gartner.com/en/information-technology/glossary/cloud-security-posture-management
人话翻译
CSPM 就是扫描云平台(调用云平台 API )中使用的云服务的配置问题,把有风险的配置找出来,并且提供修复建议等等。一个例子:
假如你使用了阿里云的 OSS 服务,并且好巧不巧把【读写权限】设置成了【公共读写】;那这就是一个错误的配置,你不应该把存储桶配置为公共读写,黑客可以随意的读取和写入文件到你的存储桶中,这对企业来说是不安全的。
从上面的例子可以看到,CSPM 帮助用户发现云平台中的配置不当问题,并指导用户修复问题。
CSPM 能做到什么?
本文参考 Wiz 的 CSPM 产品进行分析。
在前文当中,我们已然提及了错误配置的定义,以及我们能够如何获取该配置并对其进行检测。那么,作为 CSPM 概念中最为本质的功能,从最初的手动或定时获取配置并进行检测,转变为进行近实时的检测。从本质功能层面来看,并未发生变化,只是从时间维度考量,通过近实时的能力极大地缩减了错误配置的发现时间。
但在面对几千甚至几万的云资源的配置告警中,安全运营是无法进行的。安全人员往往面对的是:
📌几个到十几个资源服务,一个服务几百个至几千个资源,一个资源几个到十几个的告警。
面对这样的场景下,目前最火爆的 CSPM 产品的能力是什么样的?
Wiz 的 CSPM
第一印象,首先我们看下 Wiz 官网是如何宣传他们的产品的。
标题: 实时的上下文云安全态势管理(CSPM)
描述: 在构建阶段到运行时,持续检测并修复混合云环境中的错误配置,适用于 AWS、GCP、Azure、OCI、阿里云和 VMware vSphere。
对这个内容笔者想是否可以总结归纳为:
- 实时性
- 基于上下文的
- 多云(混合)云的
- 有效的网络和身份暴露的检测
- 攻击路径分析
- 使用上下文对错误配置进行优先排序
多云(混合)云的
多云的战略是多数企业在做的,包括混合式的多云战略。那么对于独立完整的多云安全解决方案的需求是必然的。
实时的配置检测
为什么强调实时性?让我们看下最开始 CSPM 产品是如何进行工作的。
CSPM 产品通过访问云平台的 OpenAPI 接口来查询云资源的配置信息,并且分析他的配置问题,这调用 API 的行为最开始都是定时的,例如设置一个 24 小时调用一次接口来获取配置信息。这就存在了一个时间差,很可能在这个空档期间业务做了配置更新导致了安全事件的发生。
这时候实时性就显得非常重要,也许我们不应该主动调用云平台的 API 接口来定时的更新云资源的配置信息,而是让云平台主动的在云资源更新的时候通知我们,实现近乎实时的更新配置和发现错误配置,在第一时间就能发现问题并进行处理。
具有上下文的配置检测
资源的上下文异常关键,他可以帮助安全人员更好的进行优先级的排序,从而有目的性的解决最先需要解决的问题。 什么是上下文?,我们举一个具体的例子看下:
检查 EC2 实例是否开放了 3306 端口,如果开放了 3306 端口我们认为是一个错误的配置。那么对于 EC2 实例还可以进行一下信息的补充:
- 这个 EC2 实例现在是否已经停止了?
- EC2 实例是否有公网 IP 地址?
- EC2 实例后端是否有 3306 端口的服务正在运行?
这些作为检查 EC2 实例是否开放了 3306 端口的上下文信息,为这个配置事件丰富了信息,更好的进行优先级的排序。从而降低了安全运营的复杂度。
自动的错误配置修复
一般来说基础的 CSPM 产品在发现一个错误配置后都会提供一个具体的修复指南,这往往需要具体人员去云平台中进行操作,这在面对一两个资源时尚且还算可以接受,但是面对几十几百几千的发现时,人员的手动修复是无力的。
所以自动修复是一个必要的功能,但是笔者认为这需要谨慎看待!
- 让 CSPM 具有自动修复能意味着他具有了更多的权限,并且是可写的权限。
- 自动修复更复杂,当出现异常时排查链路更长。
并且每个错误配置的修复一般是多种选项的,一般来说需要厂商针对性的提供操作,可能在不同的厂商中支持修复的错误配置数量是不一致的。
配置合规要求
CIS(涵盖 Azure、GCP、AWS、OCI、Alibaba 以及 ESXi)、NIST CFS/SP/800-171/800-53、PCI DSS、SOC2 等一系列合规框架需予以支持,此乃最为基本的 CSPM 要求,亦是客户最初采购 CSPM 产品的原因之一。
IaC 扫描能力
笔者理解的在 CSPM 中扫描的 IaC 主要还是为 CloudFormation 和 Terraform 这类的 IaC 文件,用于自动化的创建和管理云资源,通过扫描 IaC 文件即可发现错误配置,是对正常的配置检测的一个补充能力,可以在事前完成错误配置的检查,让安全左移一点点。
当然一般提供 IaC 扫描的还会支持对于容器、K8S等基础设施文件的扫描,例如扫描 Dockerfile 文件是否特权运行等等一些检测的项目。
但是针对 IaC 的扫描目前笔者观察到的具有两种方式交付:
- 产品页面上传 IaC 文件进行检测
- 提供 CLI 工具进行检测,即可接入 CI/CD 中进行自动化的检测。
互联网暴露的发现
互联网暴露作为 CSPM 检测可带来最为直接的风险暴露,笔者认为其相较其他错误可能带来的危害更大。常见的云服务暴露如下:
- 对象存储服务的互联网暴露
- 计算服务(云服务器/容器实例/K8S services)的互联网暴露。
- 云数据库的互联网暴露。
值得注意的是计算服务的暴露链路往往特别复杂 Wiz 中提到了通过安全图方式展示暴露链路,这也是目前大部分 CSPM 产品都在提供的能力。
更多的内容
云变得更安全了…
现在各大云平台在配置层面越来越多的加入了强制性的安全措施,以保证无意的错误配置;例如:AWS S3中默认创建桶时默认为禁止公开访问、阿里云对全部的 RAM 子用户强制启用 MFA 配置保证账户的安全性。
这对 CSPM 产品来说是致命的,意味这大部分的配置检测的规则将会变得无效,CSPM 厂商必须找到真正具有风险的配置,或者以无法通过单独的配置检测发现风险;必须结合更多的信息以发现真正的安全风险。
CIEM
CIEM 是 Cloud Infrastructure Entitlement Management 的缩写,中文翻译为云基础设施授权管理。
CIEM 的主要目标是帮助组织管理和控制云环境中的用户、服务和资源的权限,确保遵循最小权限原则,减少潜在的安全风险。这包括识别过度权限、异常行为,以及帮助简化和自动化权限管理流程。 来自 Notion AI 解释
CIEM 是一个与云安全相关的概念,主要关注云环境中的权限和访问控制管理。虽然它通常被视为一个独立的方向,但许多 CSPM 产品也包含了部分 CIEM 的功能,因为他们是类似的都是通过获取云平台的配置信息来进行分析,但进一步的是 CIEM 一般会读取 CloudTrail 日志来进一步分析用户行为。
CIEM 为 CSPM 产品提供了更多的产品能力:
- 提高对云身份权限的可见性,包括身份能具有什么权限、能访问什么资源
- 对云身份进一步的分析,包括身份权限是否过度、身份行为是否异常
- 持续监控云身份权限,灵活调整权限,动态保持云身份最小权限
CNAPP
在 Gartner 在 CNAPP 的报告中描述了如下内容:
到2025年,60% 的企业将把云工作负载保护平台(CWPP)和云安全态势管理( CSPM )功能整合到一个供应商,而2022年这一比例为 25% 。
至 2025 年,75% 的 CSPM 新采购事宜将成为云原生应用保护平台(CNAPP)综合产品的组成部分。
CSPM 本质上的配置检测或许难以支撑起一个独立的市场,而众多厂商也将在云原生应用保护平台(CNAPP)中纳入 CSPM 和 CIEM 产品,以谋求更大的市场份额。