Pular para conteúdo

Explorações da Ponte

Uma ponte age numa corrente porque aceita provas sobre outra. Um exploit tem sucesso quando um atacante forja provas, controla suficientes certificados autorizados, repete uma mensagem válida, ignora a contabilidade ou substitui o código que verifica a mensagem.

O limite de verificação detém os ativos

As pontes de bloqueio e menta mantêm um ativo em uma cadeia de origem e emitem uma representação em uma cadeia de destino. Burn-and-release realiza o caminho inverso. O destino não pode inspecionar nativamente um consenso arbitrário de cadeia-fonte, então a ponte escolhe um verificador: um comitê multiassinatura, um cliente leve, uma reivindicação otimista com um período de desafio, ou o sistema de prova de um rollup.

Esse verificador protege toda a pool, não um usuário de cada vez. Se aceitar um depósito fabricado, o atacante pode cunhar um ativo sem apoio e redimi-lo ou vendê-lo. Se aceitar uma retirada fabricada, a garantia bloqueada sai diretamente.

Assinantes comprometidos

Uma ponte federada só é segura enquanto menos do que o número limite de chaves de assinatura pode ser abusado. O incidente de março de 2022 Ronin mostrou como a independência operacional pode entrar em colapso: o atacante obteve cinco de nove assinaturas de validador, incluindo acesso conectado a uma exceção operacional anterior. O limiar criptográfico funcionou como configurado. A organização não conseguiu manter suficientemente os signatários independentes.

Contagem de signos sozinho é uma medida ruim. Verifique quem opera cada assinante, onde as chaves são armazenadas, se as máquinas compartilham sistemas de implantação ou contas na nuvem, como a adesão muda e se limites de taxa ou retiradas tardias limitam um compromisso de limiar.

Erros de verificação

Uma ponte pode ter sinais honestos e verificação defeituosa. O incidente do Wormhole de fevereiro de 2022 envolveu uma mensagem falsa aceita em Solana, que permitiu que Ether não apoiado embrulhado fosse cunhado. Esta classe inclui verificações de assinatura ignoradas, serialização inconsistente, atualizações incorretas de validação, erros de verificação de provas e suposições que diferem entre implementações em duas cadeias.

Mensagens cruzadas precisam de separação de domínio. Incluir cadeia de origem, cadeia de destino, remetente de origem, contrato de destino, nonce, carga útil e versão na mensagem autenticada. Gravar as mensagens consumidas para que uma prova válida não possa executar duas vezes. Decida como a finalidade é estabelecida na cadeia de origem antes de agir no destino.

Risco de atualização e de contabilidade

Contratos de ponte atualizáveis adicionam uma rota administrativa em torno do verificador. Uma autoridade de atualização comprometida pode instalar código que libera ativos ou aceita mensagens arbitrárias. A pausa pode conter danos, mas também concentra a capacidade de congelar as transferências.

A contabilidade deve conciliar os valores bloqueados, cunhados, queimados, pendentes e liberados através de falhas e caminhos de repetição. A execução parcial é especialmente perigosa quando um lado registra o sucesso e o outro repete. O manuseio de mensagens idempotentes previne a liberação duplicada sem impedir que uma entrega falhada seja testada com segurança.

Defesa em camadas

Use sinalizadores independentes, chaves apoiadas por hardware, rotação explícita do sinalizador, autoridade de atualização estreita, atrasos, limites de retirada, monitoramento de anomalias e procedimentos de pausa testados. Verifique mensagens contra uma especificação precisa e teste replay, cadeia errada, contrato errado, antigo-validator-set, duplicado, malformado, e casos de reorg.

Nenhum sistema de monitoramento repara um verificador que já liberou ativos. Ele pode reduzir o tempo de detecção e perda de tampa apenas quando os contratos incluem um controle capaz de parar ou limitar a execução.

Outras leituras


← Anterior: MEV · Voltar à Segurança · Próximo: Riscos de atualização →