Poly Network遭攻擊:智能合約漏洞導致keeper被篡改

robot
摘要生成中

Poly Network遭受黑客攻擊事件分析

近日,跨鏈互操作協議Poly Network遭遇黑客攻擊,引發業內廣泛關注。經安全團隊分析,此次攻擊並非由於keeper私鑰泄露造成,而是攻擊者通過巧妙構造的數據,利用合約漏洞修改了EthCrossChainData合約的keeper地址。

攻擊原理

攻擊的核心在於EthCrossChainManager合約的verifyHeaderAndExecuteTx函數可以通過_executeCrossChainTx函數執行特定的跨鏈交易。由於EthCrossChainData合約的所有者是EthCrossChainManager合約,因此後者可以調用EthCrossChainData合約的putCurEpochConPubKeyBytes函數來修改合約的keeper。

攻擊者利用verifyHeaderAndExecuteTx函數,傳入精心設計的數據,使_executeCrossChainTx函數執行對EthCrossChainData合約putCurEpochConPubKeyBytes函數的調用,從而將keeper角色更改爲攻擊者指定的地址。完成keeper地址替換後,攻擊者便可以構造交易,隨意從合約中提取任意數量的資金。

攻擊過程

  1. 攻擊者首先通過EthCrossChainManager合約的verifyHeaderAndExecuteTx函數調用putCurEpochConPubKeyBytes函數,更改keeper。

  2. keeper被更改後,攻擊者開始實施一系列攻擊交易,從合約中提取資金。

  3. 攻擊完成後,由於keeper已被修改,導致其他用戶的正常交易被拒絕執行。

  4. 這種攻擊模式在以太坊網路上也有類似的操作。

總結

此次攻擊的關鍵在於EthCrossChainData合約的keeper可被EthCrossChainManager合約修改,而EthCrossChainManager合約的verifyHeaderAndExecuteTx函數又能通過_executeCrossChainTx函數執行用戶輸入的數據。攻擊者正是利用這一點,通過構造特定數據,成功修改了EthCrossChainData合約的keeper爲攻擊者控制的地址。

這一事件再次提醒我們,在智能合約設計中需要格外注意權限管理和函數調用的安全性。對於可能影響關鍵參數的函數,應該實施更嚴格的訪問控制和安全檢查機制。同時,跨鏈項目的安全性也需要得到更多關注,因爲它們往往涉及大量資金和復雜的交互邏輯。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 分享
留言
0/400
Gas_FeeCriervip
· 07-11 15:43
又见智能合约翻车 太菜了吧
回復0
梦游交易者vip
· 07-11 02:54
又一次马后炮的安全审计
回復0
APY Whisperervip
· 07-08 15:52
又见合约漏洞...
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)