不法分子旨在通过恶意 npm 包引起 Discord 不和谐
LofyLife 活动是在 GitHub 安全锁定期间进行的
网络犯罪分子继续使用 npm 软件包将恶意软件包投放到毫无戒心的受害者身上,最近一次是从受感染的系统中窃取 Discord 登录令牌、银行卡数据和其他用户信息。
最新的 npm 活动的详细信息被卡巴斯基威胁情报猎人称为“LofyLife”,与此同时,拥有 NPM 公司,又归微软所有的 GitHub 公布了一系列对 npm 安全性的增强。涉及恶意 npm 包的几起引人注目的事件。而且它是必要的
代码安全供应商 BluBracket 的产品和开发人员支持负责人 Casey Bisson 对The Register表示:“任何可以达到大量目标(或大量重要目标)的攻击向量都会引起威胁参与者的兴趣,并补充说 npm拥有数千万用户和数百亿托管包下载量。
“NPM 不只是为大量目标提供攻击向量;目标本身特别有趣。企业和个人开发人员通常拥有比普通人口更多的资源,并在开发人员的机器或企业中获得滩头阵地后进行横向攻击系统通常也颇有成效。”
卡巴斯基研究人员 Igor Kuznetsov 和 Leonid Bezvershenko 在上周晚些时候的一份报告中写道,他们在 npm 存储库中发现了四个可疑包,所有这些包都包含高度混淆的 JavaScript 和 Python 代码。他们把所有这些都放在了 LofyLife 的旗帜下。
Python 恶意软件是对开源令牌记录器 Volt Stealer 的修改迭代。根据卡巴斯基的说法,Python 代码旨在从受感染的机器上窃取 Discord 令牌和 IP 地址,并通过 HTTP 上传它们。
研究人员写道:“我们称之为‘Lofy Stealer’的 JavaScript 恶意软件是为了感染 Discord 客户端文件而创建的,以监控受害者的行为。” “它检测用户何时登录、更改电子邮件或密码、启用/禁用多因素身份验证……并添加新的支付方式,包括完整的银行卡详细信息。”
该恶意软件隐藏在四个恶意 npm 模块中:small-sm、pern-valids、lifeculer 和 proc-title。这些被装扮成有用的、无辜的库,然后开发人员将其拉入他们的应用程序并执行。
卡巴斯基团队写道,一旦在机器上运行,恶意软件就会从系统中收集信息并将其上传到地址是硬编码的远程端点。数据(例如人们的 Discord 登录令牌)被泄露到 Replit 上托管的实例:life.polarlabs.repl[.]co、Sock.polarlabs.repl[.]co 和 idk.polarlabs.repl[.]co。
鉴于 npm 为开发人员托管了大量 JavaScript 包,因此它已成为希望破坏软件供应链的网络犯罪分子的目标也就不足为奇了。一旦不法分子侵入了 npm 包维护者的帐户并操纵其库代码以包含恶意软件,或上传新的恶意包以诱使开发人员使用该代码,恶意脚本就可以开始进入应用程序并继续运行受害者和开发者的电脑。
Synopsis 网络安全研究中心的首席安全策略师 Tim Mackey 表示,软件供应链长期以来一直是攻击者的目标,尤其是针对购物车或开发工具等框架的攻击者。
“我们最近看到的是一种认识,即我们过去将攻击归类为恶意软件或数据泄露,实际上是对信任组织在他们创建和使用的软件中的危害,”Mackey 告诉The Register。“许多人认为供应商创建的软件完全由该供应商编写,但实际上,即使是最简单的软件也可能有数百个第三方库。”
这些库“实际上是应用程序软件供应链中的供应商,但使用任何给定供应商的决定是由解决功能问题的开发人员做出的,而不是由专注于业务风险的商人做出的,”他说。
容易的选择越来越难
容器和 Kubernetes 安全专家 Tigera 的高级安全研究员 Garwood Pang 告诉The Register,“这种恶意软件似乎针对运行本地节点实例的缺乏经验的开发人员(即学生)。针对 Discord 提供了很大的影响力。被盗的 Discord 令牌可以被用来对受害者的朋友进行鱼叉式网络钓鱼尝试。”
LofyLife 的检测伴随着 GitHub 对 npm 进行了一些更改。这包括在 npm CLI 中简化的登录和发布体验,以及将 GitHub 和 Twitter 帐户连接到 npm 的能力。此外,所有的 npm 包都被重新签名,GitHub 添加了一个新的 npm CLI 命令来审计包的完整性。
GitHub 还在 NPM 上普遍提供增强的两因素身份验证。GitHub 在 5 月宣布了 2FA 的公开测试版,并纳入了由用户建议推动的改进。
该组织还指出,开发人员长期以来一直能够在他们的 npm 配置文件中包含 GitHub 和 Twitter 句柄,以将 npm 帐户的身份连接到其他平台上的身份,但数据是未经验证的自由格式文本字段或已验证。通过与 GitHub 和 Twitter 的官方集成链接帐户,可确保经过验证的帐户数据包含在 npm 配置文件中。
GitHub 的 Myles Borins 和 Monish Mohan在宣布增强功能。“在跨平台的身份之间建立经过验证的链接可以显着提高我们进行帐户恢复的能力。这些经过验证的新数据为将身份验证自动化作为帐户恢复的一部分奠定了基础。”
最终 GitHub 将无法识别遗留数据,但现在将继续尊重它,以确保用户不会被锁定在他们的帐户之外。
