Rosenbridge: una puerta trasera de hardware en procesadores x86 de VIA

Fuentes: Rosenbridge: a hardware backdoor in some x86 CPUs

El proyecto rosenbridge, desarrollado por el investigador Christopher Domas, documenta una puerta trasera de hardware presente en algunos procesadores x86 de la familia VIA C3. El mecanismo consiste en un núcleo no x86 profundamente incrustado junto al núcleo principal del procesador. Un bit de control en un registro específico del modelo activa este núcleo embebido, que recibe comandos envueltos en instrucciones x86 con un formato especial (el llamado «deeply embedded instruction set»). Una vez habilitado, ese núcleo auxiliar ejecuta las instrucciones saltándose todas las protecciones de memoria y los chequeos de privilegios del procesador, lo que permite leer y escribir datos del anillo 0 (kernel) desde código en anillo 3 (espacio de usuario).

Aunque en teoría la activación debería requerir privilegios de kernel, en algunos sistemas el bit viene habilitado por defecto, lo que permite a cualquier código sin privilegios modificar la memoria del kernel. El repositorio ofrece utilidades para detectar si un procesador está afectado, para desactivar la puerta trasera durante el arranque mediante actualizaciones del MSR y para escalado de privilegios como prueba de concepto. También incluye un ensamblador para el conjunto de instrucciones embebido, herramientas de fuzzing basadas en sandsifter y esqueletos de código para mitigar el problema.

El alcance es limitado: solo se ven afectadas las CPUs VIA C3, orientadas a automatización industrial, terminales de punto de venta, cajeros automáticos, equipos sanitarios y algunos ordenadores de consumo. Las generaciones posteriores de la marca ya no contienen esta funcionalidad. Domas presenta el trabajo como un caso de estudio y un experimento mental sobre cómo pueden aparecer puertas traseras en procesadores cada vez más complejos, y como punto de partida para investigación de vulnerabilidades más profundas en silicio.