Comparte en:

Zombieload, es otro vector de ataque al procesador Intel, al igual que Meltdown y Specter, este representa una amenaza para la seguridad de los sistemas Linux.

Zombieload suena como una maléfica película de terror para adultos, pero en realidad es la última clase de vulnerabilidades de seguridad de los procesadores Intel. Descubiertos por los investigadores, los atacantes pueden usar Zombieload para robar datos que se usan dentro de una CPU.

Otra vulnerabilidad

Los investigadores han mostrado un exploit de Zombieload  que puede ver por encima de tu hombro virtual para espiar los sitios web que estás visitando en tiempo real.

Este ejemplo muestra a alguien espiando a otra persona que usa el Navegador Tor que es conocido por su privacidad y que se está ejecutando dentro de una máquina virtual.

El nombre más formal de Zombieload es “Muestreo de datos de microarquitectura (MDS, por sus siglas en inglés)”. Es un nombre más común que proviene del concepto de “zombie load”.

Esta es una cantidad de datos que un procesador no puede manejar por sí solo. El chip luego solicita ayuda de su microcódigo para evitar un choque. Normalmente, las aplicaciones, las máquinas virtuales y los contenedores solo pueden ver sus propios datos.

¿Qué implica?

Pero las vulnerabilidades de Zombieload permiten que un atacante espíe datos a través de los límites normales en todos los procesadores Intel modernos.

A diferencia de los problemas anteriores de Meltdown y Spectre, Intel tuvo tiempo para prepararse para este problema.

Intel ha lanzado parches de microcódigo. Estos ayudan a borrar los búferes del procesador, evitando así que se lean los datos.

Para defenderte, tu procesador debe estar actualizado, tu sistema operativo debe ser parcheado y, para mayor protección, debe estar deshabilitado Hyper-Threading.

Cuando aparecieron Meltdown y Spectre, los desarrolladores de Linux se quedaron en la oscuridad y se apresuraron a parchear Linux. Esta vez, se han mantenido en el bucle.

Zombieload, el exploit, tiene tres rutas de ataque únicas que podrían permitir que un atacante ejecute un ataque de canal lateral para evitar las protecciones para leer la memoria. Los cuatro Vulnerabilidad y exposiciones comunes (CVE) para este problema son:

  • CVE-2018-12126: es una falla que podría llevar a la divulgación de información desde el búfer de almacenamiento del procesador.
  • CVE-2018-12127:  es un exploit de las operaciones de carga del microprocesador que puede proporcionar datos a un atacante sobre los registros y las operaciones de la CPU en la tubería de la CPU.
  • CVE-2018-12130:  es el más grave de los tres problemas, involucró la implementación de los buffers de llenado del microprocesador y puede exponer los datos dentro de ese buffer.
  • CVE-2019-11091: es un defecto en la implementación del “búfer de relleno”, un mecanismo utilizado por las CPU modernas cuando hay una falta de memoria caché en la memoria caché de la CPU L1.

ENTONCES, ¿QUÉ TAN MALO ES?

Red Hat, que lidera el camino para tratar los problemas de seguridad de Linux, calificó 12130 como un impacto de severidad de “importante”, mientras que los otros tienen una severidad moderada.

Greg Kroah-Hartman, el estable encargado del kernel de Linux, escribió sin rodeos:

Estoy anunciando el lanzamiento del kernel 5.1.2.

Todos los usuarios de la serie 5.1 del kernel deben actualizar. Bueno, más o menos, déjame reformular esto …

Todos los usuarios de procesadores Intel realizados desde 2011 deben actualizar.

Kroath-Hartmann concluyó: “Como dije antes, hace poco más de un año, Intel le debe una gran cantidad de tragos a la gente por corregir sus errores de hardware, en nuestro software”.

Red Hat observó que todas sus distribuciones de Linux desde Red Hat Enterprise Linux (RHEL) 5 hasta el nuevo RHEL 8 están afectadas. Las plataformas basadas en estas distribuciones de Linux, como Red Hat Virtualization y Red Hat OpenStack, también son vulnerables.

Esto no es un problema de Red Hat. Todas, y me refiero a todas, las distribuciones de Linux son vulnerables a ella. Eso es porque el problema es realmente con los procesadores subyacentes de Intel y no con los sistemas operativos.

Como Chris Robinson, gerente de garantía de seguridad de productos de Red Hat, explicó:

“Estas vulnerabilidades representan una falla de desvío de restricción de acceso que afecta a muchas CPU de Intel y muchos de los sistemas operativos que usan ese hardware.”

“Trabajando con otros líderes de la industria, Red Hat ha desarrollado actualizaciones de seguridad del kernel para productos de nuestra cartera para abordar estas vulnerabilidades.”

