Meltdown y Spectre 5 años después.

12.05.2023

Han pasado cinco años desde la primera publicación de la investigación sobre Spectre y Meltdown, vulnerabilidades de hardware en los procesadores modernos. Desde entonces, los investigadores han descubierto varios fallos similares, que son potencialmente capaces de filtrar datos confidenciales. También han mostrado ejemplos de ataques que utilizan estas vulnerabilidades, aunque es poco probable que la mayoría de ellos se utilicen en activo. En esta publicación, analizamos el estado actual de estos problemas de hardware y su uso potencial para el ataque a las empresas.

Spectre es una vulnerabilidad que afecta a los microprocesadores que utilizan predicción de saltos.En la mayoría de los procesadores, la ejecución especulativa que surge de un fallo de la predicción puede dejar efectos observables colaterales que pueden revelar información privada a un atacante. Por ejemplo, si el patrón de accesos a la memoria realizados por la mencionada ejecución especulativa depende de datos privados, el estado resultante de la caché de datos constituye un canal lateral mediante el cual un atacante puede ser capaz de obtener información acerca de los datos privados empleando un ataque sincronizado.

Se han emitido dos ID de Vulnerabilidades y Exposiciones Comunes (siglas en inglés CVE) relacionados con Spectre, CVE-2017-5753 (variante 1, baipás de la comprobación de límites) y CVE-2017-5715 (variante 2, inyección de destino del salto).Se ha descubierto que los motores JIT empleados para JavaScript son vulnerables. Un sitio web podría leer información guardada en el navegador que pertenece a otro sitio web, o acceder a información alojada en la memoria que está utilizando el navegador.

Meltdown (CVE-2017-5754) y Spectre (CVE-2017-5715 y CVE-2017-5753) son varias vulnerabilidades de hardware, de tipo cache side-channel attack, ejecución especulativa y predicción indirecta; afectan procesadores modernos Intel, AMD y ARM. Un proceso podría leer direcciones ilegales de memoria, comprometiendo información sensible.

Estas son las soluciones publicadas por sistema operativo hasta el momento:

Meltdown Spectre

  Windows

  1. Debe contar con una solución de antivirus compatible:

    https://docs.google.com/spreadsheets/d/184wcDt9I9TUNFFbsAVLpzAtckQxYiuirADzf3cL42FQ El antivirus institucional ESET cuenta con el soporte requerido[1].
  2. Aplique las actualizaciones de seguridad desde Windows Update (Dentro de la RedUCR se recomienda actualizar a través del servidor local WSUS).

    Específicamente:
    • KB4056892 (Windows 10 versión 1709 y Windows Server 2016 versión 1709)
    • KB4056891 (Windows 10 versión 1703 y Windows Server 2016 versión 1703)
    • KB4056890 (Windows 10 versión 1607 y Windows Server 2016 versión 1607)
    • KB4056888 (Windows 10 versión 1511)
    • KB4056893 (Windows 10 versión 1507)
    • KB4056898 (Windows 8.1 y Windows Server 2012 R2)
    • KB4056899 (Windows Server 2012)
    • KB4056897 (Windows 7 SP1 y Windows Server 2008 R2)
  3. Reinicie

El procedimiento es el mismo y en adición debe actualizar el microcode o firmware de su CPU de acuerdo a las instrucciones de cada fabricante[2].

Apple iOS, macOS y tvOS

El un comunicado por parte de Apple[3], la empresa menciona que todos sus dispositivos se ven afectados por ambas vulnerabilidades, excepto watchOS.

Ya existen mitigaciones por medio de actualizaciones de software para iOS 11.2, macOS 10.13.2 y tvOS 11.2. Se recomienda ir a la herramienta de actualización de software de cada uno de estos sistemas para aplicar los últimos parches.

Según el mismo comunicado, Spectre es una vulnerabilidad más compleja y aun no tienen listo una mitigación final.

No obstante, Apple a lanzado actualizaciones en iOS[4] y MacOS[5] para mitigar Spectre en el navegador Safari (Debe recordarse que esta vulnerabilidad puede ser explotada por Javascript malicioso).

Android

Google ha lanzado un boletín de seguridad[6] sobre los parches aplicados en el proyecto de código abierto de Android (AOSP). Los fabricantes de dispositivos fueron notificados y ahora depende de ellos aplicar los cambios en cada uno de sus dispositivos por lo que los usuarios deben esperar a que los fabricantes envíen las actualizaciones OTA (over-the-air).

ARM también lanzó un boletín de seguridad[7] sobre los procesadores afectados: Cortex-A57, Cortex-A72 y Cortex-A73 son vulnerables a Spectre y solo Cortex-A75 es vulnerable a Meltdown. Mientras que el Cortex-A53 y Cortex-A55 no se ven afectados. El procesador Cortex-A53 es el más utilizado en los dispositivos de gama media.

Debian 9 Stretch (Estable)

Actualización disponible para Stable en el repositorio de security.[8]

  1. Verificar que el repo de Debian Security está activo en el archivo /etc/apt/sources.list, debe leerse algo similar a esto:

    deb https://security.debian.org/ stable/updates main contrib non-free
  2. Ejecutar:

    sudo apt update && sudo apt upgrade
  3. Reiniciar el equipo para que los cambios tengan efecto

Los parques necesarios para el kernel de Linux en Debian ya están disponibles en Testing y se está trabajando para ponerlos disponibles en Stable.[9][10]

