AWS实例元数据服务(IMDS)冒充攻击深度解析

本文详细解析AWS实例元数据服务(IMDS)冒充攻击的风险与防护措施,涵盖受影响版本、监控方案及SIGMA检测规则实现,帮助企业在混合云环境中加强安全防护。

IMDS冒充攻击

发布日期: 2025年10月8日
公告ID: AWS-2025-021
范围: AWS
内容类型: 重要(需要关注)

描述

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格式的检测指导概述,这是一种通用规则格式,可转换为特定的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 设计