慢霧:BNB CrossChain Bridge被黑簡析
BlockBeats 律動財經 2022-10-09 14:30
據慢霧區情報,2022 年 10 月 7 日,BNB Chian 跨鏈橋 BSC Token Hub 遭遇攻擊。駭客利用跨鏈橋漏洞分兩次共獲取 200 萬枚 BNB,超 5.7 億美元。慢霧安全團隊分析後以簡析的形式分享給大家。(註:BSC Token Hub 是 BNB 信標鏈(BEP2)和 BNB 鏈(BEP20 或 BSC)之間的跨鏈橋)
簡要分析
1. 在 BNB Chain 與 BSC 跨鏈的過程中,會由 BSC 上部署的跨鏈合約調用預編譯的 0x65 合約對提交的 appHash、key、vaule、proof 進行 IVAL 樹驗證。IAVL 樹是 AVL 樹的變種即是一種為鍵值提供可驗證根的 AVL 樹的實現。
2. 驗證主要由 IAVLValueOp 與 MultiStoreProofOp 兩個 op 進行,IAVLValueOp 會先通過 ComputeRootHash 計算 roothash 並進行驗證。驗證通過後會將輸出的 roothash 給到 MultiStoreProofOp,MultiStoreProofOp 將檢查獲得的 roothash 是否與 lightClient 獲得的一致。
3. ComputeRootHash 將通過 leaf hash 與 rest path(innernode) 進行遞歸 hash 並檢查是否與 last path node 的 right 一致。
4. 而在具體的 leafnode 與 innernode 的哈希計算中我們可以看到當 left 為空時將計算 leaf 與 right 的 hash,當 right 為空時將計算 leaf 與 left 的 hash。但當 left 與 right 都存在的情況下,那麼將忽略 right,計算 leaf 與 left 的 hash,即 roothash 將不會受 right 影響。
5. 因此我們可以知道在 path 中,當 left 與 right 都存在的情況下將忽略 right,返回 leaf 與 left 的 hash,在遞歸哈希檢查中則會檢查此 hash 與 last path node 的 right 是否一致。這就出現了在遞歸檢查中檢查了 right,而在 roothash 計算中卻又忽略了 right 的情況。導致攻擊者可以在 path 中加入一個 leaf 與 innernode 的 hash 作為 last path node 的 right 並添加一個空的 innernode 確保可驗證。使得在保持 roothash 不受影響的情況下插入了惡意的數據以竊取資金。
MistTrack 分析
據慢霧 MistTrack 反洗錢追蹤系統分析,這次駭客攻擊的初始資金來自 ChangeNOW。
本次攻擊事件的駭客地址曾與多個 DApp 交互,包括 Multichain、Venus Protocol、Alpaca Finance、Stargate、Curve、Uniswap、Trader Joe、PancakeSwap、SushiSwap 等。此外,駭客轉移至以太坊上的 480 萬 USDT 已被 Tether 列入黑名單,AVAX 上的 170 萬 USDT 已被列入黑名單,Arbitrum 上的 200 萬枚 USDT 已被列入黑名單。而由於 BNB Chain 的及時暫停,駭客在 BSC 上的超 4.1 億美元已無法轉移。10 月 8 日,駭客地址轉移約 33,771 枚 ETH 至 0xFA0a3 開頭的新地址,約合 4,500 萬美元。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 加入鉅亨買幣LINE官方帳號索取免費課程
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