Vulnerabilidad en los firmware de UEFI que permite ejecutar código a nivel SMM

Se ha revelado información sobre una vulnerabilidad (CVE-2021-33164) en el firmware UEFI, que permite ejecutar código en el nivel SMM (Modo de Gestión del Sistema), más prioritario que el modo hipervisor y el anillo cero de protección, y que proporciona acceso ilimitado a toda la memoria del sistema. La vulnerabilidad, que ha recibidos el nombre en clave RingHopper, está relacionada con la posibilidad de llevar a cabo un ataque temporal mediante DMA (Acceso Directo a la Memoria) para dañar la memoria en el código ejecutado en el nivel SMM. La existencia de la vulnerabilidad se ha confirmado en los firmware de Intel, Dell e Insyde Software (se afirma que el problema afecta a 8 fabricantes, pero los otros 5 no se han revelado aún). Los firmware de AMD, Phoenix y Toshiba no están afectados por el problema.

La explotación de vulnerabilidades puede llevarse a cabo desde el sistema operativo, utilizando los controladores SMI (Interrupción de Gestión del Sistema) vulnerables, para acceder a los cuales se requieren derechos de administrador. El ataque también puede realizarse con acceso físico en una etapa temprana de arranque, antes de la inicialización del sistema operativo. Para mitigar el problema, a los usuarios de Linux se les recomienda actualizar el firmware utilizando el servicio LVFS (Servicio de Firmware de Proveedores de Linux), empleando la herramienta fwupdmgr (fwupdmgr get-updates; fwupdmgr update) del paquete fwupd.

La necesidad de privilegios de administrador para llevar a cabo el ataque limita el riesgo del problema, pero no impide su uso como una vulnerabilidad de segundo nivel, para mantener su presencia después de explotar otras vulnerabilidades en el sistema o aplicar métodos de ingeniería social. El acceso a SMM (Ring -2) permite ejecutar código en un nivel fuera del control del sistema operativo, lo que puede utilizarse para modificar firmware y almacenar en SPI Flash código malicioso oculto o rootkits, que no son detectados desde el sistema operativo, así como para desactivar la verificación en la etapa de arranque (UEFI Secure Boot, Intel BootGuard) y realizar ataques a hipervisores para eludir los mecanismos de verificación de integridad de entornos virtuales.

El problema es causado por un estado de carrera en el controlador SMI (Interrupción de Gestión del Sistema), que ocurre en el momento entre la verificación de acceso y la consulta de SMRAM. Para determinar el momento adecuado entre la verificación del estado y el uso del resultado de la verificación, se puede utilizar un análisis por canales auxiliares a través de DMA. Como resultado, debido a la naturaleza asíncrona del acceso a SMRAM a través de DMA, un atacante puede identificar el momento adecuado y sobrescribir el contenido de SMRAM, utilizando DMA para eludir la API del controlador SMI. Los procesadores que admiten mecanismos Intel-VT e Intel VT-d incluyen protección contra ataques DMA, basada en el uso de IOMMU (Unidad de Gestión de Memoria de Entrada-Salida), pero esta protección es efectiva para bloquear ataques DMA de hardware realizados mediante dispositivos preparados por el atacante, y no protege contra ataques a través de controladores SMI.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster