事件經過
2022 年 1 月 28 日,Qubit Finance 遭到攻擊,損失約 8,000 萬美元的加密資產。這至今仍是 DeFi 史上最大規模的駭客攻擊之一。被盜資金從未歸還。
Qubit Finance 是一個建立在 Binance Smart Chain 上的 DeFi 借貸協議,由韓國公司 Mound Inc. 開發——該團隊同時也是 PancakeBunny 的幕後團隊,而 PancakeBunny 已於 2021 年 5 月遭攻擊損失約 4,500 萬美元。Qubit 是他們的第二次嘗試。
該協議包含 QBridge——一個跨鏈橋,允許用戶在 Ethereum 上存入 ETH,並在 BSC 上收到等值的 qXETH 代幣,可作為抵押品借出其他資產。
Qubit Finance 獲得 Binance 的明確背書,並運行在 Binance Smart Chain 上。
第一步——兩個函式,同一個事件
Section titled “第一步——兩個函式,同一個事件”QBridge 有兩種存入 ETH 的方式:
depositETH()——正確的函式。要求實際的 ETH(msg.value > 0)。發出Deposit事件。deposit()——設計用於 ERC-20 代幣。呼叫代幣合約上的safeTransferFrom()。同樣發出Deposit事件——完全相同的事件類型。
處理跨鏈橋事件的鏈下中繼器(relayer)無法區分這兩者。
第二步——零地址被加入白名單
Section titled “第二步——零地址被加入白名單”由於原生 ETH 沒有 ERC-20 合約地址,QBridge 使用零地址(0x0000000000000000000000000000000000000000)作為佔位符。該零地址被加入了合約的白名單中。
第三步——呼叫 EOA 會靜默成功
Section titled “第三步——呼叫 EOA 會靜默成功”當以 ETH 的 resourceID 呼叫 deposit() 時,合約將代幣地址解析為零地址,並對其呼叫 safeTransferFrom()。
在 EVM 中,對一個沒有合約程式碼的地址(即 EOA)呼叫任何函式會靜默成功——不會回退、不會報錯、不會實際轉帳。零地址就是一個 EOA。因此 safeTransferFrom() 「成功」了,但實際上什麼都沒有轉移,合約卻發出了一個與合法 ETH 存款完全相同的 Deposit 事件。
這個 EVM 行為早在 0x Protocol 於 2019 年發布的安全更新中就已被記錄。Qubit 團隊要嘛不知道,要嘛忽略了。
第四步——中繼器在 BSC 上鑄造了真實的代幣
Section titled “第四步——中繼器在 BSC 上鑄造了真實的代幣”中繼器偵測到 Deposit 事件,無法判別其真偽,便在 BSC 上為攻擊者鑄造了 qXETH 代幣——完全沒有任何資產作為支撐。
攻擊者反覆執行此操作,累積了大量虛假的 qXETH。
第五步——假抵押品,真借貸
Section titled “第五步——假抵押品,真借貸”攻擊者利用詐欺鑄造的 qXETH 作為抵押品,從 Qubit Finance 在 BSC 上的借貸池中借出約 8,000 萬美元的真實資產:WETH、BTCB、BNB、MATIC、CAKE、BUSD 等。
借貸合約正確地驗證了抵押品價值——但詐欺行為早已在跨鏈橋層面發生。
可疑的參數變更
Section titled “可疑的參數變更”調查人員發現了一個至今未被解釋的問題。
最初,deposit() 函式及其 resourceID 用於橋接 WETH——一個真實的 ERC-20 代幣,擁有真實的合約地址。這個功能運作正常。
在駭客攻擊之前的某個時間點,一個僅限擁有者的函式(onlyOwner)被呼叫,重新指定了 resourceID 的映射——將 WETH 的合約地址替換為零地址。正是這項變更使得攻擊成為可能。
關鍵事實:
- 只有合約擁有者才能進行此變更
- 沒有時間鎖——變更立即生效
- 沒有公開公告
- 從未給出任何解釋
Mound Inc. 事後的作為:
- 向駭客提出 25 萬美元的懸賞以換回 8,000 萬美元(未獲回應)
- 聲稱已向警方報案——但從未提供案件編號
- 透過管理員 @moleh 將受害者從 Telegram 群組中移除
- 技術長於 2022 年 2 月 1 日刪除了其 LinkedIn 帳號,即駭客攻擊後四天
- 未聯繫 Binance 安全團隊或主要交易所將駭客錢包列入黑名單
- 未回應主動提供駭客相關資訊的社群成員
0xd01ae1a708614948b2b5e0b7ab5be6afa01325c7估計被盜資產
Section titled “估計被盜資產”| 資產 | 約計美元價值 |
|---|---|
| WETH | ~2,660 萬美元 |
| BTCB | ~1,530 萬美元 |
| BNB | ~950 萬美元 |
| MATIC | ~560 萬美元 |
| CAKE | ~800 萬美元 |
| BUSD + 其他 | ~1,500 萬美元 |
| 總計 | ~8,000 萬美元 |