A vulnerabilidade (CVE-2021-3011) permite recuperar a chave de criptografia primária e ignorar a autenticação de dois fatores. Especialistas em segurança do NinjaLab explicaram como o possível ataque de hacker funciona para tokens Google Titan baseados no chip NXP A700X, mas teoricamente o mesmo esquema de hacking é relevante para tokens criptográficos Yubico (do YubiKey) e Feitian usando um chip semelhante.
Vamos falar sobre como funciona o ataque e se você pode continuar a confiar nas chaves físicas de criptografia.
Sobre o Google Titan
Esta chave de segurança está no mercado desde 2018. É um dispositivo MFA de hardware usado para verificar fisicamente a identidade de um usuário. As chaves são comumente usadas no lugar de métodos de autenticação multifatoriais menos seguros, como códigos de verificação enviados por SMS ou e-mail.
A peculiaridade do Google Titan é que, mesmo após receber uma senha de e-mail, os invasores não conseguirão acessar seus dados sem uma chave física. Os pesquisadores do NinjaLab também observaram o seguinte: sua chave estará em perigo apenas se for roubada ou perdida.
O Google Titan vem em dois sabores no mercado. Um é um pouco semelhante a uma unidade flash USB - o microchip é "nu", a chave funciona via USB e NFC. A segunda opção é semelhante às chaves do carro na forma de um chaveiro e funciona via Bluetooth.
Calcule a partir da radiação eletromagnética
Desde o início do Google Titan, os especialistas do NinjaLab suspeitam que as chaves podem ser vulneráveis a ataques por meio de terceiros ou canais laterais. Isso inclui, entre outras coisas, ataques baseados nos resultados do monitoramento da radiação eletromagnética que emana dos dispositivos durante a operação. Sua análise ajuda a identificar padrões de trabalho e reunir informações úteis para hackers.
Ao observar a radiação eletromagnética durante a geração de assinatura digital (ECDSA), os especialistas em segurança atacaram e clonaram com sucesso o elemento-chave seguro - o chip NXP A700X. O fato de o chipset usado pelo Google Titan ter se tornado a base para outras chaves de segurança também levanta preocupações sobre outros produtos no mercado.
Entre os produtos afetados pelo ataque, foram observados os seguintes:
- Chave de segurança Titan do Google,
- Yubico Yubikey Neo,
- Feitian FIDO NFC USB-A / K9,
- Feitian MultiPass FIDO / K13,
- Feitian ePass FIDO USB-C / K21,
- Feitian FIDO NFC USB-C / K40,
- NXP J3D081_M59_DF,
- NXP J3A081,
- NXP J2E081_M64,
- NXP J3D145_M59,
- NXP J3D081_M59,
- NXP J3E145_M64,
- NXP J3E081_M64_DF.
A equipe de resposta de segurança da NXP confirmou que todas as bibliotecas de criptografia NXP ECC anteriores à versão 2.9 para produtos P5 e A7x são vulneráveis a ataques.
Como o ataque é realizado
Deve-se notar de imediato que a chave pode ser hackeada, mas ninguém diz que é fácil de fazer. Assim, o processo de hackeamento descrito nas 60 páginas do relatório NinjaLab pode se tornar a base para uma operação no espírito dos filmes sobre o Agente 007.
Tudo começa com um simples ataque, por exemplo, um e-mail de phishing. O objetivo do invasor é obter o nome de usuário e a senha da conta de destino. Esta é a parte mais fácil da operação.
As credenciais são inúteis sem a posse da chave de segurança, como discutimos acima. Isso significa que então o hacker terá que se preocupar em roubar a chave de segurança do dono, e por um determinado período de tempo e para que ele não perceba a perda. Afinal, se o proprietário perceber a falta de uma chave, poderá revogar a chave ou registrar uma nova, o que anulará todos os esforços dos fraudadores.
O roubo bem-sucedido da missão: token impossível não termina. Além disso, o invasor se depara com uma série de restrições.
Para usar a chave de segurança Titan do Google, primeiro você precisa abrir a caixa do dispositivo. Como o invasor ainda precisa devolver a chave à vítima inocente (de preferência em sua forma original), a autópsia deve ser feita com muito cuidado.
Os especialistas do NinjaLab amaciam o plástico com uma pistola de ar quente e dividiam a chave com um bisturi. Isso deve ser feito com cuidado para não danificar a placa de circuito impresso. Como você pode ver na imagem abaixo, o caso-chave ainda perde sua apresentação, então há uma grande probabilidade de que a situação seja salva apenas com a impressão de um novo caso em uma impressora 3D. Os especialistas do NinjaLab levaram cerca de 4 horas para desmontar e montar o token.
Demorou mais 6 horas para recuperar a chave de uma conta FIDO U2F. Os pesquisadores mostraram que a radiação eletromagnética se correlaciona com as informações da chave efêmera do ECDSA, o que é suficiente para revelar a chave secreta usando técnicas de aprendizado de máquina. Para recuperar a chave secreta no token Google Titan, basta analisar cerca de 6.000 operações de assinatura digital com base na chave ECDSA usada para autenticação FIDO U2F de dois fatores ao se conectar a uma conta Google.
Mas, novamente, tudo isso é possível apenas se a vítima inocente continuar a usar a chave revelada pelo invasor.
Parece que tudo isso vai assustar qualquer hacker que não queira bancar o espião. Mas isso não é tudo. O ataque também requer equipamentos bastante caros, custando cerca de US $ 13.000, habilidades em engenharia reversa de microcircuitos e software especial que não pode ser encontrado no domínio público.
Entre os equipamentos necessários:
- medição do complexo Langer ICR HH 500-6, usado para testar microcircuitos para compatibilidade eletromagnética,
- amplificador Langer BT 706,
- Micromanipulador Thorlabs PT3 / M com resolução de 10 μm,
- osciloscópio de quatro canais PicoScope 6404D.
Qual é o próximo
Apesar da vulnerabilidade identificada, os especialistas do NinjaLab observam que as chaves físicas MFA ainda são mais eficazes do que as alternativas. Pelo menos porque você precisa tentar muito quebrá-los. E não estamos falando sobre hackeamento em massa de pessoas "aleatórias", mas sobre ataques direcionados a uma vítima selecionada. ou seja, se o seu correio não armazena dados classificados do Pentágono, é improvável que você sofra com essa vulnerabilidade.
O Ninja Labs acrescenta que medidas de segurança adequadas podem ajudar a limitar os danos potenciais causados por uma chave de segurança clonada. As medidas propostas incluem a implementação de um sistema de MFA que pode detectar a chave clonada e bloquear a conta afetada. Por exemplo, o mecanismo de contador descrito na especificação FIDO U2F .
Sua essência é que o token rastreie as operações realizadas e transmita os valores ao servidor, que compara as informações transmitidas com os valores salvos na operação anterior com o mesmo token. Se o valor transferido for menor que o valor armazenado, o mecanismo conclui que existem vários dispositivos com um par de chaves idêntico. O mecanismo de contador já é usado para autenticação nos serviços do Google e permite que você bloqueie contas ao detectar atividades de tokens clonados.
E, claro, vale lembrar que toda a operação começa com ataques simples de engenharia social. Isso significa que a atenção nesse estágio reduzirá significativamente as chances de sucesso dos invasores.