加密货币挖矿检测最佳实践

本页面介绍了在您的 Google Cloud 环境中检测 Compute Engine 虚拟机上的加密货币挖矿攻击的最佳实践。

这些最佳实践也用作 Google Cloud 加密货币挖矿保护计划的资格要求。如需详细了解该计划,请参阅 Security Command Center 加密货币挖矿保护计划概述

为您的组织启用 Security Command Center 的高级或企业层级

激活 Security Command Center 的高级层级或企业版层级是检测 Google Cloud 上的加密货币挖矿攻击的基础要素。

高级和企业层级的两种威胁检测服务 是检测加密货币挖矿攻击的关键:事件威胁检测和 虚拟机威胁检测。

由于加密货币挖矿攻击可能会发生在组织中任何项目的任何虚拟机上,因此为整个组织启用 Security Command Center 高级版或企业版,并启用 Event Threat Detection 和 VM Threat Detection,既是最佳实践,也是 Security Command Center 加密货币挖矿保护计划的要求。

如需了解详情,请参阅 Security Command Center 激活概览

为所有项目启用关键威胁检测服务

启用 Event Threat Detection 和 VM Threat Detection 检测服务 Security Command Center 的访问权限。

Event Threat Detection 和 VM Threat Detection 一同启用后,可检测出会导致加密货币挖矿攻击的事件(第 0 阶段事件)和表示攻击正在进行的事件(第 1 阶段事件)。以下部分介绍了这些检测服务检测的具体事件。

详情请参阅以下内容:

启用第 0 阶段事件检测

第 0 阶段事件是指环境中一般发生在常见的加密货币挖矿攻击之前或是攻击的第一步的事件。

Event Threat Detection,Security Command Center 提供的检测服务 高级版或企业版,会在检测到发现的问题时向您发出提醒 某些 Stage-0 事件

如果您可以快速检测并解决这些问题,则可以防止许多加密货币挖矿攻击,以免造成巨大损失。

Event Threat Detection 通过以下发现结果类别来提醒您发生的事件:

  • Account_Has_Leaked_Credentials:此类别的发现结果表示在 GitHub 上泄露了服务账号密钥。获取服务账号凭据是加密货币挖矿攻击的常见预兆。
  • 规避:通过匿名代理访问:此类别的发现结果表示匿名代理对某项 Google Cloud 服务做出了修改,例如 Tor 退出节点。
  • 初始访问:休眠服务账号操作:此类别的发现结果表示某个处于休眠状态的服务账号对您的环境执行了操作。Security Command Center 用途 Policy Intelligence,用于检测休眠账号。

启用第 1 阶段事件检测

第 1 阶段事件是指示您的 Google Cloud 环境中有加密货币挖矿应用正在运行的事件。

在检测到某些第 1 阶段事件时,Event Threat Detection 和 VM Threat Detection 都会发出 Security Command Center 发现结果,以便向您发出提醒。

请立即根据这些发现结果进行调查和修复,以避免因加密货币挖矿应用消耗的资源而产生巨额费用。

以下任意一个类别的发现结果都表示加密货币挖矿应用正在您的 Google Cloud 环境中的某个项目内的虚拟机上运行:

  • 执行:加密货币挖矿 YARA 规则:此类别中的发现结果表明 VM Threat Detection 检测到加密货币挖矿应用使用的内存模式,例如工作量证明常量。
  • 执行:加密货币挖矿哈希匹配:此类别中的发现结果表示 VM Threat Detection 检测到加密货币挖矿应用使用的内存哈希。
  • 执行:组合检测:此类别中的发现结果指示 VM Threat Detection 同时检测到加密货币挖矿应用使用的内存模式和内存哈希。
  • 恶意软件:恶意 IP:此类别中的发现结果表示 Event Threat Detection 检测到与已知加密货币挖矿应用使用的 IP 地址的连接或其查询。
  • 恶意软件:恶意网域:此类别中的发现结果表示 Event Threat Detection 检测到与已知加密货币挖矿应用使用的网域的连接或其查询。

启用 Cloud DNS 日志记录

若要检测加密货币挖矿应用向已知恶意网域进行的调用,请启用 Cloud DNS 日志记录。Event Threat Detection 会在检测到已知用于加密货币挖矿池的网域解析时,处理 Cloud DNS 日志并发出发现结果。

