Así son Spectre y Meltdown, las graves vulnerabilidades que afectan a Intel, pero también de manera limitada a AMD y ARM
Ayer os hablábamos de un grave fallo de seguridad que afectaba a prácticamente todos los procesadores Intel del mercado y que dejaba en vilo la seguridad de millones de ordenadores, sobre todo servidores, datacenters o sistemas de virtualización. Si el fallo ya era tremendamente importante por el volumen de ventas y uso que tiene Intel, ahora se agrava al conocerse que no es una única vulnerabilidad, sino que son 2 o incluso 3 dependiendo de como se mire y que podría no solo afectar a Intel.
Las vulnerabilidades se basan en el sistema de predicción de los procesadores modernos que, explicado de manera simplificada, "predicen" qué código se va a ejecutar después de una instrucción para ir ganando tiempo y no esperar a que se le soliciten nuevas instrucciones.
- La primera gran vulnerabilidad, aunque la menos grave de todas, se ha denominado Spectre 1 y permite que una CPU sea engañada para cargar datos en un programa desde una dirección virtual de memoria ajena a los datos controlados por ese programa. Lo que hace, básicamente, es saltarse la verificación que hace que un programa no pueda acceder a ciertos datos por seguridad.
Decimos que Spectre 1 es la menos grave de las vulnerabilidades porque es difícil que un atacante pueda sacar partido de esta vulnerabilidad, ya que si el atacante ha conseguido acceso para poder inyectar código que permita cargar datos externos como válidos a un programa, ya podría modificar directamente estos datos sin tener que aprovecharse del fallo de seguridad que supone Spectre 1.
Spectre 1 afecta a procesadores Intel, ARM y también AMD.- Luego tenemos Spectre v2, una vulnerabilidad que consiste en engañar al sistema de predicción del procesador para que cargue datos externos en el BTB (Branch Target Buffer) seleccionados por el atacante. De esta manera se pueden leer datos directamente de los procesos que lo ejecuten, por ejemplo contraseñas. Además, Spectre V2 permite que se pueda acceder a los datos de otros procesos ejecutados en el mismo hilo del procesador ya que el BTB (Branch Target Buffer) está compartido entre todos ellos.
Spectre 2 afecta a procesadores Intel y también a varios modelos ARM Cortex más actuales, ya que ambos disponen de abreviaturas de las entradas BTB fácilmente predecibles por los atacantes. Los procesadores AMD no están afectados al no tener las entradas BTB abreviadas de una manera predecible. - Luego tenemos Spectre v2, una vulnerabilidad que consiste en engañar al sistema de predicción del procesador para que cargue datos externos en el BTB (Branch Target Buffer) seleccionados por el atacante. De esta manera se pueden leer datos directamente de los procesos que lo ejecuten, por ejemplo contraseñas. Además, Spectre V2 permite que se pueda acceder a los datos de otros procesos ejecutados en el mismo hilo del procesador ya que el BTB (Branch Target Buffer) está compartido entre todos ellos.
Meltdown es la vulnerabilidad más grave de todas y afecta a Intel en exclusiva
- Finalmente, Meltdown es la última de las vulnerabilidades y la más grave de todas y permite engañar al procesador para cargar datos directamente de la caché L1, aunque estos estén marcados como "no-lectura" por seguridad , lo que permitiría conseguir datos secretos del espacio de memoria más "privilegiado" y reservado del sistema. Esto supone que datos bastante sensibles como contraseñas o claves criptográficas puedan ser leídos por atacantes que consigan acceso local a la máquina. Esta vulnerabilidad afecta a procesadores Intel y también a los ARM Cortex A-75.
AMD también está afectada, aunque en la vulnerabilidad menos grave
Como decíamos, aunque inicialmente el problema se achacó únicamente a los procesadores de Intel, ahora que hay más información sobre las vulnerabilidades asociadas se ha descubierto que los procesadores AMD también son vulnerables, aunque solamente a Spectre 1 y solo bajo sistemas Linux con configuraciones de Kernel específicas distintas de la configuración por defecto.
La solución llega en forma de un parche que no debería afectar al rendimiento de los procesadores AMD.
En cuanto al resto de vulnerabilidades que afectan a Intel y a todos los sistemas operativos, no existe una solución que no pase por cambiar físicamente los procesadores, por lo que la solución, al menos temporal, pasa por parchear los sistemas operativos para que modifiquen la manera de gestionar los sistemas del procesador afectados, y ahí es donde, dependiendo de las circunstancias, podríamos perder rendimiento (hasta un 30% en los casos más extremos).
Aún así, estas pérdidas de rendimiento son solamente en situaciones muy concretas y a nivel de usuario convencional no deberían notarse apenas variación. Otro tema sería en sistemas de centros de datos o servidores, donde una penalización de rendimiento de esa magnitud puede ser desastrosa.
A día de hoy, Microsoft ya ha lanzado un parche mediante Windows Update y empresas como Microsoft, Amazon o Google ya han actualizado sus servidores.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!