Meltdown afecta a los procesadores Intel y Spectre a AMD y procesadores de arquitectura ARM
La polémica de esta semana está servida. Se han descubierto dos vulnerabilidades que reducirán el rendimiento de los procesadores, sobre todo Intel. Como siempre, esto ha hecho que corran ríos de tinta y ha dado pie al sensacionalismo generado por el desconocimiento sobre el tema, mezclado con el generado por el caso Diana Quer. Un usuario de Twitter, @PabloIF, ha publicado un hilo para que quienes no entendemos del tema, o sea, quienes no estamos metidos en la administración de sistemas y en el sector informático en general y tengamos itnerés en este problema, podamos entenderlo.
Ayer a la noche se confirmó oficialmente (hora española) lo que ya se venía comentando/rumoreando desde hace algún tiempo entre mucha gente que trabaja manteniendo ‘data centers’ o en algunas multinacionales del sector. Descubren un agujero en Intel y la solución podría ralentizar tu ordenador hasta un 30% El problema no es solo de Intel: casi todos los procesadores del mundo están en peligro El CEO de Intel vendió la mitad de sus acciones tras conocer el fallo de seguridad
Se han detectado dos nuevos tipos de problema de seguridad que afectan a procesadores modernos (entiéndase como «moderno» los últimos 10-15 años aprox). Para hacerlo todo más cuqui le han puesto nombres (Meltdown y Spectre) y logos oficiales. Ambos tipos de ataques se aprovechan de una serie de características comunes de cualquier procesador: la ejecución especulativa y la ejecución fuera de orden. Resumiendo muchísimo, tenéis que saberque un procesador no se limita simplemente a ejecutar una instrucción detrás de otra. Por qué? Pues básicamente porque es endiabladamente rápido, y si tuviese que esperar siempre a recibir datos de las memorias (caché, RAM, etc.) estaría MUCHO tiempo sin hacer absolutamente nada. ¿Qué hace en ese tiempo ocioso? Pues intenta predecir el código que se va a ejecutar a continuación. Si acierta, tiempo que ha ganado. Y si falla, simplemente descarta lo hecho. Es una técnica antigua, lógica y normal en cualquier procesador. El «problema» (es que ese intento de predicción deja un rastro… y es ahí donde aparecen estas vulnerabilidades: Meltdown y Spectre. Son dos vulnerabilidades distintas, bastante complejas de explotar, pero que sí, están ahí.
- Empecemos por Meltdown, el aparentemente más grave de los dos, y que parece afectar EXCLUSIVAMENTE a procesadores Intel. A través de esta técnica se podría acceder desde un proceso con bajos privilegios a la zona reservada en el mismo para el kernel y esto podría llevar a que dicho proceso (entiéndase por «proceso» cualquier programa que te descargues) tuviese acceso directo a la memoria física y, por ejemplo, a volcar cualquier región de la RAM. Meltdown no sería demasiado difícil de aplicar en forma de malware, por lo que ya se han apresurado lo más rápidamente posible a lanzar actualizaciones para sistemas operativos Linux (los que realmente mueven el mundo) y, muy próximamente, en Windows y Mac. La solución aplicada de estos parches ha sido drástica, apartando el mapeado del Kernel, lo cual afecta potencialmente bastante al rendimiento, pero con el tiempo se irán lanzando otras propuestas menos radicales.
- El segundo de los problemas de seguridad es Spectre. se presenta en un par de variantes y es potencialmente más grave, ya que permitiría a un proceso «engañar» al Kernel para que mueva información a zonas de memoria que controle dicho proceso. El problema de Spectre es que, si bien afecta a todo tipo de procesadores sean de Intel, AMD o ARM, es una vulnerabilidad mucho más compleja de explotar y requeriría a mayores de un malware ejecutándose en el propio equipo. Por ahora no existen parches generales para él, pero lo normal es que se vayan aplicando correcciones con el paso del tiempo, no sólo en sistemas operativos, sino también en compiladores, por ejemplo.
El usuario doméstico con un PC acabado de comprar o relativamente reciente no debería preocuparse, porque es cierto que aunque puede haber reducciones, no va a notar nada en el uso cotidiano del equipo porque no afectará en el uso de aplicaciones comunes. El parche para solucionar Meltdown afecta al rendimiento de aplicaciones cuyos procesos hacen múltiples cambios al modo kernel. Y entre este tipo de aplicaciones no se encuentran ni JUEGOS, ni ofimática, y tampoco programas de edición fotográfico, diseño o renderizado de vídeo/audio. Las primeras pruebas realizadas tras la aplicación del parche muestran pérdidas de rendimiento cercanas al 0% en este tipo de programas. ¿Dónde afectan entonces? En data centers y en «la nube» (léase los cloud de Amazon, Google, Microsoft, etc), cuyos equipos manejan infinidad de máquinas virtuales y donde la seguridad debe ser extrema. Como usuario doméstico simplemente preocúpate de tener tu sistema operativo actualizado para evitar posibles ataques que hagan de tu máquina un enviador de spam o que pongan en peligro tus datos. Y ya. Nada más y nada menos. Y dicho todo esto. ¿Tiene Intel un problema? Sí, Intel tiene un problema bastante gordo, porque en el mercado de data centers y servidores dominaba con absoluta mano de hierro, y ahora se le abre una ventana enorme a AMD para entrar ahí con fuerza inusitada. Pero eso son problemas para Intel, no para el usuario final. En todo caso acabará siendo beneficioso para todos porque esto implicará mayor competencia, más reparto del pastel y más avances.
Espero que sirva y agradezco mucho a Pablo el permitirme publicar esto en el blog.
Mozilla, por ejemplo ya ha reaccionado.