Poly Network遭黑客入侵 keeper被篡改致資金流失

robot
摘要生成中

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

近日,跨鏈互操作協議 Poly Network 遭遇黑客攻擊,引發業內廣泛關注。安全團隊對此事件進行了深入分析,認爲攻擊者是通過精心構造的數據修改了 EthCrossChainData 合約的 keeper 爲指定地址,而非此前流傳的 keeper 私鑰泄露說法。

攻擊細節

  1. 攻擊的核心在於 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數可通過 _executeCrossChainTx 函數執行跨鏈交易。

  2. EthCrossChainData 合約的 owner 爲 EthCrossChainManager 合約,使得後者能夠調用前者的 putCurEpochConPubKeyBytes 函數修改 keeper。

  3. EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數可內部調用 _executeCrossChainTx 函數執行用戶指定的跨鏈交易。攻擊者利用這一點,通過傳入精心構造的數據,使 _executeCrossChainTx 函數調用 EthCrossChainData 合約的 putCurEpochConPubKeyBytes 函數,從而將 keeper 角色更改爲攻擊者指定的地址。

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

攻擊流程

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

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

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

  4. 類似的攻擊模式也在以太坊網路上出現,攻擊者採用了相同的手法更改 keeper 並實施攻擊。

總結

此次攻擊的關鍵在於 EthCrossChainData 合約的 keeper 可被 EthCrossChainManager 合約修改,而 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數又能通過 _executeCrossChainTx 函數執行用戶傳入的數據。攻擊者正是利用了這一設計漏洞,通過構造特定數據修改了 EthCrossChainData 合約的 keeper,而非此前猜測的 keeper 私鑰泄露。這一事件再次凸顯了智能合約安全設計的重要性,也爲業界提供了寶貴的經驗教訓。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
RugPull预警机vip
· 07-20 15:15
纯链上数据说话,不亏大钱
回復0
薛定谔的空投vip
· 07-20 15:11
又出安全事件了啊 呵呵
回復0
MetaDreamervip
· 07-20 14:50
又是kp被搞 啥时是个头
回復0
GasFeeLadyvip
· 07-20 14:47
smh... 看门人妥协本来就是迟早会发生的,老实说。得检查那些上车点
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)