cadeia cruzada protocolo vulnerabilidade leva a um grande incidente de segurança
Recentemente, um conhecido protocolo de interoperação de cadeia cruzada foi alvo de um ataque hacker, gerando ampla atenção na indústria. Após análise de uma equipe de segurança profissional, ficou claro que o ataque não foi causado por uma violação de chave, mas sim por um invasor que explorou uma vulnerabilidade do contrato para modificar de forma astuta parâmetros-chave.
Atacar o núcleo
A chave do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager. Esta função pode executar transações de cadeia cruzada específicas 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 alterar o keeper do contrato.
O atacante acionou a execução da função _executeCrossChainTx ao passar dados cuidadosamente projetados para a função verifyHeaderAndExecuteTx, chamando assim a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando o papel do keeper para o endereço especificado pelo atacante. Após concluir esta etapa, o atacante pode construir transações para retirar qualquer quantia de fundos do contrato.
Processo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante começou a implementar uma série de transações de ataque, retirando fundos do contrato.
Devido à modificação do keeper, outras transações normais dos usuários foram rejeitadas.
Métodos de ataque semelhantes também foram implementados na rede Ethereum, e o processo é aproximadamente o mesmo.
Revelações do Evento
Este evento revelou uma vulnerabilidade importante no design de contratos inteligentes. O keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, enquanto a função verifyHeaderAndExecuteTx deste último pode executar os dados inseridos pelo usuário. Este design oferece uma oportunidade para os atacantes.
Este ataque não foi causado pela divulgação da chave privada do keeper, mas sim por uma vulnerabilidade no design do contrato. Isso nos lembra que, ao projetar protocolos de cadeia cruzada, devemos considerar com mais cuidado a gestão de permissões e os mecanismos de validação de dados, para evitar que eventos de segurança semelhantes ocorram novamente.
Para toda a indústria de blockchain, este evento destaca novamente a importância da auditoria de segurança. Mesmo protocolos que parecem estar sólidos podem ter vulnerabilidades negligenciadas. Inspeções de segurança contínuas e correções de vulnerabilidades são essenciais para garantir a segurança dos ativos dos usuários.
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.
16 Curtidas
Recompensa
16
4
Compartilhar
Comentário
0/400
SundayDegen
· 07-14 15:39
Ainda é necessário adicionar proteção de zero dia, não é?
cadeia cruzada protocolo contrato vulnerabilidade atacada por Hacker design de segurança novamente alerta
cadeia cruzada protocolo vulnerabilidade leva a um grande incidente de segurança
Recentemente, um conhecido protocolo de interoperação de cadeia cruzada foi alvo de um ataque hacker, gerando ampla atenção na indústria. Após análise de uma equipe de segurança profissional, ficou claro que o ataque não foi causado por uma violação de chave, mas sim por um invasor que explorou uma vulnerabilidade do contrato para modificar de forma astuta parâmetros-chave.
Atacar o núcleo
A chave do ataque reside na função verifyHeaderAndExecuteTx do contrato EthCrossChainManager. Esta função pode executar transações de cadeia cruzada específicas 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 alterar o keeper do contrato.
O atacante acionou a execução da função _executeCrossChainTx ao passar dados cuidadosamente projetados para a função verifyHeaderAndExecuteTx, chamando assim a função putCurEpochConPubKeyBytes do contrato EthCrossChainData, alterando o papel do keeper para o endereço especificado pelo atacante. Após concluir esta etapa, o atacante pode construir transações para retirar qualquer quantia de fundos do contrato.
Processo de Ataque
O atacante primeiro chama a função putCurEpochConPubKeyBytes através da função verifyHeaderAndExecuteTx do contrato EthCrossChainManager, alterando o keeper.
Em seguida, o atacante começou a implementar uma série de transações de ataque, retirando fundos do contrato.
Devido à modificação do keeper, outras transações normais dos usuários foram rejeitadas.
Métodos de ataque semelhantes também foram implementados na rede Ethereum, e o processo é aproximadamente o mesmo.
Revelações do Evento
Este evento revelou uma vulnerabilidade importante no design de contratos inteligentes. O keeper do contrato EthCrossChainData pode ser modificado pelo contrato EthCrossChainManager, enquanto a função verifyHeaderAndExecuteTx deste último pode executar os dados inseridos pelo usuário. Este design oferece uma oportunidade para os atacantes.
Este ataque não foi causado pela divulgação da chave privada do keeper, mas sim por uma vulnerabilidade no design do contrato. Isso nos lembra que, ao projetar protocolos de cadeia cruzada, devemos considerar com mais cuidado a gestão de permissões e os mecanismos de validação de dados, para evitar que eventos de segurança semelhantes ocorram novamente.
Para toda a indústria de blockchain, este evento destaca novamente a importância da auditoria de segurança. Mesmo protocolos que parecem estar sólidos podem ter vulnerabilidades negligenciadas. Inspeções de segurança contínuas e correções de vulnerabilidades são essenciais para garantir a segurança dos ativos dos usuários.