Análise do incidente de ataque à rede Poly protocolo
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network tornou-se alvo de um ataque hacker, gerando ampla atenção na indústria. Especialistas em segurança realizaram uma análise aprofundada deste evento, revelando as técnicas específicas utilizadas pelos atacantes.
O problema central deste ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager. Esta função pode executar transações específicas entre cadeias através da função _executeCrossChainTx. Como o proprietário do contrato EthCrossChainData é o contrato EthCrossChainManager, este último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper do contrato.
Os atacantes exploraram essa vulnerabilidade de design, passando dados meticulosamente elaborados através da função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx chamasse a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o papel de keeper para o endereço especificado pelo atacante. Após completar essa etapa, os atacantes podiam criar transações à vontade, retirando qualquer quantia de fundos do contrato.
O fluxo de ataque específico é o seguinte:
O atacante primeiro bloqueou o contrato alvo.
Através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, chamou-se a função putCurEpochConPubKeyBytes, alterando o keeper.
Em seguida, foram realizadas várias transações de ataque, retirando fundos do protocolo.
Devido à modificação do keeper, as transações normais de outros usuários foram imediatamente recusadas.
É importante notar que este incidente não foi causado pela divulgação da chave privada do keeper, mas sim pelo fato de o atacante ter aproveitado habilmente uma falha no design do contrato. Este caso ressalta mais uma vez a importância da auditoria de segurança de contratos inteligentes, especialmente para protocolos complexos de cross-chain.
A equipe de desenvolvimento e os especialistas em segurança devem aprender com este incidente e reforçar a revisão da gestão de permissões de contrato e da lógica de chamadas de funções, a fim de prevenir a ocorrência de ataques semelhantes. Ao mesmo tempo, também é importante lembrar os usuários de se manterem vigilantes ao utilizar novos protocolos DeFi, prestando atenção à prevenção de riscos.
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
5 Curtidas
Recompensa
5
3
Compartilhar
Comentário
0/400
SerumSquirrel
· 19h atrás
Caiu na armadilha novamente.
Ver originalResponder0
ParanoiaKing
· 19h atrás
Esta vulnerabilidade de segurança já é comum, quem entende, entende.
Poly Network sofreu um ataque de Hacker: uma vulnerabilidade no design do contrato levou à retirada de fundos.
Análise do incidente de ataque à rede Poly protocolo
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network tornou-se alvo de um ataque hacker, gerando ampla atenção na indústria. Especialistas em segurança realizaram uma análise aprofundada deste evento, revelando as técnicas específicas utilizadas pelos atacantes.
O problema central deste ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager. Esta função pode executar transações específicas entre cadeias através da função _executeCrossChainTx. Como o proprietário do contrato EthCrossChainData é o contrato EthCrossChainManager, este último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper do contrato.
Os atacantes exploraram essa vulnerabilidade de design, passando dados meticulosamente elaborados através da função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx chamasse a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o papel de keeper para o endereço especificado pelo atacante. Após completar essa etapa, os atacantes podiam criar transações à vontade, retirando qualquer quantia de fundos do contrato.
O fluxo de ataque específico é o seguinte:
O atacante primeiro bloqueou o contrato alvo.
Através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, chamou-se a função putCurEpochConPubKeyBytes, alterando o keeper.
Em seguida, foram realizadas várias transações de ataque, retirando fundos do protocolo.
Devido à modificação do keeper, as transações normais de outros usuários foram imediatamente recusadas.
É importante notar que este incidente não foi causado pela divulgação da chave privada do keeper, mas sim pelo fato de o atacante ter aproveitado habilmente uma falha no design do contrato. Este caso ressalta mais uma vez a importância da auditoria de segurança de contratos inteligentes, especialmente para protocolos complexos de cross-chain.
A equipe de desenvolvimento e os especialistas em segurança devem aprender com este incidente e reforçar a revisão da gestão de permissões de contrato e da lógica de chamadas de funções, a fim de prevenir a ocorrência de ataques semelhantes. Ao mesmo tempo, também é importante lembrar os usuários de se manterem vigilantes ao utilizar novos protocolos DeFi, prestando atenção à prevenção de riscos.