Cloud Run 威胁检测是 Security Command Center 的一项内置服务,可持续监控受支持的 Cloud Run 资源的状态,以检测最常见的运行时攻击。如果 Cloud Run 威胁检测检测到攻击,它会在 Security Command Center 中近乎实时地生成发现结果。
Cloud Run Threat Detection 运行时检测器会监控 Cloud Run 资源,以查找可疑的二进制文件和库,并使用自然语言处理 (NLP) 来检测恶意 Bash 和 Python 代码。
此外,您还可以通过 Event Threat Detection 使用控制平面检测器。这些检测器会监控贵组织或项目的 Cloud Logging 流,以检测 Cloud Run 资源控制平面可能遭到的攻击。
支持的资源
Cloud Run 威胁检测功能会监控以下资源:
支持的执行环境
运行时检测器和控制平面检测器支持的执行环境不同。
运行时检测器支持的执行环境
Cloud Run 威胁检测运行时检测器仅支持在第二代执行环境中运行的 Cloud Run 资源。在启用 Cloud Run 威胁检测之前,请考虑以下事项:
启用 Cloud Run 威胁检测后,您将无法创建在第一代执行环境中运行的 Cloud Run 服务或服务修订版本。Cloud Run 服务必须使用第二代执行环境。我们建议您先在第二代执行环境中测试工作负载,然后再启用 Cloud Run 威胁检测。
如需为服务启用运行时威胁检测,请部署修订版本,将服务的执行环境设置为第二代或默认执行环境。
控制平面检测器支持的执行环境
控制平面检测器同时支持第一代和第二代执行环境。
Cloud Run Threat Detection 运行时威胁检测的工作原理
启用 Cloud Run 威胁检测后,该功能会从受支持的 Cloud Run 资源收集遥测数据,以分析可能表明运行时攻击的进程、脚本和库。以下是检测到事件时的执行路径:
- Cloud Run 威胁检测使用监视器进程在 Cloud Run 工作负载的整个生命周期内收集容器和事件信息。监视器进程最长可能需要 20 秒才能启动。
Cloud Run Threat Detection 会分析收集的事件信息,以确定事件是否表示突发事件。它使用 NLP 分析 Bash 和 Python 脚本是否包含恶意代码。
如果 Cloud Run 威胁检测识别到突发事件,则会在 Security Command Center 中将突发事件报告为发现结果。
如果 Cloud Run Threat Detection 无法识别突发事件,则不会存储任何信息。
收集的所有数据都是临时的,不会永久存储。
如需了解如何在 Google Cloud 控制台中查看 Cloud Run Threat Detection 发现结果,请参阅查看发现结果。
已知问题
- 您的 Cloud Run 服务或作业的实例在超过 7 天后会停止发送遥测信息。
- 如果监视器进程在 Cloud Run 服务或作业的运行实例中过早停止,则监视器进程不会重启。实例会停止向 Cloud Run 威胁检测发送遥测信息。实例日志中没有 Cloud Run Threat Detection 日志。没有指示监视器进程已停止的指标。
检测器
本部分列出了可用的运行时和控制平面检测器。 随着新的云威胁不断出现,我们会定期添加新的检测程序。
运行时检测器
Cloud Run Threat Detection 包括以下运行时检测器:
显示名称 | API 名称 | 说明 |
---|---|---|
执行:已执行添加的恶意二进制文件 | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
执行了满足以下条件的二进制文件:
如果添加的恶意二进制文件被执行,则很可能表示攻击者控制了工作负载,并且正在执行恶意软件。 |
执行:添加了“已加载恶意库” | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
加载了满足以下条件的库:
如果添加的恶意库已加载,则很可能表示攻击者控制了工作负载并正在执行恶意软件。 |
执行:已执行内置恶意二进制文件 | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
执行了满足以下条件的二进制文件:
如果执行了内置的恶意二进制文件,则表示攻击者正在部署恶意容器。攻击者可能已控制合法映像仓库或容器构建流水线,并向容器映像注入了恶意二进制文件。 |
执行:容器逃逸 | CLOUD_RUN_CONTAINER_ESCAPE |
容器中执行了一个进程,该进程尝试使用已知的逃逸技术或二进制文件来突破容器的隔离。此类攻击可让攻击者访问主机系统。这些进程会被识别为潜在威胁, 如果检测到容器逃逸尝试,则可能表示攻击者正在利用漏洞逃出容器。因此,攻击者可能会未经授权访问主机系统或更广泛的基础架构,从而破坏整个环境。 |
执行:Kubernetes 攻击工具执行 | CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION |
在环境中执行了 Kubernetes 专用攻击工具,这可能表明攻击者以 Kubernetes 集群组件为目标。这些攻击工具会被识别为潜在威胁, 如果在 Kubernetes 环境中执行攻击工具,则可能表明攻击者已获得对集群的访问权限,并正在使用该工具利用 Kubernetes 特有的漏洞或配置。 |
执行:本地侦察工具执行 | CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION |
执行了通常与容器或环境无关的本地侦察工具,这表明攻击者试图收集内部系统信息。这些侦察工具会根据情报数据被识别为潜在威胁。 如果执行了侦察工具,则表明攻击者可能正在尝试绘制基础架构图、识别漏洞或收集系统配置数据,以便规划后续步骤。 |
执行:执行了恶意 Python 代码(预览版) | CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED |
机器学习模型将指定的 Python 代码识别为恶意代码。攻击者可以使用 Python 将工具或其他文件从外部系统转移到遭到入侵的环境,并在不使用二进制文件的情况下执行命令。 检测器使用 NLP 技术来评估已执行的 Python 代码的内容。由于此方法并非基于签名,因此检测器可以识别已知和新颖的 Python 代码。 |
执行:已执行经过修改的恶意二进制文件 | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
执行了满足以下条件的二进制文件:
如果系统执行了经过修改的恶意二进制文件,则很可能是攻击者控制了工作负载,并且正在执行恶意软件。 |
执行:加载了经过修改的恶意库 | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
加载了满足以下条件的库:
如果加载了经过修改的恶意库,则很可能表明攻击者控制了工作负载,并且正在执行恶意软件。 |
已执行恶意脚本 | CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED |
机器学习模型将指定的 Bash 代码识别为恶意代码。攻击者可以利用 Bash 将工具或其他文件从外部系统转移到遭到入侵的环境,并在不使用二进制文件的情况下执行命令。 检测器使用 NLP 技术来评估已执行的 Bash 代码的内容。由于此方法并非基于签名,因此检测器可以识别已知和新型的恶意 Bash 代码。 |
观察到恶意网址 | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run 威胁检测在正在运行的进程的参数列表中观察到恶意网址。 检测器会根据 Google 安全浏览服务维护的不安全 Web 资源列表,对在正在运行的进程的参数列表中观察到的网址进行检查。如果网址被错误地分类为钓鱼式攻击网站或恶意软件,请在 报告错误数据中报告。 |
反向 shell | CLOUD_RUN_REVERSE_SHELL |
通过流式传输重定向到远程连接的套接字的过程。检测器会查找绑定到远程套接字的 借助反向 shell,攻击者可以通过已破解的工作负载与攻击者控制的机器进行通信。然后,攻击者可以命令和控制工作负载,例如将其作为僵尸网络的一部分。 |
意外的 Shell Shell | CLOUD_RUN_UNEXPECTED_CHILD_SHELL |
通常不调用 shell 的进程生成了 shell 进程。 检测器监控所有进程执行。调用 shell 时,如果父级进程通常不会调用 shell,则检测器会生成发现结果。 |
控制平面检测器
Event Threat Detection 提供以下控制平面检测器。这些检测器默认处于启用状态。您可以按照与管理其他 Event Threat Detection 检测器相同的方式管理这些检测器。如需了解详情,请参阅使用 Event Threat Detection。
显示名称 | API 名称 | 日志源类型 | 说明 |
---|---|---|---|
影响:加密货币挖矿命令(预览版) | CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS |
Cloud Audit Logs: IAM 系统事件审核日志 |
在执行期间,特定的加密货币挖矿命令附加到 Cloud Run 作业。 |
执行:加密货币挖矿 Docker 映像(预览版) | CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES |
Cloud Audit Logs: IAM 系统事件审核日志 |
特定已知有缺陷的 Docker 映像已附加到新的或现有的 Cloud Run 服务或作业。 |
提升权限:默认的 Compute Engine 服务账号 SetIAMPolicy(预览版) | CLOUD_RUN_SERVICES_SET_IAM_POLICY |
Cloud Audit Logs: 管理员活动日志 |
默认的 Compute Engine 服务账号用于为 Cloud Run 服务设置 IAM 政策。 这是在来自无服务器服务的 Compute Engine 令牌遭到入侵时可能采取的利用后操作。 |
后续步骤
- 了解如何使用 Cloud Run 威胁检测。
- 了解如何使用 Event Threat Detection。