“黑客拿著房主證明找物業拿鑰匙,證明是假的,卻從物業那里拿到了真的鑰匙”
事件回顧
2021年8月10日,PolyNetwork遭受了跨鏈攻擊,被轉移了6億美金的加密資產。攻擊者在多條公鏈上進行了攻擊交易,并通過跨鏈管理合約和中繼器組件完成了攻擊。
用上面物業的例子來解釋的話,黑客用假房主證明,從物業那里拿到了真的鑰匙(AllianceChain上經過簽名的Merkle證明)。
CertiK:Poly Network攻擊者已將部分ETH轉至EOA地址:金色財經報道,據CertiK官方推特發布消息稱,Poly Network攻擊者已將約566.4枚ETH轉至EOA地址(0x712)。1007.4枚ETH也被轉入EOA地址(0xcC2bb)。[2023/7/10 10:12:53]
攻擊解析
一、黑客在源鏈上初始化了一個本應是無效的攻擊交易。
二、攻擊交易在沒有被充分檢查的情況下被寫入源鏈,之后被中繼器納入了AllianceChain的Merkletree并簽字,然后發布到AllianceChain區塊中。
三、黑客在目標鏈上用步驟二的有效Merkle證明,調用PolyNetwork的ECCM合約,將keepers改成黑客控制的公鑰。
四、獲得keepers權限后,黑客就可以在多條公鏈上任意解鎖資產了。
韓國游戲巨頭Wemade與CertiK建立長期合作關系:1月6日消息,韓國游戲巨頭Wemade與區塊鏈安全機構CertiK簽署了一份諒解備忘錄,據諒解備忘錄的條款,Wemade和CertiK將建立長期的安全伙伴關系,并發起聯合營銷活動。CertiK將幫助Wemade提高WEMIX3.0生態系統的安全性和效率。[2023/1/6 10:58:14]
這里值得注意的是,PolyNetwork在有些鏈上的中繼器沒有通過攻擊交易,所以即使智能合約相似,某些目標鏈上資產并未受影響。
細節分析
一、黑客于北京時間2021年8月10日17:32:32在源鏈發起了一筆攻擊交易。
Certora完成3600萬美元B輪融資,Jump Crypto領投:5月17日消息,為區塊鏈智能合約提供安全分析工具的以色列公司Certora完成3600萬美元B輪融資,Jump Crypto領投,Tiger Global、Galaxy Digital、Electric Capital、ACapital、Framework Ventures、Coinfund、Lemniscap、Coinbase、VMware等參投。(The Block)[2022/5/17 3:22:59]
https://explorer.ont.io/tx/F771BA610625D5A37B67D30BF2F8829703540C86AD76542802567CAAFFFF280C#
Seaweed Finance:因審計機構Certik對Seaweed的二次審計,Dapp上線時間將推遲:據Seaweed Finance官方消息,為進一步確保Seaweed Dapp鏈上數據安全性,Seaweed 已邀請審計機構Certik,對其進行二次審計,目前審計流程已開啟。
此前Seaweed已通過Armors關于solidity合約的審計。Seaweed CTO Coke表示,Dapp上線時間推遲的決定,是Seaweed開發團隊在權衡未來用戶交易資金安全性后做出的慎重決策,相信Seaweed社區廣大用戶會理解,并支持“Seaweed將維護用戶交易資金安全進行到底”所采取的一切措施。Seaweed Dapp上線時間將于近期在其官網公示。
Seaweed Finance 是基于HECO鏈上的期權衍生品交易平臺,通過利用BSM定價模型和AMM流動性池,Seaweed旨在為DeFi生態系統建立一個金融衍生平臺。[2021/3/18 18:56:48]
我們對交易進行了解碼,得到了以下參數映射。
Larry Cermak:BTC與股市之間的相關性有所減弱:The Block分析師Larry Cermak發推稱,BTC與股市之間的相關性現在有所減弱,但顯然還是存在的。[2020/3/20]
二、此攻擊交易調用了一個method"66313231333138303933",其對應的簽名等于0x41973cd9。這筆交易應該是無效交易,可是卻被寫入源鏈并被中繼器納入了AllianceChain的Merkletree并簽字,然后發布到AllianceChain區塊中。Merkletree是用來證明交易是否真實存在的。其產生的跨鏈交易如下:
https://explorer.poly.network/tx/1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80
三、跨鏈交易在目標鏈上調用了PolyNetwork合約的EthCrossChainManager.verifyHeaderAndExecuteTx(),第一個參數包含了Merkle證明,解析如下:
四、這個函數解析了Merkle證明,發現證明是有效的,此攻擊交易確實存在于已被簽名的Merkletree中。之后調用了EthCrossChainManager._executeCrossChainTx()函數去執行此交易,即調用toContract指向合約(0xcf2afe102057ba5c16f899271045a0a37fcb10f2)中的method(0x6631313231333138303933),傳入參數args(010000000000000014a87fb85a93ca072cd4e5f0d4f178bc831df8a00b)。而這個method指向putCurEpochConPubKeyBytes(bytes),因為其函數簽名與步驟二中提到的method簽名相同(均為0x41973cd9,此處為哈希碰撞),所以被順利執行,將keepers的公鑰改成了黑客的公鑰。以太坊上的交易如下:
https://etherscan.io/tx/0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581
五、黑客改變公鑰后,即可以隨意解鎖資產。
事件總結
此次攻擊是由一連串交易構成的,其攻擊根源分析如下:
一、攻擊交易在沒有充分檢查的情況下被寫入源鏈。
二、中繼器會接收任意含有"makeFromOntProof"事件的交易。
三、中繼器將步驟一中的交易發布到了AllianceChain上。
四、在步驟二中,此攻擊交易被納入到AllianceChain的Merkletree上,產生了有效的Merkle證明。
五、原鏈上的ECCM合約通過步驟二產生的Merkle證明,驗證了該交易在源鏈上“確實存在”,原始數據并未被破壞、未被修改。不過需要強調的是,在構建將被發送到目標鏈的Merkle證明之前,應該對交易進行全面驗證。正如設計文檔中所示。
“ThemanagementcontractfetchestheblockheadersfromchainA,verifieswhetherornotthecrosschainparametersandtheproofarevalid,andthentransmitsthenecessaryinformationtochainBintheformofanevent;”
"管理合約從A鏈獲取區塊頭,驗證跨鏈參數和證明是否有效,然后將必要的信息以事件的形式傳送給B鏈;"
因此,目標鏈應使用Merkle證明來驗證所收到的信息是未被破壞和未被改變的,而交易信息應在發送至目標鏈之前進行全面驗證。
附:Merkletree定義如下:哈希樹可以用來驗證計算機中和計算機之間存儲、處理和傳輸的任何種類的數據。它們可以幫助確保從點對點網絡中的其他對等體收到的數據塊是未被破壞和未被改變的,甚至可以檢查其他節點是否撒謊和發送假塊。
Tags:ERKMERAINWEEDTERKshibmerican幣最新消息BlockChain Search Artifact
PolkaBase于7.5日攜手Polkadot.club,Polkafund,CrustNetwork,PhalaNetwork,Darwinia,Bifrost,Zeitgeist.
1900/1/1 0:00:00什么是layer2?從狀態通道到RollUp以太坊區塊鏈日趨廣泛使用,但是協議的負載量卻十分有限,使得鏈上十分擁堵,而且手續費越來越高,許多大規模應用無法在以太坊網絡實現.
1900/1/1 0:00:002020年的“DeFiSummer”憑借著創新玩法迅速占據市場“C位”,整個市場在加速狂奔中不斷拓展想象邊界,去中心化金融的獨特魅力逐漸深入人心;2021年的“NFTSummer”同樣令人驚艷.
1900/1/1 0:00:00影視寒冬未退,區塊鏈如何作為?2018年,被曝出“陰陽合同”及明星涉稅問題后,影視行業急轉直下,進入行業寒冬,至今仍看不出走出低迷的轉機.
1900/1/1 0:00:00BTC行情分析 目前的基本面沒有什么消息可以剖析,如果有,本周末最大的消息莫過于證券時報對數字人民幣的10+1城市的應用落地.
1900/1/1 0:00:00Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.
1900/1/1 0:00:00