Investigadores de seguridad de NinjaLab han desarrollado una técnica de ataque a través de canales laterales que permite clonar claves ECDSA almacenadas en tokens criptográficos YubiKey 5 y otros dispositivos que utilizan la biblioteca criptográfica de Infineon. El ataque ha sido nombrado EUCLEAK y, además de los tokens con chips Infineon SLE78, como YubiKey 5, puede aplicarse a muchos otros sistemas con microcontroladores de Infineon, incluyendo los chips Infineon Optiga Trust M y Infineon Optiga TPM.
La posibilidad de llevar a cabo un ataque ha sido confirmada en la práctica para las claves YubiKey 5Ci y TPM en chips SLB96xx, mientras que para otros dispositivos es solo teórica. En las claves YubiKey 5, la vulnerabilidad ha sido corregida en la versión de firmware 5.7 mediante el cambio de la biblioteca criptográfica (la corrección solo es aplicable a los nuevos dispositivos, ya que en los dispositivos YubiKey ya lanzados no se prevé la posibilidad de actualizar el firmware). Se han desarrollado correcciones que bloquean la vulnerabilidad para la biblioteca Infineon, pero aún no se han implementado debido a que no han pasado la certificación.
Además de las claves YubiKey 5, el problema afecta potencialmente a los chips TPM (Trusted Platform Module) de computadoras portátiles de Lenovo, Dell y HP, enclaves aislados en smartphones de Samsung y OnePlus, billeteras criptográficas de hardware, smart cards, tarjetas SIM y chips EMV de tarjetas bancarias, así como chips de pasaportes electrónicos utilizados en China, India, Brasil, EE. UU. y algunos otros países asiáticos y europeos.
El peligro de clonar claves se ve compensado por las condiciones y la complejidad de llevar a cabo el ataque: el atacante debe obtener acceso físico a la clave y desarmar el dispositivo, deshaciéndose de la carcasa de plástico y de la cubierta protectora. Después de tal maniobra, puede restaurarse la carcasa en una impresora 3D, pero es bastante difícil hacer que las manipulaciones con la clave sean indetectables. Escanear la clave toma unos minutos, pero se requieren alrededor de una hora para desarmarla cuidadosamente y crear una nueva carcasa. Después del escaneo, el dispositivo puede devolverse a su propietario, pero para recrear la clave ECDSA privada a partir de los datos obtenidos, se necesitan alrededor de 24 horas más de cálculo (se observa que el proceso puede reducirse a una hora, automatizando las operaciones manuales y realizando optimizaciones).

Además del acceso físico a la llave, para llevar a cabo un ataque exitoso contra servicios con autenticación multifactor, el atacante necesita de alguna manera conocer el nombre de usuario y la contraseña del servicio, que utiliza la llave de hardware obtenida para la autenticación adicional. En el caso de la autenticación sin contraseña en los modos FIDO2 Passwordless o Passkey, es necesario reproducir un factor biométrico único (por ejemplo, la huella dactilar).
El método de ataque consiste en recrear las claves ECDSA almacenadas en el token a partir de datos obtenidos mediante el análisis de la señal electromagnética emitida por el token durante la formación de firmas digitales, correlacionando con la información sobre la clave efímera de ECDSA, que es suficiente para recuperar la clave secreta utilizando métodos de aprendizaje automático. En el caso de YubiKey, para iniciar operaciones de firma digital es necesario conocer el nombre de usuario y la contraseña de uno de los servicios en los que se utiliza el token como elemento adicional de autenticación.
El problema se debe al uso en la biblioteca Infineon de un algoritmo inseguro para el cálculo del inverso módulo, cuya duración depende de los valores de entrada (para diferentes vectores se observa un tiempo de cálculo variable del inverso módulo). Esta particularidad permite, a partir del análisis de los cambios en la señal, extraer información sobre bits individuales durante la ejecución de operaciones con el vector de inicialización. En el caso de ECDSA, conocer incluso unos pocos bits de información sobre el vector de inicialización (nonce) es suficiente para llevar a cabo un ataque que recupere secuencialmente toda la clave privada. Para recrear con éxito la clave, se requiere interceptar la actividad al generar aproximadamente 40 firmas digitales.
Para el análisis de la emisión electromagnética durante la generación de firmas digitales, se requiere contar con equipo profesional con un costo superior a 10 mil dólares. Por ejemplo, durante el proceso del ataque, los investigadores utilizaron el sistema de medición Langer ICR HH 500-6 ($2300), que se aplica para pruebas de compatibilidad electromagnética de circuitos integrados, un amplificador Langer BT 706, un micromanipulador Thorlabs PT3/M ($1000) con una resolución de 10 µm, un microscopio digital Dino-Lite AM4113TL ($450) y un osciloscopio de cuatro canales PicoScope 6424E ($7500) con una resolución de ADC de 8 bits.

El escenario de ataque a los tokens YubiKey 5 consta de los siguientes pasos:
- Determinar el nombre de usuario y la contraseña de la cuenta protegida por el token, por ejemplo, mediante un ataque de phishing.
- Obtener acceso físico al token sin ser detectado.
- Analizar la emisión electromagnética del token durante las operaciones de autenticación usando el nombre de usuario y la contraseña obtenidos previamente.
- Devolver el token a la víctima.
- Recrear la clave privada ECDSA asociada a la cuenta investigada a través del análisis de la información interceptada sobre la emisión electromagnética.
- Crear un clon del token que permita acceder a la cuenta sin que la víctima se dé cuenta, sin necesidad del token original.
Fuente: opennet.ru
