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

歐科云鏈鏈上衛士:BNBChain遭攻擊事件深度解析_BNB:Proof Of Degen

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。

歐科云鏈成為格林威治經濟論壇獨家合作伙伴:5月30日消息,歐科云鏈控股有限公司(1499.HK)官宣成為高端經濟峰會格林威治經濟論壇(Greenwich Economic Forum)的鉆石級行業獨家合作伙伴。該論壇將于6月15日至16日,首次在香港舉辦。

歐科云鏈控股執行董事、董事會主席兼行政總裁任煜男,歐科云鏈副總裁,歐科云鏈控股執行董事張超將受邀出席。屆時,歐科云鏈將公布旗下主營業務OKLink全新推出的功能:鏈上AML(Anti-Money Laundering)一體化解決方案。[2023/5/30 11:48:05]

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

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

歐科云鏈鏈上大師:美聯儲縮表可能發生在5月,加密資產持有者需做好風險防范對沖:近日,歐科云鏈鏈上大師發布研報《身在Crypto卻對美聯儲加息一頭霧水?》,從宏觀環境出發,分析了美聯儲加息和量化寬松兩種貨幣政策對比特幣價格的影響,通過將比特幣市值、減半周期加密市場內部指標與聯邦儲備金利率、QE周期進行比對,分析比特幣價格與這四組數據的相關性規律。

報告指出,近期,美聯儲鷹派言論符合預期時,BTC價格會出現小幅反彈;而一旦超出預期,價格則會出現波動。美聯儲為保留更多政策靈活度,或許不會在3月份Tapper結束后猛然加息。溫和加息靜待通脹和就業給出反應,有利于在經濟增長和穩定和抑制通脹中平衡出更優的貨幣政策方案。如果出現超出預期的鷹派言論或舉措,加密資產持有者需做好風險防范與對沖。[2022/2/18 10:00:50]

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

歐科云鏈胡超:聯盟鏈加速了區塊鏈產業快速落地:歐科云鏈集團副總裁胡超表示,區塊鏈平臺是區塊鏈技術大規模應用落地和賦能產業的重要載體,也是核心的新型基礎設施之一。聯盟鏈作為區塊鏈技術的重要分支之一,有效發揮區塊鏈在安全可控、跨主體協作、產業協同、高效率等方面的優勢,也加速了區塊鏈產業的快速落地。(證券日報)[2021/3/26 19:19:12]

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

港股收盤:歐科云鏈收漲26.32%,火幣科技收漲28.81%:今日港股收盤,恒生指數收盤報29476.190點,收漲0.53%;歐科集團旗下歐科云鏈(01499.HK)報0.480港元,收漲26.32%;火幣科技(01611.HK)報15.200港元,收漲28.81%。[2021/2/9 19:20:07]

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

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

港股收盤:歐科云鏈收跌2.23%,火幣科技收漲1.80%:金色財經報道,今日港股收盤,恒生指數報23384.666點,收漲1.88%;歐科集團旗下歐科云鏈(01499.HK)報0.175點,收跌2.23%;火幣科技(01611.HK)報2.830點,收漲1.80%。雄岸科技(01647.HK)報0.241點,收跌2.82%[2020/5/26]

根據上述分析,正常數據組織結構如下,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

黑客攻擊構造的數據中,包括了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:PROROOProofBNBOpera ProtocolGROOMERProof Of Degenbnbx幣行情

幣安幣
Real yield背景下,DeFi商業模式可持續性初探_DEF:DefiPlaza

2020年的DeFisummer,眾多項目通過提供流動性挖礦及代幣獎勵帶來的短期TVL的暴漲,但隨著其他項目通過代幣的無底線增發提供更多的APY,資金又瘋狂涌向其他項目,造成短期TVL的暴跌.

1900/1/1 0:00:00
Amber Group:解密基于DAG的架構設計_AVA:區塊鏈dapp開發合法嗎

在過去十年中,區塊鏈已成為分布式賬本技術的一種主要形式。雖然區塊鏈目前仍占據主導地位,但其存在固有的可擴展性問題,因此有越來越多的項目正在提出替代性解決方案.

1900/1/1 0:00:00
North Island旗下1.25億美元新基金將重點關注Cosmos_MOS:cosmos

Odaily星球日報譯者|念銀思唐 摘要: -NorthIsland最近完成了第二支基金募資,規模為1.25億美元,并正在“大舉投資”Cosmos基礎設施服務平臺.

1900/1/1 0:00:00
120張圖表:研判2022年Q4 Web3和數字資產_DAO:DAO Invest

最近有很多關于Web3和數字資產的FUD。熊市震蕩。以下是大約120個圖表的匯編,這些圖表將我們所處的位置置于上下文中。截至2022年第四季度的Web3和數字資產狀況.

1900/1/1 0:00:00
鏈上數據分析平臺的差異化定位和性能對比_IPS:LIPS

本文匯總了我對Dune、Flipside、Transpose、Footprint和BigQuery五家鏈上數據分析平臺的研究,并對它們在加密生態系統中的定位和性能進行了測評.

1900/1/1 0:00:00
加密錢包WalletConnect融資1250萬美元以構建「Web3通信網絡」_WALLET:trustwallet官網下載最新

Odaily星球日報譯者|念銀思唐 摘要: -WalletConnect獲得1250萬美元“生態系統輪”融資。-這家初創公司正尋求與投資者合作,構建其去中心化業務.

1900/1/1 0:00:00
ads