Container Threat Detection 概览

本页面简要介绍了 Container Threat Detection 的概念和功能。

什么是 Container Threat Detection?

Container Threat Detection 是 Security Command Center 的一项内置服务,可持续监控 Container-Optimized OS 节点映像的状态。该服务会评估所有更改和远程访问尝试, 可以近乎实时地检测运行时攻击。

Container Threat Detection 可检测最常见的容器运行时攻击,并在 Security Command Center 和(可选)Cloud Logging 中提醒您。容器威胁检测 提供多种检测功能,包括可疑的二进制文件和 库,并使用自然语言处理 (NLP) 来检测恶意 Bash 和 Python 代码

Container Threat Detection 仅适用于 Security Command Center 的高级层级或企业层级。

Container Threat Detection 的工作原理

Container Threat Detection 检测插桩会在 客户机内核和已执行的脚本以下是检测到事件时的执行路径:

  1. Container Threat Detection 通过用户模式 DaemonSet 将事件信息和标识容器的信息传递给检测器服务进行分析。启用 Container Threat Detection 时,系统会自动配置事件收集。

    Watcher DaemonSet 会尽最大努力传递容器信息。如果 Kubernetes 和容器运行时未及时传递相应的容器信息,则系统可能会从报告的发现结果中删除容器信息。

  2. 检测器服务会分析事件,以确定事件是否表示突发事件。系统使用 NLP 分析 Bash 和 Python, 确定所执行的代码是否为恶意代码。

  3. 如果检测器服务发现突发事件,突发事件会以发现结果形式写入 Security Command Center 和(可选)Cloud Logging 中。

    • 如果检测器服务无法识别突发事件,则不会存储发现结果信息。
    • 内核和检测器服务中的所有数据都是临时的,不会永久存储。

您可以在 Security Command Center 控制台中查看发现结果详情,并调查发现结果信息。您能否查看和修改结果取决于您被授予的角色。如需详细了解 Security Command Center 角色,请参阅 访问权限控制

Container Threat Detection 检测器

Container Threat Detection 包括以下检测器:

检测器 说明 要检测的输入
已执行添加的二进制文件

执行了不属于原始容器映像的二进制文件。

如果添加的二进制文件被攻击者执行, 攻击者可以控制工作负载, 任意命令。

检测器查找正在执行的二进制文件,该二进制文件不是原始容器映像的一部分,或者是通过原始容器映像修改的。
已加载添加的库

原始容器映像中不属于某个库 。

如果加载了添加的库,这可能意味着 可以控制工作负载,并且正在执行任意代码。

检测器会查找正在加载的库,但该库不属于 原始容器映像,或者是基于原始容器进行修改 图片。
执行:已执行添加的恶意二进制文件

已执行满足以下条件的二进制文件:

  • 根据威胁情报识别为恶意内容
  • 不属于原始容器映像

如果添加的恶意二进制文件被执行了, 攻击者可以控制工作负载, 软件开发应用。

检测器会查找正在执行的二进制文件,该文件不属于 并据此将其标识为恶意 威胁情报。
执行:添加了“已加载恶意库”

加载了满足以下条件的库:

  • 根据威胁情报识别为恶意内容
  • 不属于原始容器映像

如果加载了添加的恶意库,很明显 攻击者可以控制工作负载, 软件开发应用。

检测器查找正在加载的库,该库不是原始容器映像的一部分,并且根据威胁情报被识别为恶意。
执行:已执行内置恶意二进制文件

已执行满足以下条件的二进制文件:

  • 根据威胁情报被识别为恶意
  • 包含在原始容器映像中

如果执行了内置的恶意二进制文件,则表示攻击者正在部署恶意容器。攻击者可能已控制合法映像仓库或容器构建流水线,并向容器映像注入了恶意二进制文件。

检测器查找正在执行的二进制文件,该二进制文件包含在原始容器映像中,并且根据威胁情报被识别为恶意。
执行:执行了恶意 Python 代码(预览版

机器学习模型将指定的 Python 代码识别为恶意代码。攻击者可以利用 Python 将工具或其他文件从外部系统转移到遭到入侵的环境,并在不使用二进制文件的情况下执行命令。

检测器使用 NLP 技术来评估已执行的 Python 代码的内容。由于此方法并非基于签名,因此检测器可以识别已知和新颖的 Python 恶意脚本。
执行:执行的恶意二进制文件遭到修改

执行了满足以下条件的二进制文件:

  • 根据威胁情报被识别为恶意
  • 包含在原始容器映像中
  • 在运行时从原始容器映像修改而来

如果系统执行了经过修改的恶意二进制文件,则很可能表示攻击者控制了工作负载,并且正在执行恶意软件。

检测器会查找正在执行的二进制文件,该二进制文件最初是 包含在容器映像中,但在运行时被修改 被识别为恶意内容。
执行:已加载经过修改的恶意库

加载了满足以下条件的库:

  • 根据威胁情报识别为恶意内容
  • 包含在原始容器映像中
  • 在运行时修改了原始容器映像

如果加载了经过修改的恶意库 攻击者可以控制工作负载, 软件开发应用。

检测器会查找正在加载的库,该库最初包含在容器映像中,但在运行时被修改,并且根据威胁情报被识别为恶意。
已执行恶意脚本

机器学习模型将指定的 Bash 代码识别为恶意代码。攻击者可以利用 Bash 将工具或其他文件从外部系统转移到遭到入侵的环境,并在不使用二进制文件的情况下执行命令。

检测器使用 NLP 技术来评估已执行的 Bash 代码的内容。由于此方法并非基于签名,因此检测器可以识别已知和新型恶意 bash 脚本。
观察到恶意网址 Container Threat Detection 在正在运行的进程的参数列表中观察到一个恶意网址。 检测器会检查在 以安全的方式运行进程 由 Google 维护 安全浏览 服务。如果网址被错误归类为钓鱼式攻击或恶意软件, 通过以下网址报告 报告错误数据
反向 shell

将视频流重定向到远程连接的开始后的流程 套接字。

借助反向 shell,攻击者可以通过已破解的工作负载与攻击者控制的机器进行通信。然后,攻击者可以 管理工作负载,例如, 僵尸网络

检测器会查找绑定到远程套接字的 stdin
意外的 Shell Shell 通常不调用 shell 的进程生成了 shell 进程。 检测器监控所有进程执行。调用 shell 时,如果父级进程通常不会调用 shell,则检测器会生成发现结果。

后续步骤