将您的 SIEM 和 SOAR 产品与 Security Command Center 集成

将 Security Command Center 与现有安全运营工具(例如 SIEM 或 SOAR 产品)集成,可以针对 Security Command Center 发现结果,对指示潜在或实际加密货币挖矿攻击的第 0 阶段和第 1 阶段事件进行分类和响应。

如果您的安全团队未使用 SIEM 或 SOAR 产品,则该团队需要熟悉在 Google Cloud 控制台中处理 Security Command Center 发现结果、如何使用 Pub/Sub 或 Security Command Center API 设置发现结果通知和导出,以及传输发现结果从而有效地防范加密货币挖矿攻击。

对于需要导出到安全运维套件的特定发现结果 请参阅 为所有项目启用关键威胁检测服务

如需了解如何将 SIEM 和 SOAR 产品与 Security Command Center 集成,请参阅设置 SIEM 和 SOAR 集成

如需了解如何设置发现结果通知或导出内容,请参阅 以下信息:

指定负责接收安全通知的重要联系人

为了使您的公司能够尽快响应来自 Google 的任何安全通知,请指定应由公司中的哪些团队(例如 IT 安全或运营安全)来接收安全通知。在指定小组时,请输入该小组的 中的电子邮件地址 重要联系人

为确保随着时间的推移可靠地传送这些通知,我们强烈建议团队将传送选项配置为邮件列表、群组或其他可确保将通知一致地传送和分发给组织负责团队的机制。我们建议您不要将个人电子邮件地址指定为重要联系人,因为如果个人变更团队或离开公司,通信可能会中断。

设置重要联系人后,请确保安全团队持续监控电子邮件收件箱。持续监控是一项关键的最佳实践,因为攻击者通常会在您放松警惕时(例如周末、节假日和晚上)发起加密货币挖矿攻击。

指定负责安全的重要联系人,以及监控重要联系人电子邮件地址,是 Security Command Center 加密货币挖矿保护计划的最佳实践和要求。

维护必需的 IAM 权限

您的安全团队和 Security Command Center 本身都需要获得授权才能访问 Google Cloud 环境中的资源。您负责管理 使用 Identity and Access Management (IAM) 进行身份验证和授权。

对于 Security Command Center,您需要维护或保留检测和响应加密货币挖矿攻击所需的 IAM 角色和权限,这不仅是最佳实践,也是一项基本要求。

如需大致了解 Google Cloud 上的 IAM,请参阅 IAM 概述

安全团队所需的授权

为了能够查看 Security Command Center 的发现结果并立即响应 Google Cloud 上的加密货币挖矿攻击或其他安全问题,安全人员的 Google Cloud 用户账号需要提前获得授权,以响应、补救和调查可能出现的问题。

在 Google Cloud 上,您可以通过 使用 IAM 角色和权限。

配合 Security Command Center 使用所需的角色

了解用户需要具备的 IAM 角色 如何搭配使用 Security Command Center,请参阅 使用 IAM 进行访问权限控制

配合其他 Google Cloud 服务使用所需的角色

若要正确调查加密货币挖矿攻击,您可能需要其他 IAM 角色,例如 Compute Engine 角色,这个角色可以支持您查看和管理受影响虚拟机实例和在其中运行的应用。

根据调查攻击的位置,您可能需要 还有其他一些角色 Compute Engine 网络角色Cloud Logging 角色

您还需要适当的 IAM 权限才能创建和管理负责安全的重要联系人。如需了解管理安全联系人所需的 IAM 角色,请参阅所需的角色

Security Command Center 所需的授权

当您激活 Security Command Center 时,Google Cloud 会自动创建一个服务账号,供 Security Command Center 在运行扫描和处理日志时进行身份验证和授权。在激活过程中,您需要确认 被授予该服务账号的权限

请勿移除或修改此服务账号、其角色或其权限。

确认实现加密挖矿检测最佳做法

您可以运行脚本来检查组织的元数据,以了解您的组织是否实施了检测挖矿的最佳做法。该脚本可在 GitHub 上找到。

如需查看 README 并下载脚本,请参阅 SCC 挖矿检测最佳做法验证脚本