以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > SHIB > Info

歐科云鏈鏈上衛士:BNBChain遭攻擊事件深度解析_ROO

Author:

Time:1900/1/1 0:00:00

事件背景

北京時間2022年10月7日凌晨,BNBChian跨鏈橋BSCTokenHub遭遇攻擊。黑客利用跨鏈橋漏洞分兩次共獲取200萬枚BNB,價值約5.66億美元。漏洞分析

BSCTokenHub是BNB信標鏈和BNB鏈之間的跨鏈橋。BNB鏈使用預編譯合約0x65驗證BNB信標鏈提交的IAVL的Proof,但BNB鏈對提交的Proof邊界情況處理不足,它僅考慮了Proof只有一個Leaf的場景,對多個Leaves的處理邏輯不夠嚴謹。黑客構造了一個包含多Leaves的Proof數據,繞過BNBChain上的校驗,從而在BNB鏈造成了BNB增發。以其中一次攻擊交易為例:0xebf83628ba893d35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b黑客構造輸入數據payload和proof,輸入參數通過validateMerkleProof校驗,返回值為true。

港股收盤:歐科云鏈收漲25.25%,火幣科技收漲22.25%:今日港股收盤,恒生指數收盤報26343.1點,收漲0.86%;歐科集團旗下歐科云鏈(01499.HK)報0.248港元,收漲25.25%;火幣科技(01611.HK)報5港元,收漲22.25%。[2020/12/23 16:15:52]

在后續IApplication(handlerContract).handleSynPackage處理中,合約給黑客增發100萬個BNB。

函數調用過程交易首先調用CrossChain合約0x2000的handlePackage函數:

handlePackage會進一步調用MerkleProof.validateMerkleProof對輸入的proof進行校驗:

港股收盤:歐科云鏈收漲7.22% 火幣科技收漲7.64%:今日港股收盤,恒生指數收盤報23476.05點,收漲1.04%;歐科集團旗下歐科云鏈(01499.HK)報0.19港元,收漲7.22%;火幣科技(01611.HK)報4.37港元,收漲7.64%。[2020/9/28]

MerkleProof相關代碼可以看到,實際的驗證邏輯是使用預編譯合約0x65完成:https://github.com/bnb-chain/bsc-genesis-contract/blob/master/contracts/MerkleProof.sol#L66

系統預編譯合約0x65對應iavlMerkleProofValidate功能:https://github.com/bnb-chain/bsc/blob/f3fd0f8bffb3b57a5a5d3f3699617e6afb757b33/core/vm/contracts.go#L81

歐科云鏈首席研究員:DC/EP系統框架的核心要素為“一幣、兩庫,三中心”:9月22日下午,歐科云鏈集團在上海與媒體舉辦“DC/EP的設計機制與潛在影響”線下沙龍。

歐科云鏈首席研究員李煉炫表示:央行數字貨幣系統框架的核心要素為“一幣,兩庫,三中心”。其中,“一幣”指央行數字貨幣,“兩庫”指數字貨幣發行庫和數字貨幣銀行庫,“三中心”指認證中心、登記中心與大數據發行中心。從特性上看,DC/EP具有不計息、作為M0替代、雙層運營、賬戶松耦合、雙離線支付、可控匿名、面向小額零售場景的特點。[2020/9/22]

系統合約0x65實現代碼如下,主要邏輯為使用DecodeKeyValueMerkleProof解碼輸入參數,并調用Validate進行校驗:https://github.com/bnb-chain/bsc/blob/master/core/vm/contracts_lightclient.go#L106

歐科云鏈OKLink:比特幣網絡難度上調3.6%至17.56T:據歐科云鏈 OKLink 數據顯示,08月24日16:35,比特幣網絡在645120高度迎來難度調整,此次難度調整至17.56T,上升幅度達3.6%。當前比特幣全網未確認交易筆數約合8051筆,近一周平均出塊時間約為9.95分鐘。[2020/8/24]

IAVL代碼問題

IAVL的Proof校驗過程中,Hash計算存在漏洞,導致黑客可以在Proof添加數據,但計算Hash時并沒有用到添加的數據。詳細分析如下:在len(pin.Left)不為0的分支中,計算Hash并沒有使用pin.Right數據。黑客利用該處漏洞構造數據,添加proof.LeftPath.Right數據,但是該數據并不參與Hash計算。https://github.com/cosmos/iavl/blob/master/proof.go#L79-L93

根據上述分析,正常數據組織結構如下,proof.LeftPath.Right為空值,計算得到正確的Hash。proof.LeftPath=len(2)proof.LeftPath是一個正常數據,proof.LeftPath.Left是一個正常數據,proof.LeftPath.Right空值proof.InnerNodes=len(0)proof.Leaves=len(1),proof.Leaves是一個正常數據黑客構造攻擊數據結構如下,添加proof.LeftPath.Right數據,且該數據不參與Hash計算。proof.LeftPath=len(2)proof.LeftPath是一個正常數據,proof.LeftPath.Left是一個正常數據,proof.LeftPath.Right是一個偽造數據proof.InnerNodes=len(1),InnerNodes=nilproof.Leaves=len(2),proof.Leaves是一個正常數據,proof.Leaves是一個偽造數據且proof.LeftPath.Right=COMPUTEHASH(proof.Leaves)IAVL的Proof校驗代碼如下,主體邏輯為COMPUTEHASH遞歸調用。由于lpath.Right也為黑客輸入數據,使得黑客構造的數據能夠通過bytes.Equal(derivedRoot,lpath.Right)的校驗,并返回上一輪COMPUTEHASH通過proof.Leaves計算的結果,該結果為正常數值,從而繞過了IAVL的Proof校驗。https://github.com/cosmos/iavl/blob/master/proof_range.go#L222-L309

