WhoAMI 攻击
网络安全研究人员发现了一种名为“whoAMI”的新型名称混淆攻击。这种攻击允许威胁者通过发布具有特定名称的 Amazon 机器映像 (AMI) 在 Amazon Web Services (AWS) 帐户中执行代码。此漏洞具有重大影响,因为它可能允许未经授权访问数千个 AWS 帐户。
目录
利用错误配置的 AMI 搜索
此次攻击的核心在于供应链操纵策略。它涉及部署威胁性 AMI,并欺骗配置错误的软件使用它而不是合法版本。此漏洞存在于私有和开源代码存储库中,因此引起了广泛关注。
攻击如何进行
AWS 允许任何人发布 AMI,即用于启动 Elastic Compute Cloud (EC2) 实例的虚拟机映像。该攻击利用了开发人员在使用 ec2:DescribeImages API 搜索 AMI 时可能忘记指定 --owners 属性这一事实。
此次攻击要想成功,必须满足以下条件:
- AMI 搜索依赖于名称过滤器。
- 搜索未指定所有者、所有者别名或所有者 ID 参数。
- 该请求获取最近创建的图像(most_recent=true)。
当这些条件一致时,攻击者可以创建一个名称与目标搜索模式匹配的欺诈性 AMI。这样,攻击者就可以使用被攻陷的 AMI 启动 EC2 实例,从而授予远程代码执行 (RCE) 功能并启用后利用活动。
与依赖混淆攻击的相似之处
这种攻击与依赖项混淆漏洞类似,即不安全的软件依赖项(例如 pip 包)会替换合法的依赖项。然而,在 whoAMI 攻击中,受感染的资源是虚拟机映像,而不是软件依赖项。
亚马逊的响应和安全措施
在 2024 年 9 月 16 日披露此攻击后,亚马逊迅速做出反应并在三天内解决了该问题。Apple 还承认,通过 ec2:DescribeImages API 检索 AMI ID 而未指定所有者值的客户面临风险。
为了缓解这一威胁,AWS 于 2024 年 12 月推出了一项名为“允许的 AMI”的新安全功能。此账户范围的设置允许用户限制在其 AWS 账户内发现和使用 AMI,从而显著减少攻击面。安全专家建议 AWS 客户评估并实施这一新控制措施,以保护其云环境免受名称混淆攻击。