Estudo de caso: criptocarteira de hardware falsa

Uma análise completa de um incidente de uma falsa criptocarteira. Parece uma carteira Trezor, mas coloca todos os seus investimentos em criptomoedas nas mãos de criminosos.

Fácil de roubar e sacar, a criptomoeda é um dos ativos digitais mais atraentes para os cibercriminosos. Consequentemente, investidores sérios costumam usar carteiras de hardware para proteger seus criptoativos. Essa carteira armazena chaves privadas longe de computadores e smartphones vulneráveis ​​e torna muito mais seguro autenticar transações. Mas, infelizmente, possuir uma carteira de hardware não garante a segurança de seus fundos, como um de nossos clientes aprendeu da maneira mais difícil.

Sintomas de invasão

Os cibercriminosos trabalharam furtivamente: em um dia fatídico no histórico de transações de uma criptocarteira, apareceu uma operação na qual uma grande quantia em dinheiro foi transferida para outra pessoa. No entanto, nenhuma transação foi realizada naquele dia pela vítima. Além disso, a criptocarteira nem estava conectada a um computador!

E… Adeus!

E… Adeus!

Dissecando a carteira

A vítima comprou a carteira de hardware Trezor Model T, que é bastante popular. Ela usa código-fonte totalmente aberto – tanto para software quanto para hardware – e é baseada no famoso microcontrolador STM32F427.

O fornecedor da Trezor Model T adotou uma ampla gama de medidas de segurança que, em teoria, devem proteger o dispositivo de forma confiável contra invasores. Tanto a caixa quanto o invólucro da unidade são selados com adesivos holográficos, o microcontrolador está no modo de proteção de leitura de memória flash (RDP 2). O bootloader verifica a assinatura digital do firmware e, se for detectada alguma anomalia, exibe uma mensagem de firmware não original e apaga todos os dados da carteira. O acesso ao dispositivo e a confirmação das transações exigem um código PIN que, embora não proteja a chave mestra de acesso (base para gerar a seed mnemônica), é usado para criptografar o local de armazenamento. Opcionalmente, além do PIN, você pode proteger sua chave mestra de acesso com uma senha conforme o padrão BIP-39.

Não me use, eu sou vulnerável!

Não me use, eu sou vulnerável (Fonte)

À primeira vista, a carteira que examinamos parecia ser exatamente igual a uma genuína e não mostrava sinais de adulteração. A unidade foi comprada de um vendedor confiável por meio de um site de classificados popular, e os adesivos holográficos na caixa e na própria carteira estavam todos presentes e intactos. Ao inicializar no modo de atualização, a carteira exibia a versão de firmware 2.4.3 e a versão de bootloader 2.0.4.

Tela de atualização da carteira falsa

Tela de atualização da carteira falsa

Ao manusear a carteira, também nada parecia suspeito: todas as funcionalidades operaram como deveriam e a interface do usuário não era diferente da original. Porém, atentos ao furto ocorrido por meio dela, aprofundamos nossa investigação. E foi aí que nossas interessantes descobertas começaram.

Logo de cara, descobrimos que o fornecedor nunca havia lançado o bootloader versão 2.0.4. O histórico de alterações do projeto no GitHub afirma concisamente que esta versão foi “ignorada devido a dispositivos falsos”. Depois de uma declaração tão intrigante, nós apenas tivemos que pegar o bisturi e começar nossa dissecação, é claro…

O que raios é a versão 2.0.4?

O que raios é a versão 2.0.4?

A caixa era difícil de abrir: suas duas metades eram mantidas juntas com grandes quantidades de cola e fita adesiva dupla face, em vez da colagem ultrassônica usada nos Trezors originais de fábrica. Ainda mais curioso, dentro havia um microcontrolador totalmente diferente, mostrando vestígios de solda! Em vez do STM32F427 original, a unidade tinha um STM32F429 com mecanismos de proteção de leitura de memória flash do microcontrolador totalmente desativados (RDP 0 em vez de RDP 2 em Trezors genuínos).

