Meltdown y Spectre: vulnerabilidades críticas en CPUs

Se han confirmado dos fallos críticos de diseño en la inmensa mayoría de los procesadores integrados del mundo que dejarían vulnerables áreas protegidas de la memoria del núcleo o Kernel del sistema operativo.

Estas vulnerabilidades se han catalogado con los siguientes nombres y CVEs:
- Meltdown: CVE-2017-5754
- Spectre: CVE-2017-5753 y CVE-2017-5715 

Descripción

Una característica de la arquitectura integrada en las CPUs para mejorar el rendimiento del sistema conocida como Ejecución Especulativa (Speculative Execution) es la raíz del problema, ya que es vulnerable a distintos ataques de tipo canal lateral (side-channel attack). 

Explotando estos fallos de seguridad descubiertos se podría ejecutar código malicioso de forma no privilegiada y leer zonas de memoria reservada del Kernel del sistema eludiendo el mecanismo de protección KASLR (Kernel Address Space Layout Randomization) implementado en diversos sistemas operativos para colocar partes del núcleo en sitios aleatorios de memoria y así evitar accesos no autorizados.

"Explotación de la Ejecución Especulativa vía Javascript" es probablemente una de las frases terroríficas que se ha leído ultimamente, porque implica hacer un Dump de memoria del Kernel desde JAVASCRIPT.

Poder leer memoria del Kernel implica la posibilidad de leer la memoria de todo el sistema en la mayoría de Sistema Operativos de 64 bits, en otras palabras, memoria de espacios de direcciones de otros procesos que podría contener información sensible como contraseñas, claves criptográficas, etc. 
Casi todas las implementaciones de CPU de Intel, y otras de AMD y ARM son vulnerables, y por tanto todos los sistemas operativos y dispositivos que hacen uso de estos microprocesadores se ven afectados igualmente.

Diferencias entre Meltdown y Spectre:

Meltdown rompe el mecanismo que impide a las aplicaciones acceder arbitrariamente a la memoria del Sistema y por tanto acaba con el aislamiento en memoria entre el espacio destinado al Kernel y el espacio para usuario en arquitecturas x86.

Spectre rompe el aislamiento entre aplicaciones, y fuerza a éstas a acceder a ubicaciones aleatorias de memoria, independientemente de que éstas se estén ejecutando con un usuario sin privilegios de acceso en el sistema.

Ambos tipos de ataques usan side-channels o canales laterales para obtener información de la memoria.

Recursos Afectados

Respecto a la vulnerabilidad MELTDOWN:
  • Se desconoce con exactitud todos los recursos que se ven afectados, pero sí se conoce que todos los procesadores de Intel desde 1995, excepto la serie Itanium y Atoms anteriores a 2013 se encuentran perjudicados.
  • Respecto a las infraestructuras de Amazon Web Services, Google recomienda que los usuarios de la nube apliquen los parches necesarios y reinicien sus máquinas virutuales.
  • Los sistemas Linux y por otro lado, los procesadores de Qualcomm ARM-Cortex-A75, Cortex-A15, Cortex-A57 y Cortex-A72 también se ven perjudicados.
  • Los procesadores AMD no se ven afectados por esta vulnerabilidad, aunque el principio subyacente se aplica a todas las CPUs superescalares contemporáneas.
  • Proveedores Cloud que usen CPUs Intel y Xen PV para virtualización.
  • Proveedores Cloud sin virtualización hardware real que usen contenedores que compartan Kernel, como Docker, LXC u OpenVZ.
En relación a la vulnerabilidad SPECTRE:
  • Procesadores Intel de la serie Haswell Xeon
  • La familia Ryzen de AMD en sus procesadores AMD FX y AMD Pro.
  • Qualcomm se ve afectado en su variedad de procesadores ARM Cortex-R7, Cortex-R8, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17, Cortex-A57, Cortex-A72, Cortex-A73, and Cortex-A75.
  • Esto incluye: ordenadores de escritorio, portátiles, servidores en la nube, servidores cloud.

Solución o Workaround?

- MELTDOWN: varios proveedores han informado de las soluciones  que van a tomar al respecto:

Windows
Windows ha publicado una actualización de emergencia, en sistemas operativos Windows 10 la actualización se realizará automáticamente. En el caso de las versiones Windows 7 y 8 se deberá acceder al menú de actualizaciones como se indica en este enlace: https://support.microsoft.com/es-es/help/3067639/how-to-get-an-update-through-windows-update

MacOS
Los sistemas operativos MacOS tienen una solución parcial en su última versión (High Sierra 10.13.2). Se espera una actualización adicional en unos días.

Linux
En sistemas Linux ya se ha lanzado el parche correspondiente y está disponible para su descarga: https://github.com/IAIK/KAISER

Navegadores
Chrome
La versión 64 de este navegador web estará completamente preparada contra esta vulnerabilidad y se espera la actualización el día 23 de Enero.
Firefox
En el navegador Firefox se han tomado ciertas medidas en su última versión Firefox 57 disponible para su descarga.
Protección extra
Meltdown permite que los ataques se ejecuten a través de un Javascript cargado desde un navegador. Se puede desactivar/bloquear la ejecución de Javascripts manualmente o mediante extensiones tanto en Firefox como en Chrome:
https://addons.mozilla.org/es/firefox/addon/noscript/
https://chrome.google.com/webstore/detail/contentblockhelper/ahnpejopbfnjicblkhclaaefhblgkfpd?hl=es

Herramienta de Intel
El equipo de Intel ha publicado una herramienta para detectar si el procesador está afectado por esta serie de vulnerabilidades: https://downloadcenter.intel.com/download/27150

- SPECTRE:
Aún no se conoce ningún tipo de solución ya que se trata de un fallo en el diseño del procesador. La vulnerabilidad es mucho más difícil de corregir pero también de explotar satisfactoriamente.


Comentarios

  1. La herramienta de Intel es para otra vulnerabilidad, la del Intel Management Engine (ME)

    ResponderEliminar

Publicar un comentario