# Poly Network 協議遭受黑客攻擊事件分析近日,跨鏈互操作協議 Poly Network 遭遇黑客攻擊,引發了業界廣泛關注。安全團隊對此事件進行了深入分析,認爲攻擊者是通過巧妙構造數據,修改了 EthCrossChainData 合約的 keeper 地址,而非此前傳言的 keeper 私鑰泄露導致。## 攻擊核心攻擊的關鍵在於 EthCrossChainManager 合約中的 verifyHeaderAndExecuteTx 函數。該函數能夠通過 _executeCrossChainTx 函數執行特定的跨鏈交易。由於 EthCrossChainData 合約的所有者是 EthCrossChainManager 合約,因此後者可以調用前者的 putCurEpochConPubKeyBytes 函數來更改合約的 keeper。攻擊者利用 verifyHeaderAndExecuteTx 函數,傳入精心設計的數據,使 _executeCrossChainTx 函數調用 EthCrossChainData 合約的 putCurEpochConPubKeyBytes 函數,從而將 keeper 角色更改爲攻擊者指定的地址。完成這一步後,攻擊者就能隨意構造交易,從合約中提取任意數量的資金。## 攻擊過程1. 攻擊者首先通過 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數調用 putCurEpochConPubKeyBytes 函數,更改了 keeper。2. 隨後,攻擊者開始實施一系列攻擊交易,從合約中提取資金。3. 由於 keeper 被修改,導致其他用戶的正常交易被拒絕執行。4. 類似的攻擊手法也在以太坊網路上得到了應用。## 結論此次攻擊的根本原因在於 EthCrossChainData 合約的 keeper 可被 EthCrossChainManager 合約修改,而後者的 verifyHeaderAndExecuteTx 函數又能執行用戶傳入的數據。攻擊者正是利用了這一漏洞,通過構造特定數據,成功更改了 EthCrossChainData 合約的 keeper 地址。這一發現澄清了此前關於 keeper 私鑰泄露的錯誤傳言。本次事件再次凸顯了跨鏈協議安全的重要性。對於復雜的智能合約系統,尤其是涉及跨鏈操作的項目,需要更加嚴格的安全審計和風險評估。同時,這也提醒了區塊鏈項目開發者要格外注意權限管理和數據驗證的問題,以防止類似的安全漏洞被利用。
Poly Network黑客攻擊原因揭祕:EthCrossChainData合約keeper被篡改
Poly Network 協議遭受黑客攻擊事件分析
近日,跨鏈互操作協議 Poly Network 遭遇黑客攻擊,引發了業界廣泛關注。安全團隊對此事件進行了深入分析,認爲攻擊者是通過巧妙構造數據,修改了 EthCrossChainData 合約的 keeper 地址,而非此前傳言的 keeper 私鑰泄露導致。
攻擊核心
攻擊的關鍵在於 EthCrossChainManager 合約中的 verifyHeaderAndExecuteTx 函數。該函數能夠通過 _executeCrossChainTx 函數執行特定的跨鏈交易。由於 EthCrossChainData 合約的所有者是 EthCrossChainManager 合約,因此後者可以調用前者的 putCurEpochConPubKeyBytes 函數來更改合約的 keeper。
攻擊者利用 verifyHeaderAndExecuteTx 函數,傳入精心設計的數據,使 _executeCrossChainTx 函數調用 EthCrossChainData 合約的 putCurEpochConPubKeyBytes 函數,從而將 keeper 角色更改爲攻擊者指定的地址。完成這一步後,攻擊者就能隨意構造交易,從合約中提取任意數量的資金。
攻擊過程
攻擊者首先通過 EthCrossChainManager 合約的 verifyHeaderAndExecuteTx 函數調用 putCurEpochConPubKeyBytes 函數,更改了 keeper。
隨後,攻擊者開始實施一系列攻擊交易,從合約中提取資金。
由於 keeper 被修改,導致其他用戶的正常交易被拒絕執行。
類似的攻擊手法也在以太坊網路上得到了應用。
結論
此次攻擊的根本原因在於 EthCrossChainData 合約的 keeper 可被 EthCrossChainManager 合約修改,而後者的 verifyHeaderAndExecuteTx 函數又能執行用戶傳入的數據。攻擊者正是利用了這一漏洞,通過構造特定數據,成功更改了 EthCrossChainData 合約的 keeper 地址。這一發現澄清了此前關於 keeper 私鑰泄露的錯誤傳言。
本次事件再次凸顯了跨鏈協議安全的重要性。對於復雜的智能合約系統,尤其是涉及跨鏈操作的項目,需要更加嚴格的安全審計和風險評估。同時,這也提醒了區塊鏈項目開發者要格外注意權限管理和數據驗證的問題,以防止類似的安全漏洞被利用。