启用和使用 Google Cloud 漏洞评估

Google Cloud 漏洞评估可帮助您在以下情况下发现严重和高严重级别的软件漏洞,而无需安装代理:

  • 运行 Compute Engine 虚拟机实例
  • GKE Standard 集群中的节点
  • 在 GKE Standard 和 GKE Autopilot 集群中运行的容器

Google Cloud 漏洞评估的工作原理是,大约每 12 小时克隆一次虚拟机实例磁盘,将其装载到另一个安全的虚拟机实例中,并使用 SCALIBR 扫描程序对其进行评估。 Google Cloud 漏洞评估会扫描主机和容器文件系统。

虚拟机实例克隆具有以下属性:

  • 它会在与源虚拟机实例相同的区域中创建。
  • 该项目是在 Google 自有项目中创建的,因此不会增加您的费用。

仅扫描正在运行的虚拟机实例、节点和容器。创建发现结果后,它会在 25 小时内保持 ACTIVE 状态。如果在 25 小时内再次检测到该发现结果,计数器会重置,并且该发现结果会在另外 25 小时内保持 ACTIVE 状态。如果在 25 小时内未再次检测到发现结果,则会将发现结果设置为 INACTIVE

如果虚拟机实例或节点已关闭,则即使漏洞未得到缓解,该漏洞发现结果也会在 25 小时后设置为 INACTIVE

准备工作

如果您已设置 VPC Service Controls 边界,请创建所需的出站流量和入站流量规则

限制

  • 搭载使用客户管理的加密密钥 (CMEK) 加密的永久性磁盘的虚拟机实例,密钥托管在全球位置,或者多区域密钥托管在磁盘所在的地理位置。
  • 搭载使用客户管理的加密密钥 (CMEK) 加密的永久性磁盘的虚拟机实例,CMEK 密钥托管在 VPC Service Controls 边界内的项目中。
  • 搭载使用客户提供的加密密钥 (CSEK) 加密的永久性磁盘的虚拟机实例
  • 系统仅会扫描 VFAT、EXT2 和 EXT4 分区。
  • Security Command Center 服务代理需要列出项目虚拟机实例并将其磁盘克隆到 Google 自有项目的权限。某些安全和政策配置(例如组织政策限制条件)可能会干扰此访问,从而阻止扫描。

服务身份和权限

针对 Google Cloud 服务的漏洞评估使用 Security Command Center 服务代理来获取身份和访问 Google Cloud 资源的权限。

对于在组织级激活 Security Command Center,请使用以下服务代理

service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

对于 Security Command Center 的项目级层激活,系统会使用以下服务代理

service-project-PROJECT_NUMBER@security-center-api.iam.gserviceaccount.com

启用或停用 Google Cloud漏洞评估

默认情况下,属于 Security Command Center 高级方案或 Enterprise 方案的组织会尽可能为所有虚拟机实例自动启用 Google Cloud 漏洞评估。如需更改此设置,请完成以下操作:

  1. 在 Google Cloud 控制台中,前往风险概览页面:

    前往“风险概览”

  2. 选择要在其中启用 Google Cloud漏洞评估的组织。

  3. 点击设置

  4. 漏洞评估部分,点击管理设置

  5. Google Cloud 标签页中,通过无代理漏洞评估列在组织、文件夹或项目级别启用或停用 Google Cloud 漏洞评估。较低级别也可以设置为从较高级别继承值。

针对 CMEK 磁盘运行漏洞扫描

如要允许 Google Cloud 漏洞评估扫描使用 CMEK 加密的磁盘,您必须向以下服务代理授予 Cloud KMS CryptoKey Encrypter/Decrypter 角色:

service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

如果您有以下服务代理,还必须向该服务代理授予相应权限:

service-org-ORGANIZATION_ID@ctd-ia-org-sa-prod.iam.gserviceaccount.com

