近期,研究人员发现了一场持续的攻击活动,该活动正在向开源节点包管理器(NPM)仓库上传数百个恶意包,试图感染依赖这些代码库的开发者的设备。这些恶意包的名称与合法的Puppeteer和Bignum.js代码库以及各种加密货币工作库相似。这一活动由安全公司Phylum的研究人员报告,目前仍在进行中。
警惕供应链攻击
Phylum的研究人员指出:“出于必要,恶意软件作者不得不努力寻找更隐蔽的方式来隐藏意图,并在其控制的远程服务器上进行混淆。” 这一发现紧随几周前针对使用Ethers.js库分支的开发者的类似活动之后,再次提醒我们供应链攻击依然活跃且有效。
隐藏恶意负载的新方法
安装时,这些恶意包使用一种新颖的方式来隐藏设备联系以接收恶意第二阶段恶意软件负载的IP地址。具体来说,IP地址根本不出现在第一阶段代码中。相反,代码访问以太坊智能合约,以“获取与以太坊主网上特定合约地址关联的字符串,在这种情况下是IP地址”。
以太坊主网是支持加密货币(如以太坊)的主要区块链网络,交易在此发生。Phylum分析的一个包返回的IP地址是:hxxp://193.233.201[.]21:3001
。
虽然这种方法旨在隐藏第二阶段感染的来源,但它却留下了攻击者过去使用的地址的痕迹。研究人员解释道:
“将这些数据存储在以太坊区块链上的一个有趣之处在于,以太坊存储了它曾经见过的所有值的不可变历史。因此,我们可以看到这个威胁行为者曾经使用过的每一个IP地址。”
- 2024-09-23 00:55:23Z:
hxxp://localhost:3001
- 2024-09-24 06:18:11Z:
hxxp://45.125.67[.]172:1228
- 2024-10-21 05:01:35Z:
hxxp://45.125.67[.]172:1337
- 2024-10-22 14:54:23Z:
hxxp://193.233[.]201.21:3001
- 2024-10-26 17:44:23Z:
hxxp://194.53.54[.]188:3001
攻击过程
安装时,恶意包以打包的Vercel包形式出现。负载在内存中运行,设置为每次重启时加载,并连接到以太坊合约中的IP地址。然后,“执行一些请求以获取额外的JavaScript文件,然后将系统信息回传到同一请求服务器,” Phylum的研究人员写道。“这些信息包括GPU、CPU、机器上的内存量、用户名和操作系统版本。”
域名抢注(Typosquatting)
这种攻击依赖于域名抢注,这是一种使用与合法包名称非常相似但包含微小差异的名称的术语,例如可能因无意中拼写错误而产生的差异。域名抢注长期以来一直是诱骗人们访问恶意网站的策略。在过去五年中,域名抢注已被用于欺骗开发者下载恶意代码库。
防护建议
开发者在运行下载的包之前应始终仔细检查名称。Phylum的博客文章提供了与此活动使用的恶意包相关的名称、IP地址和加密哈希。以下是一些具体的防护建议:
- 仔细核对包名:确保下载的包名与官方文档和社区推荐的名称完全一致。
- 使用可信源:尽量从官方仓库和知名开发者处下载包。
- 定期更新依赖:保持项目依赖的最新状态,避免使用过时或不再维护的包。
- 启用安全工具:使用静态分析工具和安全扫描工具来检测潜在的恶意代码。
- 关注安全公告:及时关注安全公司和社区发布的安全公告,了解最新的威胁情报。
通过这些措施,开发者可以更好地保护自己免受此类供应链攻击的影响。
0条评论