AWS 实例元数据服务(IMDS)模拟攻击风险与检测指南

AWS 发布安全公告,警示一个潜在的 IMDS 模拟问题,可能导致客户与意外的 AWS 账户交互。本文详细说明了问题背景、影响范围、缓解建议,并提供了使用 SIGMA 规则在本地环境中检测异常 IMDS 流量的具体技术指导。

IMDS 模拟

发布日期: 2025/10/08 11:15 AM PDT

描述: AWS 已意识到一个潜在的实例元数据服务(IMDS)模拟问题,该问题可能导致客户与意外的 AWS 账户进行交互。当 IMDS 在 EC2 实例上运行时,它运行在环回网络接口上,并提供实例元数据凭证,供客户用于与 AWS 服务交互。这些网络调用永远不会离开 EC2 实例,客户可以信任 IMDS 网络接口位于 AWS 数据边界内。 当从非 EC2 计算节点(如本地服务器)使用 AWS 工具(如 AWS CLI/SDK 或 SSM 代理)时,存在第三方控制的 IMDS 提供意外 AWS 凭证的潜在风险。这要求计算节点运行在第三方拥有特权网络位置的网络中。AWS 建议,在 AWS 数据边界之外使用 AWS 工具时,客户应遵循安装和配置指南(AWS CLI/SDKSSM 代理)以确保缓解此问题。我们还建议您监控可能在本地环境中运行的 IMDS 端点,以主动防止第三方的此类模拟问题。

受影响版本: IMDSv1 和 IMDSv2

解决方法: AWS 建议,在 AWS 数据边界之外使用 AWS 工具时,客户应遵循安装和配置指南(AWS CLI/SDKSSM 代理)以确保缓解此问题。

监控: 组织应监控本地环境中出现的意外 AWS 实例元数据服务(IMDS)流量,因为这表明可能存在配置错误、在本地运行的云应用程序或安全问题。 监控到 169.254.169.254(AWS IPv4 链路本地元数据端点)和 fd00:ec2::254(AWS IPv6 元数据端点)的连接、到 AWS 特定路径(如 /latest/meta-data/latest/api/token)的 HTTP 请求,以及是否存在 AWS 元数据头(如 X-aws-ec2-metadata-token)。这些端点绝不应出现在纯本地网络中,因为它们是为 AWS EC2 实例保留的,用于检索配置数据、IAM 凭证和实例信息。 我们为客户提供了 SIGMA 格式的检测指南概述。SIGMA 是一种通用规则格式,可转换为特定的 SIEM 查询语言,从而实现通用检测部署。要构建此规则,请定义 logsource: category: network 以关联不同的网络遥测数据,然后创建多个选择块。ip_aws_dst: dst_ip: 169.254.169.254 捕获直接连接,而 http_url_paths: url|contains: ['/latest/meta-data', '/latest/api/token'] 使用 SIGMA 的列表语法检测元数据请求。在不同的选择块中使用字段变体,如 destination.ipc-iprequest_url|contains,以适应不同供应商的不同日志模式。实现条件逻辑以匹配所有选择块(例如,condition: 1 of ip_* or 1 of http_*,其中通配符 * 匹配以这些前缀开头的所有选择块)。可以通过使用 SIGMA 的 contains 修饰符来提高检测精度:request_headers|contains: 'X-aws-ec2-metadata-token' 用于检测 IMDSv2 令牌请求。部署时,SIGMA 将此通用语法转换为您 SIEM 的原生查询语言(如 Splunk 的 SPL、QRadar 的 AQL、Sentinel 的 KQL 或 Elastic 的 KQL),在适应平台特定字段名和运算符的同时,保持相同的检测逻辑。 为了提高规则的准确性,客户可以考虑仅针对本地网络流量触发警报,通过应用基于源子网或 VLAN 的抑制逻辑来实现。

如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计