買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > FIL > Info

AIN:[阿喀琉斯之踵] Poly Network攻擊關鍵步驟深度解析_blockchain錢包登錄不上

Author:

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

0x0.前言

北京時間2021年8月10日,跨鏈橋項目PolyNetwork遭遇攻擊,損失超過6億美金。雖然攻擊者在后續償還被盜數字貨幣,但是這仍然是區塊鏈歷史上涉及金額最大的一次攻擊事件。由于整個攻擊過程涉及到不同的區塊鏈平臺,并且存在合約以及Relayer之間的復雜交互,對于攻擊的完整過程和漏洞的根本原因,現有分析報告并未能梳理清楚。

整個攻擊分為兩個主要階段,包括修改keeper簽名和最終提幣。對于第二階段,由于keeper簽名已經被修改,因此攻擊者可以直接構建惡意提幣交易,具體可以參見我們之前的報告。然而對于修改keeper簽名的交易是如何最終在目標鏈執行的,目前并沒有詳細的文章闡明。而這一步是攻擊的最核心步驟。

本報告從修改keeper簽名交易入手(Ontology鏈上交易0xf771ba610625d5a37b67d30bf2f8829703540c86ad76542802567caaffff280c),分析了背后的原理和漏洞的本質。我們發現以下幾個原因是Keeper能被修改的原因:

源鏈上(Ontology)的relayer沒有對上鏈的交易做語義校驗,因此包含修改keeper惡意交易可以被打包到polychain上目標鏈上(以太坊)上的relayer雖然對交易做了校驗,但是攻擊者可以直接調用以太坊上的EthCrossChainManager合約最終調用EthCrossChainData合約完成簽名修改攻擊者精心夠著了能導致hash沖突的函數簽名,從而調用putCurEpochConPubKeyBytes完成對簽名的修改0x1.涉及交易和合約

美股主要指數多數下跌,標普500指數跌0.69%:金色財經報道,美股主要指數多數下跌,道指跌0.87%,納指微漲0.05%,標普500指數跌0.69%。[2023/3/16 13:06:54]

整個過程中的交互流程如下:

Ontology交易->OntologyRelayer->PolyChain->EthereumRelayer->Ethereum以太坊

0x838bf9e95cb12dd76a54c9f9d2e3082eaf928270:EthCrossChainManager0xcf2afe102057ba5c16f899271045a0a37fcb10f2:EthCrossChainData0x250e76987d838a75310c34bf422ea9f1ac4cc906:LockProxy0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581:修改keeper的交易Ontology

0xf771ba610625d5a37b67d30bf2f8829703540c86ad76542802567caaffff280c:修改keeper的交易Poly

0x1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80:修改keeper的交易0x2.攻擊流程

整個攻擊大致可以分為三個步驟。第一個步驟是在Ontology鏈生成一條惡意交易(0xf771ba610625d5a37b67d30bf2f8829703540c86ad76542802567caaffff280c),第二個步驟是修改以太坊EthCrossChainData合約中的keeper簽名,第三個步驟構造惡意交易發起最終攻擊和提幣。

烏克蘭加密貨幣交易所Kuna上USDT價格上漲近5%:2月25日消息,在過去24小時內,烏克蘭加密貨幣交易所Kuna上的USDT價格上漲了近 5%,隨著俄羅斯和烏克蘭之間的緊張局勢加劇,烏克蘭人選擇將他們的錢投入到穩定幣中,特別是Tether。Kuna創始人Michael Chobanian在接受采訪時表示,Kuna擁有大約 40,000 個活躍賬戶,其中 90% 屬于烏克蘭居民。(Coindesk)[2022/2/25 10:14:18]

0x2.1步驟一

攻擊者首先在Ontology發起了一筆跨鏈交易,里面包含了一個攻擊payload:

可以看出交易包含了精心設計的函數名,目的在于通過造成哈希沖突的方式調用putCurEpochConPubKeyBytes函數。關于哈希函數沖突的細節在網絡上已有很多討論,可以參考.

隨后,該筆交易被OntologyRelayer接收,注意這里并沒有很嚴格的校驗。該交易會通過Relayer在PolyChain成功上鏈。EthereumRelayer會感知到新區塊的生成。

然而,這筆交易被EthereumRelayer拒絕了。原因在于EthereumRelayer對目標合約地址有校驗,只允許LockProxy合約作為目標地址,而攻擊者傳入的是EthCrossChainData地址。