配置密钥级权限

  1. 前往安全性 > 密钥管理页面。
  2. 选择包含相应密钥的密钥环。
  3. 选择相应密钥。
  4. 在信息面板中,点击权限
  5. 输入您在新的主账号字段中输入的服务代理名称。
  6. 选择角色菜单中,选择 Cloud KMS CryptoKey Encrypter/Decrypter
  7. 点击保存

配置项目级密钥权限

  1. 前往 IAM 和管理 > IAM
  2. 点击授予访问权限
  3. 输入您在新的主账号字段中输入的服务代理名称。
  4. 选择角色菜单中,选择 Cloud KMS CryptoKey Encrypter/Decrypter

Google Cloud漏洞评估生成的发现结果

当 Google Cloud 漏洞评估服务在 Compute Engine 虚拟机实例、GKE 集群中的节点或 GKE 上运行的容器上检测到软件漏洞时,该服务会在 Security Command Center 中生成发现结果。

每项发现结果都包含以下信息,这些信息是检测到的软件漏洞所特有的:

  • 受影响的实例或 GKE 集群的完整资源名称。
  • 如果发现结果的安全警示与 GKE 工作负载相关,则会显示受影响对象的相关信息,例如:
    • CronJob
    • DaemonSet
    • Deployment
    • Job
    • Pod
    • ReplicationController
    • ReplicaSet
    • StatefulSet
  • 漏洞说明,包括以下信息:
    • 包含漏洞的软件包及其位置
    • 关联的 CVE 记录中的信息
    • Mandiant 对该漏洞的影响和可利用性的评估
    • Security Command Center 对漏洞严重程度的评估
  • 攻击风险得分,可帮助您确定修复优先级
  • 直观呈现攻击者可能采取的攻击路径,以便攻击者攻击漏洞所暴露的高价值资源
  • 如果有,您可以采取的解决问题的步骤,包括可用于解决漏洞的补丁或版本升级

由于可以在多个容器中发现相同的漏洞,因此漏洞会在 GKE 工作负载级别或 Pod 级别汇总。在某项发现结果中,您可能会在单个字段中看到多个值,例如在 files.elem.path 字段中。

所有“针对 Google Cloud 的漏洞评估”发现结果都具有以下属性值:

类别
OS vulnerability
Software vulnerability
Vulnerability
云服务提供商
Google Cloud
来源
Vulnerability Assessment

发现结果保留

针对 Google Cloud 的漏洞评估所生成的发现结果在解决后将保留 7 天,之后将被删除。 Google Cloud漏洞评估的未解决发现结果会无限期保留。

软件包位置

在发现结果报告中报告的漏洞的文件位置是指二进制文件或软件包元数据文件。列出的内容取决于所使用的 SCALIBR 提取器。对于在容器中发现的漏洞,这是容器内的路径。

下表列出了针对各种 SCALIBR 提取器显示的漏洞位置的一些示例。

SCALIBR 提取器 软件包位置
Debian 程序包 (dpkg) /var/lib/dpkg/status
Go 二进制文件 /usr/bin/google_osconfig_agent
Java 归档 /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar
PHP /var/www/html/vkumark/backend_api/composer.lock
Python /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA
Ruby /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec

在控制台中查看发现结果

您可以在 Google Cloud 控制台中查看漏洞评估 Google Cloud 发现结果。在执行此操作之前,请确保您的主账号拥有适当的角色

如需在 Google Cloud 控制台中查看漏洞评估 Google Cloud 发现结果,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的发现结果页面。

    前往“发现结果”

  2. 选择您的 Google Cloud 项目或组织。
  3. 快速过滤条件部分的来源显示名称子部分中,选择漏洞评估。发现结果查询结果已更新,仅显示来自此来源的发现结果。
  4. 如需查看特定发现结果的详细信息,请点击类别列中的发现结果名称。 系统会打开发现结果的详细信息面板,并显示摘要标签页。
  5. 摘要标签页上,查看发现结果的详细信息,包括有关检测到的内容、受影响的资源的信息,以及您可以采取的修复该发现结果的步骤(如果有)。
  6. 可选:如需查看发现结果的完整 JSON 定义,请点击 JSON 标签页。