El 2018 empezó bastante mal en lo que respecta a nuestra seguridad, con la publicación de varios exploits que afectan a la mayoría de los procesadores actuales: Meltdown y Spectre.
En sus diversas variaciones, tanto Meltdown como Spectre intentan saltarse las barreras que existen entre el sistema operativo y las aplicaciones, y entre las propias aplicaciones, respectivamente.
En el caso de Spectre, esto se consigue aprovechándose de una tecnología presente en casi todos los procesadores actuales, la ejecución especulativa.
Ahora investigadores de la Universidad de California, de la Universidad de Binghamton, de Carnegie Mellon y del College of William and Mary han revelado un nuevo tipo de ataque que también se aprovecha de la ejecución especulativa. Se llama BranchScope, y por el momento ya sabemos que afecta a los procesadores de Intel.
Qué es la ejecución especulativa
La ejecución especulativa es una técnica que permite al procesador ejecutar tareas antes de que realmente sean necesarias; de esta manera se mejora el rendimiento si resulta que esos resultados sí se necesitaban para una tarea posterior.
En otras palabras, el procesador “adelanta” al programa, en vez de esperar a que este le ordene tareas. Y en el caso de que realmente el programa no necesite esos resultados, es posible hacer como si nada de eso hubiera ocurrido y continuar por donde estaban.
Para conseguir la ejecución especulativa, es necesario que el procesador posea un predictor de saltos, que se encarga de seguir las instrucciones, comprobar si se siguieron, y en caso afirmativo comprobar la dirección de memoria de la siguiente instrucción a ejecutar.
BranchScope, el primo de Spectre
BranchScope es muy similar a la segunda variante de Spectre. Mientras que Spectre se centra en la estructura de datos que registra la siguiente instrucción, Branchscope obtiene información de la dirección de memoria que se ha predicho y se podría ejecutar.
Por el momento los investigadores sólo han confirmado que los procesadores Intel son vulnerables a BranchScope, y ya han usado el exploit para obtener información que debería estar protegida.
En concreto, usaron BranchScope para filtrar información protegida por SGX, una funcionalidad que permite cifrar datos inaccesibles hasta por el propio sistema operativo. También afirman que es posible usarlo para obtener datos del usuario que deberían estar cifrados. Sin embargo, al igual que Spectre, primero es necesario que el atacante pueda ejecutar código en nuestro sistema.
Al igual que Meltdown y Spectre, BranchScope se aprovecha del hardware, y por lo tanto sólo se puede arreglar cambiando el procesador por uno que no sea vulnerable.
Las buenas noticias es que los investigadores trabajaron con Intel antes de publicar esta investigación; a diferencia de lo que hicieron los responsables de la última publicación de bugs de AMD.
Intel afirma que, como el método es similar a Spectre, creen que los parches ya lanzados pueden ser útiles para mitigar el impacto de BranchScope. Además, ya sabemos que a lo largo de 2018 llegarán los primeros procesadores de Intel invulnerables a este tipo de ataques.