本次事件也提醒了我們漏洞往往就在一些我們想不到的地方。

作者: Beosin

封面: Photo by Jeremy Bishop on Unsplash

北京時間 2022 年 10 月 7 日,據 Beosin 鷹眼-區塊鏈安全態勢感知平台輿情監測顯示,BNB Chain 跨鏈橋 “代幣中心”(Token Hub)遭遇黑客攻擊,由於涉及的金額較為龐大,並且涉及多個鏈之間的跨鏈,根據 Beosin 安全團隊的整理與追踪,目前整理出 7.1 億美元是幣安鏈上未涉及跨鏈部分的被盜資產,加上跨鏈部分的被盜資產,我們初步估計涉及金額在 8.5 億左右。

這場震動整個行業的 “攻擊” 事件因何發生,關於本次事件,Beosin 安全團隊第一時間進行了分析。

BNB Chain 如何被黑客盯上

北京時間 10 月 7 日 6 點左右,BNB Chain 發推表示,由於活動異常,目前正在維護中,暫時暫停所有通過 BNB 鏈的存取款,直到有進一步的更新。

BNB Chain 在另一推文表示,被提取資金約 7000 萬至 8000 萬美元,已凍結 700 萬美元。

圖片

7 點 41 分,幣安 CEO 趙長鵬發推表示,在 BNB Chain 跨鏈橋 “代幣中心”(Token Hub)上的一個漏洞導致了額外的 BNB,已要求所有驗證者暫停 BNB Chain,這個問題現在得到了控制,資金是安全的,將相應地提供進一步的更新。


這一次,黑客再次盯上跨鏈橋,因為跨鏈橋的複雜性以及累計的巨額財產,因此跨鏈橋往往成為黑客攻擊的首要目標,關於本次攻擊事件的詳細經過,我們接著往下看。

攻擊時間以及黑客手法解析

10 月 7 號零點 55 分,黑客於區塊高度 21955968 通過調用合約繳納 100 BNB 註冊成為 Relayer。

凌晨兩點半左右開始,黑客從 BNB Chain 的 “代幣中心”(TokenHub)系統合約分兩次(2:26、4:43)共獲取了 200 萬枚 BNB。並將其中 90 萬枚 BNB 在 BNB Chain 上借貸協議 Venus 進行抵押,借出 6250 萬 BUSD、5000 萬 USDT、3500 萬 USDC。 

Beosin 安全團隊現將手法解析如下:

幣安跨鏈橋 BSC Token Hub 在進行跨鏈交易驗證時,使用了一個特殊的預編譯合約用於驗證 IAVL 樹。而該實現方式存在漏洞,該漏洞可能允許攻擊者偽造任意消息。

1)攻擊者先選取一個提交成功的區塊的哈希值(指定塊:110217401)

2)然後構造一個攻擊載荷,作為驗證 IAVL 樹上的葉子節點

3)在 IAVL 樹上添加一個任意的新葉子節點

4)同時,添加一個空白內部節點以滿足實現證明

5)調整第 3 步中添加的葉子節點,使得計算的根哈希等於第 1 步中選取的提交成功的正確根哈希

6)最終構造出該特定區塊(110217401)的提款證明

當然,有一些細節還要進一步推敲,Beosin 安全團隊正在進行深入研究,有結果將第一時間與大家分享。

Beosin 安全團隊通過鏈必追-虛擬貨幣案件智能研判平台對被盜資金進行追踪分析,發現總計有 1 億 4357 萬美元的被盜資金通過跨鏈進行轉移(含借貸)。被盜資金中有 7739 萬美元的資金通過各種跨鏈轉入了以太坊,5896 萬美元的資金留存在 FTM 鏈中(含各種 gUSDT),400 萬美元的資金在 Arbitrum 鏈中,172 萬美元的資金在 Avalanche 鏈中,40 萬美元的資金在 Polygon 和 110 萬美元在 Optimism。

鏈必追-虛擬貨幣案件智能研判平台智能研判模塊
鏈必追-虛擬貨幣案件智能研判平台地址分析模塊
鏈必追-虛擬貨幣案件智能研判平台資金分析模塊
Beosin 安全團隊根據鏈必追平台進行的資金統計

恢復出塊的 BNB Chian 還安全嗎?

10 月 7 日 9 點半左右,BNB Chain 官方在社交媒體上發文表示,已要求 BNB Chain 節點驗證者在未來幾個小時內與其聯繫,以便可以計劃進行節點升級。

圖片

到了下午 13 點,BNB Chain 發推稱,已發布 BSC v1.1.15 版本,BSC 驗證者正在協調,以尋求在 1 小時內恢復 BNB 智能鏈(BSC)。新版本將阻止黑客賬戶相關活動。BNB 信標鍊和 BNB 智能鏈之間的原生跨鏈通信已禁用。官方要求所有節點運營者嘗試升級至上述版本。驗證者和社區將討論進一步升級以完全解決此問題。

下午三點左右,BNB Chain 發推稱,BNB 智能鏈(BSC)20 多分鐘前開始良好運行。驗證者正在確認他們的狀態,社區基礎設施也在升級。此外,BscScan 數據顯示,BNB Chain 網絡已恢復出塊。


Beosin 安全團隊監測顯示,重啟之後,當前 BSC 節點程序通過黑名單與暫停 iavlMerkleProofValidate 功能的方式阻止被盜資金流動與潛在的攻擊。

圖片

寫在最後,關於跨鏈橋安全的討論

由於區塊鏈經過了一段不短的發展時間,無論是區塊鏈項目方自己還是區塊鏈安全公司對於安全的重視程度都高於了以往,但是跨鏈橋這種代碼複雜且含有鏈下部分的項目非常容易遭受攻擊。

跨鏈橋通常都是一些大項目,代碼量較多,多個環節的組合下就容易出現一些組合型漏洞,然而這些漏洞又是較為隱蔽的,容易被黑客所利用。跨鏈橋還有一個高危點就是鏈下安全,由於鏈下代碼一般與鏈上代碼分開審計,並且通常由項目方自己來保證安全,導致很多漏洞被忽視。

圖片

以往的跨鏈橋攻擊通過線下漏洞或者是私鑰洩露等方式的攻擊較多,本次攻擊通過的構造特定的根哈希來構造出特定區塊的提款證明,從而使攻擊成立,攻擊難度比較大,並且數額較以往來說也比較高。本次事件也提醒了我們漏洞往往就在一些我們想不到的地方,因此只能不斷去完善項目安全,比別有用心者更早的去發現這些問題所在,才能夠更加維護我們的區塊鏈生態安全。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。