DeFi

SecondFi aposta em prova sem revelar segredo para devolver fundos perdidos na Cardano

A SecondFi, plataforma de autocustódia voltada ao ecossistema Cardano, apresentou o desenho de uma ferramenta para devolver acesso a usuários prejudicados pelo desvio de cerca de 2 milhões de dólares ocorrido em junho. A empresa optou por um lançamento por etapas, começando por auditorias externas independentes, em vez de liberar o mecanismo de recuperação diretamente ao público.

Segundo a própria companhia, 374 carteiras foram afetadas pelo incidente, todas ligadas a um mesmo tipo de falha no assinante de transações usado pelo aplicativo.

A raiz do problema

A raiz do problema já havia sido identificada semanas antes. O software de assinatura da SecondFi gerava um número aleatório de forma previsível a cada transação, o que permitiu que atacantes reconstruíssem matematicamente as chaves privadas apenas observando dados já públicos na rede, sempre que um dos endereços comprometidos assinava alguma operação.

Esse tipo de falha é conhecido na criptografia por comprometer diretamente o segredo que deveria ficar restrito ao dono da carteira.

Para lidar com a devolução dos fundos sem repetir o mesmo tipo de exposição, a SecondFi recorreu a provas de conhecimento zero. A tecnologia permite que um usuário demonstre o controle sobre um determinado endereço Cardano sem precisar revelar a frase de recuperação, a chave privada ou o caminho de derivação usado para gerar aquele endereço.

Toda a geração da prova acontece no próprio navegador do usuário, sem envio de dado sensível a qualquer servidor da empresa.

Por trás dessa promessa

Por trás dessa promessa está um conjunto de circuitos batizados internamente de circuitos de titularidade, que reconstroem o processo de derivação de chave usado pela Cardano a partir de uma chave mestra, seguindo o mesmo caminho hierárquico adotado pelas carteiras do ecossistema. O circuito recebe a chave mestra e o caminho de derivação como dados privados, calcula a credencial correspondente e compara o resultado com um valor público, sem nunca expor os dados de entrada.

Existem variações do mesmo circuito para casos em que o usuário precisa provar controle sobre várias contas ao mesmo tempo, ou vincular a prova a um endereço de destino específico.

Rodar esse tipo de prova dentro de um navegador não é trivial. O sistema usado pela SecondFi depende de uma chave de geração de prova que ocupa mais de um gigabyte, o que normalmente inviabilizaria o processo em um computador comum sem otimizações específicas de memória e velocidade.

Para viabilizar isso, a equipe da empresa aplicou sete modificações à biblioteca de código aberto usada como base do sistema de provas.

Em agosto, a SecondFi acionou a zkSecurity para examinar o código dos circuitos e das adaptações feitas na biblioteca. A revisão durou duas semanas e mobilizou dois consultores dedicados exclusivamente à tarefa.

O relatório final

O relatório final, publicado em 9 de setembro, apontou dois problemas de severidade alta na própria biblioteca de origem, ambos relacionados à ausência de verificações que deveriam limitar o intervalo de certos valores internos usados nos cálculos. Sem essas verificações, seria tecnicamente possível que alguém construísse uma prova válida para um resultado que, na prática, jamais deveria existir, incluindo a possibilidade de simular controle sobre uma chave pública que não lhe pertence.

A SecondFi corrigiu os dois pontos atualizando a biblioteca para uma versão mais recente, e a auditoria confirmou que as correções funcionaram.

O relatório também descreveu dois problemas de severidade baixa, mas esses foram encontrados diretamente no código próprio da SecondFi, não na biblioteca externa. Um deles envolve a forma como o sistema valida pontos usados para gerar desafios criptográficos dentro do processo de verificação, o que em tese poderia permitir múltiplas tentativas em torno de um mesmo cálculo.

O segundo está ligado à ausência de checagem de limites em três campos internos do circuito, incluindo parte da chave mestra usada na derivação.

A empresa reconheceu os dois apontamentos, mas optou por não corrigi-los de imediato. Segundo a própria auditoria, nenhum dos dois representa risco prático relevante hoje, já que exigiriam condições que a margem de segurança atual do sistema torna pouco viáveis de explorar.

Ainda assim, o episódio expõe um ponto sensível para qualquer ferramenta criada para reparar uma falha criptográfica anterior. Os problemas encontrados na auditoria pertencem à mesma categoria da vulnerabilidade que originou o próprio caso, a ausência de uma restrição matemática que deveria impedir um resultado inválido, o que reforça por que a companhia decidiu não liberar o mecanismo de resgate antes de examinar cada camada do processo.

O contrato inteligente que efetivamente vai movimentar os fundos recuperados ainda passa por uma auditoria separada, distinta da que analisou os circuitos de prova.

Só depois dessa segunda revisão e de testes finais de produção a SecondFi pretende abrir a ferramenta ao público, o que a empresa estima ocorrer nas próximas semanas. Até lá, os 374 usuários atingidos pelo desvio de junho seguem sem uma data exata para reaver o que perderam, mesmo com o desenho técnico da solução já validado por uma auditoria externa.

⚠️ Aviso importante

As informações aqui descritas refletem pesquisas realizadas pelo LaboNews e não devem ser consideradas recomendação de investimento ou endosso de segurança sobre ferramentas ou links externos. Recomendamos que, ao investir ou utilizar ferramentas de terceiros, você faça sua própria pesquisa sobre a segurança e os riscos envolvidos.

Compartilhar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *