Poly Network foi atacado por hackers: a vulnerabilidade do contrato levou à alteração do keeper

robot
Geração de resumo em curso

Análise do incidente de ataque Hacker à Poly Network

Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um ataque hacker, o que gerou 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 pelos atacantes que, através de dados habilmente construídos, exploraram uma vulnerabilidade no contrato para modificar o endereço do keeper do contrato EthCrossChainData.

Ataque ao Núcleo

A chave do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager. Esta função pode executar transações específicas de cross-chain através da função _executeCrossChainTx. Como o proprietário do contrato EthCrossChainData é o contrato EthCrossChainManager, este último tem o direito de chamar a função putCurEpochConPubKeyBytes do contrato EthCrossChainData para alterar o keeper.

Os atacantes exploram este mecanismo, passando dados cuidadosamente elaborados através da função verifyHeaderAndExecuteTx, fazendo com que a função _executeCrossChainTx execute a chamada da função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o papel de keeper para o endereço especificado pelo atacante.

Processo de Ataque

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

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

  3. Após o ataque, devido à alteração do keeper, as transações normais de outros usuários foram recusadas.

  4. Este modo de ataque não foi apenas implementado na cadeia BSC, operações semelhantes também ocorreram na rede Ethereum.

Conclusão

A causa fundamental deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, e a função verifyHeaderAndExecuteTx do contrato EthCrossChainManager pode executar os dados fornecidos pelo usuário. O atacante explorou essa falha de design, modificando o endereço do keeper do contrato EthCrossChainData por meio da construção de dados específicos, e não por um suposto vazamento da chave privada do keeper.

Este evento destaca novamente a importância do design de segurança dos protocolos cross-chain e a exigência rigorosa na gestão de permissões de contratos. Também nos lembra que, no ecossistema blockchain, mesmo funcionalidades que parecem inofensivas, se utilizadas de forma maliciosa, podem levar a sérias vulnerabilidades de segurança.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
LuckyBlindCatvip
· 11h atrás
Mais alguém está a ganhar com a situação.
Ver originalResponder0
ServantOfSatoshivip
· 07-17 17:54
Deitei-me de novo...
Ver originalResponder0
FloorSweepervip
· 07-16 15:47
Mais uma velha tradição, pertence a isso.
Ver originalResponder0
ApeWithNoChainvip
· 07-16 15:38
Mais um contrato foi destruído~
Ver originalResponder0
TeaTimeTradervip
· 07-16 15:30
Mais uma vez o keeper está com problemas, tsk tsk.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)