Hace 2 años | Por pandasucks a infoq.com
Publicado hace 2 años por pandasucks a infoq.com

Los investigadores de seguridad Mark Ermolov , Dmitry Sklyarov y Maxim Goryachy descubrieron dos instrucciones x86 indocumentadas que pueden usarse para modificar el microcódigo de la CPU . Las instrucciones solo se pueden ejecutar cuando la CPU se ejecuta en modo de depuración, lo que hace que no sean fácilmente explotables.

Comentarios

D

#2 No, para nada. A ver... todos los micros actuales permiten actualizar el microcódigo interno para poder corregir errores. Esta actualización se puede realizar de dos maneras: o bien desde la BIOS (de manera que el fabricante de placas puede añadir parches en actualizaciones de la BIOS y que éstas se carguen automáticamente durante el arranque; esto se suele hacer normalmente para errores relativamente graves), o bien durante el arranque del sistema operativo (de manera que aunque tu fabricante ya no saque más versiones de la BIOS, puedas acceder a las nuevas versiones de firmware). Es a través de este sistema que se corrigieron o mitigaron algunos fallos de seguridad actuales de los procesadores.

La cuestión es que, obviamente, tiene que haber alguna manera de hacerlo, y lo normal es que sea mediante un conjunto de instrucciones. Por supuesto, dado lo crítica que es esta operación, es fundamental que no sea accesible "de cualquier manera", y una de las muchas protecciones que usan los fabricantes es no revelar qué instrucciones son las que hacen esto y cual es su formato. Esos investigadores simplemente han descubierto qué instrucciones son las que se utilizan en un procesador concreto.

Además, hay que recordar también que estas instrucciones son MUY específicas de cada procesador (y cuando digo "procesador", no digo "Intel" vs "AMD", ni "x86" vs "ARM", sino "Pentium 4" vs "Core Duo", o incluso entre versiones del mismo modelo, por lo que descubrir cómo funciona completamente en uno no significa que lo aprendido sirva para otro.

Aún así, es algo muy peligroso (imagínate que eres capaz de meter un exploit en el microcódigo... igual que sirve para corregirlo, puede servir para meterlos), por lo que lo que hay que analizar es si Intel ha hecho bien los deberes y la protección va mucho más allá de "guardar la información en secreto".

Por supuesto, en este caso ya se están saltando una protección, pero como bien dice, es necesario poner el procesador en modo "debug", lo que ya de por sí te da suficientes herramientas para hackear cualquier cosa, por lo que el poder modificar el microcódigo no supone mucha ventaja. Habrá que ver qué ramificaciones tiene.

p

#3 He puesto que es nuevo, porque estas dos instrucciones no documentadas las acaban de descubrir.

D

Ah, y añado: según el artículo, hay que subir una UEFI nueva y reiniciar, lo que requiere acceso físico al equipo.

Jakeukalane

¿Más?

p

#1 Si, esto es nuevo.