BNB Chain 安全事件分析:涉及總金額超8.5 億美元

漏洞往往就在一些我們想不到的地方。

原文標題:《Web3 第一大黑客事件,攻擊涉及總金額超8.5 億美元,BNB Chain 遭受攻擊分析》

撰文:Beosin

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

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

1 BNB Chain 如何被黑客盯上

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

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

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

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

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

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 安全團隊根據鏈必追平台進行的資金統計

3 恢復出塊的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 功能的方式阻止被盜資金流動與潛在的攻擊。

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

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

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

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

展開全文打開碳鏈價值APP 查看更多精彩資訊

Total
0
Shares
Related Posts