Falha em carteiras Coldcard permite roubo de milhões em bitcoin

Uma vulnerabilidade no gerador de números aleatórios das carteiras físicas (hardware wallets) Coldcard tornou previsíveis as frases de recuperação criadas por diferentes modelos da fabricante Coinkite. A falha foi associada ao esvaziamento de milhares de endereços e ao roubo de aproximadamente 1.367 bitcoins, avaliados em cerca de US$ 88,6 milhões.

As estimativas iniciais apontavam para a retirada de 594 bitcoins de aproximadamente 500 carteiras. Análises posteriores identificaram novas movimentações suspeitas e elevaram o possível impacto financeiro do incidente.

O caso não representa uma quebra do protocolo Bitcoin nem de seus mecanismos criptográficos. A exploração ocorreu devido a uma falha específica na implementação do gerador de números aleatórios de determinadas versões das carteiras Coldcard, que reduziu a imprevisibilidade das frases de recuperação geradas pelos dispositivos.

A Coinkite publicou um alerta de segurança em 30 de julho e disponibilizou atualizações de firmware para todos os modelos afetados. A empresa ressalta, porém, que a simples instalação da correção não protege carteiras cujas frases de recuperação já tenham sido geradas por versões vulneráveis.

Erro reduziu a aleatoriedade das frases de recuperação

As carteiras físicas armazenam as chaves privadas necessárias para movimentar criptomoedas. Durante a configuração de uma nova carteira, o dispositivo gera uma frase de recuperação — também conhecida como frase-semente — que permite restaurar as chaves e recuperar o acesso aos ativos.

Para ser segura, essa sequência precisa ser produzida a partir de dados suficientemente aleatórios e imprevisíveis. No caso das Coldcard, um erro de integração fez determinadas versões do firmware utilizarem um gerador determinístico de software em vez do gerador de números aleatórios presente no hardware.

O mecanismo alternativo recorria a elementos como o identificador do microcontrolador e informações de temporização do sistema. Esses dados não constituem fontes criptograficamente seguras de aleatoriedade e podem ser reconstruídos ou previstos em determinadas circunstâncias.

Com isso, agentes maliciosos poderiam calcular possíveis frases de recuperação offline, derivar os endereços correspondentes e compará-los com os registros públicos da blockchain. Ao encontrar um endereço com saldo, seria possível obter suas chaves privadas e transferir os bitcoins sem acesso físico à carteira.

A falha teria reduzido significativamente a entropia das frases geradas. Nos modelos Mk4, Mk5 e Q, por exemplo, as sequências afetadas teriam aproximadamente 72 bits de entropia, abaixo dos 128 bits esperados.

Ataques teriam priorizado carteiras de maior valor

Uma das primeiras movimentações identificadas retirou cerca de 594 bitcoins de aproximadamente 500 carteiras. Segundo a reportagem do News.com.au, os endereços esvaziados continham mais de 0,15 bitcoin e muitos permaneciam inativos havia anos.

Análises posteriores associaram três ondas de transferências à vulnerabilidade. A primeira teria retirado aproximadamente 1.083 bitcoins de 1.196 endereços em apenas 41 minutos. Com as movimentações seguintes, o total estimado chegou a 1.367 bitcoins distribuídos entre 4.585 endereços.

As operações apresentavam características semelhantes, incluindo uma taxa fixa de transação e a ausência de valores de troco, indícios de que uma ferramenta automatizada pode ter sido utilizada.

Embora as movimentações sejam consideradas compatíveis com a exploração da falha, a Coinkite informou que sua investigação ainda está em andamento e que uma análise técnica completa será publicada posteriormente.

Modelos e versões afetados

De acordo com a fabricante, estão em risco as frases de recuperação geradas nas seguintes versões:

  • • Coldcard Mk2 e Mk3 com firmware da versão 4.0.1 até a 4.1.9;
  • • Coldcard Mk4 e Mk5 anteriores à versão padrão 5.6.0 ou à versão Edge 6.6.0X;
  • • Coldcard Q anterior à versão padrão 1.5.0Q ou à versão Edge 6.6.0QX.

Os produtos TAPSIGNER, OPENDIME e SATSCARD não foram afetados, pois utilizam bases de código diferentes.

A empresa também afirma que frases de recuperação criadas com pelo menos 50 lançamentos privados, independentes e aleatórios de um dado não são consideradas vulneráveis apenas em razão desse problema. Nesse cenário, a aleatoriedade adicionada manualmente compensaria a deficiência do dispositivo.

O uso de uma senha BIP-39 forte e exclusiva acrescenta outra camada de proteção. Ainda assim, a fabricante recomenda a migração, pois a senha não corrige a fragilidade presente na frase de recuperação original.

Atualização não corrige frases já geradas

A Coinkite disponibilizou as seguintes versões corrigidas:

  • • 4.2.0 ou posterior para Mk2 e Mk3;
  • • 5.6.0 ou posterior para Mk4 e Mk5 no canal padrão;
  • • 1.5.0Q ou posterior para o modelo Q no canal padrão;
  • • 6.6.0X ou posterior para Mk4 e Mk5 no canal Edge;
  • • 6.6.0QX ou posterior para o modelo Q no canal Edge.

A atualização impede que novas frases sejam geradas com o problema, mas não modifica uma frase de recuperação criada anteriormente. Restaurar a mesma sequência em outro dispositivo também não elimina o risco, uma vez que a vulnerabilidade está na frase gerada, e não no equipamento em que ela é armazenada.

Usuários potencialmente afetados devem instalar o firmware corrigido, criar uma nova frase de recuperação e transferir os ativos para a nova carteira. A fabricante recomenda verificar cuidadosamente o backup e o endereço de recebimento, realizar primeiro uma pequena transação de teste e somente depois movimentar o restante dos fundos.

O backup antigo deve ser mantido até que toda a transferência seja confirmada. A Coinkite também alerta que a migração precisa ser realizada com cautela, pois erros durante o processo podem provocar a perda permanente dos ativos.

Para saber mais, clique aqui.

Descubra mais sobre SegInfo - Portal, Podcast e Evento sobre Segurança da Informação

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo