Poly Network sofreu um ataque de Hacker: a vulnerabilidade do contrato EthCrossChainManager resultou em perdas financeiras

robot
Geração do resumo em andamento

Análise do incidente de ataque ao Poly Network

Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um ataque hacker, gerando ampla atenção. De acordo com a análise da equipe de segurança, este ataque não foi causado pela divulgação da chave privada do keeper, mas sim pelo fato de que o atacante, através de dados habilidosamente construídos, explorou uma vulnerabilidade no contrato para modificar o endereço do keeper do contrato EthCrossChainData.

Princípio do ataque

O núcleo do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, que pode executar transações entre cadeias. Como o proprietário do contrato EthCrossChainData é o contrato EthCrossChainManager, este último pode chamar a função putCurEpochConPubKeyBytes do primeiro para alterar o keeper.

Os atacantes utilizaram a função verifyHeaderAndExecuteTx passando dados cuidadosamente elaborados, e através da chamada interna da função _executeCrossChainTx, acabaram por executar a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando o papel de keeper para o endereço especificado pelo atacante.

Após a substituição do papel de keeper, o atacante pode construir transações à vontade e extrair qualquer quantia de fundos do contrato.

Processo de Ataque

  1. O atacante primeiro chamou a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.

  2. Em seguida, o hacker implementou uma série de transações de ataque, retirando fundos do contrato.

  3. Devido à alteração do keeper, as transações normais de outros usuários foram recusadas.

  4. Ataques semelhantes também ocorrem na rede Ethereum, utilizando as mesmas técnicas.

Conclusão

A causa fundamental deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, cuja função verifyHeaderAndExecuteTx pode executar dados fornecidos pelo usuário. O atacante aproveitou exatamente essa falha de design, modificando o endereço do keeper do contrato EthCrossChainData ao construir dados específicos, conseguindo assim atingir seu objetivo de ataque.

Este evento lembra-nos novamente da necessidade de prestar atenção especial à gestão de permissões e à validação de dados ao projetar protocolos de cross-chain, a fim de evitar a exploração de vulnerabilidades de segurança semelhantes. Ao mesmo tempo, também destaca a importância de realizar auditorias de segurança regulares e programas de recompensas por vulnerabilidades, para detectar e corrigir prontamente potenciais riscos de segurança.

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.
  • Recompensa
  • 5
  • Compartilhar
Comentário
0/400
MetaDreamervip
· 07-04 18:08
Mais um pãozinho foi levado.
Ver originalResponder0
CoffeeNFTsvip
· 07-02 15:50
Contratos inteligentes novamente explodiram? Neste tempo ainda se atreve a armazenar moeda
Ver originalResponder0
ShitcoinConnoisseurvip
· 07-02 15:48
Outro contrato inteligente foi explorado.
Ver originalResponder0
LayoffMinervip
· 07-02 15:47
A falha de segurança voltou. Escapou, escapou.
Ver originalResponder0
HodlVeteranvip
· 07-02 15:31
Todos os anos, há idiotas que são feitos de parvas, já nos habituamos.
Ver originalResponder0
  • Marcar
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)