Se armó el belén: Meltdown, Spectre y la madre del cordero

No llevamos ni una semana del recién estrenado 2018 y ya tenemos entre nosotros un conjunto de vulnerabilidades de esas que ponen los pelos de punta, con nombres llamativos, web propia y logos a juego. De nuevo, estamos ante un caso que puede hacer temblar los cimientos de la seguridad tal y como la conocíamos hasta ahora, o al menos eso se desprende de algunos titulares vistos en las últimas horas, pero ¿a qué se debe tanto alboroto?

Dos invitados que nadie quiere tener en su sistema

Durante el miércoles 3 de marzo de 2017 saltaba la liebre con la noticia de que se había detectado una vulnerabilidad en procesadores Intel fabricados durante los últimos años. Además, debido al embargo impuesto por Intel y que no permitía conocer muchos detalles acerca de esta vulnerabilidad, muchos medios optaron por utilizar titulares llamativos en plan “Tu procesador va a perder un 30 % de rendimiento y no vas a poder hacer nada”.

En esas primeras horas de desconcierto empezaron a aparecer detalles de investigaciones realizadas en las últimas semanas/meses y que parecían tener relación con esta misteriosa vulnerabilidad. De hecho, desde hace semanas se llevan revisando y poniendo nombre a posibles mitigaciones y parches como KAISER, KPTI o F*CKWIT en algunas listas de correo utilizadas por varios investigadores para comentar este fallo de seguridad.

Recreando la situación en las oficinas de Intel – Fuente: @supersat

En esos momentos todas las miradas estaban centradas en Intel, y aunque se intuía que se estaba cociendo algo a varios niveles y que podría haber más afectados, se nos emplazaba a la semana que viene para conocer más detalles y aplicar los parches desarrollados. De hecho, la propia Intel tenía una presentación preparada donde hablaba de estos fallos de seguridad y de la colaboración entre varios fabricantes para solucionarlos.

Sin embargo, todo eso se fue al garete por la filtración antes de tiempo de algunos detalles al respecto de las vulnerabilidades, la aparición de pruebas de concepto que demostraban que la amenaza era grave y que había más fabricantes de chips afectados. Otras versiones apuntan a que Intel no iba a permitir que este incidente le salpicara solo a ellos y activó el ventilador para mitigar daños, y que empresas como AMD también tuvieran que dar la cara aunque, como veremos más adelante, igual no les ha salido como pensaba.

Vale, ¿y todo eso cómo me afecta?

Partiendo de la base de que todos los dispositivos de uso diario como ordenadores, portátiles, smartphones, servidores de almacenamiento en la nube, etc., tienen algún tipo de CPU, el número de posibles afectados es muy alto, aunque nos gustaría resaltar lo de “posible”. Pero antes que nada, vamos a ver de forma sencilla en qué consisten estos ataques sin entrar en demasiados detalles técnicos.

Según la información conocida hasta ahora, estas vulnerabilidades aprovechan fallos en el diseño de los procesadores actuales que permitirían a una aplicación maliciosa robar información confidencial que esté siendo procesada en ese momento en el ordenador. Normalmente, las medidas de seguridad implementadas en los procesadores impiden que una aplicación tenga acceso a la información que maneja otro programa, pero un atacante puede aprovechar tanto Meltdown como Spectre para conseguir la información que, en ese momento, esté almacenando en memoria otra aplicación.

Prueba de concepto exitosa realizada por @brainsmoke

Este tipo de ataques permitiría robar datos tan confidenciales como nuestras contraseñas, si estas están almacenadas, por ejemplo, en el navegador web, nuestras fotografías si accedemos a ellas mediante un servicio de almacenamiento en la nube, correos electrónicos y otros documentos confidenciales e incluso los mensajes que enviamos y leemos a través de aplicaciones de mensajería instantánea.

A nivel particular esto puede parecer grave, pero el verdadero problema se encuentra en aquellos entornos donde se comparten recursos para abaratar costes, como en los servicios de almacenamiento y procesamiento en la nube. Aprovechando estas vulnerabilidades sería posible atacar a un proveedor de servicios corporativos en la nube y, dependiendo de su infraestructura y medidas de seguridad, acceder a datos de varios usuarios tan solo comprometiendo una máquina que utilicen varios clientes a la vez.

