Spectre Meltdown

Meltdown y Spectre: ¿qué son y cómo proteger tu información?

Comenzamos el año 2018 con dos vulnerabilidades que afectan a millones de chips fabricados desde mediados de los 90. Este problema está obligando a empresas como Intel, AMD, AMR, Microsoft, Linux y Apple, entre otros, a actualizar sus sistemas. Las dos brechas de seguridad se han dado a conocer como Meltdown y Spectre. Implican el robo de contraseñas y datos confidenciales en la gran mayoría de los dispositivos actuales.

También ponen de relieve un problema presente en la industria desde hace más de una década: el diseño de los microchips contenía un defecto. Por el momento, se desconoce si alguien ha podido aprovechar estas técnicas para realizar un ciberataque. Además de ordenadores personales o portátiles también hay riesgos potenciales de seguridad en dispositivos móviles.

Según el INCIBE (Instituto Nacional de Ciberseguridad) se aconseja a todas las empresas, organizaciones y usuarios domésticos que protejan sus sistemas de posibles amenazas con la instalación de parches tan pronto como estén disponibles. Y es que parece ser que parte del error se puede solucionar con una actualización del software. Entonces, ¿dónde está el problema? El parche puede suponer una pérdida de rendimiento de entre el 5% y el 30 %, dependiendo de la tarea que se realice y del modelo de procesador. Meltdown y Spectre no pueden ser identificados por un antivirus. Sólo podrán ser detectados los ciberataques que desencadenen.

Intel Spectre Meltdown

¿Desde cuándo existe este problema?

Los procesadores de Intel fueron los primeros en reportar el problema. Pero es más grave de lo que se pensaba. También afecta a los procesadores de AMD y ARM. Las tres marcas se incluyen en infinidad de dispositivos: portátiles, tabletas, smartphones o dispositivos de Internet de las Cosas (IoT). Estamos ante un problema propiciado por el  diseño en la arquitectura de los chips afectados. Esta característica facilita el acceso a información sensible mientras los datos se preparan para ejecutar el siguiente paso. Los Investigadores del Project Zero de Google, así como un equipo independiente de los investigadores académicos, descubrieron ambas brechas en 2017, pero el fallo ha existido en los chips durante, tal vez, más de 20 años.

La ejecución especulativa: sacrificar seguridad por velocidad

La gran mayoría de chips fabricados desde 1995 incluyen un sistema conocido como “ejecución especulativa”. Éste optimiza recursos y la velocidad de procesamiento, anticipándose a ciertas acciones. Si estas acciones no se llegan a realizar se guardan temporalmente. Lo que hace, para entendernos, es tratar de predecir lo que va a pasar y adelantarse para ganar tiempo. Si el procesador comprueba que su predicción era errónea, retrocede en la pila de ejecución y la descarta. El fallo está en que dicho descarte no  se realiza de forma efectiva. Antes hacerlo, almacena la información generada en caché. Con Meltdown y Spectre, sí es posible acceder a esos datos personales almacenados.

Su mayor impacto lo va a tener en las empresas y proveedores de servicios en la nube. En estos casos existe una máquina física que ejecuta diversas máquinas virtuales de clientes distintos. Un atacante puede desarrollar un programa que acceda a los datos de otros clientes dentro de la misma máquina.

Demostración de un robo de contraseñas a través de la vulnerabilidad Meltdown.

Meltdown y Spectre: sus características y sus soluciones.

Los ataques se presentan en tres variantes distintas CVE (un estándar para rastrear vulnerabilidades de seguridad). CVE-2017-5754, de Meltdown, y CVE-2017-5715 /CVE-2017-5753 de Spectre. Meltdown, el primer fallo que se detectó, se puede solucionar instalando parches o actualizaciones. Spectre es más peligroso. De momento, no existe una solución que evite que se pueda explotar.

Meltdown

El aislamiento de procesos de la memoria, cuenta con un sistema que  supervisa y define el acceso a la memoria del kernel. Esta característica permite al sistema operativo mapear el kernel en el espacio de memoria de cada proceso, con los procesos de usuario. Meltdown tumba dicho aislamiento de la memoria, explotando la información alojada en un canal lateral del propio procesador. Para ello ataca la brecha que aparece en las ejecuciones “OoOE” (Out of Order Execution o Ejecución Fuera de Orden). Este tipo de ejecuciones se utilizan para optimizar al máximo la velocidad de los núcleos de los procesadores. Por tanto esta brecha permite a un programa acceder a la memoria del sistema operativo.