Parecia perfeitamente verdadeira por fora; no entanto... (na esquerda da imagem está o original, na direita a falsificação)

Parecia perfeitamente verdadeira por fora; no entanto… (na esquerda da imagem está o original, na direita a falsificação)

Assim, a teoria da falsa criptocarteira se provou verdadeira: foi um ataque clássico à cadeia de suprimentos no qual uma vítima inocente compra um dispositivo já hackeado. Mas o mecanismo real de roubo de criptomoedas ainda não estava claro…

Firmware com Trojan

Não repetiremos as verdades comuns sobre carteiras criptográficas que já abordamos anteriormente, mas temos apenas um pequeno lembrete para você: uma carteira de criptoativos contém sua chave privada e quem conhece essa chave pode autenticação qualquer transação e gastar seu dinheiro. O fato de que invasores foram capazes de realizar uma transação enquanto a carteira offline estava escondida no cofre de seu proprietário significa que eles copiaram a chave privada depois que ela foi gerada ou… eles sabiam qual era ela o tempo todo!

Graças à proteção de leitura de memória flash desativada, que nossos invasores decidiram não ativar depois que o novo microcontrolador foi soldado, extraímos facilmente o firmware da carteira e, reconstruindo seu código, descobrimos que os invasores realmente conheciam a chave privada antecipadamente. Mas como?

O bootloader original e o firmware da carteira receberam apenas três modificações:

Primeiro, as verificações do bootloader para mecanismos de proteção e assinaturas digitais foram removidos, eliminando assim o problema da “tela vermelha” durante a verificação de originalidade do firmware na inicialização.

Em segundo lugar, no estágio de inicialização ou no processo de redefinição da carteira, a frase inicial gerada aleatoriamente foi substituída por uma das 20 frases iniciais geradas previamente, salvas no firmware hackeado. O proprietário usaria essa frase em vez de uma nova e exclusiva.

Em terceiro lugar, se o usuário optasse por definir uma senha de proteção master-seed adicional, apenas seu primeiro símbolo (a…z, A…Z, 0…9 ou ! para qualquer caractere especial) seria usado. Assim, junto com a opção sem senha, teriam apenas 64 combinações possíveis. Ou seja, para quebrar uma determinada carteira falsa, apenas 64×20 = 1280 variantes deveriam ser consideradas.

A carteira de criptografia falsa funcionaria normalmente, mas os invasores tinham controle total sobre ela desde o início. De acordo com o histórico de transações, eles não tinham pressa, pois podiam esperar um mês inteiro para disponibilidade de crédito e depois pegar o dinheiro. O proprietário não tinha proteção alguma: o jogo era perdido desde o momento em que o dinheiro chegava à carteira com Trojan.

Posicionamento do fabricante

Posicionamento da Trezor quanto nossa investigação

Posicionamento da Trezor quanto nossa investigação (Fonte)

Após a publicação de nossa investigação, em sua conta oficial no Twitter, a Trezor (fabricante deste modelo de criptocarteira) afirmou que esse incidente realmente ocorreu em 2022, quando várias carteiras físicas falsas de um revendedor russo não autorizado foram distribuídas no mercado, enfatizando que após esse caso nenhum outro incidente foi reportado.

Como prevenir a ameaça de dispositivo falso

Não é fácil diferenciar uma carteira física de criptomoedas falsa de uma real sem conhecimento e experiência adequados. A principal garantia é comprar sua carteira diretamente do fornecedor oficial e escolher modelos com versões especiais de microcontroladores protegidos (mesmo Trezors originais não são ideais nesse sentido: existem carteiras de outras marcas com chips mais protegidos e mecanismos extras de proteção).

Deve-se lembrar que mesmo uma carteira autêntica e não modificada pode ser vulnerável a várias ameaças. As medidas prioritárias incluem o uso de uma senha (se suportada por sua carteira) e, é claro, proteção para todos os computadores e smartphones.

Dicas