# Poly Network遭受黑客攻击事件分析近日,跨链互操作协议Poly Network遭受黑客攻击,引发广泛关注。安全团队经过分析认为,此次攻击并非由keeper私钥泄露导致,而是攻击者通过精心构造的数据修改了EthCrossChainData合约的keeper为指定地址。## 攻击细节1. 攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可通过_executeCrossChainTx函数执行跨链交易。2. EthCrossChainData合约的owner为EthCrossChainManager合约,因此后者可调用前者的putCurEpochConPubKeyBytes函数修改keeper。3. 攻击者通过verifyHeaderAndExecuteTx函数传入特制数据,使_executeCrossChainTx函数执行对EthCrossChainData合约的putCurEpochConPubKeyBytes函数调用,从而将keeper改为攻击者指定地址。4. 替换keeper后,攻击者可随意构造交易从合约中提取任意数量资金。## 攻击过程1. 攻击者首先通过EthCrossChainManager合约的verifyHeaderAndExecuteTx函数调用putCurEpochConPubKeyBytes函数更改keeper。2. 随后,攻击者实施了多笔攻击交易,从合约中提取资金。3. 由于keeper被修改,导致其他用户的正常交易被回滚。4. 类似的攻击手法也在以太坊网络上实施。## 结论此次攻击的本质在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而后者的verifyHeaderAndExecuteTx函数又能执行用户传入的数据。攻击者利用这一漏洞,通过精心构造的数据修改了keeper,而非此前传言的keeper私钥泄露。这一事件再次凸显了跨链协议安全性的重要性,提醒开发者和用户需要更加谨慎地设计和使用相关功能。同时,它也为整个行业敲响了警钟,呼吁加强对智能合约vulnerabilities的审计和防范。
Poly Network黑客攻击分析:合约漏洞导致keeper被篡改
Poly Network遭受黑客攻击事件分析
近日,跨链互操作协议Poly Network遭受黑客攻击,引发广泛关注。安全团队经过分析认为,此次攻击并非由keeper私钥泄露导致,而是攻击者通过精心构造的数据修改了EthCrossChainData合约的keeper为指定地址。
攻击细节
攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可通过_executeCrossChainTx函数执行跨链交易。
EthCrossChainData合约的owner为EthCrossChainManager合约,因此后者可调用前者的putCurEpochConPubKeyBytes函数修改keeper。
攻击者通过verifyHeaderAndExecuteTx函数传入特制数据,使_executeCrossChainTx函数执行对EthCrossChainData合约的putCurEpochConPubKeyBytes函数调用,从而将keeper改为攻击者指定地址。
替换keeper后,攻击者可随意构造交易从合约中提取任意数量资金。
攻击过程
攻击者首先通过EthCrossChainManager合约的verifyHeaderAndExecuteTx函数调用putCurEpochConPubKeyBytes函数更改keeper。
随后,攻击者实施了多笔攻击交易,从合约中提取资金。
由于keeper被修改,导致其他用户的正常交易被回滚。
类似的攻击手法也在以太坊网络上实施。
结论
此次攻击的本质在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而后者的verifyHeaderAndExecuteTx函数又能执行用户传入的数据。攻击者利用这一漏洞,通过精心构造的数据修改了keeper,而非此前传言的keeper私钥泄露。
这一事件再次凸显了跨链协议安全性的重要性,提醒开发者和用户需要更加谨慎地设计和使用相关功能。同时,它也为整个行业敲响了警钟,呼吁加强对智能合约vulnerabilities的审计和防范。