Spectre & Meltdown no son vulnerabilidades desconocidas. Hace no tanto tiempo los blogs de ciberseguridad se llenaron de info y aparecieron en primera plana por todas partes hasta que… desaparecieron, «pasaron de moda».

Fuera del foco mediático, no pasaron de moda, siguen vigentes a tal punto que aún hoy el 100% de los procesadores del mundo siguen siendo vulnerables en mayor o menor medida.

De ahí me dieron ganas de probar que tanto funciona y empecé a trabajar en laboratorios relacionados. Te cuento un poco de que tratan y como explotarlas en el 2026.

Qué son y como funcionan?

Ambas fueron anunciadas coordinadamente en enero de 2018, aunque se descubrieron meses antes:

Meltdown fue descubierto de forma independiente por tres equipos: Jann Horn (Google Project Zero), investigadores de la Universidad Tecnológica de Graz (Daniel Gruss y otros) y la empresa Cyberus Technology.

Spectre fue parte de una investigación de Jann Horn y Paul Kocher (en colaboración con otros investigadores académicos).

Lo curioso es que Jann Horn (Google) descubrió ambas por su cuenta, demostrando que una sola mente brillante puede poner en jaque décadas de diseño de hardware.

Meltdown y Spectre cambian todo, afectando la idea general de cómo los procesadores «piensan» para ser más rápidos. El hecho de tratar de llevar los microprocesadores a más velocidad de procesamiento y cálculo provocó sin querer una falla inaudita.

A diferencia de Rowhammer (que es un fallo eléctrico/físico), estos son fallos de diseño lógico en la optimización de la CPU.

Ambas vulnerabilidades abusan de la Ejecución Especulativa. (Qué es eso???).

Para no perder tiempo, los procesadores modernos intentan adivinar qué instrucciones vendrán después. Si el procesador llega a una bifurcación (un if), no espera a saber si es verdadero o falso; ejecuta ambos caminos preventivamente. Si falló en su predicción, descarta los resultados, pero deja huellas en la memoria caché.

Meltdown (CVE-2017-5754)

Meltdown rompe el aislamiento entre las aplicaciones del usuario y la memoria del sistema operativo (Kernel, seguro algún veterano de ustedes recuerda la memoria baja y alta).

  • Funcionamiento: Permite que un programa lea memoria que no le pertenece. El procesador ejecuta una instrucción de lectura de memoria privilegiada antes de verificar si el usuario tiene permiso. Para cuando se da cuenta del error y lanza una excepción, el dato ya pasó por la caché, donde puede ser recuperado mediante un ataque de canal lateral.

Spectre (CVE-2017-5753 y CVE-2017-5715)

Spectre también hace lo mismo que meltdown pero entre diferentes aplicaciones.

  • Funcionamiento: Engaña al procesador para que ejecute secuencias de código que nunca deberían haber ocurrido, filtrando información sensible (como contraseñas) de un programa a otro. Es mucho más difícil de mitigar que Meltdown porque afecta a la lógica fundamental de casi cualquier CPU (Intel, AMD, ARM).

Evolución de los Exploits

Desde 2018, la familia de ataques de «Ejecución Transitoria» ha crecido exponencialmente:

  1. Foreshadow (2018): Ataca los enclaves seguros de Intel SGX.(directo al quore, una vendetta!)
  2. ZombieLoad / RIDL / Fallout (2019): Explotan los buffers de llenado de la CPU (MDS), permitiendo robar datos que cruzan el procesador en ese instante.
  3. Retbleed (2022): Una variante de Spectre que evade las mitigaciones de software originales (como Retpoline, este tuvo mucha repercusión).
  4. GhostRace (2024): Explota condiciones de carrera combinadas con ejecución especulativa.

Laboratorio

Y vamos a lo más importante: Somos vulnerables?. Si tenés linux en tu pc o servidores no necesitas nada, solo hacer un:

sudo cat /proc/cpuinfo | grep bug

Linux te va a decir que vulnerabilidades tiene tu CPU. (Muy sencillo)

Si querés probar algo un poco más extenso o en tu entorno de IT (idealmente en un servidor Linux o tu máquina local), no necesitas escribir un exploit desde cero. Hay herramientas de auditoría estándar que andan dando vuelta desde hace mucho por internet.

Estuve revisando varias pero este repo es el que sale en todos lados y anda bastante bien. Por razones obvias no voy a publicar los resultados en mi pc pero voy a decir que el script funciona de lujo para chequear la vulnerbilidad sin efectos secundarios. En tu caso, hago el disclaimer, es tu responsabilidad lo que suceda.

Este es el repo: https://github.com/speed47/spectre-meltdown-checker para probar en linux. Ya trae el ejecutable listo.

# Descargar el checker
git clone https://github.com/speed47/spectre-meltdown-checker.git
cd spectre-meltdown-checker
# Ejecutar como root para leer info del hardware
sudo ./spectre-meltdown-checker.sh

Para Windows está este repo: https://github.com/ionescu007/SpecuCheck/releases y también anda excelente. Ejecutas el .exe que trae desde una consola y te entrega algo así:

Alcance real

Pero… en un ataque, funciona?, es fácil desplegarlo?

Elegí este repo: https://github.com/crozone/SpectrePoC que tiene como objetivo descubrir una palabra o texto oculto en el código. Podes personalizar la palabra a buscar con:

nano spectre.c

Y luego compilas y ejecutas con:

gcc spectre.c -o exploit && ./exploit.out

Conclusiones

Las mayorías de las distribuciones de Linux tienen mitigaciones. Todas ellas disminuyen el rendimiento de tu procesador ya que desactivan o previenen la ejecución especulativa de comandos. (lo que hace posible Spectre).

Podes desactivarlas y probar, vas a liberar el verdadero potencial de tu micro pero a un riesgo alto.

#instalas Sysbench para medir la velocidad
sudo apt install sysbench -y
# Test de CPU
sysbench cpu --threads=2 run
# Test de Memoria
sysbench memory --threads=2 run

Desactivamos las mitigaciones para volver a testear:

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mitigations=off"
#salvamos, actualizamos grub y reiniciamos
sudo update-grub
sudo reboot

Volvemos a testear y vas a ver el potencial completo.

Sino querés desativar todo podes desactivar las mitigaciones de una:

Parámetro en GRUBVulnerabilidad que afectaDescripción
noptiMeltdownDesactiva el Kernel Page Table Isolation. Es lo que más rendimiento recupera.
nospectre_v1Spectre V1Desactiva las barreras de software contra la variante 1.
nospectre_v2Spectre V2Desactiva mitigaciones como Retpoline o parches de microcódigo.
mds=offZombieLoad/RIDLDesactiva la limpieza de los buffers internos de la CPU.

Para volver a activarlo hacé el proceso inverso.

«Security is always an illusion.» – Kevin Mitnick

Por Jeremías Palazzesi

Solucionador de Problemas Senior!. No podés con algo?, probá conmigo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *