Vulnerabilidades en Procesadores AMD a Través de Microcódigo Malicioso

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)
Detección

Cualquiera puede verificar que los sistemas actualizados estén ejecutando la última versión del microcódigo. Esto se puede lograr usando head -n7 /proc/cpuinfo (consulte el campo "microcódigo") en Linux y reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 (consulte el campo "Revisión de actualización") en Windows. Compare esto con las versiones de microcódigo fijo enumeradas en el aviso de AMD. Según AMD, las últimas versiones de microcódigo son las siguientes:
  • Nápoles: 0x00800F12
  • Roma: 0x00830F10
  • Milán: 0x00A00F11
  • Génova: 0x00A10F11
Las vulnerabilidades en los procesadores AMD relacionadas con el microcódigo representan un riesgo significativo para la seguridad de los sistemas informáticos. Al permitir la manipulación del comportamiento del procesador a nivel de hardware, estas fallas pueden ser explotadas por atacantes para evadir detección y mantener persistencia en un sistema comprometido.

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.

Fuente: AMD Processors Vulnerable to Malicious Microcode - Eclypsium | Supply Chain Security for the Modern Enterprise



Si te gusta este contenido, no olvides seguirnos en nuestras redes sociales!: