A vulnerabilidade que expõe os cartões Tangem a ataques de força bruta

A equipe de segurança da Ledger, o Ledger Donjon, publicou um estudo aprofundado que identificou vulnerabilidades graves na Tangem Wallet, conhecida como a “carteira sem tela”.

A análise revela falhas que permitem a execução de ataques de força bruta de forma acelerada, comprometendo a proteção de usuários que utilizam senhas fracas ou padrões previsíveis. Como não é possível atualizar os cartões Tangem já emitidos, os riscos permanecem ativos para quem utiliza o produto.

Neste artigo traduzido, apresentamos na íntegra os achados do Ledger Donjon, que detalham o processo de investigação, a técnica explorada e as implicações para a segurança dos usuários da Tangem.

Resumo (TL;DR)

O Ledger Donjon descobriu um novo ataque online de força bruta contra os cartões Tangem que explora vulnerabilidades na implementação do canal seguro, utilizando a técnica chamada tearing. Isso permite que atacantes contornem o mecanismo de atraso de segurança do cartão após tentativas de autenticação falhas, possibilitando cerca de 2,5 tentativas de senha por segundo, o que acelera significativamente o tempo necessário para quebrar senhas, especialmente as mais fracas. Essas vulnerabilidades não podem ser corrigidas nos cartões já existentes, pois eles não são atualizáveis. A recomendação é que os usuários utilizem senhas fortes, com pelo menos 8 caracteres contendo números, letras e símbolos.

Todas as descobertas foram divulgadas de forma responsável, com prazo de 90 dias. A avaliação da Tangem sobre o relatório do Donjon concluiu que os achados não seriam classificados como vulnerabilidades. Em sua opinião, o cenário de ataque proposto não representa um risco significativo.

Este artigo detalha o processo de pesquisa do Donjon sobre o recurso de atraso de segurança dos cartões Tangem, examinando sua proteção, introduzindo os ataques de tearing e descrevendo tanto as tentativas malsucedidas quanto a descoberta da vulnerabilidade final.

Proteção contra ataques de força bruta na Tangem

O cartão Tangem inclui um mecanismo de proteção contra ataques de força bruta. Após 6 tentativas incorretas de senha, é aplicado um atraso de segurança de 1 segundo antes que a próxima tentativa seja permitida. Cada tentativa incorreta subsequente aumenta esse atraso em 1 segundo adicional, até um máximo de 45 segundos.

Consequentemente, testar todas as combinações possíveis em um cartão Tangem protegido por um PIN de 4 dígitos levaria cerca de 5 dias. Para um PIN de 6 dígitos, esse tempo se estenderia para aproximadamente 520 dias, e para um PIN de 8 dígitos, poderia chegar a cerca de 143 anos.

Como a senha precisa ter no mínimo 4 caracteres alfanuméricos, o ataque de força bruta se torna muito mais difícil — a menos que o usuário escolha uma senha fraca, como um PIN de 4 dígitos ou uma senha comum, por exemplo: “password”, “123456” etc.

Esse mecanismo de proteção normalmente depende de um contador interno que registra falhas de autenticação. No entanto, esse contador pode ser vulnerável a ataques de hardware, como injeção de falhas, além de ataques mais simples, como o tearing, que explora o momento em que o incremento/decremento do contador ocorre após a falha de autenticação.

O que é um ataque de “Tearing”?

Um tearing attack — ou ataque de desconexão do cartão — explora o modo como sistemas embarcados, como os usados em smart cards, se comportam quando a energia é cortada abruptamente durante uma operação, impedindo sua conclusão. Um dos objetivos pode ser “desconectar” o cartão da fonte de energia antes que ele registre um evento, como uma tentativa de autenticação falha. Esse tipo de ataque básico é comumente testado em smart cards e elementos seguros.

Ele afeta principalmente a memória flash do cartão ou outros tipos de armazenamento não volátil, onde ficam informações cruciais de estado, como o contador de falhas de autenticação. Se a energia for interrompida antes de o cartão conseguir gravar o valor atualizado desse contador na memória persistente, a atualização não será feita. Isso pode permitir que um atacante realize tentativas ilimitadas de autenticação sem acionar atrasos de segurança ou mecanismos de bloqueio, viabilizando ataques de força bruta que, de outra forma, seriam impossíveis.

