北京时间2023年12月14日晚上20点左右,SUSHI、RevokeCash等多个项目发布了安全预警,警告用户不要与任何DAPP进行交互。
比特丛林第一时间介入分析,发现这些项目的钱包连接器都集成了Ledger Connect Kit,而Ledger Connect Kit已被篡改以包含窃取虚拟货币的恶意代码。在晚上21时左右,Ledger发布了Connect Kit的1.1.8版本,该版本删除了恶意代码。
截至目前,这次黑客事件已导致多名用户共计损失约40万美元。
下文将针对Ledger漏洞实现过程、波及面以及发生过程、作案团队等分析。比特丛林建议用户重装系统,而非简单的清除缓存,以更彻底解决Dapp受影响问题。更多深入内容及观点,还请关注12月22日(周五) 晚8点直播,活动信息请见本文底部「活动预告」板块。
Ledger问题出在哪
钱包连接器(Wallet Connector)是一种用于在去中心化应用程序(DApp)和加密货币钱包之间建立通信和交互的协议或工具。其主要目的是简化用户与 DApp 之间的数字资产管理流程,使用户能够使用其加密货币钱包与各种去中心化服务和应用进行交互。体现在用户的使用流程上面就是在于DApp交互时,会显示连接钱包的页面,如下图
该页面就会加载各个连接器的代码,比如使用范围最广的WalletConnect等。
而本次被恶意修改的代码就是Ledger的连接器(Ledger Connect Kit),Ledger的Connect Kit是一种软件开发工具包(SDK),旨在帮助开发者将Ledger硬件钱包(如Ledger Nano S、Ledger Nano X等)集成到他们的应用程序中。它提供了一系列的API和工具,使开发者能够与Ledger硬件钱包进行交互,以实现更加安全和可靠的数字资产管理。
许多DApp网站都使用该库来连接 Ledger 硬件钱包,部分网站(例如 SushiSwap 和 Revoke.cash)很快就将其网站下线并删除了受影响的库,由于目前无法有效统计有多少网站采用了该库,我们建议使用任何DApp网站时检查是否存在Ledger的连接器。
Ledger代码怎么出现的问题
经比特丛林检查发现是上述受影响的网站都加载了ledger钱包连接器被供应链攻击,该项目引入的代码如下:
https://cdn[.]jsdelivr[.]net/npm/@ledgerhq/connect-kit@1
截止北京时间21:10在ledger的npm发布页面看到最新的更新是两小时前,根据检查发现1.1.5至1.1.7版本均为恶意改动。
目前北京时间12月15日恶意的版本被Ledger删除
LEDGER 董事长兼首席执行官 PASCAL GAUTHIER称为前员工被钓鱼导致。
来源:https://www.ledger.com/blog/a-letter-from-ledger-chairman-ceo-pascal-gauthier-regarding-ledger-connect-kit-exploit
涉案资金流向
截止目前Ledger Exploiter(0x658729879fCa881D9526480B82aE00EFc54B5c2d)地址还有33万美元的资产留存
其中有4.334 ETH流向知名虚拟货币盗窃团队Angel Drainer的热钱包
2023 年 9 月的Balancer DNS 劫持攻击和2023 年 10 月的Galxe DNS 劫持攻击均与该团队相关。
Angel Drainer一般作为犯罪服务的平台提供者(CaaS),可能只为本次攻击提供了盗窃虚拟货币的恶意代码,真正操作发布NPM恶意代码的可能另有其他团队。
应急措施建议
钱包方
1.需要保证开发及发布环境的网络安全,避免供应链攻击。
2.应在代码中锁定版本,不要使用@1去自动加载最新版本。例如本次出问题的「https://cdn[.]jsdelivr[.]net/npm/@ledgerhq/connect-kit@1」
3.定期对关键账户密钥更新,并开启MFA。
4.定期对代码和开发流程进行安全审计。
用户
1. 在Ledger彻底修复前避免与任何DApp交互
2. 在Ledger修复后,清除本地(手机与电脑)的浏览器和涉及到DApp应用的缓存
3. 由于恶意代码被混淆,恶意代码可能还同时获取了设备权限,强烈建议重装系统,更彻底解决Dapp受影响问题
项目方
1. 及时下架Ledger的连接器,避免影响更多用户
BIT JUNGLE 活动预告
Ledger安全事件应急措施
比特丛林:计划投入6000万,开发硬件钱包
探讨议题
1.Ledger钱包安全事件为什么会发生?
2.一个好的钱包公司应该具备哪些基因?
3.比特丛林计划投入6000万打造钱包业务的背后思考
如何收听
12月22日 周五 晚8点 扫描下方海报二维码👇