¿Qué son las vulnerabilidades espectrales y de fusión?

Dos de las vulnerabilidades más publicitadas estuvieron estrechamente vinculadas en 2010. En lugar de vulnerabilidades de seguridad en el software, Spectre y Meltdown son vulnerabilidades en el diseño básico de la CPU que hacen que el problema sea más difícil de resolver. Los problemas en sí mismos son muy serios y conducen a la memoria de otras aplicaciones y la exposición del sistema operativo.

Presentación general

Las CPU utilizan diseños muy avanzados para lograr el máximo rendimiento, incluidas técnicas que incluyen la ejecución especulativa y la predicción de ramas. La ejecución especulativa es cuando la CPU comienza a ejecutar un proceso antes de saber que es necesario, en un intento de ahorrar tiempo cuando determina que es necesario. Prediction Branch es un subconjunto de ejecución especulativa que intenta predecir el resultado de un proceso y luego comienza a calcular el siguiente paso en función de ese valor predicho, lo que permite que la CPU ejecute un conjunto de instrucciones fuera de orden.

La vulnerabilidad espectral surge de la aplicación de estos dos elementos. Una aplicación permite anular la mayoría de las técnicas modernas de aislamiento de memoria aislada por software, lo que permite revelar la memoria, incluidos secretos como contraseñas y claves de cifrado. Uno de los problemas con Spectre es que es posible que no pueda acceder a los datos de las aplicaciones que no tienen vulnerabilidades de seguridad, porque solo se requiere un programa malicioso.

La vulnerabilidad Melt se basa en una serie de técnicas de memoria, así como en el sistema de ejecución especulativa mencionado anteriormente. Utiliza una «condición de carrera» entre la ejecución del proceso y la verificación de privilegios y permite que los programas maliciosos obtengan acceso a la memoria de otras aplicaciones y al sistema operativo.

Sugerencia: Una «condición de carrera» es un problema en el que una actividad debe depender de otra, pero no se aplica el orden correcto de ejecución. Esto puede hacer que el «segundo» proceso se ejecute primero y use la memoria no deseada que debería ser el resultado del «primer» proceso, mientras se pierde el contenido anterior en esa memoria. En este caso específico, el proceso no debe llevarse a cabo hasta que se haya verificado la aprobación de una verificación de permisos, pero la verificación de permisos puede llevarse a cabo más tarde debido a la optimización del rendimiento.

Editar efectos

A mediados de 2017, varios equipos de Meltdown y Spectre encontraron de forma independiente fabricantes de procesadores que desarrollaron parches. Gracias a los parches diseñados para optimizar el rendimiento, llegaron a reducir el rendimiento del procesador hasta en un 30% en el peor de los casos, mientras que el rendimiento de las personas cayó en un 2-14%.

Las vulnerabilidades afectaron a muchos procesadores x86, procesadores IBM POWER y algunos procesadores basados ​​en ARM. Meltdown afecta al hardware que se encuentra comúnmente en PC y servidores en la nube. Spectrum afecta a las PC, los servidores en la nube y los dispositivos móviles. Todos los procesadores Intel desde 1995 hasta mediados de 2018 fueron vulnerables a problemas (excepto las líneas Itanium y Atom anteriores a 2013). Los procesadores AMD no se vieron afectados por Meltdown, pero fueron vulnerables por Spectre.

Los proveedores de sistemas operativos han desarrollado y publicado parches de mitigación de software que resuelven la mayoría de los problemas. Desde mediados de 2018, Intel ha actualizado el diseño de la CPU para incluir problemas de hardware.

Ambos problemas pueden explotarse a través de páginas web maliciosas con JavaScript listo, por lo que es muy importante asegurarse de que los parches de seguridad estén instalados en todos los sistemas, incluso si la pérdida de rendimiento es grave. Desafortunadamente, los problemas no se pueden resolver con un parche, ya que estos son problemas muy complejos con una integración profunda de hardware, las versiones de seguridad continuarán lanzándose con el tiempo a medida que se descubran nuevas versiones.