A Coinkite, fabricante da Coldcard, lançou no dia 20 de agosto novo firmware padrão que obriga os utilizadores de carteiras hardware de Bitcoin a acrescentar aleatoriedade física sempre que geram uma seed: pelo menos 65 pressões de teclas em intervalos imprevisíveis, 50 lançamentos de um dado de seis faces, ou 128 lançamentos físicos de uma moeda. A obrigação surge na sequência de uma falha que permitiu aos atacantes reconstruir chaves privadas a partir de um único toque num botão no firmware afetado, e a Coinkite afirma que alguns clientes já sofreram perdas graves. Instalar o firmware corrigido não protege retroativamente seeds já existentes, pelo que os proprietários afetados têm de gerar uma seed nova e migrar os saldos, salvo se se aplicar uma exceção documentada relativa a lançamentos de dados.
Porque é que importa
A causa raiz, identificada de forma independente pela Block, foi código que encaminhava pedidos para uma implementação alternativa determinística em MicroPython porque uma flag de funcionalidade definida como zero era tratada como presente. Esse tipo de falha é estrutural e não uma anomalia aleatória, e é por isso que a Coinkite está a tratar todas as seeds geradas com o firmware afetado como potencialmente reconstruíveis. A introdução humana agora obrigatória para novas seeds padrão acrescenta entropia externa e limita os danos se a aleatoriedade do dispositivo falhar de novo, mas não pode aplicar retroativamente entropia a uma seed já existente. A Coinkite afirma que as autoridades policiais estão a investigar e que alguns clientes sofreram perdas graves, embora não tenha sido publicado qualquer número de vítimas nem total de perdas verificado.
Impacto no mercado
O âmbito da exposição é mais amplo do que o aviso da própria Coinkite. As orientações de migração da Coinkite abrangem o firmware Mk2 e Mk3 da versão 4.0.1 à 4.1.9, o firmware padrão Mk4 e Mk5 anterior a 5.6.0 e o firmware Edge anterior a 6.6.0X, bem como o firmware padrão Q anterior a 1.5.0Q e o firmware Edge anterior a 6.6.0QX, enquanto a análise técnica da Block alarga o limite de Mk2 e Mk3 para incluir a 4.0.0. Os proprietários da versão 4.0.0 não devem tratar o limite definido pelo fabricante como prova de segurança. As versões corrigidas atuais são a 5.6.1 para Mk4 e Mk5 e a 1.5.1Q para dispositivos Q.
Perguntas frequentes
-
O que mudou no novo firmware da Coldcard?
A Coinkite lançou a 20 de agosto um firmware que exige aleatoriedade física para cada nova seed: pelo menos 65 pressões de teclas em intervalos imprevisíveis, 50 lançamentos de dados ou 128 lançamentos de moeda, além de reforço do caminho de assinatura, como bloquear modos SIGHASH_SINGLE por predefinição.
-
Quais as versões de firmware da Coldcard afetadas?
As orientações de migração da Coinkite abrangem o firmware Mk2 e Mk3 das versões 4.0.1 a 4.1.9, o firmware padrão Mk4 e Mk5 anterior a 5.6.0 e o firmware Edge anterior a 6.6.0X, bem como o firmware padrão Q anterior a 1.5.0Q e o firmware Edge anterior a 6.6.0QX. A análise da Block alarga o limite de Mk2 e Mk3 para…
-
Instalar o firmware corrigido protege uma seed já existente?
Não. A atualização do firmware apenas reforça as novas seeds. Os proprietários de firmware afetado têm de gerar uma seed nova, verificar a sua impressão digital, enviar uma transação de teste e migrar todos os saldos associados à seed antiga, salvo se se aplicar a exceção documentada dos lançamentos de dados.
-
Qual é a exceção dos lançamentos de dados à migração?
A migração não é necessária quando o utilizador adicionou pelo menos 50 lançamentos físicos de dados justos, independentes e privados através do fluxo afetado e nunca registou nem expôs a sequência. Um número inferior de lançamentos, ou qualquer incerteza quanto a essas condições, significa que o utilizador deve…
-
Qual foi a causa raiz da falha?
A Block atribuiu o defeito a código que podia encaminhar pedidos para uma implementação alternativa determinística em MicroPython porque uma flag de funcionalidade definida como zero era tratada como presente, uma falha estrutural que permitiu aos atacantes reconstruir chaves privadas a partir de um único toque num…