meltdown-y-spectre

Ni bien se acababa de hablar en el mundo del Hacking sobre Meltdown aún nos vamos a aguas más profundas con Spectre. Éstos dos son fallos de arquitectura en la CPU
de nuestros equipos.

Meltdown y Spectre se aprovechan de las vulnerabilidades críticas en los procesadores modernos. Éstos errores de hardware permiten a los intrusos robar datos que actualmente se procesan en la computadora. Si bien los programas que normalmente usamos no tiene permiso para leer datos de otros programas, un programa malicioso puede explotar Meltdown y Spectre para obtener datos guardados en la memoria de otros programas en ejecución. Ésto podría incluir nuestras contraseñas almacenadas en un administrador de contraseñas o un navegador, fotos personales, correos, mensajes, etc. Porque como obviamente habían notado el ataque que se haría es de tan bajo nivel que accede a el robo de información atacando el kernel a sólo una velocidad de 10Kb/s para el robo de “partículas” de información para luego “reconstruirla“, como dije, operando con un nivel muy bajo del equipo.

Meltdown y Spectre trabajan en equipos personales, dispositivos móviles (no, celulares no se salvan) y en la nube. Dependiendo de la infraestructura del proveedor de la nube, podría ser posible robar datos de otros usuarios.

Meltdown: Rompe el aislamiento más fundamental entre las aplicaciones del usuario y el sistema operativo. Éste ataque le permite que un programa acceda a la memoria y, por lo tanto, también a datos privados de otros programas y del mismo sistema operativo.

Si nuestro equipo tiene un procesador vulnerable y ejecuta un sistema no parcheado, no es seguro trabajar con información confidencial sin la posibilidad de filtrar la información. Ésto se aplica tanto a nuestros equipos personales como a la infraestructura de la nube. Afortunadamente, hay parches eficientes aunque otros aún dan problemas de software contra Meltdown.

¿Quienes reportaron Meltdown?

– Jann Horn (Google Project Zero).

– Werner Haas, Thomas Prescher (Tecnología Cyberus).

– Daniel Gruss, Moritz Lipp, Stefan Mangard, Michael Schwarz (Universidad Tecnológica de Graz).

Spectre: rompe el aislamiento entre diferentes aplicaciones. Le permite a un atacante engañar a los programas sin errores, que siguen las mejores prácticas, para filtrar datos personales. De hecho, los controles de seguridad en realidad aumentan la superficie del ataque y pueden hacer que las aplicaciones sean más susceptibles a Spectre.

Spectre es más difícil de explotar que Meltdown, pero también es más difícil de mitigar.

¿Quién informó sobre Spectre?

Spectre fue descubierto e informado de forma independiente por dos personas:

Jann Horn (Google Project Zero).

Paul Kocher en colaboración con, en orden alfabético, Daniel Genkin (Universidad de Pensilvania y Universidad de Maryland), Mike Hamburg (Rambus), Moritz Lipp Universidad Tecnológica de Graz) y Yuval Yarom (Universidad de Adelaida y Data61).

F.A.Q. que posiblemente les sirva:

¿Estoy afectado por el error (al menos en su totalidad por Spectre)?
Sin duda, sí.

¿Puedo detectar si alguien ha explotado Meltdown o Spectre en mi contra?
Probablemente no. La explotación no deja ningún rastro en los archivos de registro tradicionales.

¿Mi antivirus puede detectar o bloquear este ataque?
Aunque es posible en teoría, esto es poco probable en la práctica. A diferencia del malware habitual, los que exploten Meltdown y Spectre son difíciles de distinguir de las aplicaciones normales benignas (buenas). Sin embargo, su antivirus puede detectar malware que usa los ataques comparando binarios una vez que se conocen.

¿Meltdown o Spectre han sido explotados anteriormente?
No lo sabemos.

