攻击者接管账户,攻陷周下载量超700万次的JavaScript 流行库 ua-parser-js

c2e134b76a6c617929dcdd0e24d0392c.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

9128c88862316f888bad389481ceb37c.png

专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。

随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。

为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。

注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。

d841b5da71f0bd00c8533df00b764253.png

49841590bc5d6c8838871528c195fd9e.gif

上周末,每周下载量超过700万次的 npm 包 “ua-parser-js” 遭攻陷。从 GitHub 的讨论情况来看,攻击者似乎是通过密码泄露或暴力攻击尝试劫持了该包作者的账户,时长约4小时。

b3b3bbdf8f6e9d32f40d61ef0bddff19.gif

UAParser.js 简介

Npm 包的官方简介指出,“UAParser.js” 库是通过小规模的访存足迹 (源码压缩至17KB,Gzip 压缩至6KB) 从 User-Agent 数据中检测浏览器、引擎、操作系统、CPU和设备类型/型号的JavaScript 库,可用于浏览器(客户端)或node.js(服务器端)。

目前,该库用于多个企业如 Facebook、苹果、亚马逊、微软、Slack、IBM、HPE、戴尔、Oracle、Mozilla、Shopify、Reddit 等硅谷巨头。

另外,”ua-parser-js” 库也用于1000多个其它 npmjs 包中,其中一些是直接使用但很多都是间接使用,其中不乏一些流行项目如 apollographql 项目和 Facebook 公司的 docusaurus 项目等。

f4d87779330a5c1760053a15951de7e8.gif

受影响版本

GitHub 发布安全公告指出,“ua-parser-js” 包发布的三个版本中含有恶意代码。

受影响版本是0.7.29、0.8.0和1.0.0。

用户应分别尽快更新至最新版本0.7.30、0.8.1和1.0.1。

GitHub 指出,应把安装或正在运行 “ua-parser-js” 的计算机当作已遭攻陷处理。应该从其它计算机立即修改存储在受影响计算机中的所有机密信息和密钥。虽然应该删除 “ua-parser-js”包,但鉴于其它实体已完全控制该计算机,因此,删除该npm包无法保证将删除计算机上所有因安装恶意软件而导致的所有恶意软件。

cdb9c09d3c94f4859b04cc3e96073625.gif

简要分析

UAParser.js库的作者 Faisal Salman 指出,“我认为有人在劫持的 npm 账户并发布了一些受陷版本,它们很可能要安装恶意软件。“之后,Salman 拉取了受陷库版本,阻止用户不慎感染,并发布了更新版本。

多数 npm 恶意包的目的是以通用方式窃取环境密钥。然而,本文提到的恶意包对 Windows 和 Linux + MacOS 的攻陷方式稍有不同。虽然两个脚本版本都下载并运行密币挖掘软件,但 Windows 版本中还包含了一个木马组件。

c3d161e31398101f2314cb412343af92.png

可以肯定的一点是,尽管多数 Windows 杀毒软件并未注意到该密币,但至少有12款杀软检测并阻止了上述木马组件。

8c2905f5dd299c61bfcd69ac58be95a0.png

在 Linux 和 macOS 的案例中,虽然目前无法确定密币挖掘工具中是否存在木马,但从经验来看应该不存在。

afb95b9d836916263d4d06ee8391ab57.png

从 GitHub 用户对该恶意代码的分析来看,其它脚本将从远程服务器下载并执行二进制。这些二进制是为 Linux 和 Windows 平台提供的。一名GitHub 用户指出,“从命令行参数来看,其中一个可能是密币挖矿机,不过这也可能只是个幌子。“

在 Windows 系统上,这些脚本也将下载并执行信息窃取木马(很可能是 Danabot 恶意软件版本)。另外一名 GitHub 用户指出,木马中包含可导出浏览器 cookie、浏览器密码和操作系统凭据的功能。

ceee4e263d07fe09ff91ebf4dc50e15d.gif

CISA 发出安全警报

鉴于 UAParser.js的下载量如此之多,很多大企业都在使用,因此美国网络安全和基础设施安全局 (CISA) 在事件发生当天就紧急发布安全警报,督促开发人员更新至安全版本。

70150f501ff45106fe908bbec0dabfda.gif

如何防范开源供应链攻击

奇安信代码安全实验室认为,结合本案例,应采取如下措施阻止此类供应链攻击:

1、npm包维护人员启用双因素认证

2、切勿在多个网站复用相同密码

3、通过奇安信开源卫士保护软件供应链安全

4、使用奇安信开源卫士等工具自动化管理依赖关系


推荐阅读

GitHub 在 “tar” 和 npm CLI 中发现7个高危的代码执行漏洞

流行的 NPM 包依赖关系中存在远程代码执行缺陷

速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年

Npm 恶意包试图窃取 Discord 敏感信息和浏览器文件

微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析

速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年

SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制

找到软件供应链的薄弱链条

GitHub谈软件供应链安全及其重要性

揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司

开源软件漏洞安全风险分析

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等

原文链接

https://www.whitesourcesoftware.com/resources/blog/popular-javascript-library-ua-parser-js-compromised-via-account-takeover/

https://github.com/advisories/GHSA-pjwm-rvh2-c87w

https://therecord.media/malware-found-in-npm-package-with-millions-of-weekly-downloads/

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

6f6963d9c2107edb81a07666c66430e0.png

d03811c1aad9a8385d0aacde5ef1016e.png

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   c7e9a2ed1f54f2588a66000b7955e562.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值