“Trabajando con nuestros clientes y socios para que estas actualizaciones estén disponibles, junto con la información que nuestros clientes necesitan para proteger rápidamente sus sistemas físicos, imágenes virtuales e implementaciones basadas en contenedores”.

¿Cómo protegerse?

Esto también significa que los contenedores y máquinas virtuales basados ​​en Linux también están abiertos a ataques. Para protegerte, deberás parchear los siguientes archivos de Linux: Kernel, kernel-rt, libvirt, qemu-kvm, qemu-kvm-rhev y microcode_clt en todos tus sistemas.

En particular, hay un vector de ataque conocido para CE-2018-12130, que permite a una máquina virtual o contenedor malicioso detectar otros contenedores o máquinas virtuales.

En otras palabras, debes parchear todos tus contenedores y máquinas virtuales en ejecución en un servidor; o una manzana defectuosa puede revelar los datos en los parcheados.

Mientras los parches estén listos, degradarán el rendimiento del sistema. En particular, los clientes recomendados de Red Hat evalúan tu perfil de riesgo para comprender si los ataques de esta naturaleza requieren que tomen el paso adicional de deshabilitar el hyper-threading.

Dicho esto, debido a la amenaza que representa el encadenamiento de vulnerabilidad (la capacidad de explotar una vulnerabilidad mediante la explotación de otra primero), Red Hat sugirió que los usuarios actualicen todos los sistemas, incluso si no creen que su configuración represente una amenaza directa.

Cómo actuar si usas Ubuntu

Canonical, la compañía detrás de Ubuntu Linux, lo lleva más lejos. Canonical recomendó deshabilitar los hyper-yhreads si el sistema se utiliza para ejecutar código no confiable o potencialmente malicioso. Algunos ejemplos de cargas de trabajo que garantizan la necesidad de deshabilitar los subprocesos son:

  • Un sistema multiusuario con un usuario potencialmente malicioso. Un usuario malintencionado podría aprovechar MDS para extraer secretos de otros usuarios en el sistema.
  • Un sistema que ejecuta programas que provienen de fuentes cuestionables. Esto podría ocurrir si un usuario en el sistema utiliza regularmente nuevas versiones de programas publicados por un individuo o grupo en los que no confían plenamente. Un editor de software malicioso podría aprovechar MDS para extraer secretos del sistema.
  • Un sistema que aloja máquinas virtuales de diferentes dominios de seguridad y/o que el propietario del sistema no confía completamente. Un programa malicioso en una máquina virtual podría extraer secretos de otras máquinas virtuales o del propio host de virtualización.

Leyendo entre líneas, a excepción de las personas que ejecutan escritorios Linux independientes, Canonical recomendó hacer los parches y deshabilitar el subproceso.

La mayoría de las distribuciones empresariales de Linux ya tienen los parches listos para funcionar. Pero es posible que no estén disponibles a través de los canales de parches de seguridad habituales.

Canonical, por ejemplo, declaró: “Debido a la complejidad de los cambios implicados en la mitigación de esta vulnerabilidad de hardware, no habrá un parche activo disponible a través del Servicio de Livepatch de Canonical”.

Red Hat

Denise Dumas, VP de plataformas de sistemas operativos de Red Hat, dijo: “Debido a que estas actualizaciones de seguridad pueden afectar el rendimiento del sistema, Red Hat ha incluido la capacidad de habilitar estas correcciones de forma selectiva para administrar mejor el impacto en las cargas de trabajo sensibles al rendimiento”.

Una vez que hayas actualizado el kernel y los parches de microcódigo de Intel, si deseas tomar la precaución adicional de deshabilitar el hyper-threading, puedes hacerlo. Para ello, configurea la opción de arranque del kernel de Linux:

mitigations=auto,nosmt

Para obtener más información sobre cómo trabajar con el kernel, consulta la guía del usuario y del administrador del kernel de Linux.

La única solución real a largo plazo

El kernel Core Scheduling de Linux, un nuevo esquema de programación, puede ayudar a mitigar Zombieload. Pero incluso Peter Zijlstra, el desarrollador del kernel de Linux que lo supervisa, no está contento con eso.

Lo presentó diciendo que lo odiaba con pasión, y no importa lo que hicieras con el programa, “es caro y desagradable”.

La única solución real a largo plazo, para Linux y todos los demás sistemas operativos, es cuando Intel presente una nueva generación de procesadores.

Tal como está, la generación actual de CPU Intel, con su enfoque de proceso de ejecución especulativo anterior, mejora las velocidades de procesamiento de datos y el rendimiento, pero al precio de las vulnerabilidades de seguridad integradas.