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 中提醒您。Container Threat Detection 可提供多种检测功能(包括可疑的二进制文件和库),并使用自然语言处理 (NLP) 来检测恶意 bash 脚本。

容器威胁检测仅适用于高级层级或企业版 Security Command Center 层级。

Container Threat Detection 的工作原理

Container Threat Detection 检测插桩收集客机内核中的低级行为并执行 bash 脚本。以下是检测到事件时的执行路径:

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

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

  2. 检测器服务会分析事件,以确定事件是否表示突发事件。系统使用 NLP 分析 bash 脚本的内容,以确定执行的脚本是否为恶意脚本。

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

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

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

Container Threat Detection 检测器

Container Threat Detection 包括以下检测器:

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

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

如果一个添加的二进制文件是由攻击者执行的,这可能表明攻击者控制了工作负载,并且正在执行任意命令。

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

已加载不属于原始容器映像的库。

如果添加的库已加载,则可能表示攻击者控制了工作负载并正在执行任意代码。

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

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

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

如果添加的恶意二进制文件被执行了,那么很有迹象表明攻击者 可以控制工作负载,并且正在执行恶意软件。

检测器会查找正在执行的二进制文件,该文件不属于 并已根据威胁被识别为恶意文件 情报。
执行:已添加的恶意库已加载

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

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

如果加载了添加的恶意库,很明显 可以控制工作负载,并且正在执行恶意软件。

检测器会查找正在加载的库,但该库不属于 并已根据威胁被识别为恶意文件 情报。
执行:内置恶意二进制文件执行

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

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

如果内置恶意二进制文件被执行,则表明攻击者 部署恶意容器的情况他们可能获得了 合法的映像存储库或容器构建流水线, 将恶意二进制文件复制到容器映像中

检测器会查找正在执行的二进制文件,该文件包含在 并已根据威胁被识别为恶意文件 情报。
执行:执行的恶意二进制文件遭到修改

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

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

如果执行经过修改的恶意二进制文件,则表明 可以控制工作负载,并且正在执行恶意软件。

检测器会查找正在执行的二进制文件,该二进制文件最初包含在 但在运行时被修改,并被标识为 基于威胁情报的恶意行为。
执行:已加载经过修改的恶意库

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

  • 根据威胁情报识别为恶意内容
  • 包含在原始容器映像中
  • 在运行时修改了原始容器映像
  • 如果加载了经过修改的恶意库,很明显 可以控制工作负载,并且正在执行恶意软件。

    检测器会查找正在加载且最初包含的库 但在运行时被修改,并被标识为 基于威胁情报的恶意行为。
    已执行恶意脚本 机器学习模型将执行的 bash 脚本识别为恶意脚本。攻击者可以利用 bash 脚本将工具或其他文件从外部系统转移到遭到入侵的环境,并在不使用二进制文件的情况下执行命令。 检测器使用 NLP 技术来评估已执行的 bash 脚本的内容。由于此方法并非基于签名,因此检测器可以识别已知和未知的恶意脚本。
    观察到恶意网址 Container Threat Detection 在参数列表中检测到恶意网址 运行中的进程 检测器会检查在 以安全的方式运行进程 由 Google 维护 安全浏览 服务。如果网址被错误地归类为钓鱼式攻击或恶意软件, 通过以下网址报告 报告 数据不正确
    反向 shell

    通过流式传输重定向到远程连接的套接字的过程。

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

    检测器会查找绑定到远程套接字的 stdin
    意外的 Shell Shell

    通常不调用 shell 的进程生成了 shell 进程。

    检测器监控所有进程执行。调用 shell 时,如果父级进程通常不会调用 shell,则检测器会生成发现结果。

    后续步骤