ENERO DE 2018 YA TIENE SITIO EN LOS LIBROS DE HISTORIA DE SEGURIDAD INFORMÁTICA.

Y es que no podía comenzar mejor el año para aquellos que deseaban un nuevo desafío para las grandes corporaciones. Y no podía empezar peor para ellas.

A comienzos de mes, The Register hizo público que habían encontrado una vulnerabilidad muy seria en la arquitectura de los procesadores Intel.

Ahora, ya terminando el mes, no solo tiene nombre y forma el problema, sino que se ha encontrado otro de aun más extensión.

Meltdown Y Spectre

Meltdown y Spectre

Así se llaman los ataques exitosos que corroboran estos fallos de seguridad, pero no adelantemos acontecimientos.

Como decíamos, Intel está contra las cuerdas. Pero investigaciones posteriores, revelaron que existe otra vulnerabilidad que va aún más lejos. Esta sí afecta al otro gigante, AMD y a todos los procesadores con arquitectura ARM.

En otras palabras, entre esta noticia y las últimas investigaciones sobre obsolescencia programada, de las cuales también hemos hablado, no se salva nadie.

 

Meltdown Y SpectreMeltdown, así se ha bautizado al fallo que afecta solo a Intel. Tiene que ver con la ruptura del aislamiento que fundamentalmente debe existir entre aplicaciones de alto nivel y el sistema operativo. Ya hay parches que acaban con este agujero de seguridad y las compañías los están haciendo llegar a todos los usuarios.

 

Meltdown Y SpectreSpectre, que como hemos dicho pasa por encima de todos, consigue franquear el aislamiento entre las distintas aplicaciones. Puede comprometer la integridad de programas ya seguros o extraer contenido de aplicaciones al que solo se accedería con permisos de administrador.

 

PERO DE QUE SE TRATA EXACTAMENTE

Si nos adentramos en cuestiones de más bajo nivel, empezamos a entender en qué momento se empezó a comprometer la seguridad por mejores prestaciones. Meltdown y Spectre tienen que ver con la muy nombrada este mes ejecución especulativa.

Se trata de un mecanismo que aprovechan los sistemas multihebra para optimizar el tiempo de ejecución de los procesos que tiene que llevar a cabo.

Muy por encima, imagina una tarea que, dependiendo de su ejecución, cuando termine hay que hacer una u otra cosa. Como los procesadores pueden hacer muchas a la vez, lo que intentan es predecir cuál va a ser la siguiente que va a tener que hacerse y la ejecuta paralelamente. Si la predicción no es correcta, se descartan todos los recursos dedicados a esa posibilidad y se hace la otra. También, se da el caso en el que hacen las dos cosas a la vez, para que cuando termine la tarea, independientemente del valor que se necesite lo tendrá a su disposición.

Meltdown Y Spectre

Obviamente la explicación es mínima comparada con la envergadura de las ejecuciones que se alcanzan en un procesador convencional. Pero creo que dimensionándolo de esta forma se entiende mejor.

A esto hay que añadir que, cuando se calculan estas tareas paralelas y se guardan los resultados en memoria virtual, nuestra queridísima caché, como siempre, guarda una copia de los datos que vamos a necesitar para poder acceder a ellos todavía más rápidamente.

Pero la caché es vulnerable a ciertas cosas. Y aqui entran en escena Meltdown y Spectre.

 

PROBLEMA

El problema es el siguiente. Ahora imagina que esta supuesta tarea es una comprobación de permisos para leer una zona de memoria crítica, y que los procesos sucesivos es la lectura de dicha memoria.

Meltdown demostró que se puede, mediante ataques side-channel, determinar cuál de los datos ha sido cargado en caché. De esta forma, se podría establecer cuál es el valor de la zona de memoria a la que no teníamos permiso para acceder.

Meltdown Y Spectre

En definitiva, un ataque que explotara esta vulnerabilidad podría leer cualquier zona de memoria de nuestro equipo.

 

¿QUE SOLUCIÓN TIENE ESTO A DÍA DE HOY?

Alguien diría: “fácil, pues que no utilicen este mecanismo y que se ejecute todo en un hilo o que se realice una espera en el caso de que en algún momento se necesiten permisos para continuar”.

Claro, pero no es tan simple. Como arreglos de seguridad sí, pero la velocidad de muchas aplicaciones radica en estos mecanismos. Para modificarlos sin alterar el rendimiento, 

Meltdown Y Spectrese ve comprometida la arquitectura actual que tienen los chips, es decir, el hardware y por si alguien no lo sabe, las soluciones a ese tipo de problemas no son precisamente rápidas y baratas.

Hasta entonces pues sí, arreglos.

Será el sistema operativo el encargado de controlar por encima este comportamiento. Por tanto,  ya depende de cada compañía cuándo y de qué forma nos harán llegar una actualización del sistema con el parche de seguridad. 

 

CONSECUENCIAS

Pues lo dicho, el mecanismo vulnerable del que se aprovechan Meltdown y Spectre se encarga de acelerar procesos. Su pérdida, conllevará una ralentización del equipo. Los últimos benchmarks apuntan que está entre el 5% y el 30%, dependiendo de la aplicación.

En un usuario estándar seguramente no se note esta pérdida. Pero hay ciertas aplicaciones, que se aprovechan al máximo de estas optimizaciones y en las que el parche se va a notar bastante.

Veremos de qué forma van tapando este agujero las arquitecturas afectadas y qué cambios supondrá el nuevo descubrimiento. Sin duda un paso más en el camino, puede que utópico, del sistema impenetrable.

Fuentes:

 

Si no quieres perderte ninguna novedad, únete a nuestro canal de Telegram: https://t.me/feelingthenet