Ya hemos comentado en más de una ocasión que Meltdown y Spectre iban a traer mucha cola, y es que ambos vectores de ataque han afectado a una característica que resulta básica en los procesadores modernos: la ejecución especulativa.
Meltdown ha tenido un impacto más limitado, afectando sobre todo a procesadores de Intel, aunque también ha sido detectado en algunos modelos Cortex de ARM e incluso los dispositivos iOS. Sin embargo, parece que pocos procesadores se han librado de Spectre, y encima su neutralización mediante parches resulta complicada, solo pudiéndose mitigar hasta ahora según la información de la que nos hecho eco.
Linux no se ha librado de poder ser utilizado como medio para explotar Meltdown y Spectre, por eso lo explicado por algunos pesos pesados del desarrollo, como Greg Kroah-Hartman y Linus Torvalds, termina siendo vital para entender la envergadura de los problemas y cómo están siendo abordados desde ese frente. Hoy os traemos una actualización publicada hace unos días por Greg Kroah-Hartman y la última rajada de Linus Torvalds contra Intel, cosa que no es nueva ni por el contexto ni por las formas.
Lo que dice Greg Kroah-Hartman
El ingeniero alemán Greg Kroah-Hartman ya publicó en su blog una extensa explicación sobre la situación de las tres vulnerabilidades relacionadas con Meltdown y Spectre, la cual resumimos hace dos semanas en MuyLinux.
Para tener al día a la comunidad linuxera, Kroah-Hartman publicó el pasado día 19 de enero una actualización para explicar un poco sobre la situación actual de los parches, diciendo que ahora los desarrolladores del kernel están intentando resolver los problemas relacionados con Spectre, ya que en la anterior ocasión reconoció que se centraron en Meltdown, contra el cual había, al menos aparentemente, una solución más clara. Por otro lado, recomienda seguir lwm.net para estar al tanto de todos los detalles.
El ingeniero alemán explica en esta ocasión cómo averiguar si una instalación de Linux es vulnerable a Meltdown y/o a las vulnerabilidades de Spectre. Para ello solo hay que ejecutar el siguiente comando que hemos conseguido hacer funcionar en Fedora y openSUSE Tumbleweed, pero no en Ubuntu 16.04.
# grep . /sys/devices/system/cpu/vulnerabilities/*
Nosotros hemos probado sobre una máquina VirtualBox y una CPU AMD, por lo que no aparece el resultado relacionado con el PTI, componente que no se activa sobre las CPU de esa marca. En caso de usar Intel, y tomando como referencia lo publicado por el propio Kroah-Hartman, el resultado sería el siguiente:
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI /sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic SM retpoline
Los resultados obtenidos en el último texto preformateado dicen que Meltdown ha sido mitigado mediante PTI (en Linux x86 solo se acciona sobre Intel), que la CPU es vulnerable a la variante 1 de Spectre y también a la variante 2 debido a que Kroah-Hartman ha usado un compilador que no soporta correctamente la característica retpoline. En caso de estar totalmente parcheado contra la variante 2 de Spectre, el resultado tendría que ser este:
Kroah-Hartman advierte que algunos proveedores posiblemente no suministren el parche para analizar las vulnerabilidades sobre Linux, por lo que recomienda reportarlo como un fallo para así poder obtener el mecanismo.
Lo que dice Linus Torvalds
Qué podemos decir de Linus Torvalds, creador, jefazo y “dictador benevolente” del desarrollo de Linux. Ya lo dijo él mismo, su cultura es maldecir, y muchas veces consigue que “arda Troya” con solo “abrir la boca”. Ya nos hicimos eco de su rajada contra Intel cuando Meltdown y Spectre empezaron a acaparar el protagonismo de la actualidad sobre la computación.
Ver a Linus Torvalds enredado en discusiones no es algo extraño y tampoco que sus mensajes en la lista de correo de Linux estén plagados de tacos e insultos. En una discusión con otro de los desarrolladores, que además fue empleado de Intel y uno de los encargados de los parches contra los mencionados vectores de ataque, ha respondido que los parches implementados por el gigante del chip son “total y completamente basura”. Como argumento, ha cargado contra su funcionamiento, diciendo que “hacen locuras” que se podrían considerar “sin sentido”. Continuando con su descarga de frustración, Torvalds comenta que “eso es en realidad ignorar un problema importante, ya que toda la interfaz de hardware está literalmente mal diseñada por imbéciles”, haciendo además una defensa de Retpoline.
En resumidas cuentas, se puede decir que los parches de Intel no les ha gustado nada y parecen haber arreglado un problema introduciendo otro. No vamos a juzgar una situación que es muy compleja, pero todo pinta que esto traerá todavía mucha más cola.
Conclusión
Como vemos, parece que el tema de Meltdown está más o menos encarrilado, pero Spectre pinta que tendrá una solución que va costar muchos esfuerzos a los ingenieros y posiblemente tiempo hasta verla totalmente implementada en todas las instalaciones que la requieran.