Al utilizar un paquete 'shim-signed' legítimo de una distribución de Linux como Ubuntu, un atacante puede evadir las protecciones de Secure Boot en laptops corporativas que ya confían en los certificados de terceros de Microsoft. Esta técnica permite que un sistema operativo firmado por el usuario sea autorizado por el firmware del hardware, subvirtiendo eficazmente las comprobaciones de integridad destinadas a prevenir el software de arranque no autorizado.
El papel del Shim en Secure Boot
Secure Boot funciona comprobando la firma del sistema operativo frente a una base de datos de llaves aceptadas. Debido a que las distribuciones de Linux actualizan sus kernels y cargadores de arranque con frecuencia, utilizan un 'shim', una pequeña pieza de software firmada por Microsoft que gestiona la transición entre el firmware y el cargador de arranque de Linux.
El shim es confiable por la BIOS porque lleva una firma válida de Microsoft. Una vez que el shim se está ejecutando, proporciona un mecanismo llamado registro MOK (Machine Owner Key), que permite a un usuario registrar manualmente nuevas llaves en la base de datos de confianza del sistema.
“La razón real por la que existe el secure boot es la siguiente: Garantizar la integridad del sistema operativo en arranque.”
— Leo Smith - Not So Secure Boot
Tomar prestada la confianza para registrar llaves personalizadas
La vulnerabilidad reside en el hecho de que el proceso de registro MOK a menudo puede ser accedido sin una contraseña de BIOS. Un atacante puede utilizar un archivo 'shim-signed' legítimo de una distribución como Ubuntu o Fedora para satisfacer la comprobación inicial de Secure Boot.

Este apoyo visual respalda la afirmación de que el proceso de registro MOK a menudo puede ser accedido sin una contraseña de BIOS.
Una vez que el shim de confianza está en ejecución, el atacante puede activar el software de registro MOK. Esta interfaz les permite seleccionar y registrar su propio certificado personalizado, el cual han utilizado para firmar su propio kernel malicioso o no autorizado. Tras el registro, el hardware trata el sistema operativo personalizado del atacante como un componente de confianza de la cadena de arranque.

Esta imagen ilustra la interfaz del software de registro MOK descrita en el texto.
Limitaciones y defensas corporativas
Si bien esta técnica permite arrancar un sistema operativo personalizado, no otorga automáticamente acceso a los datos del sistema operativo existente si dichos datos están protegidos por cifrado de disco sellado por TPM. Si la llave de cifrado del disco está vinculada a Registros de Configuración de Plataforma (PCR) específicos, el TPM se negará a liberar la llave porque la cadena de arranque ha cambiado.
Además, muchos entornos corporativos modernos utilizan herramientas de gestión como Microsoft Intune o Autopilot para bloquear los controles de UEFI. Si estos controles se aplican estrictamente, la interfaz de registro MOK puede ser inaccesible, evitando que el ataque tenga éxito en flotas corporativas de alta seguridad.
Qué dicen los lectores de Hacker News
- Nota técnica: Un comentarista explicó que, aunque este método permite arrancar un sistema operativo diferente, no comprometería el existente porque el TPM se negaría a liberar las llaves de cifrado de disco debido a los cambios en los registros PCR. comentario ↗
- Nota técnica: Otro usuario sugirió una defensa práctica mediante el sellado de las llaves de cifrado de disco contra PCRs específicos para asegurar que el sistema permanezca bloqueado si arranca sin las llaves verificadas correctas. comentario ↗
- Escéptico: Un comentarista señaló que el ataque podría mitigarse en hardware corporativo donde los controles de UEFI están bloqueados por herramientas de gestión como Intune o Autopilot. comentario ↗
Resumen de opiniones del hilo de Hacker News; no son hechos verificados. Leer el debate completo ↗