O YubiKey 5, o token de hardware mais utilizado para autenticação em dois fatores com base no padrão FIDO, contém uma falha criptográfica que torna o dispositivo vulnerável à clonagem quando um invasor ganha acesso físico temporário a ele, afirmaram pesquisadores na terça-feira.
A falha criptográfica, conhecida como um canal lateral, reside em um microcontrolador utilizado em diversos outros dispositivos de autenticação, incluindo cartões inteligentes usados em bancos, passaportes eletrônicos e no acesso a áreas seguras. Embora os pesquisadores tenham confirmado que todos os modelos da série YubiKey 5 podem ser clonados, eles não testaram outros dispositivos que utilizam o microcontrolador, como o SLE78 fabricado pela Infineon e microcontroladores sucessores conhecidos como Infineon Optiga Trust M e Infineon Optiga TPM. Os pesquisadores suspeitam que qualquer dispositivo que utilize um desses três microcontroladores e a biblioteca criptográfica Infineon contenha a mesma vulnerabilidade.
Assistir vídeo
Patch não é possível
A fabricante do YubiKey, Yubico, emitiu um aviso em coordenação com um relatório detalhado da NinjaLab, a empresa de segurança que fez engenharia reversa da série YubiKey 5 e criou o ataque de clonagem. Todos os YubiKeys que executam firmware anterior à versão 5.7 – lançada em maio e que substitui a biblioteca de criptografia da Infineon por uma personalizada – são vulneráveis. Atualizar o firmware na chave YubiKey não é possível. Isso deixa todos os YubiKeys afetados permanentemente vulneráveis.
“Um invasor poderia explorar esse problema como parte de um ataque sofisticado e direcionado para recuperar chaves privadas afetadas”, confirmou o aviso. “O atacante precisaria ter posse física do YubiKey, Security Key ou YubiHSM; conhecimento das contas que desejam atacar; e equipamentos especializados para realizar o ataque necessário. Dependendo do caso de uso, o atacante também pode precisar de conhecimentos adicionais, incluindo nome de usuário, PIN, senha da conta ou chave de autenticação.”
Os canais laterais são o resultado de pistas deixadas em manifestações físicas, como emissões eletromagnéticas, caches de dados ou o tempo necessário para concluir uma tarefa que vaza segredos criptográficos. Neste caso, o canal lateral é o tempo levado durante um cálculo matemático conhecido como inversão modular. A biblioteca de criptografia Infineon falhou em implementar uma defesa comum contra canais laterais conhecida como tempo constante, uma vez que realiza operações de inversão modular envolvendo o Algoritmo de Assinatura Digital de Curva Elíptica. O tempo constante garante que as operações criptográficas sensíveis ao tempo sejam uniformes, em vez de variáveis, dependendo das chaves específicas.
Mais precisamente, o canal lateral está localizado na implementação Infineon do Algoritmo Estendido de Euclides, um método para, entre outras coisas, calcular a inversão modular. Ao usar um osciloscópio para medir a radiação eletromagnética enquanto o token está se autenticando, os pesquisadores podem detectar pequenas diferenças de tempo de execução que revelam a chave ECDSA efêmera de um token, também conhecida como nonce. Uma análise adicional permite que os pesquisadores extraiam a chave ECDSA secreta que sustenta toda a segurança do token.
No relatório de terça-feira, o cofundador da NinjaLab, Thomas Roche, escreveu:
“No trabalho atual, a NinjaLab revela uma nova vulnerabilidade de canal lateral na implementação do ECDSA da Infineon 9 em qualquer família de microcontroladores de segurança do fabricante. Essa vulnerabilidade reside na chave efêmera do ECDSA (ou nonce) inversão modular e, mais precisamente, na implementação Infineon do Algoritmo Estendido de Euclides (EEA para abreviar). Para o nosso conhecimento, esta é a primeira vez que uma implementação do EEA é mostrada como vulnerável à análise de canal lateral (ao contrário da versão binária do EEA). A exploração dessa vulnerabilidade é demonstrada através de experimentos realistas e mostramos que um adversário só precisa ter acesso ao dispositivo por alguns minutos. A fase offline nos levou cerca de 24 horas; com mais trabalho de engenharia no desenvolvimento do ataque, levaria menos de uma hora.”
Após uma longa fase de entendimento da implementação da Infineon por meio de análise de canal lateral em um cartão inteligente JavaCard aberto da Feitian 10, o ataque é testado em um YubiKey 5Ci, um token de hardware FIDO da Yubico. Todos os produtos da série YubiKey 5 (antes da atualização do firmware 5.7 de 6 de maio de 2024) são afetados pelo ataque. Na verdade, todos os produtos que dependem do ECDSA da biblioteca criptográfica Infineon em um microcontrolador de segurança Infineon são afetados pelo ataque. Estimamos que a vulnerabilidade existe há mais de 14 anos nos chips de segurança top da Infineon. Esses chips e a parte vulnerável da biblioteca criptográfica passaram por cerca de 80 avaliações de certificação CC do nível AVA VAN 4 (para TPMs) ou AVA VAN 5 (para os demais) de 2010 a 2024 (e um pouco menos de 30 manutenções de certificado).