算法穩定幣今日平均漲幅為2.27%:金色財經行情顯示,算法穩定幣今日平均漲幅為2.27%。8個幣種中8個上漲,0個下跌,其中領漲幣種為:BAGS(+7.55%)、LUNA(+4.90%)、ONS(+2.78%)。領跌幣種為:FRAX(-2.08%)。[2021/6/2 23:05:19]

因此,攻擊者攻擊之路在此中斷。但如前所述,包含惡意payload的攻擊交易已經在PolyChain成功上鏈,可被進一步利用。

0x2.2步驟二

攻擊者手動發起交易,調用EthCrossChainManager合約中的verifyHeaderAndExecuteTx函數,將之前一步保存在PloyChain區塊中的攻擊交易數據作為輸入。由于該區塊是polychain上的合法區塊,因此可以通過verifyHeaderAndExecuteTx中對于簽名和merkleproof的校驗。然后執行EthCrossChainData合約中的putCurEpochConPubKeyBytes函數,將原本的4個keeper修改為自己指定的地址。

0x2.3步驟三

在keeper被修改之后,攻擊者直接調用目標鏈上的verifyHeaderAndExecuteTx函數,最終調用至Unlock函數,大量地轉移資金,給項目方帶來了嚴重的損失。具體的攻擊細節可參考我們之前的報告。

0x3.Relayer代碼分析

在本攻擊過程中,Ontology方和以太坊方均有Relayer負責將來自Ontology的交易在polyChain上鏈,以及將polychain上的交易放到以太坊。這兩個Relayer是由Go語言實現的服務進程。

行情 | A股開盤:深證區塊鏈50指數下跌3.06%:金色財經報道,A股開盤,上證指數報2930.10點(-2.06%),深證成指報11206.49點(-2.79%),深證區塊鏈50指數下跌3.06%。區塊鏈板塊下跌3.57%,199只概念股中,5漲194跌。其中,愛康科技(+3.30%)領漲;新開普(-8.71%)領跌。

數字貨幣板塊下跌3.07%,32只概念股1漲31跌。昆侖萬維(+3.55%)上漲,四方精創(-5.64%)領跌。[2020/2/28]

然而我們發現,這兩個Relayer都缺乏有效的校驗。這導致

攻擊者可以在Ontology構造一條惡意的跨鏈交易,并且成功打包到polychain上。雖然在以太坊的Relayer具有校驗功能,但是攻擊者可以直接同以太坊上的鏈上合約進行交互,直接執行惡意的函數。0x3.1OntologyRelayer完全信任來自Ontology上的跨鏈交易

