研究发现超 2000 个针对 Azure 开发人员的恶意 NPM 包

研究人员 Andrey Polkovnychenko 和 Shachar Menashe 在一份报告中,截至 3 月

JFrog 研究人员 Andrey Polkovnychenko 和 Shachar Menashe 在一份报告中,截至 3 月 21 日他们已观察到不少于 218 个恶意 NPM 包。检查后发现这都是针对 Azure 开发人员的新的大规模供应链攻击,攻击者采用了一个自动脚本来创建账户并上传覆盖整个 scope 的恶意软件包,旨在窃取个人身份信息。

除了针对  scope 外,还有 、、 和  也是目标。在这些恶意包发布大约两天后,JFrog 向 NPM 维护人员进行了披露,其迅速进行了删除;但在此之前,每个软件包已平均被下载了约 50 次。

根据介绍,攻击人员使用的软件供应链攻击方法是 typosquatting,他们只是创建了一个新的(恶意的)包,其名称与现有的 @azure scope package 相同,但删除了 scope name。举例如下:

这是一个合法的 azure npm 包

以及它的恶意对应物

“攻击者依赖于一些开发人员在安装软件包时可能错误地省略了@azure 前缀这一事实。例如,错误地运行 npm install core-tracing,而不是正确的命令 – npm install @azure/core-tracing。”

而除了 typosquatting 感染方式外,所有的恶意软件包都有极高的版本号(例如 99.10.9)。研究人员指出,这表明是一种依赖性混淆攻击。一个可能的猜想是,除了基于 typosquatting 的普通 npm 用户的目标外,攻击者还试图针对开发人员和从 Microsoft/Azure 内部网络运行的机器。

JFrog 建议,对于使用目标包的 Azure 开发人员,可以通过检查它们的名称是否以 @azure* scope 开头,以确保合法性。并表示,由于供应链攻击的迅速崛起(特别是通过 npm 和 PyPI 软件包库),似乎应该增加更多的审查和缓解措施。

例如,在创建 npm 用户时添加一个 CAPTCHA 机制将不允许攻击者轻松创建任意数量的用户来上传恶意包,从而更容易识别攻击。除此之外,作为安全软件管理过程的一部分,基于 SAST 或 DAST 技术(或者最好是两者)的自动软件包过滤的需求可能也是不可避免的。

关于作者: qwephp

.

为您推荐