# Poly Network遭受黑客攻击事件分析近日,跨链互操作协议Poly Network遭遇黑客攻击,引发业内广泛关注。经安全团队分析,此次攻击并非由于keeper私钥泄露所致,而是攻击者通过精心构造的数据,成功修改了EthCrossChainData合约的keeper地址。## 攻击细节1. 攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可以通过_executeCrossChainTx函数执行特定的跨链交易。2. EthCrossChainData合约的所有权归属于EthCrossChainManager合约,使得后者能够调用putCurEpochConPubKeyBytes函数来更改keeper。3. 攻击者利用verifyHeaderAndExecuteTx函数的特性,传入精心设计的数据,使_executeCrossChainTx函数调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数,从而将keeper角色更改为攻击者指定的地址。4. 完成keeper角色替换后,攻击者便可自由构造交易,从合约中提取任意数量的资金。## 攻击过程1. 攻击者首先通过EthCrossChainManager合约的verifyHeaderAndExecuteTx函数调用putCurEpochConPubKeyBytes函数,成功更改keeper。2. 随后,攻击者开始实施一系列攻击交易,从合约中提取资金。3. 由于keeper被修改,导致其他用户的正常交易被拒绝执行。4. 这种攻击模式不仅在BSC链上发生,以太坊网络上也出现了类似的操作。## 结论此次攻击的根本原因在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而EthCrossChainManager合约的verifyHeaderAndExecuteTx函数又能执行用户传入的数据。攻击者正是利用了这一设计漏洞,通过精心构造的数据成功更改了EthCrossChainData合约的keeper地址,从而实现了资金盗取。这一事件再次提醒我们,在智能合约设计中,权限管理和函数调用的安全性至关重要。
Poly Network遭黑客攻击:EthCrossChainData合约keeper被篡改
Poly Network遭受黑客攻击事件分析
近日,跨链互操作协议Poly Network遭遇黑客攻击,引发业内广泛关注。经安全团队分析,此次攻击并非由于keeper私钥泄露所致,而是攻击者通过精心构造的数据,成功修改了EthCrossChainData合约的keeper地址。
攻击细节
攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可以通过_executeCrossChainTx函数执行特定的跨链交易。
EthCrossChainData合约的所有权归属于EthCrossChainManager合约,使得后者能够调用putCurEpochConPubKeyBytes函数来更改keeper。
攻击者利用verifyHeaderAndExecuteTx函数的特性,传入精心设计的数据,使_executeCrossChainTx函数调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数,从而将keeper角色更改为攻击者指定的地址。
完成keeper角色替换后,攻击者便可自由构造交易,从合约中提取任意数量的资金。
攻击过程
攻击者首先通过EthCrossChainManager合约的verifyHeaderAndExecuteTx函数调用putCurEpochConPubKeyBytes函数,成功更改keeper。
随后,攻击者开始实施一系列攻击交易,从合约中提取资金。
由于keeper被修改,导致其他用户的正常交易被拒绝执行。
这种攻击模式不仅在BSC链上发生,以太坊网络上也出现了类似的操作。
结论
此次攻击的根本原因在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而EthCrossChainManager合约的verifyHeaderAndExecuteTx函数又能执行用户传入的数据。攻击者正是利用了这一设计漏洞,通过精心构造的数据成功更改了EthCrossChainData合约的keeper地址,从而实现了资金盗取。这一事件再次提醒我们,在智能合约设计中,权限管理和函数调用的安全性至关重要。