Ejemplo de robo de credenciales usando estos ataques – Fuente: 

Los detalles técnicos de estas dos vulnerabilidades son muy interesantes, y es muy recomendable la lectura de alguno de los análisis técnicos que han sido publicados en las últimas horas. Recomendamos encarecidamente el excelente análisis que han realizado los chicos del Project Zero de Google, así como los papers correspondientes tanto a Meltdown como Spectre.

¿Es grave, doctor?

Antes que nada…

Como ya hemos vivido en anteriores ocasiones donde parecía que todo iba a explotar y que poco menos que íbamos a volver a la edad de piedra tecnológicamente hablando, hay que pararnos a analizar fríamente el problema y valorar las posibles soluciones y sus consecuencias.

Obviamente, tirar todos nuestros dispositivos y comprar otros con procesadores nuevos que no tengan este fallo cuando estén disponibles no es una opción, por más que a algún jefe de ventas de alguna de las empresas implicadas tenga algún sueño húmedo con solo vislumbrar esa opción. Así pues, lo inteligente es tomar decisiones partiendo de lo que conocemos hasta la fecha.

Ahora que se conoce la existencia de las vulnerabilidades y su gravedad, han sido varias las empresas que han reaccionado para mitigar los posibles daños. Tanto Windows (las versiones soportadas por Microsoft al menos) como Linux disponen o dispondrán en breve de parches que solucionan por software estos fallos. Apple aún no se ha pronunciado, pero no dudamos de que también reaccionará cuando crea conveniente.

Las actualizaciones por software van a ser muy útiles para solucionar la vulnerabilidad Meltdown, aunque Spectre es otro cantar, y a pesar de que es más difícil de explotar por un atacante, también es más complicada de resolver.

En lo que respecta a los fabricantes de CPUs, todo apunta a que el más afectado es Intel, y que hasta que modifique el diseño de los procesadores en futuros productos no podremos estar seguros de que se han solucionado estas vulnerabilidades al cien por cien. Por su parte, AMD afirma que el riesgo de que alguien pueda atacar sus procesadores es prácticamente nulo, apelando a las diferencias de su arquitectura con respecto a Intel. Habrá que ver si con el tiempo se demuestra que están en lo cierto.

En lo que respecta a ARM, cuyos procesadores son ampliamente utilizados en dispositivos móviles y del Internet de las cosas, dependiendo del modelo del procesador este se verá afectado por alguna de las vulnerabilidades y sus variantes. No obstante, ya existen parches en los sistemas Linux que gobiernan varios de estos modelos.

Un caso más complicado es el de los proveedores de servicios cloud, tanto de almacenamiento como de procesamiento. Tanto Amazon como Microsoft han lanzado sendos comunicados avisando tanto de labores de mantenimiento como de la necesidad de aplicar los parches de seguridad a sus clientes. Falta ver si finalmente estos parches terminan afectando al rendimiento en estos sistemas, algo que seguramente producirá más de una queja.

Conclusión

Si bien no hay que restar gravedad al asunto, ya hemos pasado por situaciones similares anteriormente y el mundo no se ha terminado. Debemos asumir que si estas vulnerabilidades han sido descubiertas por varios equipos de investigadores casi al mismo tiempo, es bastante posible que grupos de delincuentes con recursos o agencias gubernamentales también las conozcan desde hace tiempo.

Así las cosas, para los usuarios de a pie este incidente nos sirve para recordar la importancia de aplicar actualizaciones de seguridad e incluso tomar medidas más estrictas. Se habla de que uno de los principales vectores de ataque para aprovechar estas vulnerabilidades sea el código JavaScript malicioso introducido en webs comprometidas, así que nunca está de más instalar un complemento (como ScriptSafe o NoScript) que bloquee por defecto este tipo de código (y de paso evitamos que utilicen los recursos de nuestro sistema para minar criptodivisas).

Veremos en qué queda todo este asunto, pero parece que este 2018 que acabamos de estrenar va a seguir la línea de años anteriores, al menos en lo que respecta a temas relacionados con la ciberseguridad.

Josep Albors

PyCryptoMiner infecta sistemas Linux para minar la criptodivisa Monero