据安全研究人员称,一种新的软件供应链攻击正在被广泛利用。 该技术针对通过 Python 包索引 (PyPI) 分发的 Python 应用程序。 软件供应链安全公司 JFrog 的研究人员认为,这次被称为“Revival Hijack”的攻击可能会影响 22,000 个现有的 Python 包。反过来,这可能导致数千万次受感染的下载。 Revival Hijack 利用了作者从 PyPI 存储库中删除项目时产生的潜在安全漏洞。 开发人员从 PyPI 中删除包后,任何其他用户都可以注册包名称。然后,黑客可以劫持软件包名称并使用它来分发恶意代码。 “曾经安全”的供应链攻击风险Revival Hijack 利用了受害者可以在不知道它已被更改或感染的情况下不知不觉地更新“曾经安全”的软件包这一事实。此外,CI/CD 计算机通常设置为自动安装软件包更新。 JFrog 研究人员 Brian Moussalli 和 Andrey Polkovnichenko 警告说,这比以前的软件供应链攻击构成的风险要大得多,这些攻击依赖于拼写错误,因此是人为错误来分发恶意代码。 研究团队使用名称相同但版本号不同、代码完全不同的冒名顶替包重现了这次攻击。在进一步的测试中,他们发现 “安全劫持” 的程序包在三个月内被下载了 200,000 次。 “Revival Hijack 不仅仅是一种理论攻击——我们的研究团队已经看到它在野外被利用,”JFrog 研究团队负责人 Brian Moussalli 解释说。 “在处理已删除的软件包时使用易受攻击的行为允许攻击者劫持现有软件包,从而可以在没有用户交互的情况下将其安装到目标系统。” 面向开发人员的受感染代码警告据 JFrog 研究人员称,网络安全团队已经降低了拼写错误的风险。这迫使恶意黑客寻找其他方法将受感染的代码放入存储库,例如 Revival Hijack。 尽管 PyPI 确实警告删除包的开发人员,其名称可以重复使用,并限制替换包的特定版本,但 JFrog 研究人员呼吁“制定更严格的政策,完全禁止重复使用包名称”。 云安全专家 Sysdig 威胁研究总监 Michael Clark 告诉 Infosecurity,使用代码存储库的开发人员也需要保持警惕。 “PyPI 等存储库在安全性方面提出了严峻的挑战,因为它们通常受到开发人员的隐式信任,”他说。 “只要名字没错,危险感就很低。Revival Hijack 攻击演示了此问题,因为恶意存储库的名称将与以前受信任的名称匹配。必须对这些存储库中的依赖项进行静态和运行时分析,以防止使用此向量的攻击。
|