GKE 威胁检测简介


本页面介绍 GKE 威胁检测,该功能可让您在 GKE 安全状况信息中心中扫描符合条件的 GKE 集群是否存在活跃威胁。借助 GKE 安全状况信息中心,您可以在符合条件的 GKE 集群中启用各种扫描和审核功能,并显示切实可行的建议来帮助您解决安全问题。

运作方式

GKE 威胁检测是可供 GKE Enterprise 用户使用的高级 GKE 安全状况信息中心功能。当 GKE 集群在舰队中注册时,GKE 威胁检测功能会根据一组针对集群和工作负载威胁的预定义规则来评估 Cloud Logging 中的 GKE 审核日志。如果发现威胁,您会在 GKE 安全状况信息中心内看到发现结果,其中说明了威胁、潜在影响以及用于缓解威胁的推荐措施。

系统会持续扫描舰队中所有已注册的 GKE 集群是否存在活跃威胁。我们使用 MITRE ATT&CK® 策略对检测到的威胁进行分类。

GKE 威胁检测由 Security Command Center Event Threat Detection 服务提供支持。在 GKE 安全状况信息中心内,仅评估适用于 GKE 的部分规则。

包含的 GKE Security Posture 功能

GKE 威胁检测与 Kubernetes 安全状况扫描高级层级捆绑在一起。在集群中激活 GKE 威胁检测时,还会激活以下扫描功能:

作为广泛安全策略的一部分使用

GKE 威胁检测是您应在环境中使用的各种安全可观测性产品之一。我们强烈建议您使用 GKE 安全状况信息中心的其他功能(例如漏洞扫描),确保监控集群是否存在一系列安全问题。如需了解详情,请参阅 GKE 文档中的安全状况信息中心简介

我们还建议您在集群和工作负载中,按照强化集群安全性实施尽可能多的安全措施。

价格

GKE 威胁检测功能通过 GKE Enterprise 免费提供。

GKE 威胁检测预定义规则

下表介绍了 GKE 威胁检测功能评估 GKE 审核日志时所依据的评估规则:

显示名称 API 名称 日志源类型 说明
防护规避:已创建工作负载部署 Breakglass预览版 BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_CREATE Cloud Audit Logs
管理员活动日志
使用 break-glass 标志替换 Binary Authorization 控制措施,以检测所部署的工作负载的部署情况。
防护规避:Breakglass 工作负载部署已更新预览版 BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_UPDATE Cloud Audit Logs
管理员活动日志
使用 Breakglass 标志替换 Binary Authorization 控制措施,以检测工作负载何时更新。
发现:可以获取敏感的 Kubernetes 对象检查 GKE_CONTROL_PLANE_CAN_GET_SENSITIVE_OBJECT Cloud Audit Logs
GKE 数据访问日志

潜在恶意操作者尝试使用 kubectl auth can-i get 命令确定可以查询 GKE 中的哪些敏感对象。具体而言,该规则会检测恶意操作者是否检查了以下对象的 API 访问权限:

提升权限:对敏感 Kubernetes RBAC 对象的更改 GKE_CONTROL_PLANE_EDIT_SENSITIVE_RBAC_OBJECT Cloud Audit Logs
GKE 管理员活动日志
为了提升特权,潜在恶意操作者尝试使用 PUTPATCH 请求修改敏感 cluster-admin 角色的 ClusterRoleRoleBindingClusterRoleBinding 基于角色的访问权限控制 (RBAC) 对象。
提升权限:为主证书创建 Kubernetes CSR GKE_CONTROL_PLANE_CSR_FOR_MASTER_CERT Cloud Audit Logs
GKE 管理员活动日志
潜在恶意操作者创建了 Kubernetes 主实例证书签名请求 (CSR),用于向其授予 cluster-admin 访问权限。
提升权限:创建敏感的 Kubernetes 绑定 GKE_CONTROL_PLANE_CREATE_SENSITIVE_BINDING Cloud Audit Logs
IAM 管理员活动审核日志
为了提升特权,潜在恶意操作者尝试为 cluster-admin 角色创建新的 RoleBindingClusterRoleBinding 对象。
提升权限:使用被破解的引导凭据获取 Kubernetes CSR GKE_CONTROL_PLANE_GET_CSR_WITH_COMPROMISED_BOOTSTRAP_CREDENTIALS Cloud Audit Logs
GKE 数据访问日志
潜在恶意操作者使用 kubectl 命令和被破解的引导凭据查询了证书签名请求 (CSR)。
提升权限:启动特权 Kubernetes 容器 GKE_CONTROL_PLANE_LAUNCH_PRIVILEGED_CONTAINER Cloud Audit Logs
GKE 管理员活动日志

潜在恶意操作者创建了包含特权容器或具有提升特权功能的容器的 Pod。

特权容器的 privileged 字段设置为 true。具有提权能力的容器的 allowPrivilegeEscalation 字段设置为 true。如需了解详情,请参阅 Kubernetes 文档中的 SecurityContext v1 core API 参考。

凭据访问:在 Kubernetes 命名空间中访问 Secret SECRETS_ACCESSED_IN_KUBERNETES_NAMESPACE Cloud Audit Logs
GKE 数据访问日志
检测当前 Kubernetes 命名空间中的服务账号何时访问 Secret 或服务账号令牌。
初始访问:从互联网匿名创建 GKE 资源预览版 GKE_RESOURCE_CREATED_ANONYMOUSLY_FROM_INTERNET Cloud Audit Logs
GKE 管理员活动日志
检测来自有效匿名互联网用户的资源创建事件。
初始访问:从互联网匿名修改 GKE 资源预览版 GKE_RESOURCE_MODIFIED_ANONYMOUSLY_FROM_INTERNET Cloud Audit Logs
GKE 管理员活动日志
检测来自有效匿名互联网用户的资源操纵事件。

如何启用 GKE 威胁检测

如需启用 GKE 威胁检测,您需要在 Kubernetes 安全状况扫描高级层级中注册符合条件的集群。这也会激活 Kubernetes 安全状况扫描基本层级中包含的所有功能,例如工作负载配置审核和安全公告呈现。

如需了解详情,请参阅使用 GKE 威胁检测功能查找集群中的威胁

限制

GKE 威胁检测存在以下限制:

  • 仅在 GKE Enterprise 中可用
  • 仅适用于组织中的项目
  • 不支持 Security Command Center 选项(例如配置数据驻留)
  • 仅显示已注册到舰队的集群的结果
  • GKE 会将不再具有任何关联受影响资源的威胁发现结果保留长达 180 天
  • 仅显示现有集群的结果。如果您删除集群,那么 GKE 威胁检测功能再也不会在 GKE 安全状况信息中心内显示发现结果。

后续步骤