聚焦源代码安全,网罗国内外最新资讯!
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
BleepingComputer 研判发现,该攻陷始于美国东部时间6月6日下午4:33,当时@react-native-aria/focus 包的新版本刚发布到NPM。之后,20个 Gluestack @react-native-aria 包中的17个包在NPM中遭攻陷,威胁人员在两个小时之前还发布新版本。
这起供应链攻击由网络安全公司 Aikido Security 发现,该公司发现如下程序包的 lib/index.js文件被注入混淆后的代码:
包名称 |
版本 |
周下载量 |
@react-native-aria/button |
0.2.11 |
51,000 |
@react-native-aria/checkbox |
0.2.11 |
81,000 |
@react-native-aria/combobox |
0.2.10 |
51,000 |
@react-native-aria/disclosure |
0.2.9 |
3 |
@react-native-aria/focus |
0.2.10 |
100,000 |
@react-native-aria/interactions |
0.2.17 |
125,000 |
@react-native-aria/listbox |
0.2.10 |
51,000 |
@react-native-aria/menu |
0.2.16 |
22,000 |
@react-native-aria/overlays |
0.3.16 |
96,000 |
@react-native-aria/radio |
0.2.14 |
78,000 |
@react-native-aria/switch |
0.2.5 |
477 |
@react-native-aria/toggle |
0.2.12 |
81,000 |
@react-native-aria/utils |
0.2.13 |
120,000 |
@gluestack-ui/utils |
0.1.17 |
55,000 |
@react-native-aria/separator |
0.2.7 |
65 |
@react-native-aria/slider |
0.2.13 |
51,000 |
@react-native-aria/tabs |
0.2.14 |
70,000 |
这些包非常热门,每周的下载量大约为102万次,因此这起供应链攻击规模庞大,本可造成广泛影响。该恶意代码被严重混淆并被附加到文件中源代码的最后一行,并附加很多空格,因此在NPM站点使用代码查看器时,并不容易被发现。
图:添加到 index.js 文件后的恶意代码
Aikido 公司表示,该恶意代码与上个月发现的另外一起 NPM 攻陷事件中的一个远程访问木马非常相似。在上次的供应链攻击分析中,研究人员提到该RAT将连接到攻击者的C2服务器并接收要执行的命令。
这些命令包括:
-
cd – 更改当前工作目录
-
ss_dir – 将目录重置到脚本路径
-
ss_fcd:<path> - 将目录强制更改为 <path>
-
ss_upf:f,d – 将单个文件f 上传到目标地d
-
ss_upd:d,dest – 将目录d 下的所有文件上传至目标地 dest
-
ss_stop – 设置停止标记,阻断当前的上传过程
-
其它输入 – 当作 shell 命令处理,通过 child_process.exec() 执行
该木马还会将虚假的 Python 路径 (%LOCALAPPDATA%ProgramsPythonPython3127) 预置到 PATH 环境变量,执行 PATH 劫持,导致恶意软件悄悄覆写合法 python 或 pip 命令,执行恶意二进制。
Aikido 公司的安全研究员 Charlie Eriksen 尝试通过在每个项目的仓库上创建 GitHub 问题的方式,联系 Gluestack 关于攻陷的事件。Aikido 公司的研究人员表示,“包维护人员尚未作出任何回应(当时是因为当时正值美国时间周六早上)。我们联系了NPM并报告了每个程序包,不过一般而言NPM会花数天的时间才会解决。”
Aikido 公司将次攻击归咎于在本周早些时候攻陷四个其它NPM包(biatec-avm-gas-station、cputil-node、lfwfinance/sdk和lfwfinance/sdk-dev)的同一伙威胁人员。
GlueStack 目前已撤销用于发布受陷包的访问木马,并将其标记为“废弃”。GlueStack 的开发人员表示,“遗憾的是,由于依赖包的存在,无法取消发布受陷版本。作为缓解措施,我已经废弃了受影响版本并将‘最新’的标记指向一个安全的老旧版本。”
原文始发于微信公众号(代码卫士):NPM软件供应链攻击传播恶意软件
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论