网络通信 频道

谷歌云CloudImposer漏洞影响数百万服务器

  谷歌修补了谷歌云平台(GCP)中的一个漏洞,该漏洞可能被攻击者利用,通过部署单个恶意代码包,对数百万客户云服务器执行供应链攻击。

  Tenable公司的研究人员发现了这一远程代码执行(RCE)漏洞,并将其命名为“CloudImposer”。他们在9月16日发布的分析报告中指出,攻击者可能利用该漏洞劫持影响GCP服务的内部软件依赖。

  具体而言,该漏洞存在于GCP的Cloud Composer服务中,该服务用于编排软件管道,但它也影响了Google的App Engine和Cloud Function服务。据Tenable公司称,这一漏洞创造了一种被称为“依赖混淆”的场景,这是一种几年前就被发现,但即使云平台提供商也广泛误解的技术。

  依赖混淆攻击最初由安全研究员Alex Birsan于2021年发现,其始于攻击者创建恶意软件包,赋予其与合法内部包相同的名称,并将其发布到公共存储库中。

  Tenable公司的高级安全研究员Liv Matan在分析中解释道,“当开发者的系统或构建过程错误地拉取恶意包而不是预期的内部包时,攻击者便能够访问系统,这种攻击利用了开发者对包管理系统的信任,可能导致未经授权的代码执行或数据泄露。”

  他补充道,“即使是像谷歌这样的领先技术供应商,对它以及如何预防(依赖混淆)的意识也十分匮乏。不幸的是,这种类型的依赖可以被用来在云中执行供应链攻击,其危害比在本地环境要大得多。”

  Matan观察到:“例如,云服务中的一个恶意包,可以被部署到并危害数百万用户。”因此,GCP中的一个错误命令,可能会在众多云部署中产生连锁反应,给攻击者提供了访问客户企业云环境的途径。

  Matan在8月的Black Hat USA会议上首次介绍了Tenable的发现,演讲主题为《GCPJenga Tower:用一个包(及更多)黑入谷歌数百万服务器》——这是Dark Reading专家建议参会者不可错过的演讲。然而,他直到本周才在Tenable的博客上发布了完整分析。

  风险文档导致漏洞

  据Tenable公司称,漏洞的第一个迹象是谷歌关于GCP和Python软件基金会的文档,该文档介绍了在云部署中可能出现依赖混淆的可能性。研究人员进一步发现,谷歌自身也向GCP应用了相同的风险实施建议,从而引入了该漏洞。

  具体而言,谷歌建议希望在GCP服务的App Engine、Cloud Function和Cloud Composer服务中使用私有Python包的用户使用“--extra-index-url”参数。

  “这个参数除了从指定的私有注册表中,查找应用程序或用户打算安装的私有依赖项外,还会查找公共注册表(PyPI)。”Matan解释说。“这种行为为攻击者实施依赖混淆攻击打开了大门。”

  研究人员推断,有“众多GCP客户”遵循了谷歌的风险指导,并最终发现谷歌在安装自己的内部服务中的私有包时也采纳了自己的建议。特别是,Tenable研究人员发现,谷歌使用了有风险的--extra-index-url参数来安装公共注册表中缺失的私有代码包,这种方式“允许攻击者将恶意包上传到公共注册表,并接管管道”。

  谷歌修复及其他缓解措施

  据Tenable公司称,研究人员负责任地向谷歌披露了文档和CloudImposer RCE漏洞,谷歌迅速做出了回应并采取了行动。具体而言,谷歌修复了Google Cloud Composer中易受攻击的脚本,该脚本在安装来自私有注册表的私有包时使用了--extra-index-url参数。

  谷歌还检查了易受攻击包实例的校验和,并通知Tenable公司称,据谷歌所知,没有证据表明CloudImposer曾被利用过。Matan指出,谷歌还承认,虽然Tenable开发的利用代码在谷歌的内部服务器上运行,但很可能不会在客户环境中运行,因为它不会通过集成测试。

  此外,谷歌还修复了风险文档,现在建议GCP客户使用--index-url参数而不是--extra-index-url参数,并采纳了Tenable的建议,推荐GCP客户使用GCP Artifact Registry的虚拟存储库来安全地控制Python包管理器的搜索顺序。

  GCP客户应分析其环境以了解其包安装过程,以防止漏洞,特别是搜索Python中使用--extra-index-url参数的情况,以确保他们不会受到依赖混淆攻击的影响。

  Matan总结道:“云提供商和云客户共同采取负责任的安全措施,可以减轻与云供应链攻击相关的许多风险。”

0
相关文章