El 2018, Meltdown y Spectre: El dolor de cabeza para Intel, AMD y todos nosotros

Estaba escribiendo sobre las novedades que se vienen en el ámbito de procesadores en este 2018, pero tuve que suspender el artículo momentáneamente, porque se desató un problema de magnitudes catastróficas en ese mismo ámbito. Damas y caballeros, con ustedes Meltdown y Spectre, el dolor de cabeza que nos regala el recién llegado 2018.

¿Que es y quién está afectado?

Usualmente las vulnerabilidades en computación de deben al software y se resuelven con parches. Por esa razón, sea que uses Linux, Windows, Mac, Android o iOS, de forma constante, tanto el sistema operativo como las apps se van actualizando para corregir errores y arreglar vulnerabilidades.

¿Pero qué pasa cuando la vulnerabilidad está en el hardware? Ahí es donde está la gravedad del problema que presentan estas dos vulnerabilidades. Si bien tienen solución hasta cierto grado, está no es tan sencilla como para solucionarse con un simple parche totalmente.

¿En qué consisten estás vulnerabilidades? Para entender de forma sencilla que es lo que se hace, podernos imaginarnos que es como cuando frotando con un lápiz podernos saber qué se escribió en un cuaderno por las marcas que dejó la escritura en la hoja de abajo.

Una técnica utilizada para acelerar la velocidad de cómputo, es la ejecución especulativa. Está prepara resultados para diferentes condiciones o resultados de modo que para cuando está el resultado, ya están los datos listos. Estos datos (los de todas las condiciones) se escriben en la memoria caché para ser utilizados por las dudas y cuando no se usan más, se borran. Sin embargo, con técnicas muy simple se puede acceder a esa memoria antes que se borre. De esa forma, se puede saber qué datos habían antes, algo similar a cómo con un lápiz podíamos saber qué habían escrito antes en un cuaderno. Pero a diferencia del viejo truco, aquí no obtienen datos triviales, sino datos que pueden exponer la seguridad del sistema.

Y lo grave es que, todos los procesadores de casi todas las arquitecturas fabricados en los últimos 20 años están comprometidos por este problema. Intel y AMD y sus procesadores X86/X64, y ARM y todos los procesadores derivados de sus diseños (que equipan a casi todos los celulares y dispositivos electrónicos portátiles), están afectados.

Sí, estamos todos en el horno.

La magnitud real del problema

¿Que tan grave es el problema? Veamos brevemente las dos vulnerabilidades e imaginemos escenarios.

La vulnerabilidad Meltdown, afecta principalmente a procesadores Intel. Estos almacenan muchos datos en el caché de forma preventiva y para peor, permiten obtener datos del mismo kernel (El corazón del sistema operativo). Eso permite que cualquier aplicación pueda ir reconstruyendo los datos que procesa el mismo kernel, sean cuales sean esos datos. Podían ser datos bancarios, claves, credenciales, etc. La integridad de los mecanismos de seguridad que corren en todas las computadoras está vulnerable debido a esta falla de diseño.

En el caso de Spectre, es más grave aún, porque utiliza características propias de los procesadores para acceder a áreas de memoria fuera del rango permitido, lo que le permite acceder a datos de otras aplicaciones, así como del mismo kernel. Pero a diferencia de Meltdown, en esta vulnerabilidad están afectados también los procesadores AMD y ARM, lo que hace que casi todos los procesadores estén vulnerables a este tipo de ataques.

El peligro mayor, no es que con esta vulnerabilidad accedan a nuestra máquina, que ya de por sí es peligroso porque podían acceder a datos privados. El peligro real está en los servidores, donde se guardan nuestros datos. Mails, archivos, fotos, música, lo que sea. Muchos de nosotros confiamos estos gastos en almacenamiento “seguro” en la nube. Bueno, si está vulnerabilidad no se corrige, podernos quitar la palabra seguro de la ecuación.

Pensemos en todos los servicios en la nube y en la gran cantidad de servidores que hay allí corriendo. Es más, según algunas pruebas, desde una máquina virtual se pueden leer datos del sistema host, lo que, es una locura en términos de seguridad. Claramente, algo hay que hacer.

Que se está haciendo

Cómo mencionamos, solucionar este problema no es tan sencillo como instalar un parche.

Por ejemplo, para la vulnerabilidad Meltdown ya se están trabajando en parches. Microsoft ya está liberando parches para Windows 10, 7 y las versiones para servidores de Windows. De esta forma se trata de reducir el impacto.
En el ámbito de Linux, ya existen parches liberados, pero pasarán unos días hasta que todas las distribuciones principales lo pongan a disposición del público. Y por el lado de Apple, se comenta que ya se recibió un parche para Meltdown en un update.

Ahora bien, estos parches no sean la panacea. Algunos argumentan que, debido a los controles extras que se realizarán para evitar el problema, bajará la performance del procesador hasta un 30%, lo cual Intel desmintió inmediatamente. Será cuestión de esperar y ver.

En el caso de Spectre, de momento no existe un parche, y se estima que corregir este problema podría también traer aparejado una baja en el rendimiento porque debería prácticamente deshabilitarse por software la ejecución especulativa. Lo bueno de Spectre es que es muy complicado hacer andar un exploit de este tipo (al menos de momento), por lo que es poco probable que veamos uno pronto. Y es bueno eso porque no hay nada que podamos hacer para protegernos de ese ataque.

Sea cual sea la solución que haya para nuestro sistema operativo, estimamos que algo más lento será todo. No sabemos si el 30% que vaticinan algunos, pero sí más lento. Después de todo la ejecución especulativa es un recurso para acelerar el cálculo que, de una forma u otra debería deshabilitarse para que los sistemas sean seguros. ¿Será perceptible esa baja de performance? Ya veremos.

¿Y los procesadores? ¿Ya hay procesadores inmunes a este exploit? No, y no van a existir por un buen tiempo. La razón es que este exploit ataca la arquitectura base de todos los procesadores independientemente de su arquitectura. Para poner fin a este ataque, deben introducirse cambios en esa arquitectura base. Los procesadores no se hacen de un día al otro. Entre el diseño y la entrada en producción, pueden pasar meses o años. De modo que hasta que Intel, AMD y ARM no diseñen un nuevo procesador sin los cambios necesarios, todos los procesadores que salgan a la venta tendrán está vulnerabilidad. Y no, ninguna empresa va a detener la producción hasta tener procesadores sin este fallo.

La vulnerabilidad segun Intel

¿Y que puede ser peor que esto?

Bueno, no nos olvidemos de nuestros queridos amigos los abogados. Muchos ya se están sonriendo pensando en las demandas que presentarán a estas empresas y los millones que embolsarán por las mismas.

¿Cómo responderán los mercados a esto? ¿Cómo será el futuro de estas empresas? Es pronto para saber los efectos a largo plazo, pero los mercados de momento no estan muy contentos con Intel, de hecho ayer las acciones se desplomaron un 3,5%.

Lo unico seguro es que, si trabajas de sysadmin, este año instalarlas parches, muchos parches. ¡Feliz 2018!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *