Los investigadores de Google publicaron recientemente un código de prueba de concepto que demuestra la capacidad de crear parches de microcódigo maliciosos en procesadores AMD desde Zen 1 hasta Zen 4. Esta vulnerabilidad podría permitir a atacantes modificar el comportamiento del procesador de manera persistente, sin posibilidad de detección fácil por software. En este artículo, analizaremos qué es el microcódigo, cómo los atacantes pueden explotarlo y qué implicaciones de seguridad tiene.
¿Qué es el Microcódigo?
El microcódigo es un conjunto de instrucciones de bajo nivel dentro del procesador que traduce instrucciones de alto nivel en operaciones específicas de hardware. Esencialmente, actúa como una capa intermedia entre el conjunto de instrucciones de la CPU y su hardware interno. AMD, al igual que otros fabricantes de procesadores, permite actualizaciones de microcódigo para corregir errores o mejorar el rendimiento del procesador.
Sin embargo, si un atacante puede cargar microcódigo malicioso en la CPU, podría modificar su comportamiento a nivel de hardware, lo que podría ser extremadamente difícil de detectar y remediar.
Detalles de la Vulnerabilidad
El informe de Eclypsium destaca que existen ciertas debilidades en el proceso de carga de microcódigo en los procesadores AMD. En particular, los atacantes pueden aprovechar mecanismos de actualización de microcódigo para introducir instrucciones maliciosas en la CPU. Esto podría ocurrir de varias maneras:
- Carga de Microcódigo Malicioso a Través del BIOS/UEFI
- Un atacante con acceso al firmware podría insertar actualizaciones de microcódigo malicioso en el BIOS.
- Esto permitiría que el procesador ejecute instrucciones alteradas de manera persistente.
- Modificación de Actualizaciones de Microcódigo en Tiempo de Ejecución
- El microcódigo de un procesador puede ser actualizado en tiempo de ejecución mediante el sistema operativo.
- Si un atacante tiene privilegios suficientes, podría inyectar un microcódigo personalizado sin modificar el firmware.
- Ataques Mediante Software y Drivers
- Ciertos drivers tienen permisos para modificar el microcódigo en algunos procesadores AMD.
- Un malware podría explotar estos drivers para instalar código malicioso en la CPU.
El problema afecta a los procesadores de arquitectura Zen de AMD desde Zen 1 hasta Zen 4, incluidos:
- EPYC 7001 (Nápoles)
- EPYC 7002 (Roma)
- EPYC 7003 (Milán/Milán-X)
- EPYC 9004 (Génova/Génova-X/Bérgamo/Siena)
- Nápoles: 0x00800F12
- Roma: 0x00830F10
- Milán: 0x00A00F11
- Génova: 0x00A10F11
La investigación de Eclypsium subraya la necesidad de fortalecer la seguridad en la actualización y validación de microcódigo para mitigar estos riesgos y proteger los dispositivos contra este tipo de amenazas avanzadas.