Chipocalypse lo ha bautizado el reportero Russel Brandom de la revista neoyorquina The Verge –y no es para menos-.
PSA: I will be referring to the Intel kernel memory issue as “Chipocalypse” — please credit me if you use this term any of your coverage.
— Russell Brandom (@russellbrandom) 3 de enero de 2018
El asunto es que desde al menos hace 10 años los procedores Intel (exceptuando los Atom hechos antes del 2012) presentan una fuga de información en su estrategia predictiva. En realidad esta técnica data de los años 90: los procesadores, según las órdenes que reciben, comienzan a guardar en una «memoria» aparte los que son más utilizados y así «predicen» que es lo que quiere hacer el usuario. Esto en la última década se ha hecho más intenso debido al gran poder de procesamiento de los modernos CPU los cuales literalmente se sientan a esperar que nosotros les ordenemos realizar cualquier tarea. El problema estriba en que luego estos datos no son protegidos: un usuario puede tener acceso a ellos y de allí obtener algunos datos valiosos como contraseñas, entre otras cosas.
El tema ha dado muchísimo qué hablar y se ha calculado que al quitarle esta característica de «predicción» a los procesadores Intel el desempeño caerá en un 30% y no solamente nos afecta a nosotros los humildes usuarios: las grandes empresas como Amazon, Twitter y otras se ven perjudicados con esto también.
Linus Torvalds dice que esto lo realizan al margen de los kernels de los sistemas operativos: es más, escapa de la capacidad de los sistemas operativos; es como si tuvieramos una persona como ayudante en el trabajo y se da a la tarea de observar muestras tareas repetitivas a fin de «predecir» cual será nuestra próxima orden y que un espía revise esos papeles y se aproveche de ellos.
Por ello hemos incluido esta entrada para mostrar una voz que nos conducirá con calma y cordura a analizar el problema. Seleccionamos al señor Pablo Insua, ingeniero informático, en su cuenta Twitter para que nos explique mucho mejor el tema de marras que tanto nos ocupa por estos días:
Lo prometido: Breve hilo sobre el problema de los procesadores Intel (y también del resto). Prometo cero clickbait. Cero sensacionalismo. Cero manos a la cabeza tirándose de los pelos. Intentaré ser didáctico y no demasiado técnico. Vamos allá pic.twitter.com/vpyY5tQcxn
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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 pic.twitter.com/rK8pZEMMM8
— Pablo Insua (@PabloIF) 4 de enero de 2018
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 saber >
— Pablo Insua (@PabloIF) 4 de enero de 2018
que 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.
— Pablo Insua (@PabloIF) 4 de enero de 2018
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. Repito: es una técnica antigua, lógica y normal en cualquier procesador
— Pablo Insua (@PabloIF) 4 de enero de 2018
El "problema" (e insisto en las comillas) 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í
— Pablo Insua (@PabloIF) 4 de enero de 2018
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… pic.twitter.com/8XJ8B8qjiV
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
La solución aplicada de estos parches ha sido drástica, apartando el mapeado del Kernel, lo cual afecta potencialmente bastante al rendimiento, pero imagino que con el tiempo se irán lanzando otras propuestas menos radicales (hablaré del tema rendimiento + adelante)
— Pablo Insua (@PabloIF) 4 de enero de 2018
El segundo de los problemas de seguridad es Spectre… Pero antes de seguir me tomo un café. Sigo el hilo en un ratejo. pic.twitter.com/GRXtKqGloI
— Pablo Insua (@PabloIF) 4 de enero de 2018
Seguimos. Estábamos con Spectre. 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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
El que desee profundizar más en lo técnico de Meltdown y Spectre, le dejo la siguiente web, donde están los papers publicados (muy didácticos y muy bien explicados, todo sea dicho), e información variahttps://t.co/OcnKFs9LsA
— Pablo Insua (@PabloIF) 4 de enero de 2018
Vale, hasta aquí lo técnico-teórico. Vamos ahora con lo práctico: en qué te afecta a ti usuario doméstico, que te acabas comprar un flamante i7 y lees noticias de que te va a bajar el rendimiento un 30% pic.twitter.com/M94sizheMW
— Pablo Insua (@PabloIF) 4 de enero de 2018
La respuesta es sencilla: NO VAS A NOTAR NADA (o apenas nada). 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, >
— Pablo Insua (@PabloIF) 4 de enero de 2018
> 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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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
— Pablo Insua (@PabloIF) 4 de enero de 2018
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.
— Pablo Insua (@PabloIF) 4 de enero de 2018
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 pic.twitter.com/hHD4hMUdd1
— Pablo Insua (@PabloIF) 4 de enero de 2018
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, más avances y bla bla bla
— Pablo Insua (@PabloIF) 4 de enero de 2018
Y ya. Fin del hilo. Espero que le haya servido de algo a alguien, y ofrecer un poco de luz entre tanto clickbait que circula por ahí. En una semana nadie hablará del tema salvo los que estamos metidos en esto. Que no os haga perder el sueño pic.twitter.com/hfim7WqHfQ
— Pablo Insua (@PabloIF) 4 de enero de 2018
Tabla de contenido:
Como «momento» en Twitter:
Meltdown y Spectre: el azote para los procesadores Intel.
Fuentes consultadas:
En idioma castellano:
- El hacker Chema Alonso en su blog «El lado del Mal«.