La recomendación de Debian es instalar el microcódigo de Intel y AMD, dependiendo del procesador, no obstante aún no están disponibles para Stable.[11][12]

  1. Verificar que el repo de Debian Security (Non-free) está activo en el archivo /etc/apt/sources.list, debe leerse algo similar a esto:

    deb https://security.debian.org/ stable/updates main contrib non-free
  2. Ejecutar:

    Procesador Intel: Aún no está disponible para Stable Procesador AMD: Aún no está disponible para Stable
  3. Reiniciar el equipo para que los cambios tengan efecto

Ubuntu

Ya se cuenta con los parches por parte del equipo de Ubuntu para las versiones de Ubuntu 16.04 LTS, 17.10 y 14.04 LTS[13]

Estos son los paquetes de kernel parcheados:

  • Ubuntu 14.04 LTS:

    • linux-image-4.4.0-108-lowlatency 4.4.0-108.131~14.04.1

    • linux-image-4.4.0-1009-aws 4.4.0-1009.9

    • linux-image-4.4.0-108-generic 4.4.0-108.131~14.04.1

    • linux-image-lowlatency-lts-xenial 4.4.0.108.91

    • linux-image-generic-lts-xenial 4.4.0.108.91

    • linux-image-aws 4.4.0.1009.9

  • Ubuntu 17.10:

    • linux-image-4.13.0-25-lowlatency 4.13.0-25.29

    • linux-image-generic 4.13.0.25.26

    • linux-image-4.13.0-25-generic 4.13.0-25.29

    • linux-image-lowlatency 4.13.0.25.26

  • Ubuntu 16.04 LTS:

    • linux-image-4.4.0-108-lowlatency 4.4.0-108.131

    • linux-image-euclid 4.4.0.9021.21

    • linux-image-4.4.0-108-generic 4.4.0-108.131

    • linux-image-4.4.0-9021-euclid 4.4.0-9021.22

    • linux-image-generic 4.4.0.108.113

    • linux-image-aws 4.4.0.1047.49

    • linux-image-kvm 4.4.0.1015.15

    • linux-image-4.4.0-1047-aws 4.4.0-1047.56

    • linux-image-lowlatency 4.4.0.108.113

    • linux-image-4.4.0-1015-kvm 4.4.0-1015.20

Para aplicar la actualización.

  1. Ejecutar:

    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  2. Reiniciar el equipo para que los cambios tengan efecto

En cuanto los parches estén disponibles se actualizará esta entrada.

Red Hat

Red Hat ya lanzó el conjunto de actualizaciones para varios de sus sistemas, incluyendo RHEL 7 y RHEL 6.[14][15][16]

  1. Para realizar la actualización primero se debe contar con una suscripción válida para acceder los repositorios de actualización de Red Hat(RHSM).

  2. Ejecutar:

    yum update

El procedimiento es el mismo

CEntOS

El equipo de CEntOS esta trabajando en portar los parches desde las fuentes de Red Hat. En las próximas horas deberían estar disponibles en los repositorios

  1. Para actualizar solo se debe ejecutar:

    yum update

El procedimiento es el mismo

Mozilla Firefox

Instalar la versión 57.0.4[17].

  • Opción 1, descargarlo desde https://www.mozilla.org/es-ES/firefox

  • Opción 2, instalar desde el app store o repositorio de su sistema, como una actualización normal. Disponible ya en:

    • Google Play

    • Ubuntu 14.04

    • Ubuntu 16.04

    • Ubuntu 17.04

    • Ubuntu 17.10

    • Linux Mint 17.x

    • Linux Mint 18.x

    • Debian Sid

    • Fedora 26

    • Fedora 27

    • Arch Linux

El procedimiento es el mismo

Google Chrome

Los parches vendrán con la versión 64, a publicarse el 23 de enero de 2018.

Por mientras, los usuarios pueden activar la opción experimental Site Isolation[18], así:

  • En el campo para la URL ingresar a chrome://flags/#enable-site-per-process

  • Buscar "Strict Site Isolation" y marcar la casilla "Enable"

  • Reiniciar el navegador

Esta página se irá actualizando con forme los desarrolladores y fabricantes liberen nueva información y parches.

Referencias

  • https://support.eset.com/alert6644/

  • https://cloudblogs.microsoft.com/microsoftsecure/2018/01/09/understanding-the-performance-impact-of-spectre-and-meltdown-mitigations-on-windows-systems/

  • https://support.apple.com/en-us/HT208394

  • https://support.apple.com/en-us/HT208401

  • https://support.apple.com/en-us/HT208397

  • https://source.android.com/security/bulletin/2018-01-01

  • https://developer.arm.com/support/security-update

  • https://security-tracker.debian.org/tracker/CVE-2017-5754

  • https://security-tracker.debian.org/tracker/CVE-2017-5715

  • https://security-tracker.debian.org/tracker/CVE-2017-5753

  • https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886367

  • https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886382

  • https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown

  • https://bugzilla.redhat.com/show_bug.cgi?id=1519778

  • https://bugzilla.redhat.com/show_bug.cgi?id=1519780

  • https://bugzilla.redhat.com/show_bug.cgi?id=1519781

  • https://www.mozilla.org/en-US/firefox/57.0.4/releasenotes/

  1. https://www.chromium.org/Home/chromium-security/site-isolation