IMDS 冒充
公告 ID:AWS-2025-021
范围:
AWS
内容类型:
重要提示(需要注意)
发布日期:2025 年 10 月 8 日上午 11:15(太平洋夏令时)
描述:
AWS 注意到潜在的实例元数据服务(IMDS)冒充问题,该问题会导致客户与非预期 AWS 账户交互。IMDS 在 EC2 实例上运行时,会在回环网络接口运行并提供实例元数据凭证,客户可以使用该凭证与 AWS 服务交互。这些网络调用永远不会离开 EC2 实例,客户可以相信 IMDS 网络接口处于 AWS 数据边界内。
当从非 EC2 计算节点使用 AWS 工具(如 AWS CLI/SDK 或 SSM Agent)时,第三方控制的 IMDS 可能会提供非预期的 AWS 凭证。这需要该计算节点在第三方拥有特权网络位置的网络上运行。AWS 建议客户在 AWS 数据边界外使用 AWS 工具时,遵循安装和配置指南(AWS CLI/SDK 或 SSM Agent),以确保缓解此问题。我们还建议客户监控可能在本地环境中运行的 IMDS 端点,主动防范第三方发起的此类冒充攻击。
受影响的版本:IMDSv1 和 IMDSv2
解决方法:
AWS 建议客户在 AWS 数据边界外使用 AWS 工具时,遵循安装和配置指南(AWS CLI/SDK 或 SSM Agent),以确保缓解此问题。
监控:
组织应监控本地环境中是否存在非预期的 AWS 实例元数据服务(IMDS)流量,此类流量表明可能存在配置错误、本地运行的云应用程序或安全隐患。
需监控与 169.254.169.254(AWS IPv4 链接本地元数据端点)和 fd00:ec2::254(AWS IPv6 元数据端点)的连接、向 AWS 特定路径(如 /latest/meta-data 或 /latest/api/token)发送的 HTTP 请求,以及是否存在 X-aws-ec2-metadata-token 等 AWS 元数据标头。这些端点绝不应出现在纯本地网络中,因为它们是 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.ip、c-ip、request_url|contains 等字段变体,以适配不同供应商的日志架构。实施条件逻辑,以按指定前缀匹配所有选择块(例如,condition: 1 of ip_* 或 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。