Protocolo de cadeia cruzada enfrenta vulnerabilidades de segurança: uma análise aprofundada
Recentemente, um protocolo de interoperabilidade de cadeia cruzada enfrentou uma séria vulnerabilidade de segurança, gerando ampla atenção na indústria. Uma equipe de especialistas em segurança analisou detalhadamente este incidente, revelando como os atacantes exploraram a vulnerabilidade do contrato para obter permissões e, finalmente, realizar o ataque.
Princípio do ataque
A análise mostra que o núcleo deste ataque reside em uma vulnerabilidade na função de contrato-chave dentro do protocolo. O atacante, através de dados cuidadosamente elaborados, conseguiu modificar o endereço do administrador em outro contrato importante, obtendo assim o controle sobre os fundos. Isso contraria a alegação anterior de que a chave privada do administrador havia sido vazada.
Detalhes do ataque
O atacante explorou uma função chamada verifyHeaderAndExecuteTx, que pode executar transações de cadeia cruzada.
Devido à relação de propriedade entre os contratos, o atacante consegue, através da chamada da função acima, invocar a função putCurEpochConPubKeyBytes de outro contrato, alterando assim o papel crítico do keeper.
O atacante construiu dados de transação específicos, fazendo com que a função verifyHeaderAndExecuteTx chamasse indiretamente a função putCurEpochConPubKeyBytes, alterando o papel do 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 quantia de fundos do contrato.
Processo de ataque
O atacante inicia um ataque em uma rede de cadeia cruzada, modificando o endereço do keeper através de transações cuidadosamente projetadas. Em seguida, o atacante realiza várias transações consecutivas, retirando grandes quantias de fundos do contrato atacado.
Após a conclusão do ataque, devido à modificação do keeper, as transações normais de outros usuários foram rejeitadas.
Vale a pena notar que os atacantes usaram um método semelhante para realizar ataques em outra rede de blockchain mainstream, mostrando que esta foi uma ação de ataque premeditada e cadeia cruzada.
Resumo
A causa fundamental deste incidente de ataque reside nas vulnerabilidades presentes no design do protocolo. Os atacantes exploraram habilmente as relações de chamada entre contratos e as configurações de permissão, conseguindo alterar com sucesso o endereço do keeper crítico ao construir dados de transação especiais. Esta descoberta corrigiu a anterior suposição errada sobre o vazamento da chave privada, fornecendo uma referência importante para o design de segurança de protocolos semelhantes.
Este evento destaca novamente os desafios que os protocolos de finanças descentralizadas enfrentam em termos de segurança, e lembra os desenvolvedores que, ao projetar funcionalidades de interoperabilidade de cadeia cruzada, devem ser mais cautelosos e considerar plenamente vários cenários de ataque possíveis.
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.
16 gostos
Recompensa
16
5
Partilhar
Comentar
0/400
BuyHighSellLow
· 07-21 18:25
Inacreditável, perdi de novo. Se me chamassem para revisar o contrato, nada disso teria acontecido.
Ver originalResponder0
MetaReckt
· 07-19 15:28
Tsk tsk, a revisão do código do contrato ainda não é suficientemente cuidadosa.
Ver originalResponder0
zkProofInThePudding
· 07-19 15:27
Mais uma brecha em contratos inteligentes foi explorada.
Ver originalResponder0
screenshot_gains
· 07-19 15:21
Muito mau, ser atacado tão fácil.
Ver originalResponder0
GateUser-aa7df71e
· 07-19 15:18
Ai, a cadeia cruzada deu problema novamente, como é que esses projetos estão sempre a ser Cupões de Recorte.
Análise de vulnerabilidades de segurança do protocolo de cadeia cruzada: como os atacantes modificam o keeper para obter controle dos fundos
Protocolo de cadeia cruzada enfrenta vulnerabilidades de segurança: uma análise aprofundada
Recentemente, um protocolo de interoperabilidade de cadeia cruzada enfrentou uma séria vulnerabilidade de segurança, gerando ampla atenção na indústria. Uma equipe de especialistas em segurança analisou detalhadamente este incidente, revelando como os atacantes exploraram a vulnerabilidade do contrato para obter permissões e, finalmente, realizar o ataque.
Princípio do ataque
A análise mostra que o núcleo deste ataque reside em uma vulnerabilidade na função de contrato-chave dentro do protocolo. O atacante, através de dados cuidadosamente elaborados, conseguiu modificar o endereço do administrador em outro contrato importante, obtendo assim o controle sobre os fundos. Isso contraria a alegação anterior de que a chave privada do administrador havia sido vazada.
Detalhes do ataque
O atacante explorou uma função chamada verifyHeaderAndExecuteTx, que pode executar transações de cadeia cruzada.
Devido à relação de propriedade entre os contratos, o atacante consegue, através da chamada da função acima, invocar a função putCurEpochConPubKeyBytes de outro contrato, alterando assim o papel crítico do keeper.
O atacante construiu dados de transação específicos, fazendo com que a função verifyHeaderAndExecuteTx chamasse indiretamente a função putCurEpochConPubKeyBytes, alterando o papel do 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 quantia de fundos do contrato.
Processo de ataque
O atacante inicia um ataque em uma rede de cadeia cruzada, modificando o endereço do keeper através de transações cuidadosamente projetadas. Em seguida, o atacante realiza várias transações consecutivas, retirando grandes quantias de fundos do contrato atacado.
Após a conclusão do ataque, devido à modificação do keeper, as transações normais de outros usuários foram rejeitadas.
Vale a pena notar que os atacantes usaram um método semelhante para realizar ataques em outra rede de blockchain mainstream, mostrando que esta foi uma ação de ataque premeditada e cadeia cruzada.
Resumo
A causa fundamental deste incidente de ataque reside nas vulnerabilidades presentes no design do protocolo. Os atacantes exploraram habilmente as relações de chamada entre contratos e as configurações de permissão, conseguindo alterar com sucesso o endereço do keeper crítico ao construir dados de transação especiais. Esta descoberta corrigiu a anterior suposição errada sobre o vazamento da chave privada, fornecendo uma referência importante para o design de segurança de protocolos semelhantes.
Este evento destaca novamente os desafios que os protocolos de finanças descentralizadas enfrentam em termos de segurança, e lembra os desenvolvedores que, ao projetar funcionalidades de interoperabilidade de cadeia cruzada, devem ser mais cautelosos e considerar plenamente vários cenários de ataque possíveis.