Cobo 安全團隊:WazirX 被盜幣事件分析

CoboGlobal
2024-08-01 18:58:40
收藏
Cobo 安全團隊針對近期印度加密貨幣交易所 WazirX 被攻擊事件進行了詳細的分析

1 事件概述

2024 年 7 月 18 日,印度加密貨幣交易所 WazirX 的一個多簽錢包被盜超過 2.3 億美元。該多簽錢包為 Safe{Wallet} 智能合約錢包。攻擊者誘導多簽簽名者簽署了合約升級交易,攻擊者通過升級後的合約直接轉移了錢包中的資產,最終將約超過 2.3 億美元的資產全部轉出。

2 攻擊過程分析

注:以下分析基於 WazirX 和 Liminal 事後報告、鏈上數據、互聯網公開信息,可能存在信息不全或誤差,從而導致分析結論有所偏差。分析結果僅供參考,具體以當事廠商後續調查結果為準。

原文鏈接:

  • WazirX 博客 https://wazirx.com/blog/wazirx-cyber-attack-key-insights-and-learnings/

  • Liminal Custody 博客 https://www.liminalcustody.com/blog/update-on-wazirx-incident/

2.1 多簽錢包配置與攻擊過程

根據雙方披露的信息,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 雙方報告,這筆惡意多簽交易發起的流程如下:

  1. 攻擊者通過某種未知手段(包括不限於 0-day 網路攻擊、社會工程學攻擊等)誘導 WazirX 簽名交易。

  2. WazirX 3 名成員,分別通過書籤等登入 Liminal 平台,進行 Google 驗證及 MFA 驗證通過後,查看到待簽名交易為 2 筆 GALA 和 1 筆 USDT 轉帳交易,並使用硬體錢包進行了簽名。但實際受害人簽署的內容並不是代幣轉帳交易,而是多簽錢包的合約升級交易。由於實際交易內容與聲稱的轉帳交易不一致,Liminal 平台分別拒絕了 3 筆交易。

  3. 至此攻擊者收集到 3 名成員對於合約升級交易的簽名,再次向 Liminal 平台提交惡意的合約升級交易,並附帶 3 個正確的簽名。

  4. Liminal 平台檢查簽名無誤後,作為第 4 個簽名人發起交易,交易上鏈後,錢包合約升級,控制權轉移到攻擊者手中。

根據 WazirX 的描述,簽名人員使用硬體錢包保管私鑰。攻擊者也是通過偽造轉帳交易的方法收集到了 3 個簽名人的簽名。因此推斷 3 位 WazirX 管理者並不存在私鑰洩露的情況。同樣 Liminal 也不存在私鑰洩露的情況,否則攻擊者無須通過 Liminal 平台發起最後一筆交易。

另一方面,根據 WazirX 的描述,簽名人員通過書籤訪問了正確的 Liminal 平台,並進行了 Google 與 MFA 驗證。Liminal 平台也記錄到了三筆異常交易的日誌,因此也可以排除 WazirX 登入了虛假 Liminal 平台釣魚頁面被收集簽名的可能。另外根據 WazirX 披露的設備初步取證結果,也認為 WazirX 3 名簽名人的設備沒有受到攻擊。

綜上所述,可能的一種攻擊手段是,攻擊者通過中間人攻擊、XSS 攻擊或其他零日攻擊等手段劫持了 WazirX 受害人的瀏覽器前端頁面,偽造展示給 WazirX 受害人合法的交易內容。攻擊者收集齊 3 個 WazirX 受害人的簽名後,通過已有會話向 Liminal 平台提交了最終的合約升級攻擊交易,並通過 Liminal 平台風控後成功上鏈。

2.2 攻擊事件暴露出的问题

根據前述分析,WazirX 和 Liminal 雙方在事件中均暴露出一定問題。

Liminal 平台風控不嚴格:

  • 從最終鏈上的攻擊交易中可以看出,Liminal 平台對合約升級交易進行了簽名並上鏈。平台的白名單轉帳風控策略沒有起到應有的作用。

  • Liminal 平台披露的日誌中可以看出,平台已經發現並拒絕了三筆可疑交易,但沒有第一時間向用戶告警或凍結錢包轉帳交易。

WazirX 沒有仔細核對硬體錢包簽名內容:

  • 硬體錢包中展示的內容才是真實待簽署的交易內容。WazirX 簽名人員在簽署多簽交易時,信任了 Liminal 頁面展示的交易,沒有仔細核對硬體錢包待簽名內容與 Liminal 頁面展示的交易是否一致而直接簽名,提供了攻擊者所需要的合約升級交易的簽名。
鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
banner
ChainCatcher 與創新者共建Web3世界