🎉 Gate xStocks 交易開啓啦,現貨、合約、Alpha齊上線!
📝 在Gate廣場發帖,曬出你的交易體驗或精彩截圖,瓜分$1,000大獎池!
🎁 廣場優質創作者5名,每人獨享$100合約體驗券!
🎉 帖文同步分享到X(推特),瀏覽量前十再得$50獎勵!
參與方式:
1️⃣ 關注 @Gate廣場_Official
2️⃣ 帶 #Gate xStocks 交易体验# ,原創發帖(不少於20字,僅用活動標籤)
3️⃣ 若分享到推特,請將連結提交表單:https://www.gate.com/questionnaire/6854
注:表單可多次提交,發布更多帖文可提升獲獎機會!
📅 7月3日16:00—7月9日24:00(UTC+8)
詳情:https://www.gate.com/announcements/article/45926
每一條體驗,都有機會贏取大獎!快在Gate廣場show出你的操作吧!
Poly Network遭黑客攻擊:EthCrossChainManager合約漏洞導致資金損失
Poly Network 遭黑客攻擊事件分析
近日,跨鏈互操作協議 Poly Network 遭受黑客攻擊,引發了廣泛關注。根據安全團隊的分析,此次攻擊並非由於 keeper 私鑰泄露造成,而是攻擊者通過巧妙構造的數據,利用合約漏洞修改了 EthCrossChainData 合約的 keeper 地址。
攻擊原理
攻擊的核心在於 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數可以執行跨鏈交易。由於 EthCrossChainData 合約的所有者是 EthCrossChainManager 合約,因此後者可以調用前者的 putCurEpochConPubKeyBytes 函數來更改 keeper。
攻擊者利用 verifyHeaderAndExecuteTx 函數傳入精心設計的數據,通過內部調用 _executeCrossChainTx 函數,最終執行了 EthCrossChainData 合約的 putCurEpochConPubKeyBytes 函數,將 keeper 角色更改爲攻擊者指定的地址。
完成 keeper 角色替換後,攻擊者便可以隨意構造交易,從合約中提取任意數量的資金。
攻擊過程
攻擊者首先通過 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數調用 putCurEpochConPubKeyBytes 函數,更改了 keeper。
隨後,攻擊者實施了一系列攻擊交易,從合約中提取資金。
由於 keeper 被修改,導致其他用戶的正常交易被拒絕執行。
類似的攻擊也在以太坊網路上進行,攻擊手法相同。
結論
這次攻擊的根本原因在於 EthCrossChainData 合約的 keeper 可以被 EthCrossChainManager 合約修改,而後者的 verifyHeaderAndExecuteTx 函數又能執行用戶傳入的數據。攻擊者正是利用了這一設計缺陷,通過構造特定數據修改了 EthCrossChainData 合約的 keeper 地址,進而實現了攻擊目的。
此事件再次提醒我們,在設計跨鏈協議時需要格外注意權限管理和數據驗證,以防止類似的安全漏洞被利用。同時,也凸顯了定期進行安全審計和漏洞賞金計劃的重要性,以及時發現並修復潛在的安全隱患。