本文由Certik原創,授權“金色財經”首發,轉載請注明出處。
“黑客拿著房主證明找物業拿鑰匙,證明是假的,卻從物業那里拿到了真的鑰匙”
事件回顧
2021年8月10日,PolyNetwork遭受了跨鏈攻擊,被轉移了6億美金的加密資產(之后攻擊者開始陸續歸還被盜資產)。攻擊者在多條公鏈上進行了惡意交易,并通過中繼器(Poly-Relayer)組件完成了攻擊。
用上面物業的例子來解釋的話,黑客用假房主證明(第三方公鏈上的invalid transaction),從物業(中繼器 Poly-Relayer)那里拿到了真的鑰匙 (Poly-chain上經過簽名的Merkle證明)。
一、黑客在第三方公鏈上初始化了一個本應是無效的惡意交易。
首發 | imKey正式支持Filecoin,成為首批Filecoin硬件錢包:12月1日,隨著imToken2.7.2版本上線,imKey同步支持Filecoin,成為業內首批正式支持FIL的硬件錢包。Filecoin作為imKey多鏈支持的優先級項目之一,成為繼BTC、ETH、EOS和COSMOS四條公鏈后的第五條公鏈。
據悉,imKey團隊已在Q4全面啟動多鏈支持計劃,計劃實現imToken已經支持的所有公鏈項目,本次imKey升級更新,無需更換硬件,不涉及固件升級,通過應用(Applet)自動升級,即可實現imKey對Filecoin的支持及FIL的代幣管理。[2020/12/2 22:52:32]
二、中繼器Poly-Relayer在沒有充分檢查的情況下將此交易納入了Poly Chain的Merkle tree并簽字,然后發布到Poly Chain區塊中。
首發 | 區塊鏈技術及軟件安全實戰基地正式成立:金色財經報道,今日,中軟協區塊鏈分會、人民大學、菏澤市局相關部門聯合共建的區塊鏈技術及軟件安全實戰基地正式成立。同時聘任中軟協區塊鏈分會副秘書長宋愛陸為區塊鏈技術及軟件安全實戰基地特別專家。
區塊鏈技術及軟件安全實戰基地主要涉及領域為:非法數字貨幣交易與洗錢、區塊鏈傳銷與電信詐騙、網絡賭博、四方支付、冒用商標注冊等,聯合社會治理、城市安全、前沿技術領域的行業專家,進行警協合作。
據公開報道,近期菏澤市下屬機關剛破獲一起特大電信網絡詐騙案,打掉多個涉嫌以網貸和投資“比特幣”為名的詐騙團伙,抓獲犯罪嫌疑人83名,扣押凍結涉案資金2700萬元。[2020/7/21]
三、黑客在以太坊上用步驟二的有效Merkle證明,調用Poly Network的ECCM合約,將keepers改成黑客控制的公鑰。
首發 | 劉堯:百度區塊鏈推出天鏈平臺賦能鏈上業務:12月20日,由CSDN主辦的“2019中國區塊鏈開發者大會”12月20日在北京舉行。百度智能云區塊鏈產品負責人劉堯以《企業區塊鏈賦能產業創新落地》為主題進行了演講,他指出:2020年將是區塊鏈企業落地的元年,為了支持中國區塊鏈的產業落地,百度將區塊鏈進行平臺化戰略升級,依托百度智能云推出天鏈平臺,就是要賦能360行的鏈上業務創新落地。[2019/12/20]
這里值得注意的是,Poly Network在有些鏈上的中繼器沒有通過此交易,所以其鏈上資產未受影響。
一、黑客于北京時間2021年8月10日17:32:32對第三方公鏈發起了一筆惡意交易。
IMEOS首發 BM表示EOS合約具有整數溢出保護:據金色財經合作媒體IMEOS報道:近日ETH出現多個ERC20智能合約的處理溢出錯誤,BM在推特上發表評論:新的ETH契約Bug可能會破壞整個Token的供應,讓持有者留下無價值Token.這就算為什么代碼不能成為法律,隨即表示EOS erc合約不容易受到這種攻擊。而EOS官方群也有人表示擔憂EOS是否具有整數溢出保護?BM回應:有很多C ++模板類可以封裝類型并檢查溢出。[2018/4/25]
https://explorer.ont.io/tx/F771BA610625D5A37B67D30BF2F8829703540C86AD76542802567CAAFFFF280C#
我們對交易進行了解碼,得到了以下參數映射。
二、此惡意交易調用了一個method "66313231333138303933",其對應的簽名等于0x41973cd9(與之后調到的putCurEpochConPubKeyBytes函數簽名相同)。
三、這筆交易應該是無效調用, 可是中繼器Poly-Relayer卻在未充分檢查的情況下將此交易納入了Poly Chain的Merkle tree并簽字,然后發布到Poly Chain區塊中。Merkle tree是用來證明交易是否真實存在的。其產生的跨鏈交易如下:https://explorer.poly.network/tx/1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80
此惡意交易利用了中繼器Poly-Relayer的漏洞,這可能就是為什么黑客不得不冒險通過中心化交易所購買第三方公鏈代幣的原因。
黑客部分聲明的截圖如下:
四、跨鏈交易在以太坊上調用了Poly Network合約的EthCrossChainManager.verifyHeaderAndExecuteTx(),第一個參數包含了Merkle證明,解析如下:
五、這個函數解析了Merkle證明,發現證明是有效的,此惡意交易確實存在于已被簽名的Merkle tree中。
之后調用了EthCrossChainManager._executeCrossChainTx()函數去執行此交易,即調用toContract指向合約 (0xcf2afe102057ba5c16f899271045a0a37fcb10f2)中的method (0x6631313231333138303933),傳入參數args (010000000000000014a87fb85a93ca072cd4e5f0d4f178bc831df8a00b)。而這個method指向putCurEpochConPubKeyBytes(bytes),因為其函數簽名與步驟二中提到的method簽名相同 (均為0x41973cd9,此處為哈希碰撞),所以被順利執行,將keepers的公鑰改成了黑客的公鑰。以太坊上的交易如下:https://etherscan.io/tx/0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581
六、黑客改變公鑰后,即可隨意解鎖資產。
此次攻擊是由一連串交易構成的,其攻擊根源分析如下:
1. 中繼器Poly-Relayer會接收任意含有"makeFromOntProof" 事件的交易。
2. 中繼器Poly-Relayer在未充分檢查的情況下,將惡意交易發布到Poly Chain上。
3. 在步驟二中,此惡意交易被納入到Poly Chain的Merkle tree上,產生了有效的Merkle證明。
4. 以太坊上的ECCM合約只對步驟二產生的Merkle證明和原始數據進行了輕量級驗證。不過值得注意的是,Merkle證明的全面驗證應該在協議層面完成,而不是在智能合約層面。
你能想象,在多年后,你所經歷過的一切都被記錄在鏈上,你人生中每一個值得被記錄的瞬間都永久地保留在了這個世上.
1900/1/1 0:00:00通過NFT,IP作品的傳播范圍得到了放大,鏈上的流通性也帶來了新的增值空間。今年以來,“NFT”在全球掀起浩大的聲勢.
1900/1/1 0:00:00現在的幣圈,即使嚴打的情況下,還能看到大家整天在各類千奇百怪的群里搶空投。空投,是白撿還是風險?今天就帶你了解下。 什么是空投? 其實就是炒作.
1900/1/1 0:00:00一張虛擬頭像售價上千萬美元,你可能會覺得不可思議,但高價拍賣及成交的鏈上頭像圖片在加密藝術圈已經很常見,其中朋克風像素頭像CryptoPunks #3100.
1900/1/1 0:00:00最近幾年,越來越多的金融機構開始把crypto資產納入自己的portfolio,與此同時,眼光長遠的投資人也紛紛將ESG(環境、社會問題、公司治理)納入到投資策略中.
1900/1/1 0:00:00網絡侵權一直是互聯網時代的大難題,如今NFT猛然殺入主流,對內容創作的知識產權問題會有怎樣的影響?NFT不僅是創意作品的新媒介.
1900/1/1 0:00:00