ClickCease Fallos de UEFI: Qué saber sobre los ataques LogoFAIL

Tabla de contenidos

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

Fallos de UEFI: Qué saber sobre los ataques LogoFAIL

Joao Correia

26 de diciembre de 2023 - Evangelista técnico

  • Múltiples vulnerabilidades de UEFI pueden dar lugar a exploits de Linux, Windows y Mac
  • LogoFAIL persiste a través de reinstalaciones del sistema operativo
  • También amplía los riesgos de la cadena de suministro al propio hardware

 

Investigadores de seguridad, conocidos por sus métodos inquisitivos y poco convencionales, han escudriñado recientemente la UEFI (Unified Extensible Firmware Interface), revelando importantes vulnerabilidades denominadas LogoFAIL vulnerabilities. Estos expertos, que investigan los sistemas para descubrir formas inusuales de explotarlos, descubrieron que UEFI, el moderno sustituto de la BIOS tradicional, es susceptible de sufrir ciertos fallos, que tienen repercusiones de gran alcance.

En concreto, los investigadores descubrieron que las bibliotecas utilizadas por varios integradores y vendedores de sistemas en la UEFI de sus placas base son vulnerables. Estas bibliotecas pueden manipularse para realizar operaciones imprevistas a través de imágenes especialmente diseñadas que se muestran durante el arranque del sistema, como logotipos y banners. Esta manipulación elude eficazmente funciones de seguridad como Secure Boot, engañando al sistema operativo posterior.

Entonces, ¿qué peligros plantean las vulnerabilidades de LogoFAIL, y qué significa esto para usted?

 

Conocimientos previos

Comprender la UEFI

 

UEFI son las siglas de Unified Extensible Firmware Interface, una versión avanzada de la antigua BIOS. En esencia, es un sistema operativo compacto que gestiona la inicialización del hardware y la seguridad preliminar del sistema antes de transferir el control al sistema operativo principal. La UEFI supervisa numerosas funciones, como la frecuencia de la CPU, la alimentación y la gestión térmica, los tiempos de la memoria y las operaciones de los periféricos. Algunos sistemas UEFI ofrecen incluso conectividad de red para actualizar el firmware sin necesidad de un sistema operativo.

A diferencia de BIOS, UEFI proporciona una experiencia visual consistente mostrando una imagen durante el arranque, que permanece visible durante toda la inicialización de UEFI y en la fase de arranque del sistema operativo. Esto difiere de BIOS, que normalmente implica cambios en la resolución de la pantalla y reinicios del modo de texto antes de que se activen los controladores del sistema operativo.

Fuzzing

El fuzzing es un método de prueba empleado por desarrolladores y profesionales de TI para evaluar la robustez del software. Consiste en enviar una amplia gama de entradas diversas y a menudo aleatorias a todos los campos de entrada, opciones y parámetros posibles de la aplicación. El objetivo es asegurarse de que la aplicación se mantiene estable bajo tipos de entrada no convencionales, como la introducción de letras en campos numéricos o la inserción de caracteres UTF16 en campos diseñados para UTF8, exponiendo así posibles debilidades del código.

Vulnerabilidades de LogoFAIL

 

Binarly reveló esta familia de vulnerabilidades en BlackHat Europe recientemente, y llamó la atención de los profesionales de la ciberseguridad.

Se llaman vulnerabilidades LogoFAIL y surgen de fallos en las bibliotecas de análisis de imágenes integradas en el firmware del sistema UEFI. Estas bibliotecas se utilizan para mostrar logotipos durante el proceso de arranque o en la configuración de la BIOS. 

Las vulnerabilidades específicas identificadas incluyen fallos de desbordamiento de búfer basados en heap y lecturas fuera de límites. Estas vulnerabilidades se activan cuando se inyecta un archivo de imagen de logotipo malicioso en la partición del sistema EFI, lo que conduce a la ejecución de cargas útiles que pueden secuestrar el proceso de arranque y eludir mecanismos de seguridad como Secure Boot e Intel Boot Guard.

Es importante señalar que, a pesar de la publicidad, para explotar estas vulnerabilidades es necesario tener acceso al sistema en primer lugar, y en ese acceso, tener privilegios para escribir en la partición EFI y en la memoria RAM no volátil UEFI (nvram). El lector perspicaz se dará cuenta de que, si ya tienes ese nivel de acceso, entonces el problema no es necesariamente el exploit LogoFAIL en sí, sino la persistencia que permite a otro malware abusar de él. Pensemos, por ejemplo, en un ransomware que persista incluso en los intentos de reimagen del sistema tras un ataque a toda la infraestructura. Esto paralizaría las operaciones de recuperación.