Un ataque Meltdown completo pasa, primero, por la localización y lectura de un valor secreto alojado en la memoria, ejecutando instrucciones transitorias fuera de orden. A continuación. dicho valor se transmite transformando el estado de microarquitectura en uno arquitectónico. Concluye con la recepción del valor secreto y su deducción. Afecta sobre todo a ordenadores personales y a la infraestructura Cloud.

Esta demostración muestra la reconstrucción de una foto vista anteriormente, que aún está en la memoria, utilizando la vulnerabilidad Meltdown. El vídeo también demuestra que los datos leídos no tienen que almacenarse en caché en L1, ya que la imagen es más grande que la caché L1.

Spectre

Directamente engaña a otras aplicaciones para acceder a procesos aislados de la memoria. Al igual que Meltdown, utiliza los canales laterales para obtener la información de la ubicación a la que se accede. Es más peligroso porque rompe el aislamiento entre distintas aplicaciones. También es más difícil de explotar. Requerirá en la arquitectura del procesador para solucionarlo por completo.

La diferencia principal entre las dos vulnerabilidades es que Meltdown permite acceder a la memoria del sistema para el robo de información, mientras que Spectre lo hace a través del acceso a la memoria de otras aplicaciones.

Meltdown fue descubierto por tres equipos diferentes formados por Jann Horn (de Google Project Zero), Werner Haas, Thomas Prescher (de Cyberus Technology), y Daniel Gruss, Moritz Lipp, Stefan Mangard y Michael Schwarz (de Graz University of Technology). Por su parte, Jann Horn y Paul Kocher fueron los primeros en reportar Spectre.

Graz University of Technology

Más allá de Intel

El INCIBE apunta que: “no existe una solución única para este fallo de diseño y cada fabricante que incorpore estos productos debe desarrollar una protección”. Algunos de ellos ya disponen de actualizaciones para solucionar la vulnerabilidad Meltdown, por tanto vamos a repasar qué se está haciendo en algunas de las firmas más importantes y extendidas en el mundo.

Brian Krzanich, el consejero delegado de Intel, abrió su conferencia en el CES 2018  diciendo: “Hasta donde sabemos nadie ha aprovechado la brecha de seguridad para robar información de los usuarios. Nuestros productos y procesadores de los últimos cinco años serán seguros en menos de una semana. Habrá una actualización que lo solventará en el 95% de los casos. Para finales de enero esperamos que esté todo solucionado”. De esta manera quiso zanjar el tema, dejando muchas dudas en el aire.

Para acceder a todas sus actualizaciones haz clic aquí.

AMD y ARM

Según los primeros apuntes de los investigadores de Project Zero, no había certeza para asegurar que Spectre y Meltdown afectaran a los procesadores de AMD y ARM, pero era muy probable que sí porque utilizan una arquitectura muy similar. El caso es que ARM ya ha publicado un pequeño listado con procesadores vulnerables: Cortex R-7, Cortex R-8, Cortex A-8, Cortex A-9, Cortex A-15, Cortex A-17, Cortex A-57, Cortex A-72, Cortex A-73 y Cortex A-75.

El vicepresidente senior y Jefe de Tecnología de AMD, Mark Papermaster, le intenta quitar hierro a este asunto tan grave y ha declarado que “Meltdown no nos afecta por lo que me centraré en Spectre. La primera variante se está resolviendo con un parche vía software, como está haciendo el resto de la industria. En la segunda variante hemos determinado que hay un riesgo de casi cero por la arquitectura AMD”. Sin embargo, otras empresas como Intel, Microsoft y Google aseguran que si bien no son todos los modelos, sus chips también son vulnerables.

Lo cierto es que los usuarios que han descargado el primer parche de Windows para Meltdown están quejándose de que les está dejando inservibles los equipos con procesadores AMD. En el foro oficial de Microsoft se pueden leer muchísimas entradas que hablan de cómo la actualización de seguridad Windows KB4056892, deja colgado el equipo durante el proceso de arranque. Además el parche no crea un punto de recuperación. Microsoft ha parado la actualización acusando del problema a AMD. Por tanto habrá que tener cuidado e instalar lo antes posible el parche, pero comprobando antes que no da problemas con el propio dispositivo o con otras aplicaciones, como por ejemplo, los antivirus.

