Zombieload y CacheOut, más vulnerabilidades de Intel
Por tercer enero consecutivo, algunos procesadores vuelven a estar en problemas como consecuencia de las vulnerabilidades de Intel. Desde que en 2018 se descubrieran los problemas de seguridad bautizados como Meltdown y Spectre, los comienzos de año no han vuelto a ser lo que eran. Si bien Spectre afectaba no solo a los procesadores de Intel, sino también a los diseños de AMD y ARM tanto en ordenadores, como en smartphones o servicios en la nube.
Meltdown y Spectre, el inicio
Cuando se descubrieron estas dos vulnerabilidades de Intel, inicialmente se consideró que podrían permitir a un software malicioso controlar los procesos y los datos de la memoria del equipo. Pero, gracias a Project Zero de Google, vieron que el problema iba más allá. Alguien que explotara Meltdown o Spectre podría hacerse con los datos que se almacenaban en la memoria de otros programas.
Así, Meltdown acababa con el estado de aislamiento entre una aplicación y el sistema operativo, otorgando el acceso a la memoria del sistema. Spectre, por su parte, rompía el aislamiento entre aplicaciones, aunque su programación estuviera basada en las mejores prácticas, para permitir el acceso a la memoria de otras aplicaciones.
Mediante un problema denominado ‘ejecución especulativa’, el procesador ejecutaba un código que, llegado a un punto del algoritmo, debía decidir entre dos direcciones en función de cuáles habían sido los datos de entrada. Con estas vulnerabilidades de Intel el ciberatacante trataba de adivinar por dónde iba a continuar el proceso e intentaba adelantarse. Si el procesador se daba cuenta de que la ejecución especulativa no era correcta, volvía atrás y deshacía esos datos. Pero antes, los almacenaba en su caché. De esta forma podían diseñarse peticiones, aprovechar los fallos especulativos y acceder a esta memoria para hacerse con las contraseñas.
Ellas y sus variantes
Cuando el susto provocado por Meltdown y Spectre parecía que había pasado, llegaron sus variantes. Y solo unos meses después llegaría Foreshadow, un conjunto de tres nuevas vulnerabilidades de Intel basadas en la ejecución especulativa de Spectre. Mediante estos tres fallos de seguridad se podía extraer información de la caché de los procesadores y leer otro tipo de datos de la memoria. Como era de esperar, Foreshadow afectaba a algunos de los procesadores que ya estaban afectados por Spectre.
En mayo de 2019 salía a la luz Zombieload, una vulnerabilidad que afectaba a todos los procesadores Intel a partir de 2011. El tercer gran problema de seguridad que Intel sufría en los últimos años, permitía a un tercero acceder a la información del usuario sin que este le hubiera dado permiso. Esta carga zombie obligaba al procesador a pedir ayuda al microcódigo para evitar un fallo; haciendo que la información tenga que ir más allá de la aplicación y sus limitaciones, queden al descubierto y puedan leerse sin problemas.
En esta ocasión, tuvimos constancia de que había una nueva vulnerabilidad cuando ya estaba disponible el parche que lo corregía. En noviembre de 2019 se publicó la segunda actualización para reducir aún más el poder de Zombieload. Ahora, en enero de 2020 se ha publicado un tercer parche que corrige dos errores más que podían ser explotados para un ataque.
Desde el primer momento Zombieload fue considerado más fácil de explotar que Spectre, pero mucho menos que Meltdown. Por ello, Intel comenzó por corregir los fallos más básicos que permitían la ejecución de Zombieload en sus primeros parches; aunque desde Intel afirman que no tienen constancia de que ninguno de los errores haya sido utilizado fuera del entorno controlado de laboratorio.
Parcheando las vulnerabilidades de Intel
En estos momentos Apple, Google y Microsoft han publicado las actualizaciones pertinentes para mitigar cualquier ataque Zombieload. Para la actualización de software Intel habrá que esperar un poco más, posiblemente porque junto a Zombieload también se ha descubierto CacheOut. Un nuevo fallo que permite filtrar los datos almacenados en la memoria caché del procesador, saltándose cualquier medida de seguridad a nivel de hardware del procesador, incluidas las medidas de seguridad que se tomaron con Meltdown.
Parece que casi dos años después de Meltdown y Spectre, Intel aún no ha sido capaz de reponerse de sus vulnerabilidades. ¿Conseguirán corregir todos los agujeros de seguridad con el nuevo parche? ¿Surgirán otras vulnerabilidades nuevas? Eso, solo el tiempo nos lo dirá.