Meltdown y Spectre, las vulnerabilidades de seguridad más importantes de la Historia de la Informática

Diversos ingenieros informáticos y científicos de la computación de Google, del Instituto Cyberus, así como de la Universidad Tecnológica de Graz (Austria), han publicado varios artículos científicos o papers, en los cuales se pone de manifiesto que la totalidad de los microprocesadores modernos de los tres grandes fabricantes del mundo (Intel, AMD y ARM), se hallan afectados por dos importantes vulnerabilidades de seguridad, conocidas como Meltdown y Spectre. Las fallas de seguridad afectan a la totalidad de los sistemas operativos del mercado, incluyendo Microsoft Windows, Android, Apple iOS, diversas versiones de Linux, etc.

Habitualmente, las vulnerabilidades de seguridad con las que trabajan diariamente los peritos informáticos y expertos en seguridad informática, afectan al software, es decir, a los programas informáticos, de tal forma que los fabricantes de dichos programas, una vez que las vulnerabilidades han sido puestas de manifiesto, publican lo que se denomina un parche, que corrige la vulnerabilidad y evita que los atacantes pueden explotar la misma. Así ocurrió, por ejemplo, con el conocido ataque de ransomware WannaCry, el cual fue comentado por este perito informático en un artículo de esta página web.

En el caso de Meltdown y Spectre, las vulnerabilidades no afectan al software, sino al hardware, es decir, al microprocesador de la máquina, con la gravedad de que la totalidad de los microprocesadores vendidos desde mediados de los años 1990, se ven afectados por una o las dos vulnerabilidades. Es por ello que se trata de las dos vulnerabilidades más graves de la Historia de la Informática hasta la fecha, puesto que afectan a todos los dispositivos, incluidos teléfonos móviles, del mercado mundial.

 

Para entender cómo funcionan estas dos vulnerabilidades, es necesario comprender cómo funciona la arquitectura de un microprocesador moderno. Esta arquitectura está fundamentada en la segmentación, que es una técnica en virtud de la cual, las instrucciones que ejecuta el microprocesador, se dividen en instrucciones más pequeñas, siendo ejecutadas, cada una de ellas, de manera independiente, por las diversas unidades lógicas del microprocesador, en cascada, de tal forma que, antes de que termine la ejecución completa de una instrucción, la siguiente instrucción ya está siendo ejecutada (siempre y cuando no comparta recursos con la primera instrucción en ejecución). La segmentación proporcionó una mejora de rendimiento muy notable frente a las arquitecturas tradicionales.

Como añadido, los microprocesadores modernos, para aumentar aún más el rendimiento, aplican diversas técnicas, como por ejemplo la ejecución especulativa. Esta técnica consiste en utilizar la computación paralela proporcionada por los diversos núcleos que componen un microprocesador, al objeto de “anticiparse” a la ejecución secuencial del programa en ejecución, con antelación a conocer si determinado conjunto de instrucciones de dicho programa debería ser ejecutado o no. Por ejemplo, se utiliza mucho en las sentencias condicionales, conocidas en la jerga informática como “if-else”, que consisten en la ejecución de una rama del programa si se cumple una condición o de la rama alternativa si la condición no se cumple. La técnica de la ejecución especulativa ejecuta las dos ramas en paralelo y, una vez se conoce el resultado de la condición, se toma el resultado de la ejecución de la rama correspondiente y se desecha el resultado de la ejecución de la otra rama.

Estas vulnerabilidades son capaces, utilizando programas maliciosos y un ataque de canal lateral, de acceder a las zonas de memoria virtual mapeadas donde se almacenan los resultados de las ejecuciones que el microprocesador ha desechado para un proceso concreto, accediendo a información del espacio de direcciones de dicho proceso. La información que se podría llegar a leer incluye contraseñas, información cifrada o cualquier otro tipo de información sensible.

 

Las compañías de software más importantes del mundo, como Google, Microsoft Windows y Apple, han anunciado ya que publicarán los parches en los próximos días. El parche tendrá un impacto en el rendimiento de las máquinas, según los investigadores, de entre un 5% y un 30%, lo cual supone una merma notable de la capacidad de los microprocesadores. Al parecer, en entornos de oficina, la pérdida de rendimiento no será muy acusada, pero en entornos profesionales, especialmente de virtualización de servidores, la merma de capacidad de procesamiento sí será importante.

Por otra parte, las compañías de hardware deberán rediseñar sus microprocesadores y, no será hasta los próximos meses, cuando comiencen a venderse los primeros ordenadores y teléfonos móviles con los nuevos microprocesadores no afectados por ambas vulnerabilidades.