O sucesso desse tipo de ataque depende principalmente de sincronização precisa e do entendimento dos ciclos internos de processamento do dispositivo.

Esses ataques são bem conhecidos dentro da comunidade de segurança de cartões sem contato. A plataforma Java Card, usada com frequência em cartões NFC, inclui proteções integradas como transações atômicas para mitigar essa vulnerabilidade. No entanto, é essencial que o applet em execução faça chamadas à API fornecida pela plataforma. A falha em adotar essa prática pode deixar o cartão vulnerável.

Por exemplo, uma estratégia para proteger o mecanismo de autenticação contra ataques de tearing consiste em incrementar o contador de falhas antes de realizar a verificação e redefini-lo apenas em caso de autenticação bem-sucedida.

Descoberta da Vulnerabilidade

Durante a avaliação, a equipe passou a se interessar pelo mecanismo de atraso de segurança. Esse interesse surgiu devido à sua ativação frequente após múltiplos erros, além da prática comum em carteiras de hardware de apagar a seed do usuário após três tentativas de autenticação falhas.

No caso dos cartões Tangem, a seed não pode ser apagada sem o conhecimento da senha do cartão, tornando o mecanismo de atraso de segurança a principal forma de proteção.

Bypass do Atraso de Segurança

A equipe utilizou um Proxmark 3 rdv4 para determinar exatamente quando o contador relacionado ao atraso de segurança é atualizado. Isso foi testado tentando todos os possíveis tempos de tear-off.

Para um determinado tempo de tear-off, se um atraso de segurança for acionado, significa que o contador relacionado ao atraso de segurança foi atualizado com sucesso pelo cartão. Por outro lado, se nenhum atraso de segurança for acionado, significa que o cartão não teve tempo suficiente para atualizar o contador.

O diagrama a seguir ilustra a frequência de ativações do atraso de segurança ao longo de cinco tentativas, especificamente após sete tentativas de autenticação falhas para um comando de leitura de carteira enviado ao cartão.

A equipe determinou que, se um cartão for desligado em menos de aproximadamente 6700 μs após o envio do comando, nenhum atraso de segurança será ativado. Durante os testes, também foi constatado que esse tempo pode variar em até 1000 μs, dependendo do cartão e da sua temperatura.

No entanto, as plataformas Java Card normalmente oferecem APIs de autenticação projetadas para resistir a esse tipo de ataque. Isso sugere, com alta probabilidade, que a verificação da senha ocorre após o tempo crítico de tearing (na área azul do diagrama), garantindo que o contador seja corretamente atualizado antes da autenticação. Para confirmar se a implementação segue as melhores práticas de segurança ou se é vulnerável ao tearing, é necessário verificar se é possível identificar a correção da senha inserida antes do período de tear-off (na área laranja do diagrama), evitando assim o atraso de segurança.

Como tanto a autenticação quanto a atualização do contador de atraso de segurança ocorrem antes da resposta do cartão, o desligamento (tear-off) acontece antes de recebermos a resposta ao comando enviado. Portanto, o objetivo é identificar uma diferença perceptível na área laranja do diagrama que indique se a autenticação foi bem-sucedida ou falhou.

Análise das Emissões Eletromagnéticas do Cartão

A equipe optou por medir o campo eletromagnético emitido pelo chip durante o processamento dos comandos, já que é bastante difícil obter o consumo de energia de cartões sem contato.

Como a comunicação do cartão depende de um campo magnético forte o suficiente para energizá-lo, a equipe decidiu externalizar a antena do cartão. Essa abordagem protege o amplificador de sinal e reduz o ruído gerado pelo campo do leitor, concentrando-se apenas nas emissões eletromagnéticas do chip. Para isso, foi necessário abrir o plástico (com um bisturi ou Dremel), destacar a antena do cartão e soldar a própria antena nos dois pads usando um fio fino que reproduz a forma do cartão.

Observação: neste ponto também é possível remover o painel metálico fino para expor o silício, deixando a amostra pronta para injeção de falhas a laser.

