Radeon RX 7900 se libera del control de AMD: ahora los propietarios pueden modificarla

Radeon RX 7900 se libera del control de AMD: ahora los propietarios pueden modificarla

Firmware modificado permite ajustar libremente voltajes y frecuencias

image

El firmware firmado debería ser la última línea de defensa de la tarjeta gráfica, pero para Navi31 esa línea se pudo desactivar temporalmente. El autor del proyecto Wake and Break publicó un exploit para la AMD Radeon RX 7900 que interfiere con el Platform Security Processor y obliga a la GPU a aceptar componentes de firmware sin una firma válida del fabricante.

El objetivo fue el PSP, un procesador protegido dentro de la GPU que participa en el arranque seguro y verifica los componentes de confianza. Wake and Break desactiva la comprobación de firmas para varios tipos de firmware de IP, incluidos SMU, SDMA, MEC, IMU y RLC. Gracias a ello, la tarjeta puede cargar código modificado que controla la energía, las frecuencias y otras funciones de bajo nivel.

El exploit no flashea la memoria SPI y no deja cambios permanentes. El parche se coloca en la memoria del PSP, tras lo cual la tarjeta gráfica realiza un reinicio en caliente con la lógica de comprobación modificada. El corte completo de energía borra el parche y la protección estándar vuelve a rechazar las imágenes no firmadas. Precisamente el carácter temporal de la intervención dio su nombre al proyecto Wake and Break.

El autor confirmó el funcionamiento en dos Radeon RX 7900 XTX con distintas compilaciones de firmware. En la prueba, la tarjeta estándar rechazó una imagen con la firma dañada; tras aplicar el parche la aceptó, y después de un encendido en frío volvió a bloquearla. Para otras dos compilaciones conocidas de Navi31 se prepararon perfiles, pero aún no se han verificado en hardware real.

El mecanismo utiliza dos programas confiables oficiales de AMD. Uno ejecuta una cadena que permite escribir datos en la memoria del PSP, tras lo cual un pequeño parche ARM llega a la copia residente del cargador. En el siguiente arranque en caliente, el código modificado desactiva la comprobación de firmas. Un método de evasión similar lo demostró anteriormente EntrySign, pero aplicado al microcódigo de las unidades centrales de procesamiento.

Para su ejecución se necesita un host Linux y acceso a la tarjeta gráfica mediante el controlador AMD del proyecto tinygrad por PCIe o a través de un puente USB. Por tanto, el código publicado no describe el compromiso remoto de un PC de juego común. La demostración muestra la evasión de la raíz de confianza de hardware cuando existe control local sobre el sistema y abre la puerta a firmware propio de bajo nivel.

El efecto práctico por ahora se limita a pruebas de laboratorio. La posibilidad de cambiar el firmware permite potencialmente experimentar con los límites de potencia, las frecuencias y el comportamiento de bloques concretos de la GPU, pero el autor no afirma un aumento garantizado de rendimiento. Un reinicio en caliente fallido de la tarjeta conectada directamente por PCIe puede dejar el host completamente colgado hasta que se desconecte la alimentación de forma forzada.