Investigadores de la Universidad de Birmingham, previamente conocidos por desarrollar ataques Plundervolt y VoltPillager, han descubierto una vulnerabilidad (CVE-2022-43309) en algunas placas base de servidor que permite dañar físicamente el CPU sin posibilidad de recuperación posterior. La vulnerabilidad, que ha recibido el nombre en código PMFault, puede ser utilizada para dañar servidores a los que el atacante no tiene acceso físico, pero sí acceso privilegiado al sistema operativo, obtenido, por ejemplo, mediante la explotación de una vulnerabilidad sin parches o el secuestro de credenciales de administrador.
La esencia del método propuesto es el uso de la interfaz PMBus, que utiliza el protocolo I2C, para aumentar el voltaje suministrado al procesador a niveles que pueden dañar el chip. La interfaz PMBus generalmente se implementa en el módulo VRM (Voltage Regulator Module), al que se puede acceder mediante manipulaciones con el controlador BMC. Para llevar a cabo un ataque en placas que soportan PMBus, además de los privilegios de administrador en el sistema operativo, es necesario tener acceso programático al BMC (Baseboard Management Controller), por ejemplo, a través de la interfaz IPMI KCS (Keyboard Controller Style), a través de Ethernet o mediante la reprogramación del BMC desde el sistema actual.
La existencia de un problema que permite realizar un ataque sin conocer los parámetros de autenticación en el BMC ha sido confirmada en las placas base Supermicro que soportan IPMI (X11, X12, H11 y H12) y ASRock, pero otras placas de servidor también son vulnerables si se tiene acceso a PMBus. En experimentos realizados, al aumentar el voltaje a 2.84 voltios en estas placas, se dañaron dos procesadores Intel Xeon. Para acceder al BMC sin conocer los parámetros de autenticación, pero con acceso root al sistema operativo, se utilizó una vulnerabilidad en el mecanismo de verificación de firmware que permitió cargar una actualización de firmware modificada en el controlador BMC, así como la posibilidad de acceso no autenticado a través de IPMI KCS.
El método de modificación del voltaje a través de PMBus también puede utilizarse para realizar un ataque Plundervolt, que permite dañar el contenido de las celdas de datos en la CPU al reducir el voltaje a niveles mínimos, lo que afecta los cálculos en enclaves aislados de Intel SGX y genera errores en algoritmos que originalmente eran correctos. Por ejemplo, si se logra modificar el valor utilizado en la multiplicación durante el proceso de cifrado, el resultado será un texto cifrado incorrecto. Con la capacidad de acceder al manejador en SGX para cifrar sus datos, un atacante puede, provocando fallos, acumular estadísticas sobre la modificación del texto cifrado en la salida y recuperar el valor de la clave almacenada en el enclave SGX.
Las herramientas para llevar a cabo ataques en placas Supermicro y ASRock, así como una utilidad para verificar el acceso a PMBus, se han publicado en GitHub.
Fuente: opennet.ru
