Las UEFI que arrancan dispositivos Windows y Linux pueden ser pirateadas por imágenes de logotipos maliciosas.
Cientos de modelos de ordenadores Windows y Linux de prácticamente todos los fabricantes de hardware son vulnerables a un nuevo ataque que ejecuta firmware malicioso al principio de la secuencia de arranque, lo que permite infecciones casi imposibles de detectar o eliminar con los mecanismos de defensa actuales.
Ataque LogoFAIL
El ataque -denominado LogoFAIL por los investigadores que lo idearon- destaca por la relativa facilidad con que se lleva a cabo, la amplitud de los modelos, tanto de consumo como de empresa, que son susceptibles, y el alto nivel de control que consigue sobre ellos. En muchos casos, LogoFAIL puede ejecutarse remotamente en situaciones posteriores al exploit utilizando técnicas que no pueden ser detectadas por los productos tradicionales de seguridad de endpoints. Y como los exploits se ejecutan durante las primeras etapas del proceso de arranque, son capaces de eludir una gran cantidad de defensas, incluyendo el Secure Boot de toda la industria, el Secure Boot de Intel, y protecciones similares de otras empresas que están diseñadas para prevenir las llamadas infecciones bootkit.
Puede leer también | ¿Es seguro el Secure Boot de Ubuntu?
Se acabó la seguridad de las plataformas
LogoFAIL es una constelación de dos docenas de vulnerabilidades recién descubiertas que han estado al acecho durante años, si no décadas, en las Interfaces de Firmware Extensible Unificadas responsables del arranque de los dispositivos modernos que ejecutan Windows o Linux. Las vulnerabilidades son el resultado de casi un año de trabajo de Binarly, una empresa que ayuda a sus clientes a identificar y proteger el firmware vulnerable.
Las vulnerabilidades son objeto de una divulgación masiva coordinada publicada el miércoles. Las empresas participantes abarcan casi la totalidad del ecosistema de CPU x64 y ARM, empezando por los proveedores de UEFI AMI, Insyde y Phoenix (a veces denominados todavía IBV o vendedores independientes de BIOS); fabricantes de dispositivos como Lenovo, Dell y HP; y los fabricantes de las CPU que van dentro de los dispositivos, normalmente Intel, AMD o diseñadores de CPU ARM. Los investigadores desvelaron el ataque el miércoles en la Conferencia de Seguridad Black Hat de Londres.
Puede leer también | Linux Foundation publica UEFI Secure Boot System para todas las distribuciones
Las partes afectadas están publicando avisos que revelan cuáles de sus productos son vulnerables y dónde obtener los parches de seguridad. Al final de este artículo figuran enlaces a los avisos y una lista de designaciones de vulnerabilidades.
Como su nombre indica, LogoFAIL afecta a los logotipos, en concreto los del vendedor del hardware, que aparecen en la pantalla del dispositivo al principio del proceso de arranque, mientras la UEFI aún está en marcha. Los analizadores de imágenes de las UEFI de los tres principales IBV están plagados de aproximadamente una docena de vulnerabilidades críticas que han pasado desapercibidas hasta ahora. Al sustituir las imágenes legítimas del logotipo por otras de aspecto idéntico que han sido especialmente diseñadas para aprovechar estos fallos, LogoFAIL permite ejecutar código malicioso en la fase más sensible del proceso de arranque, conocida como DXE, abreviatura de Driver Execution Environment (entorno de ejecución de controladores).
Puede leer también | Linus Torvalds: "El secure boot de microsoft es otra moda pasajera"
"Una vez que se consigue la ejecución de código arbitrario durante la fase DXE, se acabó el juego para la seguridad de la plataforma", escriben en un whitepaper los investigadores de Binarly, la empresa de seguridad que descubrió las vulnerabilidades. "A partir de esta fase, tenemos control total sobre la memoria y el disco del dispositivo de destino, incluyendo así el sistema operativo que se iniciará".
A partir de ahí, LogoFAIL puede entregar una carga útil de segunda etapa que deja caer un ejecutable en el disco duro antes de que el sistema operativo principal se haya iniciado. El siguiente vídeo muestra una prueba de concepto creada por los investigadores. El dispositivo infectado, un Lenovo ThinkCentre M70s Gen 2 con un procesador Intel Core de 11ª generación y una UEFI lanzada en junio, ejecuta defensas de firmware estándar, incluidos Secure Boot e Intel Boot Guard.
Puede leer también | UEFI "Secure Boot" y Microsoft Windows 8: El peligro para el Software Libre
LogoFAIL es un conjunto recientemente descubierto de vulnerabilidades de seguridad de alto impacto que afectan a diferentes bibliotecas de análisis de imágenes utilizadas en el firmware del sistema por varios proveedores durante el proceso de arranque del dispositivo. Estas vulnerabilidades están presentes en la mayoría de los casos dentro del código de referencia, afectando no a un único proveedor, sino a todo el ecosistema a través de este código y los proveedores de dispositivos donde se utiliza. Este ataque puede dar a un actor de amenaza una ventaja para eludir la mayoría de las soluciones de seguridad de punto final y entregar un bootkit de firmware sigiloso que persistirá en una cápsula de firmware con una imagen de logotipo modificada.
Secuestrando el flujo de ejecución
Hay varias formas de explotar LogoFAIL. Los ataques remotos consisten en explotar primero una vulnerabilidad no parcheada en un navegador, reproductor multimedia u otra aplicación y utilizar el control administrativo obtenido para sustituir la imagen legítima del logotipo procesada al principio del proceso de arranque por una de aspecto idéntico que explote un fallo del analizador. La otra forma consiste en acceder brevemente a un dispositivo vulnerable mientras está desbloqueado y sustituir el archivo de imagen legítimo por uno malicioso.
Puede leer también | LLega la alternativa libre del firmware Hello LinuxBoot, Goodbye UEFI
En ambos casos, el logotipo malicioso hace que la UEFI ejecute código creado por el atacante durante la importantísima fase DXE cada vez que se inicia el dispositivo. Al ejecutar código en esta primera fase, cuando se realiza la mayor parte de la inicialización del sistema, un exploit secuestra todo el flujo de ejecución que sigue, lo que le permite eludir defensas de seguridad como Secure Boot y mecanismos de arranque verificados basados en hardware como Intel Boot Guard, AMD Hardware-Validated Boot o ARM TrustZone-based Secure Boot.
Puede leer también | Linux Lite 5 incluye soporte de UEFI
Dependiendo de cómo esté configurada la UEFI, un simple comando de copiar/pegar, ejecutado por la imagen maliciosa o con acceso físico, es en muchos casos todo lo que se necesita para colocar la imagen maliciosa en lo que se conoce como ESP, abreviatura de Partición del Sistema EFI, una región del disco duro que almacena cargadores de arranque, imágenes del kernel y cualquier controlador de dispositivo, utilidades del sistema u otros archivos de datos necesarios antes de que se cargue el sistema operativo principal.
Puede leer también | Red Hat y Canonical impulsan una tecnología UEFI
Este enfoque tiene grandes ventajas. Una de ellas es que ningún código ejecutable toca nunca el disco duro, una técnica conocida como malware sin archivos que dificulta la detección por parte de antivirus y otros tipos de software de protección de puntos finales. Otra ventaja: una vez instalada la imagen, se garantiza que el dispositivo siga infectado aunque se reinstale el sistema operativo o se sustituya el disco duro principal.
Puede leer también | Linux Foundation publica UEFI Secure Boot System para todas las distribuciones
Cuando el firmware del sistema basado en UEFI está configurado para utilizar correctamente protecciones como Intel Boot Guard con un logotipo no modificable, no es posible colocar la imagen maliciosa en el ESP. En muchos de estos casos, sin embargo, sigue siendo posible ejecutar una herramienta de software disponible gratuitamente en el sitio web del IBV o del proveedor del dispositivo que reflashea el firmware desde el SO. Para pasar los controles de seguridad, la herramienta instala el mismo firmware UEFI firmado criptográficamente que ya está en uso, cambiando únicamente la imagen del logotipo, que no requiere una firma digital válida. En muchos casos, la herramienta IBV está firmada digitalmente, por lo que es menos probable que intervengan las protecciones de los terminales.