QBridge 被黑簡析:8000 萬美元不翼而飛
據慢霧區情報,2022 年 01 月 28 日,Qubit 項目的 QBridge 遭受攻擊,損失約 8000 萬美金。慢霧安全團隊進行分析後以簡析的形式分享給大家。
簡要分析
1. 攻擊者通過 ETH 上的 QBridge 合約進行存款操作,存款時傳入所要跨的目標鏈 destinationDomainID、所要跨鏈的資產 resourceID 以及跨鏈資金數量與接收地址等參數構成的 data。
2. 攻擊者指定傳入的 resourceID 為跨 ETH 代幣所需要的值,但其調用的是 QBridge 的 deposit 函數而非 depositETH 函數,因此首先繞過了跨鏈資金數量與 msg.value 的檢查。deposit 函數會根據 resourceID 從映射中取出 handler 地址進行充值,由於攻擊者傳入的是真實的跨 ETH 代幣所需要的值所以可以順利調用 handler 合約的 deposit 函數。
3. handler 合約的 deposit 函數中會根據 resourceID 取出的所要充值的代幣是否在白名單內進行檢查,由於攻擊者傳入的 resourceID 對應 ETH,因此映射中取出的所要充值的代幣為 0 地址,即會被認為是充值 ETH 而通過了白名單檢查。但 deposit 函數中卻並沒有對所要充值的代幣地址再次進行檢查(充值 ETH 應該是要通過 depositETH 函數進行跨鏈),隨後直接通過 safeTransferFrom 調用了所要充值的代幣的 transferFrom 函數。
4. 由於所要充值的代幣地址為 0 地址,而 call 調用無 code size 的 EOA 地址時其執行結果都會為 true 且返回值為空,因此通過 transferFrom 的轉账操作通過了 safeTransferFrom 的檢查,最後觸發了 Deposit 跨鏈充值事件。
5. 由於傳入的 resourceID 為跨 ETH 所需要的值,因此觸發的 Deposit 事件與真正充值 ETH 的事件相同,這讓 QBridge 認為攻擊者進行了 ETH 跨鏈,因此在 BSC 鏈上為攻擊者鑄造了大量的 qXETH 代幣。攻擊者利用此 qXETH 憑證耗盡了 Qubit 的借貸池。
MistTrack 分析
慢霧 AML 旗下 MistTrack 反洗錢追蹤系統分析發現,攻擊者地址(0xd01...5c7)首先從 Tornado.Cash 提幣獲取初始資金,隨後部署了合約,且該攻擊者地址交互的地址是 Qubit、PancakeSwap 和 Tornado.Cash 合約地址。目前資金未發生進一步轉移。慢霧 AML 將持續監控被盜資金的轉移,拉黑攻擊者控制的錢包地址,提醒交易所、錢包注意加強地址監控,避免相關惡意資金流入平臺。
總結
本次攻擊的主要原因在於在充值普通代幣與 native 代幣分开實現的情況下,在對白名單內的代幣進行轉账操作時未對其是否為 0 地址再次進行檢查,導致本該通過 native 充值函數進行充值的操作卻能順利走通普通代幣充值邏輯。慢霧安全團隊建議在對充值代幣進行白名單檢查後仍需對充值的是否為 native 代幣進行檢查。
參考交易:
https://etherscan.io/tx/0x478d83f2ad909c64a9a3d807b3d8399bb67a997f9721fc5580ae2c51fab92acf
https://bscscan.com/tx/0x33628dcc2ca6cd89a96d241bdf17cdc8785cf4322dcaf2c79766c990579aea02
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
下周必關注|xAI預計將完成60億美元融資;Magic Eden將公布代幣經濟模型(11.18-11.24)
下周重點預告 11 月 18 日 Magic Eden:ME 代幣經濟模型將於 11 月 18 日...
Metrics Ventures市場觀察|本次新高後的時局和理解——比特幣新資產周期
作者:Will,Metrics Ventures 值此比特幣再次新高,史詩級 6 個月高位盤整眼看...