“黑客拿著房主證明找物業拿鑰匙,證明是假的,卻從物業那里拿到了真的鑰匙”
事件回顧
2021年8月10日,PolyNetwork遭受了跨鏈攻擊,被轉移了6億美金的加密資產。攻擊者在多條公鏈上進行了攻擊交易,并通過跨鏈管理合約和中繼器組件完成了攻擊。
用上面物業的例子來解釋的話,黑客用假房主證明,從物業那里拿到了真的鑰匙(AllianceChain上經過簽名的Merkle證明)。
攻擊解析
一、黑客在源鏈上初始化了一個本應是無效的攻擊交易。
二、攻擊交易在沒有被充分檢查的情況下被寫入源鏈,之后被中繼器納入了AllianceChain的Merkletree并簽字,然后發布到AllianceChain區塊中。
元宇宙平臺Carrieverse與Polygon達成合作:金色財經報道,韓國元宇宙平臺Carrieverse與Polygon(面向Web 3的以太坊擴展平臺)建立合作伙伴關系,以在Polygon網絡上構建和營銷即將推出的Carrieverse元宇宙平臺。Carrieverse專為Z世代和Alpha世代打造,反映了現實世界的社交內容,包括游戲、教育和商業,用戶可以在其中構建虛擬現實世界和NFT,同時擁有數字內容所有權。
此外,Carrieverse 還即將與Netflix熱播劇D.P創作者Kim Bo -tong合作發布NFT系列以及計劃推出一款P2E策略游戲SuperKola。據悉,Carrieverse計劃于2023年第一季度發布。(美通社)[2022/9/5 13:08:47]
三、黑客在目標鏈上用步驟二的有效Merkle證明,調用PolyNetwork的ECCM合約,將keepers改成黑客控制的公鑰。
Polygon聯創回應14億MATIC解鎖:此次移動符合計劃,Token已于一年前解鎖:8月2日消息,據Etherscan區塊瀏覽器,Polygon歸屬合約地址釋放了1,386,609,632枚MATIC(約總供應量的13.87%)至Polygon基金會合約地址。
對此,Polygon聯合創始人Sandeep表示,此次移動符合計劃,Token已于一年前解鎖,此次移動是質押活動與基金會金庫計劃。將于明天發布重大公告。[2022/8/2 2:53:01]
四、獲得keepers權限后,黑客就可以在多條公鏈上任意解鎖資產了。
這里值得注意的是,PolyNetwork在有些鏈上的中繼器沒有通過攻擊交易,所以即使智能合約相似,某些目標鏈上資產并未受影響。
Litentry為Polkadot第二輪平行鏈拍賣推出第二次眾貸:12月17日消息,波卡聚合身份協議Litentry為Polkadot第二輪平行鏈拍賣推出第二次眾貸,將于12月18日開放貢獻,插槽租期(平行鏈時長)為96周,目標插槽為#6—#11,上限為12,000,000DOT,獎勵池為20,000,000+LIT,截止日期為2022年3月10日,最低貢獻為5DOT。此前消息,Polkadot的第二輪Auction預計在國內時間12月24日凌晨3點左右開始。這一輪一共有6次Auction,與之前不同的是,第二輪中的每次Auction會相隔兩周時間。[2021/12/17 7:46:29]
細節分析
一、黑客于北京時間2021年8月10日17:32:32在源鏈發起了一筆攻擊交易。
Beefy Finance:首個BIFI-USDC交易對已上線Beefy Polygon Network:流動性挖礦優化器Beefy Finance在推特上宣布,首個BIFI-USDC交易對已上線Beefy Polygon Network。[2021/6/21 23:51:47]
https://explorer.ont.io/tx/F771BA610625D5A37B67D30BF2F8829703540C86AD76542802567CAAFFFF280C#
我們對交易進行了解碼,得到了以下參數映射。
動態 | Poloniex添加7個USDC和USDT相關交易對:7月10日,加密貨幣交易所Poloniex添加7個交易對,其中3個USDC相關交易對為EOS/USDC、DASH/USDC、ETC/USDC,4個USDT相關交易對為BCHSV/USDT、BCHABC/USDT、GRIN/USDT、DGB/USDT 。[2019/7/11]
二、此攻擊交易調用了一個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定義如下:哈希樹可以用來驗證計算機中和計算機之間存儲、處理和傳輸的任何種類的數據。它們可以幫助確保從點對點網絡中的其他對等體收到的數據塊是未被破壞和未被改變的,甚至可以檢查其他節點是否撒謊和發送假塊。
來源:證券日報 本報記者邢萌見習記者張博現今,國有大行普遍將金融科技上升至戰略高度,已是大勢所趨。如郵儲銀行戰略目標提出“以金融科技賦能高質量發展”.
1900/1/1 0:00:00據Cryptonomist8月23日消息,近日美國密蘇里州CoolValley鎮鎮長JaysonStewart在接受NBC下屬KSDK電視臺采訪時表示.
1900/1/1 0:00:00??l?本系列欄目旨在聚焦區塊鏈行業要聞的摘錄與洞察l?一周鏈上動向,一手即刻掌握l?部分圖文素材源自網絡;如有侵權.
1900/1/1 0:00:00以LootNFT風格為基礎衍生出來的「仿盤」層出不窮,他們不但沿用了Loot以文本代替圖片的形式,也沿用了免費通過智能合約開啟Mint的方式。一時間讓很多抱著「參與一下」想法的玩家摸不著頭腦.
1900/1/1 0:00:00對于穩健型投資者,假如他很在意法幣本位的回撤,不愿意承受BTCB價格漲跌帶來的波動,同樣也可以在Tranchess中找到適合自己的策略,也就是持有BishopToken并質押.
1900/1/1 0:00:00據Wamda8月9日消息,阿聯酋金融科技公司Sarwa完成1500萬美元B輪融資,MubadalaInvestmentCompany領投.
1900/1/1 0:00:00