央視實地采訪歐科云鏈集團 圍繞區塊鏈新興職業深入調研:7月28日,CCTV-4《中國新聞》欄目圍繞新增設的兩個區塊鏈職業進行深入報道。央視記者實地到訪歐科云鏈集團,結合新興職業如何吸納就業等話題,與歐科云鏈區塊鏈工程師及人力資源總監展開深入交流。

采訪中,歐科云鏈區塊鏈工程師介紹稱,區塊鏈技術具有可追溯、不可篡改等特性,能夠廣泛應用于版權保護及金融、物流等領域。作為新增職業中的“區塊鏈工程技術人員”,其主要負責區塊鏈瀏覽器等產品的開發。

歐科云鏈人力資源總監則表示,區塊鏈自去年上升為國家戰略后,在今年4月又入圍新基建,整個行業近兩年發展迅速,但人才缺口巨大,歐科云鏈今年上半年引入各類區塊鏈人才近300名,較去年同期增長30%,其中包括近百名通過校招吸納的應屆畢業生。[2020/7/28]

黑客攻擊構造的數據中,包括了IAVL:V和multistore相關數據,multistore數據也是基于IAVL進行操作,原理是一樣的,不再進行詳細分析。這次IAVLProof暴露的問題在于,數據局部的變化無法反應到整體,使得校驗發生錯誤。在Cosmos生態中,IBC使用ICS23來做數據的校驗處理,ICS23與IAVLProof校驗不同點在于,ICS23會對所有的“葉子節點”的值進行數據校驗,最后計算得出的根Hash再與鏈上數據進行校驗,OKC采用的是ICS23的Prove,因此不存在BNBChain這次遇到的安全漏洞。測試驗證代碼

利用黑客攻擊交易數據,基于BNBChain單元測試代碼,增加了基于黑客攻擊交易的測試用例,可以完整復現黑客的攻擊交易。單元測試代碼利用iavlMerkleProofValidate.Run接口驗證輸入數據,即相當于調用預編譯合約。https://github.com/BananaLF/bsc/blob/bsc-hack/core/vm/contracts_lightclient_test.go#L99-L100

利用黑客攻擊交易數據,構造新的payload數據為value:=byte(“okctesthack”),并對proof相應數據進行了修改,即修改proof.LeftPath.Right和proof.Leaves對應的數據,新構造的數據可以通過okcIavlMerkleProofValidate校驗,即修改了黑客數據也能通過校驗。另外,如下單元測試代碼對原始黑客數據和修改后的數據兩種case都進行了校驗,且校驗都能成功,從而說明如下測試代碼利用本文所述漏洞成功進行了復現。https://github.com/BananaLF/bsc/commit/697c5cd73a755a7c93c0ed6c57d069e17f807958

事件過程

被攻擊全過程可查看上一篇文章:鏈上衛士:BNBChain遭攻擊時間軸梳理。OKLink多鏈瀏覽器已對BNBChain黑客地址進行風險標簽標記,關于此次被盜后續,鏈上衛士團隊將進一步追蹤案件細節并及時同步。

Tags:ROOPROProofBNBProof Of DegenTachyon ProtocolProof Of Memesbnb是什么牌子

SHIB
星球日報 | SEC主席祝賀比特幣白皮書發布14周年;新加坡金管局上線DeFi試點(11月3日)_ODA

頭條 SEC主席祝賀比特幣白皮書發布14周年,并強調監管重要性Odaily星球日報訊美國證券交易委員會主席GaryGensler在推特祝賀比特幣白皮書發布14周年,并強調監管的重要性.

1900/1/1 0:00:00
趙長鵬親筆:2022再談中心化vs.去中心化_區塊鏈

Odaily星球日報譯者|Moni “中心化vs.去中心化”是一個古老的、反復出現的話題,與加密貨幣本身一樣古老。不可避免地,我在每次參加AMA活動時都會被問到這個問題.

1900/1/1 0:00:00
大廠頻繁聯手,NFT與GameFi的融合能帶來哪些新敘事?_NFT

October,2022,DanielDataSource:AnimocaBrands&YugaLabsNFT生態系統已經成為巨頭的地盤.

1900/1/1 0:00:00
V神新書《Proof of Stake》精讀解析(四)_以太坊

原書章節 全書的第一部分-預挖礦第二篇論文以太坊—下一代加密貨幣和去中心化應用平臺,發表自以太坊博客,2014年1月23日.

1900/1/1 0:00:00
從“Diem”系看下一代公鏈范式_SUI

摘要 公鏈基礎設施一直是加密行業的敘事中心。尤其在技術方面,公鏈一直在共識機制、可編程性、可擴展性上有所突破.

1900/1/1 0:00:00
全面解讀SocialFi賽道:有哪些值得關注的項目?_WEB

摘要 金融、娛樂、社交在web2中都是蘊含巨大賺錢效應的賽道,2020年的DefiSummer就引爆了一輪牛市,2021年的GameFi也讓市場更加火熱.

1900/1/1 0:00:00
ads