Análise do incidente de ataque do Hacker à Poly Network
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um Hacker, o que gerou uma ampla atenção na indústria. A equipe de segurança realizou uma análise aprofundada deste incidente, revelando as técnicas específicas dos atacantes e o processo de ataque.
Princípio do Ataque
O núcleo do ataque reside na exploração de uma vulnerabilidade no contrato EthCrossChainManager. O atacante, através da função verifyHeaderAndExecuteTx, enviou dados cuidadosamente elaborados, conseguindo modificar o keeper do contrato EthCrossChainData para um endereço específico. Isso contraria a alegação anterior de que a chave privada do keeper foi vazada.
Detalhes do ataque
A função verifyHeaderAndExecuteTx do contrato EthCrossChainManager pode executar transações específicas de cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, portanto, este último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante utiliza a função verifyHeaderAndExecuteTx, passando dados especialmente criados, para que a função _executeCrossChainTx execute a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o keeper para um endereço controlado pelo atacante.
Após a substituição do papel de keeper, o atacante pode construir transações à vontade, retirando qualquer quantidade de fundos do contrato.
Fluxo de Ataque
O atacante primeiro chamou a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante executou uma série de transações de ataque para extrair fundos do contrato.
Após o ataque, devido à modificação do keeper, as transações normais de outros usuários foram recusadas.
Técnicas de ataque semelhantes também foram implementadas na rede Ethereum, com os atacantes utilizando os mesmos passos operacionais.
Conclusão
A chave deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, cuja função verifyHeaderAndExecuteTx pode executar os dados fornecidos pelo usuário. O atacante aproveitou essa vulnerabilidade, construindo dados específicos e alterando com sucesso o keeper do contrato EthCrossChainData, permitindo assim o roubo de fundos.
Este evento lembra-nos novamente que, no design e implementação de protocolos de cross-chain, é necessário prestar especial atenção à gestão de permissões e aos mecanismos de verificação de segurança, para evitar a ocorrência de ataques semelhantes. Ao mesmo tempo, a auditoria e a deteção de vulnerabilidades em contratos inteligentes também devem ser mais abrangentes e profundas, especialmente nas funções que envolvem papéis críticos e alterações de permissões.
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.
13 gostos
Recompensa
13
6
Partilhar
Comentar
0/400
SocialAnxietyStaker
· 5h atrás
Este contrato é demasiado frágil 8
Ver originalResponder0
DeFiVeteran
· 5h atrás
Outra vez uma vulnerabilidade de segurança? Para que o alvoroço?
Poly Network foi atacado por hackers devido a uma vulnerabilidade no contrato EthCrossChainManager, resultando em perda de fundos.
Análise do incidente de ataque do Hacker à Poly Network
Recentemente, o protocolo de interoperabilidade entre cadeias Poly Network foi alvo de um Hacker, o que gerou uma ampla atenção na indústria. A equipe de segurança realizou uma análise aprofundada deste incidente, revelando as técnicas específicas dos atacantes e o processo de ataque.
Princípio do Ataque
O núcleo do ataque reside na exploração de uma vulnerabilidade no contrato EthCrossChainManager. O atacante, através da função verifyHeaderAndExecuteTx, enviou dados cuidadosamente elaborados, conseguindo modificar o keeper do contrato EthCrossChainData para um endereço específico. Isso contraria a alegação anterior de que a chave privada do keeper foi vazada.
Detalhes do ataque
A função verifyHeaderAndExecuteTx do contrato EthCrossChainManager pode executar transações específicas de cross-chain através da função _executeCrossChainTx.
O owner do contrato EthCrossChainData é o contrato EthCrossChainManager, portanto, este último pode chamar a função putCurEpochConPubKeyBytes do primeiro para modificar o keeper.
O atacante utiliza a função verifyHeaderAndExecuteTx, passando dados especialmente criados, para que a função _executeCrossChainTx execute a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando assim o keeper para um endereço controlado pelo atacante.
Após a substituição do papel de keeper, o atacante pode construir transações à vontade, retirando qualquer quantidade de fundos do contrato.
Fluxo de Ataque
O atacante primeiro chamou a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante executou uma série de transações de ataque para extrair fundos do contrato.
Após o ataque, devido à modificação do keeper, as transações normais de outros usuários foram recusadas.
Técnicas de ataque semelhantes também foram implementadas na rede Ethereum, com os atacantes utilizando os mesmos passos operacionais.
Conclusão
A chave deste ataque reside no fato de que o keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, cuja função verifyHeaderAndExecuteTx pode executar os dados fornecidos pelo usuário. O atacante aproveitou essa vulnerabilidade, construindo dados específicos e alterando com sucesso o keeper do contrato EthCrossChainData, permitindo assim o roubo de fundos.
Este evento lembra-nos novamente que, no design e implementação de protocolos de cross-chain, é necessário prestar especial atenção à gestão de permissões e aos mecanismos de verificação de segurança, para evitar a ocorrência de ataques semelhantes. Ao mesmo tempo, a auditoria e a deteção de vulnerabilidades em contratos inteligentes também devem ser mais abrangentes e profundas, especialmente nas funções que envolvem papéis críticos e alterações de permissões.