Para colmo de males, las vulnerabilidades existen en múltiples plataformas y arquitecturas. Afecta tanto a dispositivos basados en x86 como en ARM. Los proveedores de BIOS, como AMI, Phoenix y otros, crean firmware afectado por LogoFAIL. A su vez, esto hace que las placas base que utilizan ese firmware también se vean afectadas por él - no importa si se trata de hardware de grado servidor o de consumo, ya que los mismos vendedores de BIOS proporcionarán software para todos ellos. Por tanto, están afectados fabricantes como Intel, Dell, Supermicro, Acer y muchos otros.

 

El impacto

 

Tener código ejecutándose antes de que el sistema operativo tenga siquiera la oportunidad de empezar a cargar y protegerse contra las amenazas es una amenaza especialmente atroz. No importa si su solución antivirus detecta todo lo que se carga si la amenaza ya se está ejecutando cuando el software antivirus empieza a funcionar. 

Cuando se tiene control sobre lo que se inicia en una fase tan temprana del proceso, se puede desplegar un software preventivo que impida que las protecciones a nivel de sistema operativo se inicien en primer lugar, anulando de hecho la seguridad tradicional de los puntos finales.

De hecho, LogoFAIL puede provocar ataques contra cualquier sistema operativo: Linux, Windows, Mac o incluso otros más esotéricos. De hecho, sobrevive a una reinstalación del sistema operativo, por lo que es muy resistente a los intentos de eliminación. 

No es la primera vez que se considera el firmware como una forma persistente de atacar un sistema, ya que el exploit de firmware de disco duro hace algunos años, pero ésta es sin duda la forma menos costosa de lograr este nivel de resistencia.

 

¿Una amenaza real?

 

Las cosas aún no están del todo claras. Puede que estemos más cerca que del escenario del fin del mundo que se ha pintado en todos los sitios de noticias del sector.

Los proveedores afectados tendrán que publicar imágenes UEFI actualizadas, por lo que se requieren actualizaciones de firmware para parchear eficazmente las librerías afectadas que están detrás del problema, pero hacerlo protegerá al sistema contra esta amenaza. 

Suponiendo que todo el mundo parchee todos los sistemas.

 

Fuzzing UEFI

 

Los investigadores que descubrieron el problema lo hicieron mediante fuzzing del código UEFI, y reconocen que, de momento, el riesgo es sólo teórico. 

Al lanzar grandes cantidades de datos a las bibliotecas dentro de UEFI, fue posible identificar múltiples formas nuevas de hacer que esas bibliotecas se bloquearan, desencadenando desbordamientos de búfer, lecturas fuera de límites, desviación de puntero nulo y problemas similares.

Los distintos fabricantes incluyen bibliotecas diferentes con su firmware, que admiten varios formatos de imagen: JPEG, BMP y los antiguos formatos PCX y Targa (TGA). Esto permite a los fabricantes de hardware añadir imágenes personalizadas a sus equipos para diferenciarlos de los de otros fabricantes.

Resulta que apenas hay validación de los datos de la imagen antes de ser parseados para su visualización, por lo que es relativamente fácil crear imágenes personalizadas que abusen de esta falta de comprobaciones para activar los cuelgues a voluntad, dejando la UEFI en un estado predecible, donde se puede desplegar código y engañarlo para que se ejecute. 

 

La cadena de suministro de software

 

Estos resultados ponen de relieve otra dimensión de los riesgos de la cadena de suministro de software. Atacar directamente al hardware se suma a la ya compleja gama de amenazas que afectan a las cadenas de suministro de software, desde las herramientas para desarrolladores hasta los repositorios de código fuente.

El hecho de que una determinada carga de trabajo se vea potencialmente afectada por vulnerabilidades a lo largo de toda esta gran cadena de dependencia y entorno es algo ante lo que parecemos hacer la vista gorda -ya sea por falta de concienciación o por incapacidad para prevenirlo eficazmente-, pero que no la hace más segura.

 

Resumen
Fallos de UEFI: Qué saber sobre los ataques LogoFAIL
Nombre del artículo
Fallos de UEFI: Qué saber sobre los ataques LogoFAIL
Descripción
Investigadores de seguridad revelan una vulnerabilidad llamada LogoFAIL, pero ¿qué peligros entraña esta vulnerabilidad y qué significa?
Autor
Nombre del editor
TuxCare
Logotipo de la editorial

¿Desea automatizar la aplicación de parches de vulnerabilidad sin reiniciar el núcleo, dejar el sistema fuera de servicio o programar ventanas de mantenimiento?

Más información sobre Live Patching con TuxCare

Conviértete en escritor invitado de TuxCare

Empezar

Correo

Únete a

4,500

Profesionales de Linux y código abierto

Suscríbase a
nuestro boletín