Na imagem abaixo, é possível ver a configuração geral usada neste ataque, bem como um traço EM (eletromagnético) no osciloscópio, com o tear-off ocorrendo no final do traço.

Agora, a equipe pode adquirir milhares de traços e tentar distinguir uma autenticação correta de uma incorreta enquanto realiza o tear-off do cartão para evitar que qualquer atraso de segurança seja acionado.

A tentativa da equipe de atacar a autenticação do comando “read wallet” foi malsucedida, mas ainda havia outras abordagens a explorar. Dada a ausência de acesso ao código-fonte e o ruído persistente do campo do leitor, não é possível confirmar de forma definitiva a vulnerabilidade da implementação a esse tipo de ataque, embora isso não pareça ser o caso.

Canal supostamente seguro

Durante a avaliação, a equipe encontrou uma implementação de canal seguro. O objetivo de um canal seguro é garantir que os dados trocados entre o smartphone e o cartão (por exemplo, a senha do cartão) não possam ser interceptados por terceiros próximos.

Embora um canal seguro esteja implementado tanto no aplicativo quanto no cartão, ele nunca é ativado. Isso é lamentável, já que a equipe conseguiu ativá-lo alterando um único valor booleano no aplicativo para smartphone.

No entanto, há um detalhe importante sobre a implementação do canal seguro: a chave de encriptação é derivada da senha do usuário. Isso significa que, ao bruteforçar a chave de encriptação do canal seguro, é possível também bruteforçar a senha do usuário.

Ao aprofundar essa funcionalidade, a equipe identificou os seguintes problemas na implementação do canal seguro do cartão:

  • É suscetível ao tearing, permitindo ao atacante desligar o cartão antes que o tratamento de erro ocorra quando o cartão falha ao descriptografar dados por causa de uma senha incorreta. Consequentemente, o atraso de segurança nunca é acionado.

  • Ao processar um comando criptografado, as emissões eletromagnéticas do cartão variam conforme a correção da senha (usada na criptografia dos comandos), possibilitando distinguir senhas corretas de incorretas antes do tear-off.

É lamentável que um ataque seja possível por causa de um recurso de segurança que a Tangem não está utilizando.

Exploração da Vulnerabilidade

Para explorar essas falhas na implementação do canal seguro, a equipe utilizou exatamente as mesmas técnicas mencionadas durante a tentativa fracassada de atacar a autenticação por código de acesso ao enviar o comando “read wallet”.

Primeiro, a equipe determinou o tempo máximo de tear-off antes de acionar o atraso de segurança ao usar um canal seguro com a senha incorreta do cartão. Para isso, seguiu os mesmos passos descritos na seção Bypass do Atraso de Segurança.

Em seguida, a equipe adquiriu traços eletromagnéticos de comandos enviados pelos canais seguros estabelecidos com senhas corretas e incorretas, usando a configuração descrita na seção Análise das Emissões Eletromagnéticas do Cartão.

No diagrama anterior, cada cor (verde, azul, laranja, vermelho, roxo) representa o traço de uma execução. Os traços continuam muito ruidosos (não é possível identificar um padrão que aponte o que o chip estaria fazendo em um momento específico). Porém, é possível observar claramente que, em certo ponto (ver “área de interesse”), o chip realiza muito menos trabalho, reduzindo assim as emissões eletromagnéticas. Em especial, quando há uma troca bem-sucedida de comando pelo canal seguro (ou seja, quando a senha do cartão está correta), aparecem muitos mais picos em comparação com os traços de canais seguros que falharam.

Graças ao ataque de tearing, a equipe agora consegue distinguir trocas de canal seguro bem-sucedidas das malsucedidas sem acionar os atrasos de segurança. Se o cartão descriptografar o comando seguro, a senha testada é a correta. Esse processo pode ser repetido com senhas diferentes, limitado apenas pelo tempo de processamento do cartão.

O custo estimado para montar esse equipamento de ataque é inferior a US$ 5.000 (não é necessário um osciloscópio de ponta).

Devido à natureza de caixa-preta da análise, identificar a causa raiz exata é desafiador. A explicação mais plausível é que o applet atualiza o contador de falhas de autenticação apenas após uma falha de descriptografia, o que deixa tempo para o tearing e para a discriminação dos traços.

