Explicado un poco más en detalle, el proceso de medición del TPM verifica la integridad del sistema al arrancar, utilizando los Registros de Configuración de Plataforma (PCR). Cada componente crítico del sistema (BIOS, bootloader, etcétera) se mide, es decir, se calcula un hash de su configuración y este hash se almacena en las PCR. Sólo si los valores de las PCR coinciden con los esperados, el TPM libera la clave de cifrado a Windows.
Vulnerabilidad en la Comunicación TPM-CPU
La vulnerabilidad que se ha conseguido explotar, reside en la comunicación no cifrada entre el TPM y el CPU. Cuando el sistema arranca y verifica la integridad del hardware, si todo está ok, el TPM envía la clave de cifrado a la CPU en texto plano.
En la explotación se utiliza una Raspberry Pi Pico y pogo pins, contactos que permiten crear una conexión física temporal con los puntos de prueba o los pines de un circuito impreso. El objetivo es acceder físicamente al bus LPC (Low Pin Count), un bus de comunicación utilizado por el TPM para transmitir datos al CPU. Se seleccionó este bus por su simplicidad y la facilidad con la que se pueden interceptar los datos.
El primer paso es un proceso de ingeniería inversa y análisis detallado del protocolo LPC para entender cómo se transmiten los datos entre el TPM y el CPU. Una vez que se analizado, creamos un firmware personalizado para el Raspberry Pi Pico, que permita capturar y decodificar las señales transmitidas a través del bus LPC durante el proceso de arranque del sistema. Esta es quizás la parte más compleja de todo el ataque ya que requiere un alto conocimiento de electrónica para poder crear ese firmware.
Una vez que el dispositivo está correctamente conectado al bus LPC mediante los pogo pins, actúa como un "sniffer" de bus, escuchando y registrando la comunicación entre el TPM y el CPU. Al interceptar esta comunicación, el firmware del Raspberry Pi Pico analiza los datos capturados para identificar y extraer la clave de cifrado de Bitlocker enviada en texto plano. Y ya lo tenemos, a partir de ahora con esta clave podemos descifrar la información del disco. Todo el material utilizado para este ataque puedes encontrarlo aquí.
Las implicaciones de este ataque
La capacidad de descifrar Bitlocker a través de este ataque tiene consecuencias realmente significativas y críticas en la seguridad de la información almacenada en dispositivos que confían en esta tecnología para la protección de datos (que son muchos, ya que es el que se usa habitualmente en Windows).
Moraleja: el hardware es importante en el pentesting los ataques físicos, aunque requieren acceso al hardware objetivo, pueden llevarnos a descubrir vulnerabilidades críticas que no serían tan evidentes mediante técnicas de software. El bajo costo y la disponibilidad de herramientas como el Raspberry Pi Pico (o el conocido Flipper Zero) hacen que tengamos acceso a técnicas de pentesting más avanzadas, permitiendo a los investigadores de ciberseguridad explorar nuevas vías de ataque y defensa.
El pentesting usando hardware es un aviso claro: la seguridad de los sistemas informáticos no solo depende del software y la configuración, sino también de la integridad física y la seguridad del hardware
subyacente. En el contexto de la seguridad informática, es vital
considerar y protegerse contra ataques físicos, implementando medidas
como el cifrado de disco con autenticación previa al arranque y la
protección de los componentes de hardware críticos.
Ya para terminar, lo que realmente llama la atención de este ataque es la ingeniosidad y la simplicidad del mismo contra Bitlocker,
una técnica de cifrado que hasta hoy pensábamos que era segura y que
realmente lo sigue siendo, porque como hemos podido comprobar, el
problema está en la implementación no en el algoritmo como tal. La
innovación en herramientas de pentesting, especialmente en
el ámbito del hardware, juega un papel crucial en la identificación y
mitigación de vulnerabilidades de seguridad que de otra forma sería
imposible detectar, asegurando la protección efectiva de los datos en un
panorama de amenazas en constante evolución.
Fuente | Un informático en el lado del mal