PolyNetwork的?ont_relayer(https://github.com/polynetwork/ont-relayer)?負責監聽Ontology鏈上的跨鏈交易并將其打包入傳入PolyChain.

注:

在OntologyRelayer中,Side指OntologyChain;Alliance指PolyChain.CrossChainContractAddress是Ontology鏈上原生編號為09的智能合約.

動態 | 離岸人民幣兌美元跌破7關口 USDT溢價率現為0.63%:據數據監測,離岸人民幣兌美元跌破7關口,日內跌超200點。USDT在火幣場外交易價格最低報7.03,溢價率現為0.63%。[2020/2/7]

上圖中,OntologyRelayer啟動時開啟三個Goroutines分別負責監聽OntologyChain和PolyChain的跨鏈交易,以及對PolyChain上的跨鏈交易做狀態檢查。在本報告中,我們只關注69行的監聽Side的代碼邏輯。

在上圖中,OntologyRelayer調用Ontology鏈提供的RPC接口(第215行,調用SDK函數GetSmartContractEventByBlock)獲取區塊中觸發的智能合約事件;然后在第228和232行表明OntologyRelayer只監聽OntologyChain上由CrossChainContractAddress觸發的makeFromOntProof事件;

上圖中,在處理OntologyChain上的跨鏈交易時,OntologyRelayer總共做了五次校驗,分別是兩次向OntologyChain發送的RPC請求校驗(check1和check4),以及三次參數是否為空的校驗(check2,check3,和check5)。這五次校驗都屬于常規校驗,并未對來自OntologyChain上的跨鏈交易做語義上的校驗;第167和171行取出了在目標鏈上執行所需要的交易參數信息;第183行向PolyChain發送交易;

OntologyRelayer在構造了PolyChain上的交易后便向PolyChain發起RPC請求發送交易(第164行,函數調用SendTransaction);

這個名為ProcessToAliianceCheckAndRetry的Goroutine也僅僅是做了重發失敗交易的工作,仍然未對來自OntologyChain上的跨鏈交易做任何語義上的校驗。

至此,我們可以看出ont-relayer監聽所有來自OntologyChain由CrossChainContractAddress觸發的makeFromOntProof事件,并未對其做任何語義上的校驗,便向PolyChain轉發了交易。而任何人向Ontology發送的任何跨鏈交易都會觸發CrossChainContractAddress的makeFromOntProof事件,所以OntologyRelayer會將所有來自Ontology上的跨鏈交易都轉發到Polychain上。

0x3.2EthereumRelayer中的無效校驗

EthereumRelayer?負責監聽PolyChain并將目標鏈為Ethereum的跨鏈交易轉發到Ethereum上。

EthereumRelayer啟動一個Goroutine來監控PolyChain;

EthereumRelayer監聽所有PolyChain上目標鏈為Ethereum的跨鏈交易;EthereumRelayer會校驗跨鏈交易的目標合約是否為config.TargetContracts中指定的合約之一,如果不是則不會發送這筆跨鏈交易到Ethereum上。

雖然EthereumRelayer對PolyChain上的跨鏈交易做了部分校驗,比如限制了目標合約,但是與PolyChain不同,任何人都可以向Ethereum上的EthCrossChainManager合約發送交易。換句話說,EthereumRelayer在這里做的校驗沒有實際的意義,只要包含惡意payload的跨鏈交易被成功打包進了PolyChain,那么任何人都可以直接使用已經打包好的區塊數據將payload發送到以太坊EthCrossChainManager合約并執行。

攻擊者正是利用了上述兩個缺陷,完成了0x2攻擊流程中的步驟一和步驟二(0x2.1和0x2.2)

0x4.寫在最后

通過對整個攻擊流程的完整梳理和詳盡分析,我們認為Relayer的不完整校驗是攻擊得以發生的根本原因。其它方面則更多地屬于比較精彩的攻擊技巧。總而言之,跨鏈的校驗和鑒權是跨鏈系統安全的關鍵所在,值得社區付出更多的努力。

參考文獻

?https://blocksecteam.medium.com/the-initial-analysis-of-the-polynetwork-hack-270ac6072e2a

?https://twitter.com/kelvinfichter/status/1425290462076747777

Tags:CHAHAIAINChainblockchain錢包登錄不上INDEX CHAINwandtchainSeChain

FIL
BIT:L2解決方案Arbitrum正式啟動主網Arbitrum One,同時宣布完成1.2億美元融資_RBI

OffchainLabs是使用Optimisticrollups技術的以太坊擴展解決方案Arbitrum的開發商,今日宣布已推出Arbitrum主網,稱為ArbitrumOne.

1900/1/1 0:00:00
AVI:當新玩家增速放緩,熱門鏈游Axie Infinity如何實現可持續性?_Axion

本文編譯AxiePulse目前,AxieInfinity經濟依賴于在Axies需求的驅動下將ETH存入生態系統。Axie需求可能主要由新玩家驅動.

1900/1/1 0:00:00
AME:深度 | 被稱為GameFi的影子基金,YGG如何估值?_TGAME價格

在過去的14天里,YGG上漲逾260%,而相較于IDO最終拍賣價格0.49984美元/枚成交均價漲約16倍,月內最高至8.62美元/枚,受到市場的關注度正大幅提升.

1900/1/1 0:00:00
PHON:數字錢包公司PhonePe獲7億美元融資,騰訊參投_數字錢包

巴比特訊,8月22日消息,印度電子支付及數字錢包公司PhonePe再次獲得了3.5億美元的融資,Flipkart母公司沃爾瑪領投,騰訊、老虎環球參投.

1900/1/1 0:00:00
元宇宙:元宇宙的構建方法論:解讀鏈游如何賦能與重構傳統游戲_CNAME價格

原文標題:《Yolo|Crypto對于傳統游戲的賦能與重構》 撰文:大腦桿菌 近一個月來,Axie帶起了GameFi風潮,人們熱議著P2E模式的曼妙,探討著虛擬世界生活的種種可能性.

1900/1/1 0:00:00
比特幣:惠譽警告薩爾瓦多采用比特幣將對保險公司的信用產生負面影響_TERRAN

據Coindesk8月17日消息,惠譽評級機構警告說,薩爾瓦多采用比特幣作為法定貨幣存在"額外的監管和運營風險",因為比特幣的實際執行情況還沒有被全球監管機構所定義.

1900/1/1 0:00:00
ads