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

  1. 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.

  2. O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, portanto o último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.

  3. 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.

  4. Após substituir o keeper, o atacante pode construir transações à vontade para retirar qualquer quantidade de fundos do contrato.

Processo de Ataque

  1. O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager para alterar o keeper.

  2. Em seguida, o hacker realizou várias transações de ataque, retirando fundos do contrato.

  3. Devido à modificação do keeper, as transações normais de outros utilizadores foram revertidas.

  4. 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.
  • Recompensa
  • 5
  • Repostar
  • Compartilhar
Comentário
0/400
NFTBlackHolevip
· 08-05 02:09
É mais um caso típico de vulnerabilidade sendo explorada.
Ver originalResponder0
Lonely_Validatorvip
· 08-03 14:54
Afinal, é mais uma vulnerabilidade de contrato.
Ver originalResponder0
LazyDevMinervip
· 08-02 14:40
Ainda está a corrigir bugs de contrato? Quebrar
Ver originalResponder0
SnapshotStrikervip
· 08-02 14:35
condenado condenado quem nunca foi atacado
Ver originalResponder0
RadioShackKnightvip
· 08-02 14:32
Caiu mais um.
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)