Cosmos 聯創:BNB Chain 攻擊事件中黑客通過 RangeProof 偽造 Merkle 證明
鏈捕手消息,Cosmos 聯合創始人 Ethan Buchman 對 BNB Chain 跨鏈橋 BSC Token Hub 攻擊事件發表看法表示,此次事件問題的關鍵在於黑客能夠偽造 Merkle 證明。這本不應該發生,因為 Merkle 證明應該提供高完整性。區塊鏈輕客戶端(和 IBC)建立在 Merkle 證明之上,許多區塊鏈將數據存儲在 Merkle 樹中,這樣就可以生成證明,證明某些數據包含在樹中。Cosmos 鏈使用一種稱為 IAVL 的 Merkle 樹,IAVL 存儲庫公開了一個使用範圍證明"RangeProof"的 API,但事實證明 RangeProof 的內部工作存在嚴重錯誤。IAVL RangeProof 的代碼問題在於其允許填充 InnerNode 中的 Left 和 Right 字段,攻擊者基本上利用了將信息粘貼到 Right 字段中的優勢,這些信息從未得到驗證,也從未影響哈希計算,以使驗證者相信某些葉節點是樹的一部分。因此,他們成功地偽造了 Merkle 證明。Buchman 表示,雖然使用 RangeProof 不是一個好主意,但有一個方式或可以解決這個問題,即當任何內部節點同時填充了左右字段時,則預先拒絕證明。對於 IBC 中的 Merkle 證明,IBC 沒有使用 IAVL 樹的內置 RangeProof 系統,而是使用 ICS23 標準從 IAVL 樹生成和驗證 Merkle 證明,ICS23 代碼沒有這個漏洞,它可明確"拒絕"RangeProof。(來源鏈接)