网络安全研究人员披露了一种名为 whoAMI 的新型名称混淆攻击,任何发布具有特定名称的亚马逊机器镜像(AMI)的人,都能通过这种攻击在亚马逊Web Services(AWS)账户内实现代码执行。
Datadog安全实验室的研究员Seth Art在一份与The Hacker News分享的报告中表示:“如果大规模实施这种攻击,它可被用于获取数千个账户的访问权限。这种存在漏洞的模式能在许多私有和开源代码存储库中被发现。”
从本质上讲,这种技术是供应链攻击的一种类型,涉及发布恶意资源,并诱使配置错误的软件使用该恶意资源,而非合法的资源。
这种攻击利用了两个事实:一是任何人都可以将亚马逊机器镜像(即用于在 AWS 中启动弹性计算云(EC2)实例的虚拟机镜像)发布到社区目录中;二是开发人员在通过 ec2:DescribeImages API 搜索镜像时,可能会忽略提及 “–owners”(所有者)属性。
换句话说,当受害者通过 API 检索亚马逊机器镜像 ID 时,这种名称混淆攻击需要满足以下三个条件:
1.使用名称过滤器;
2.未指定所有者(owner)、所有者别名(owner-alias)或所有者 ID(owner-id)参数;
3.从返回的匹配镜像列表中获取最新创建的镜像(“most_recent=true”)。
这就导致了一种情况:攻击者可以创建一个名称与搜索条件中指定模式匹配的恶意亚马逊机器镜像,从而使用威胁行为者的 “冒名顶替” 镜像创建一个弹性计算云实例。
这反过来又赋予了攻击者在该实例上进行远程代码执行(RCE)的能力,使威胁行为者能够发起各种攻击后的利用行动。
攻击者所需要做的,仅仅是拥有一个 AWS 账户,以便将他们植入后门的亚马逊机器镜像发布到公共社区镜像目录中,并选择一个与目标所寻找的镜像名称相匹配的名称。
Art表示:“这种攻击与依赖项混淆攻击非常相似,不同之处在于,在依赖项混淆攻击中,恶意资源是一个软件依赖项(例如一个 pip 软件包),而在whoAMI名称混淆攻击中,恶意资源是一个虚拟机镜像。”
Datadog公司称,该公司所监控的组织中,约有 1% 受到了 whoAMI 攻击的影响,并且发现了用 Python、Go、Java、Terraform、Pulumi 和 Bash shell 编写的代码中,存在使用了易受攻击标准的公开示例。
在 2024 年 9 月 16 日进行了负责任的漏洞披露后,亚马逊在三天后解决了这个问题。当The Hacker News就此事联系亚马逊置评时,AWS 告诉The Hacker News,他们没有发现任何证据表明这种技术在现实中被滥用。
该公司表示:“所有 AWS 服务都按设计正常运行。基于广泛的日志分析和监控,我们的调查证实,这项研究中描述的技术仅由授权研究人员自己执行过,没有证据表明其他任何方使用过该技术。”
“这种技术可能会影响那些通过 ec2:DescribeImages API 检索亚马逊机器镜像(AMI)ID 但未指定所有者值的客户。2024 年 12 月,我们推出了‘允许的镜像’(Allowed AMIs),这是一项新的账户级设置,使客户能够限制其 AWS 账户内对镜像的发现和使用。我们建议客户评估并实施这项新的安全控制措施。”
截至去年 11 月,HashiCorp的 Terraform 在 terraform-provider-aws 5.77.0 版本中,当用户在使用 “most_recent = true” 却未设置所有者过滤器时,已经开始向用户发出警告。预计从 6.0.0 版本起,该警告诊断将升级为错误提示。
发表评论
您还未登录,请先登录。
登录