Haz clic en AMD o ARM para acceder a todas sus actualizaciones.

Chip Spectre Meltdown

Android

Cualquier teléfono o tableta Android son vulnerables.  Google ya ha publicado diferentes actualizaciones que solucionan las vulnerabilidades con la última actualización de seguridad.  Los dispositivos Google Home o Chromecast, no corren peligro. Según la compañía los Chromebook con procesadores ARM están fuera de peligro también.

Para ampliar la información sobre Android haz clic aquí.

Apple

Apple no ha dudado en declarar que Meltdown y Spectre afectan a todos los Mac y dispositivos iOS, aunque ha asegurado que no se han detectado ataques contra sus productos basados en estos bugs, y ha lanzado las primeras actualizaciones de seguridad para sus sistemas operativos iOS 11.2, macOS 10.13.2 y tvOS 11.2. El Apple Watch es el único dispositivo que no corre peligro.

Según han declarado el portavoz de Apple: “Nuestras pruebas con comparativas públicas han mostrado que, tras los cambios como resultado de las actualizaciones de diciembre de 2017, no se observa ninguna reducción apreciable en el rendimiento de los sistemas operativos MacOS e iOS, siguiendo la valoración de la comparativa GeekBench 4, así como en comparativas de navegación en Internet como las de Speedometer, JetStream y ARES-6” .

Microsoft

Para Microsoft, “la mayoría de los clientes de Azure no deberían observar ningún impacto perceptible en el rendimiento con la actualización”. Después de instalar su parche aseguran que no ven ninguna bajada en el rendimiento. Para cualquier novedad, puedes visitar la siguiente guía de seguridad.

Google

Han desarrollado una solución llamada Retpoline con la que ha detectado un impacto “insignificante” en los sistemas de la compañía. Esta corrección consiste en una técnica de modificación binaria que protege los equipos contra ataques derivados de estas vulnerabilidades.

¿De dónde surgen los nombres de “Meltdown” y Spectre”? ¿Y sus logos?

La Universidad de Tecnología de Graz (Austria) ha creado el portal http://meltdownattack.com para acceder a todo lo que se conoce hasta el momento sobre Meltdown y Spectre. Desde allí se puede encontrar información oficial y avisos de seguridad de las compañías involucradas y/o afectadas. También curiosidades como, por ejemplo, el origen de los nombres o que Natascha Eib diseñó los dos logos.

Dando nombre a las bestias

Según Michael Schwarz, que formó parte de en uno de los equipos que descubrieron e informaron por primera vez sobre “Meltdown”, el nombre fue acuñado por su colega Daniel Gruss. Según él: ”este error “derrite” la frontera entre los programas y el sistema operativo. Generalmente, una fusión nuclear se produce por alguna fuga. Algo así está pasando aquí, además suena realmente devastador, con un gran impacto, como una fusión real en un reactor nuclear“. Al darse cuenta de que la brecha produciría un “colapso colectivo”, el nombre parecía aún más perfecto. Además, Schwarz nos señaló que “Meltdown” evoca un juego de palabras en alemán. “En alemán, “Meltdown” se dice “Kernschmelze”, que significa “fusión del núcleo”, señaló. Por otro lado “CPU core” se dice “CPU Kern”, por lo que también es un juego de palabras que implica que la CPU no está en buenas condiciones.

Para Paul Kocher, y el resto de los 5 investigadores que dieron con “Spectre”, el nombre estaba en su mente desde el primer momento: “Escogí el nombre de “Spectre” por la similitud de la palabra con “Speculative” (ya que la vulnerabilidad es el resultado de la ejecución predictiva) y por su parecido a un fantasma, ya que la  ejecución predictiva es, en gran medida, invisible desde la ejecución del programa ordinario“.

Hasta aquí toda la información que se conoce al respecto. Según vayan pasando los días iremos actualizando nuestro blog, para informarte de cualquier novedad sobre Meltdown y Spectre. No olvides mantener tu equipo actualizado y ante cualquier duda, ponte en contacto con nosotros.