Análise do incidente de ataque do Hacker à Poly Network
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um ataque hacker, gerando ampla atenção. A equipe de segurança, após análise, acredita que este ataque não foi causado pela divulgação da chave privada do keeper, mas sim que o atacante modificou cuidadosamente os dados do contrato EthCrossChainData, alterando o keeper para um endereço específico.
Detalhes do Ataque
O núcleo do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, que pode executar transações cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, portanto o último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante passa dados personalizados para a função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx execute a chamada da função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o keeper para o endereço especificado pelo atacante.
Após substituir o keeper, o atacante pode construir transações à vontade para retirar qualquer quantidade de fundos do contrato.
Processo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager para alterar o keeper.
Em seguida, o hacker realizou várias transações de ataque, retirando fundos do contrato.
Devido à modificação do keeper, as transações normais de outros utilizadores foram revertidas.
Métodos de ataque semelhantes também foram implementados na rede Ethereum.
Conclusão
A essência deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, e a função verifyHeaderAndExecuteTx deste último pode executar os dados fornecidos pelo usuário. O atacante explorou essa vulnerabilidade, modificando o keeper através de dados cuidadosamente construídos, e não pela suposta divulgação da chave privada do keeper.
Este evento destaca novamente a importância da segurança dos protocolos cross-chain, lembrando desenvolvedores e usuários da necessidade de projetar e usar funcionalidades relacionadas com mais cautela. Ao mesmo tempo, também soa o alarme para toda a indústria, apelando para um reforço na auditoria e prevenção das vulnerabilidades dos contratos inteligentes.
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
10 Curtidas
Recompensa
10
5
Repostar
Compartilhar
Comentário
0/400
NFTBlackHole
· 08-05 02:09
É mais um caso típico de vulnerabilidade sendo explorada.
Análise do ataque do Hacker Poly Network: a vulnerabilidade do contrato levou à alteração do keeper
Análise do incidente de ataque do Hacker à Poly Network
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um ataque hacker, gerando ampla atenção. A equipe de segurança, após análise, acredita que este ataque não foi causado pela divulgação da chave privada do keeper, mas sim que o atacante modificou cuidadosamente os dados do contrato EthCrossChainData, alterando o keeper para um endereço específico.
Detalhes do Ataque
O núcleo do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, que pode executar transações cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, portanto o último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante passa dados personalizados para a função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx execute a chamada da função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o keeper para o endereço especificado pelo atacante.
Após substituir o keeper, o atacante pode construir transações à vontade para retirar qualquer quantidade de fundos do contrato.
Processo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager para alterar o keeper.
Em seguida, o hacker realizou várias transações de ataque, retirando fundos do contrato.
Devido à modificação do keeper, as transações normais de outros utilizadores foram revertidas.
Métodos de ataque semelhantes também foram implementados na rede Ethereum.
Conclusão
A essência deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, e a função verifyHeaderAndExecuteTx deste último pode executar os dados fornecidos pelo usuário. O atacante explorou essa vulnerabilidade, modificando o keeper através de dados cuidadosamente construídos, e não pela suposta divulgação da chave privada do keeper.
Este evento destaca novamente a importância da segurança dos protocolos cross-chain, lembrando desenvolvedores e usuários da necessidade de projetar e usar funcionalidades relacionadas com mais cautela. Ao mesmo tempo, também soa o alarme para toda a indústria, apelando para um reforço na auditoria e prevenção das vulnerabilidades dos contratos inteligentes.