WazirX 事件攻击过程分析与防范机制。
撰文:Cobo 安全团队
2024 年 7 月 18 日,印度加密货币交易所 WazirX 的一个多签钱包被盗超过 2.3 亿美元。该多签钱包为 Safe{Wallet} 智能合约钱包。攻击者诱导多签签名者签署了合约升级交易,攻击者通过升级后的合约直接转移了钱包中的资产,最终将约超过 2.3 亿美元的资产全部转出。
注:以下分析基于 WazirX 和 Liminal 事后报告、链上数据、互联网公开信息,可能存在信息不全或误差,从而导致分析结论有所偏差。分析结果仅供参考,具体以当事厂商后续调查结果为准。
原文链接:
根据双方披露的信息,WazirX 使用 Safe ( 前称 Gnosis Safe) 进行资金管理,并通过 Liminal 进行协管。该 Safe 钱包采用 4/6 的签名方式,其中 5 把私钥为 WazirX 成员通过硬件钱包管理,1 把私钥由 Liminal 通过 HSM 管理。
正常流程下,WazirX 通过 Liminal 平台的网页发起交易转账,转账地址受 Liminal 平台维护的地址白名单限制。WazirX 的 5 位签名者中的 3 位确定交易无误后,使用硬件钱包签名。Liminal 平台收集到 3 个签名后,再使用 HSM 添加最后的签名,并使交易上链。从链上攻击交易中看,攻击交易中确实包含了 3 个合法签名,且第 4 个签名为交易发起者(即 Liminal),与披露的钱包管理架构一致。
结合 Liminal 和 WazirX 双方报告,这笔恶意多签交易发起的流程如下:
根据 WazirX 的描述,签名人员使用硬件钱包保管私钥。攻击者也是通过伪造转账交易的方法收集到了 3 个签名人的签名。因此推断 3 位 WazirX 管理者并不存在私钥泄露的情况。同样 Liminal 也不存在私钥泄露的情况,否则攻击者无须通过 Liminal 平台发起最后一笔交易。
另一方面,根据 WazirX 的描述,签名人员通过书签访问了正确的 Liminal 平台,并进行了 Google 与 MFA 验证。Liminal 平台也记录到了三笔异常交易的日志,因此也可以排除 WazirX 登录了虚假 Liminal 平台钓鱼页面被收集签名的可能。另外根据 WazirX 披露的设备初步取证结果,也认为 WazirX 3 名签名人的设备没有受到攻击。
综上所述,可能的一种攻击手段是,攻击者通过中间人攻击、XSS 攻击或其他零日攻击等手段劫持了 WazirX 受害人的浏览器前端页面,伪造展示给 WazirX 受害人合法的交易内容。攻击者收集齐 3 个 WazirX 受害人的签名后,通过已有会话向 Liminal 平台提交了最终的合约升级攻击交易,并通过 Liminal 平台风控后成功上链。
根据前述分析,WazirX 和 Liminal 双方在事件中均暴露出一定问题。
Liminal 平台风控不严格:
WazirX 没有仔细核对硬件钱包签名内容:
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。