本页面介绍了在您的 Google Cloud 环境中检测 Compute Engine 虚拟机上的加密货币挖矿攻击的最佳实践。
这些最佳实践也用作 Google Cloud 加密货币挖矿保护计划的资格要求。如需详细了解该计划,请参阅 Security Command Center 加密货币挖矿保护计划概述。
为您的组织激活 Security Command Center 的高级或企业层级
激活 Security Command Center 的高级层级或企业版层级是检测 Google Cloud 上的加密货币挖矿攻击的基础要素。
高级版和企业版的两项威胁检测服务对于检测加密货币挖矿攻击至关重要:Event Threat Detection 和 VM Threat Detection。
由于加密货币挖矿攻击可能会发生在组织中任何项目的任何虚拟机上,因此为整个组织启用 Security Command Center 高级版或企业版,并启用 Event Threat Detection 和 VM Threat Detection,既是最佳实践,也是 Security Command Center 加密货币挖矿保护计划的要求。
如需了解详情,请参阅 Security Command Center 激活概览。
在所有项目上启用密钥威胁检测服务
在组织的所有项目启用 Security Command Center 的 Event Threat Detection 和 VM Threat Detection 服务。
Event Threat Detection 和 VM Threat Detection 一同启用后,可检测出会导致加密货币挖矿攻击的事件(第 0 阶段事件)和表示攻击正在进行的事件(第 1 阶段事件)。以下部分介绍了这些检测服务检测的具体事件。
详情请参阅以下内容:
启用第 0 阶段事件检测
第 0 阶段事件是指环境中一般发生在常见的加密货币挖矿攻击之前或是攻击的第一步的事件。
Event Threat Detection 是 Security Command Center 高级版或企业版提供的检测服务,可在检测到某些第 0 阶段事件时发出提醒。
如果您可以快速检测并解决这些问题,则可以防止许多加密货币挖矿攻击,以免造成巨大损失。
Event Threat Detection 通过以下发现结果类别来提醒您发生的事件:
- Account_Has_Leaked_Credentials:此类别的发现结果表示在 GitHub 上泄露了服务账号密钥。获取服务账号凭据是加密货币挖矿攻击的常见预兆。
- 规避:通过匿名代理访问:此类别的发现结果表示匿名代理对某项 Google Cloud 服务做出了修改,例如 Tor 退出节点。
- 初始访问:休眠服务账号操作:此类别的发现结果表示某个处于休眠状态的服务账号对您的环境执行了操作。Security Command Center 使用政策智能功能检测闲置账号。
启用第 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 使用所需的角色
如需了解用户需要配合 Security Command Center 使用所需的 IAM 角色,请参阅使用 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 挖矿检测最佳做法验证脚本。