Impactos

Sem políticas de senha robustas, usuários que adotam senhas fracas correm risco considerável, pois não podem confiar no mecanismo de atraso de segurança.

É importante notar que esse ataque exige acesso físico a um cartão Tangem. Embora o custo de montagem do equipamento seja relativamente baixo — tornando o ataque acessível a um número maior de agentes — a necessidade de proximidade física com o cartão alvo continua sendo um pré-requisito.

Essa vulnerabilidade permite uma taxa de força bruta de aproximadamente 2,5 senhas por segundo, um aumento significativo em relação à taxa de segurança habitual de 1 senha a cada 45 segundos. Isso acelera a quebra de senhas por mais de cem vezes quando comparado à dependência do mecanismo de atraso de segurança. Otimizações adicionais e hardware especializado podem elevar ainda mais essa taxa de tentativa.

Formato da senhaCom o ataqueSem o ataque
PIN de 4 dígitos~1 hora~5 dias
PIN de 6 dígitos~4,5 dias~520 dias
PIN de 8 dígitos~460 dias~143 anos

Com esse ataque, o tempo necessário para comprometer a senha de um cartão Tangem é reduzido de forma significativa, mas continua sendo difícil quebrar por força bruta uma senha aleatória de 8 caracteres alfanuméricos. Importa lembrar que o ataque de força bruta simples — tentar todas as combinações possíveis — raramente é o vetor principal na prática real. Isso ocorre porque usuários normalmente não escolhem senhas verdadeiramente aleatórias; precisam lembrar delas.

Em vez disso, atacantes costumam usar ataques por dicionário, que exploram listas pré-compiladas de senhas comuns, palavras de dicionário, senhas vazadas em breaches ou padrões comuns (por exemplo, “password123”, “qwerty”). Usando essas listas, o atacante realiza uma força bruta otimizada, muito mais eficiente contra senhas escolhidas por humanos do que uma busca puramente aleatória.

Essa vulnerabilidade poderia permitir que um atacante tentasse um milhão de senhas comuns em cerca de 4,5 dias. Isso aumenta muito o risco para usuários que usam senhas fracas ou recorrentes, já que o tempo necessário para comprometer o cartão torna-se muito menor do que as estimativas baseadas em senhas perfeitamente aleatórias.

Conclusão — posição da KriptoBR

Resumo direto: não recomendamos a compra, o uso nem atribuímos qualquer vantagem de segurança a produtos sem tela como a Tangem Wallet. A impossibilidade de conferir detalhes das operações em um ambiente visível e controlado elimina uma camada crucial de defesa — isso sempre foi um risco e este estudo apenas confirma o que alertávamos.

O relatório do Ledger Donjon mostra que falhas na implementação do canal seguro, combinadas com técnicas de tearing, permitem acelerar ataques de força bruta a taxas impraticáveis para quem confia apenas no atraso de segurança. Pior: cartões não atualizáveis tornam a correção impossível no aparelho já emitido. Resultado: risco real para quem usa senhas fracas ou guarda valores relevantes.

Reforcem políticas de senhas fortes, nunca tratem um dispositivo sem tela como solução para grandes valores e prefiram carteiras físicas com tela quando a segurança for prioridade. Se usar Tangem hoje, troque para uma senha forte imediatamente e considere migrar fundos de maior valor para dispositivos realmente seguros que permitam verificação local das operações.

Na KriptoBR encaramos segurança como pilar: somos a maior revenda oficial de carteiras físicas do mundo e só comercializamos produtos que, na prática, possibilitem ao usuário confirmar e proteger suas operações. Seguimos comprometidos em educar, testar e oferecer alternativas seguras — e continuaremos cobrando melhorias dos fabricantes quando o produto não entrega a proteção necessária.

Proteja seus ativos. Se precisar de orientação prática sobre migração, escolha de dispositivo ou políticas de senha, a KriptoBR está à disposição.

Compartilhe este artigo nas redes sociais

Veja outras categorias

Artigos relacionados

CUPOM

EXCLUSIVO

TA ON!

Utilize o cupom: CAMISETAGRÁTIS, para compras acima de
R$ 799 e ganhe até R$ 79,90 de desconto em qualquer camiseta.