影响甚广,Ledger Connect Kit被黑事件分析
作者:Lisa、山,慢雾安全团队
据慢雾安全团队情报,北京时间 2023 年 12 月 14 日晚,Ledger Connect Kit 遭受供应链攻击,攻击者至少获利 60 万美元。
慢雾安全团队第一时间介入分析,并发出预警:
目前该事件已经得到官方解决,慢雾安全团队现将应急信息分享如下:
时间线
7:43 PM,推特用户 @g4sarah 表示 DeFi 资管协议 Zapper 的前端疑似被劫持。
8:30 PM,Sushi 首席技术官 Matthew Lilley 在推特发布警告称:「请用户切勿与任何 dApp 交互,直至另行通知。一个常用的 Web3 connector(某 JavaScript 库,是 web3-react 项目的一部分)疑似已被破坏,允许注入影响众多 dApp 的恶意代码。」随后,其表示 Ledger 可能存在可疑代码。慢雾安全团队第一时间表示正在跟进和分析此事件。
8:56 PM,Revoke.cash 于推特发文表示:「与 Ledger Connect Kit 库集成的多个常用加密应用程序(包括 Revoke.cash)已受到损害。我们暂时关闭了该网站。我们建议在该漏洞利用期间不要使用任何加密网站。」随后,跨链 DEX 项目 Kyber Network 也表示,出于谨慎考虑,其已禁用前端 UI,直到情况明确为止。
9:31 PM,Ledger 也发布提醒:「我们已识别并删除了 Ledger Connect Kit 的恶意版本。现在正在推送正版版本来替换恶意文件,暂时不要与任何 dApp 交互。有新情况的话,我们会通知您。您的 Ledger 设备和 Ledger Live 没有受到损害。」
9:32 PM,MetaMask 也发布提醒:「用户在 MetaMask Portfolio 上执行任何交易之前,请确保已在 MetaMask 扩展中启用 Blockaid 功能。」
攻击影响
慢雾安全团队立即展开对相关代码的分析,我们发现攻击者在 @ledgerhq/connect-kit =1.1.5/1.1.6/1.1.7 版本中植入恶意的 JS 代码,直接用 Drainer 类替换正常的窗口逻辑,不仅会弹出伪造的 DrainerPopup 弹窗,也会处理各种资产的转账逻辑。通过 CDN 分发对加密货币用户发起钓鱼攻击。
影响版本范围:
@ledgerhq/connect-kit 1.1.5 ( 攻击者在代码中提到 Inferno,猜测是向专门从事多链诈骗的钓鱼团伙 Inferno Drainer「致敬」)
@ledgerhq/connect-kit 1.1.6 ( 攻击者在代码中留言并植入恶意的 JS 代码 )
@ledgerhq/connect-kit 1.1.7 ( 攻击者在代码中留言并植入恶意的 JS 代码 )
Ledger 表示 Ledger 钱包本身没影响,受影响的是集成了 Ledger Connect Kit 库的应用程序。
然而,许多应用程序都使用了 Ledger Connect Kit(如 SushiSwap, Zapper, MetalSwap, Harvest Finance, Revoke.cash 等),影响面只会大不会小。
攻击者这一波攻击,就可以执行与应用程序具有相同权限级别的任意代码。例如,攻击者无需交互即可立即耗尽用户的所有资金;发布大量钓鱼链接诱导用户上当;甚至利用用户的恐慌情绪,用户试图将资产转入新地址,但下载了假钱包导致资产损失。
技战法分析
上面我们分析了攻击的影响,根据历史应急经验推测,这可能是一起有预谋的社会工程学钓鱼攻击。
根据 @0xSentry 的推文,攻击者留下的数字痕迹中涉及 @JunichiSugiura(Jun,Ledger 前员工)的 Gmail 账户,该帐户可能已被泄露,并且 Ledger 忘记删除该员工的访问权限了。
11:09 PM,官方证实了此猜测 —— 一名前 Ledger 员工成为网络钓鱼攻击的受害者:
1)攻击者获得了对该员工 NPMJS 帐户的访问权限;
2)攻击者发布了 Ledger Connect Kit 的恶意版本(1.1.5、1.1.6 和 1.1.7);
3)攻击者通过恶意代码,使用恶意 WalletConnect 将资金指定转移到黑客钱包地址。
目前,Ledger 已发布了经过验证的正版 Ledger Connect Kit 版本 1.1.8,请及时升级。
虽然 Ledger npmjs 被投毒的版本已经删除,但目前在 jsDelivr 上还有带毒 js 文件:
https://cdn.jsdelivr.net/npm/@ledgerhq/[email protected]
https://cdn.jsdelivr.net/npm/@ledgerhq/[email protected]
注意因为 CDN 的因素可能存在的延迟,官方建议等 24 小时后再使用 Ledger Connect Kit。
建议项目方发布依赖第三方 CDN 镜像源时,一定记得锁定相关版本,防止恶意发版然后更新带来的危害。(来自 @galenyuan 的建议)
目前官方已经接受相关建议,相信接下来会更改策略:
Ledger 官方最终时间线:
MistTrack 分析
Drainer customer: 0x658729879fca881d9526480b82ae00efc54b5c2d
Drainer fee address: 0x412f10AAd96fD78da6736387e2C84931Ac20313f
据 MistTrack 分析,攻击者 (0x658) 至少获利 60 万美元,且与钓鱼团伙 Angel Drainer 有关联。
Angel Drainer 团伙主要的攻击方式是对域名服务提供商及工作人员进行社会工程学攻击,感兴趣可点击阅读黑暗「天使」—— Angel Drainer 钓鱼团伙揭秘。
Angel Drainer(0x412) 目前持有近 36.3 万美元的资产。
根据慢雾威胁情报网络,有如下发现:
1)IP 168.*.*.46,185.*.*.167
2)攻击者已将部分 ETH 换为 XMR
11:09 PM,Tether 冻结了 Ledger 漏洞利用者的地址。另外,MistTrack 已拉黑相关地址,并将持续监控资金异动。
总结
本次事件再次印证 DeFi 安全不仅仅是合约安全,安全是一个整体。
一方面,本次事件体现了供应链安全漏洞可能导致严重的后果。恶意软件和恶意代码可以在软件供应链的不同环节中植入,包括开发工具、第三方库、云服务和更新过程。一旦这些恶意元素被成功注入,攻击者可以利用它们来窃取加密货币资产和用户敏感信息、破坏系统功能、勒索企业或大规模传播恶意软件。
另一方面,攻击者可以通过社会工程学攻击方式获取用户的个人身份信息、帐户凭据、密码等敏感信息;攻击者也会使用欺骗性的电子邮件、短信或电话等方式,引诱用户点击恶意链接或下载恶意文件。建议用户使用强密码,包括字母、数字和符号的组合,并定期更改密码,以最大程度地减少攻击者猜测或使用社会工程技巧获取密码的机会。同时,实施多因素身份验证,通过使用额外的认证因素(如短信验证码、指纹识别等)来增加账户的安全性,提高对这种类型攻击的防范能力。