¿Hay una mitigación o solución?
Hay parches contra Meltdown para Linux (KPTI, anteriormente KAISER, Windows y OS X. También hay trabajo para reforzar el software contra la futura explotación de Spectre, respectivamente, para parchar el software después de la explotación a través de Spectre(LLV y ARM).

¿Qué sistemas se ven afectados por Meltdown?
Las computadoras de escritorio, portátiles y en la nube pueden verse afectadas por Meltdown. Más técnicamente, cada procesador Intel que implemente la ejecución fuera de servicio se ve potencialmente afectado, que es efectivamente cada procesador desde 1995 (excepto Intel Itanium e Intel Atom antes de 2013). Probamos con éxito Meltdown en las generaciones de procesadores Intel lanzadas ya en 2011. Actualmente, solo hemos verificado Meltdown en procesadores Intel. Por el momento, no está claro si los procesadores ARM y AMD también se ven afectados por Meltdown.

¿Qué sistemas se ven afectados por Spectre?
Sabemos que casi todos los sistemas son afectados por Spectre: Desktops, Laptops, Cloud Servers y smartphones. Más específicamente, todos los procesadores modernos capaces de mantener muchas instrucciones en vuelo son potencialmente vulnerables. En particular, hemos verificado los procesadores Specter en Intel, AMD y ARM.

¿Qué proveedores de la nube se ven afectados por Meltdown?
Proveedores de nube que usan CPU Intel y Xen PV como virtualización sin aplicar parches. Además, los proveedores en la nube sin virtualización de hardware real, que dependen de contenedores que comparten un kernel, como Docker, LXC o OpenVZ se ven afectados.

¿Cuál es la diferencia entre Meltdown y Spectre?
Los ataques de tipo Meltdown rompen el mecanismo que impide que las aplicaciones accedan a la memoria arbitraria del sistema. En consecuencia, las aplicaciones pueden acceder a la memoria del sistema. Los ataques de tipo Spectre engañan a otras aplicaciones para acceder a ubicaciones arbitrarias en su memoria. Ambos ataques usan canales laterales para obtener la información de la ubicación de la memoria a la que se accede. Para una lectura más técnica, nos referimos a los artículos:
https://meltdownattack.com/meltdown.pdf y https://spectreattack.com/spectre.pdf.

¿Por qué se llama Meltdown?
El error básicamente derrite (o se escurre por) los límites de seguridad que normalmente son aplicados por el hardware.

¿Por qué se llama Spectre?
El nombre se basa en la causa raíz, la ejecución especulativa. Como no es fácil de solucionar, nos perseguirá durante bastante tiempo. Se prevee que en ésta década siga vigente asediando hasta que posteriormente se fixee el problema ya que es directamente de la arquitectura de los procesadores.

¿Hay más información técnica sobre Meltdown y Spectre?
Sí, hay un trabajo académico y una publicación en el blog sobre Meltdown, y un trabajo académico sobre Spectre. Además, hay una entrada de blog de Google Project Zero sobre ambos ataques.

¿Qué son CVE-2017-5753 y CVE-2017-5715?
CVE-2017-5753 y CVE-2017-5715 son las referencias oficiales de Spectre. CVE es el Estándar para Nombres de Vulnerabilidades de Seguridad de la Información mantenido por MITRE.

¿Cuál es el CVE-2017-5754?
CVE-2017-5754 es la referencia oficial de Meltdown.

Es también de notar que éstos ataques ya estaban algo “teóricamente” comprobados, pero justo hasta ahora se descubre de forma práctica, el tema está relacionado con los timming attack para saber en qué memoria de un sistema está almacenado un dato midiendo la velocidad de respuesta de lo requerido.

Información que traduje con ayuda de Google (sí, sí, la revisé y edité) proveniente del sitio oficial.
Para no dejar toda una lista de urls aquí mejor entran a la página y se van al fondo donde encontrarán todas las urls suficientes para informarse del Fix en cada sistema operativo y en cada procesador. Aquí para solamente los Fix en español

Dos videos de ataque con Meltdown:

Video de ataque a la memoria directamente para sacar información:

Para finalizar, hay que tener la suficiente conciencia para no estar paranoicos sobre el tema, así que por favor no desesperen.

Espero que les haya servido y recuerden compartir por favor así sigo creciendo.

Un abrazo!