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

robot
摘要生成中

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

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

攻擊核心

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

攻擊者利用這一機制,通過 verifyHeaderAndExecuteTx 函數傳入精心設計的數據,使 _executeCrossChainTx 函數執行了對 EthCrossChainData 合約的 putCurEpochConPubKeyBytes 函數調用,從而將 keeper 角色更改爲攻擊者指定的地址。

攻擊過程

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

  2. 完成 keeper 角色地址替換後,攻擊者便可以隨意構造交易,從合約中提取任意數量的資金。

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

  4. 這一攻擊模式不僅在BSC鏈上實施,以太坊網路上也發生了類似的操作。

結論

此次攻擊的根本原因在於 EthCrossChainData 合約的 keeper 可被 EthCrossChainManager 合約修改,而 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數又能執行用戶傳入的數據。攻擊者正是利用了這一設計缺陷,通過構造特定數據修改了 EthCrossChainData 合約的 keeper 地址,而非此前傳言的 keeper 私鑰泄露。

這一事件再次凸顯了跨鏈協議安全設計的重要性,以及對合約權限管理的嚴格要求。it也提醒我們,在區塊鏈生態系統中,即使是看似無害的功能,如果被惡意利用,也可能導致嚴重的安全漏洞。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
ServantOfSatoshivip
· 5小時前
又躺了又躺了…
回復0
Floor_Sweepervip
· 07-16 15:47
又一个 老传统了属于是
回復0
ApeWithNoChainvip
· 07-16 15:38
又一个合约被玩崩咯~
回復0
喝茶看盘侠vip
· 07-16 15:30
又是keeper出问题 啧啧
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)