¡Descifrado! Consiguen vulnerar la clave secreta de las CPUs Intel

¡Descifrado! Consiguen vulnerar la clave secreta de las CPUs Intel

Josep Roca

Las CPUs son vulnerables a fallos de seguridad e incluso a actualizaciones que les llegan en pos de solventar esos fallos de seguridad e incluso para solventar problemas de rendimiento. Es por ello que todos los procesadores tienen una puerta trasera que requiere de clave secreta que le da acceso al fabricante a los procesadores instalados en todo el mundo. Dicha clave es uno de los mayores secretos, pero en el caso de Intel han conseguido descifrarla. ¿Cuáles son las consecuencias?

Pese a que parece que conocemos todo acerca de los procesadores, los fabricantes se guardan para sí ciertos secretos, los cuales son revelados de tanto en cuando gracias a la pericia de los hackers y a través de ingeniería inversa.

La clave secreta de las CPUs Intel al descubierto

Hacker Inside

Los investigadores Maxim Gorachy, Dmitry Skkylarov y Mark Ermolov han realizado una de las proezas más difíciles de la era moderna, ya que han conseguido el hito de descifrar la clave secreta de los procesadores de Intel por primera vez en la historia.

Con dicha clave secreta es posible ver el contenido entero de los parches de seguridad y las pequeñas actualizaciones de los procesadores, e incluso le otorga la capacidad a los que conozcan dicha clave el acceso directo a las decenas de millones de procesadores Intel.

Esto es un arma de doble filo, ya que por un lado la comunidad hacker con buenas intenciones puede crear parches para solventar problemas comunes de los procesadores Intel y por el otro lado se puede utilizar para tareas de espionaje sobre la población por parte de organizaciones con objetivos malignos y países enemigos.

¿Qué es la clave secreta de un procesador?

Para de evitar el acceso directo a partes vulnerables del sistema por parte de los programas, lo que se hace es dar una jerarquía al código que se ejecuta en el sistema: los llamados anillos de ejecución, los cuales a nivel del software hacen que las aplicaciones no accedan a los espacios de la memoria del sistema sobre los que no tienen permiso.

Anillos de privilegios Intel CSE
Pero hay un nivel secreto donde se encuentra un código que no se ejecuta desde la RAM del sistema, sino que está está dentro de una memoria interna del procesador, y en dicha memoria el código está cifrado con una clave secreta que solo conoce el fabricante de esa CPU.

cifrado Descifrado CPU

Imaginad que que la persona A quiere enviar un mensaje a la persona B, y entre ambos hay una persona AB que utilizando el cifrado se encarga de descifrar todos los mensajes. Si A quisiera enviar  el mensaje «Hola” tal cual, este sería descifrado por AB como «Gnkz», por lo que la persona B no entenderá el mensaje. En cambio, si en el mensaje escribimos «Ipmb» entonces el descifrador lo traducirá en «Hola» y la persona del punto B sí que entenderá al mensaje.

En un procesador: la clave secreta no es un valor alfanumérico, sino que para generar el código se utiliza un algoritmo de cifrado el cual tiene asociado un valor constante que solo conoce el fabricante y es utilizado tanto por el cifrador como el descifrador. El cifrador se utiliza a la hora de compilar el microcódigo y es una pieza de software, en cambio el descifrador está dentro de la CPU y es una unidad de hardware.

¿Cómo se accede al microcódigo interno de una CPU?

Backdoor

Hay dos formas para acceder a la memoria interna de una CPU:

  • En algunos procesadores hay una serie de direcciones dentro del direccionamiento de memoria que al escribir sobre ellas se accede a donde se encuentra el microcódigo dentro del procesador.
  • En otros hay una serie de instrucciones especiales que permiten escribir en ese espacio.

Dicho espacio al encontrarse fuera de la memoria RAM no entra dentro de los anillos de ejecución y por tanto se necesitan otras medidas de seguridad, de ahí a cifrar el contenido que se almacena en dicha memoria y la necesidad de una clave secreta.