O que aconteceu
Mais de 1.000 bitcoins, avaliados em cerca de US$ 70 milhões, foram drenados de 1.196 carteiras Coldcard em uma janela de 41 minutos no dia 30 de julho, quase o dobro do valor inicialmente reportado. Pesquisadores da Galaxy Research descobriram que uma falha no firmware de certas carteiras de hardware Coldcard permitiu que um atacante reproduzisse chaves privadas offline, sem nunca acessar os dispositivos.
Por que isso importa
A maioria dos roubos de criptomoedas envolve o acesso físico ou digital a algo. Um exchange é invadido, um contrato é manipulado, uma chave é phishada de um laptop. A defesa sempre foi a distância, e é exatamente isso que uma carteira de hardware promete: manter a chave em um dispositivo que nunca se conecta à internet, tornando teoricamente impossível para um atacante acessá-la. No entanto, neste caso, o atacante conseguiu reconstruir a chave sem precisar tocar no dispositivo.
Como o ataque ocorreu
Quando uma carteira é criada, o dispositivo deve escolher um número tão grande e imprevisível que adivinhá-lo é impossível. Esse número é chamado de seed (semente), e cada endereço e chave privada deriva dele. O firmware do Coldcard deveria extrair esse número de um gerador de aleatoriedade de hardware dedicado. No entanto, uma configuração interna fez com que ele pulasse esse gerador, e um teste em uma biblioteca de suporte verificou apenas se a configuração existia, não se estava ativada. Como resultado, a geração de chaves caiu para um substituto básico de software, originado do número de série do chip e dos registros de tempo.
Consequências do ataque
A consequência disso foi que a gama de chaves que o dispositivo poderia produzir encolheu de um número inimaginavelmente vasto para um número contável. A equipe de segurança descobriu que a geração de chaves poderia ser determinada em modelos mais antigos do Coldcard, mas nos modelos mais novos, a gama foi estimada em aproximadamente quatro bilhões de possibilidades. Embora quatro bilhões pareça um número grande, para um computador é relativamente pequeno. O atacante gera sementes candidatas em seu próprio hardware, deriva os endereços que cada uma poderia produzir e verifica esses endereços contra a blockchain pública.
Ainda não acabou
A Coinkite, fabricante do Coldcard, alertou os proprietários do modelo Mk3 e afirmou que seus dispositivos mais novos não são afetados, enquanto um relatório da Block inclui os modelos Mk2, Mk4, Q e Mk5 na lista de vulneráveis. Até que isso seja resolvido, qualquer um que gerou uma seed no firmware afetado deve assumir o pior, em vez de verificar.
O ataque poderia não estar totalmente finalizado, pois o operador cometeu um erro ao usar uma conta paga em um “provedor de serviços de blockchain bem conhecido” para consultar os endereços fonte durante as drenagens. As autoridades foram informadas sobre essa descoberta.
