Meltdown y Spectre

En el siguiente artículo abordaremos el tema sobre el peligro y el impacto que tendrán Meltdown y Spectre en tu computador.

Los procesadores de computadora tienen un importante defecto en su diseño, y todos están trabajando por arreglarlo. Solo uno de los dos problemas de seguridad puede ser parchado, y los parches tendrán como consecuencia que los computadores (y los Mac) con procesadores Intel se vuelvan más lentos.

¿Qué son Meltdown y Spectre?

Spectre es un “defecto de diseño fundamental” que se encuentra presente en todos los procesadores que existen en el mercado, incluidos los procesadores de AMD y ARM, así como Intel. Actualmente no existe una solución de software, y es probable que requiera un rediseño completo del hardware de los procesadores, aunque afortunadamente la falla es bastante difícil de explotar, de acuerdo con los investigadores de seguridad. Es posible protegerlos contra ataques específicos de Spectre, y los desarrolladores están trabajando en ello, pero la mejor solución será rediseñar el hardware del procesador.

Meltdown básicamente empeora Spectre haciendo que la falla subyacente del núcleo sea mucho más fácil de explotar. Es esencialmente un defecto adicional que afecta a todos los procesadores Intel fabricados en las últimas décadas. También afecta algunos procesadores ARM Cortex-A de gama alta, pero no afecta a los procesadores de AMD. Meltdown está siendo parcheado en los sistemas operativos de hoy.

Pero, ¿cómo funcionan Meltdown y Spectre?

Los programas que se ejecutan en su computadora se ejecutan con diferentes niveles de permisos de seguridad. El kernel del sistema operativo -el núcleo de Windows o el kernel de Linux, por ejemplo- tiene el nivel más alto de permisos porque ejecuta el programa. Los programas de escritorio tienen menos permisos y el kernel restringe lo que pueden hacer. El kernel usa las características de hardware del procesador para ayudar a aplicar algunas de estas restricciones, porque es más rápido hacerlo con hardware que con el software.

El problema aquí es con la “ejecución especulativa”. Por motivos de rendimiento, los procesadores modernos ejecutan automáticamente las instrucciones que creen que podrían necesitar ejecutarse y, si no lo hacen, simplemente pueden rebobinar y devolver el sistema a su estado anterior. Sin embargo, una falla en Intel y algunos procesadores ARM permiten que los procesos ejecuten operaciones que normalmente no podrían ejecutarse, ya que la operación se realiza antes de que el procesador se moleste en verificar si debe tener permiso para ejecutarlo o no. Ese es el error denominado Meltdown.

El problema central con Meltdown y Spectre se encuentra dentro de la memoria caché del procesador. Una aplicación puede intentar leer la memoria y, si lee algo en la memoria caché, la operación se completará más rápido. Si intenta leer algo que no está en la memoria caché, se completará más lentamente.

La aplicación puede ver si algo se completa rápido o lento y, mientras todo lo demás durante la ejecución especulativa se limpia y borra, el tiempo que lleva realizar la operación no se puede ocultar. Luego puede usar esta información para construir un mapa de cualquier cosa en la memoria de la computadora, bit por bit. El almacenamiento en caché acelera las cosas, pero estos ataques aprovechan esa optimización y la convierten en una falla de seguridad.

Por lo tanto, en el peor de los casos, el código JavaScript que se ejecuta en su navegador web podría leer efectivamente la memoria a la que no debería tener acceso, como la información privada almacenada en otras aplicaciones. Los proveedores de servicios basados en la nube como Microsoft Azure o Amazon Web Services, que alojan múltiples programas de diferentes empresas en diferentes máquinas virtuales en el mismo hardware, están particularmente en riesgo.

El software de una persona podría, en teoría, espiar cosas en la máquina virtual de otra empresa. Es un colapso en la separación entre aplicaciones. Los parches para Meltdown significan que este ataque no será tan fácil de llevar a cabo, pero no imposible. Desafortunadamente, poner estas comprobaciones adicionales en su lugar significa que algunas operaciones serán más lentas en el hardware afectado.

Los desarrolladores están trabajando en parches de software que hacen que los ataques de Spectre sean más difíciles de ejecutar. Por ejemplo, la nueva característica Site Isolation de Google Chrome le ayuda a protegerse contra esto, y Mozilla ya ha hecho algunos cambios rápidos a Firefox. Microsoft también realizó algunos cambios para ayudar a proteger a su navegador Edge e Internet Explorer por medio de una actualización de Windows que está disponible desde ahora.

Si le interesan los detalles más profundos sobre Meltdown y Spectre, lea la explicación técnica del equipo Project Zero de Google, quien descubrió los errores el año pasado. También podrá encontrar más información en el sitio web MeltdownAttack.com.

¿Cuánto más lento será mi computador?

Todavía no sabemos cuánto afectará el parche de Meltdown al uso diario de un computador. Dave Hansen, un desarrollador de kernel de Linux que trabaja en Intel, escribió que los cambios que se realizan en el kernel de Linux afectarán a todo. Según él, la mayoría de las cargas de trabajo están experimentando una desaceleración de un solo dígito, con una ralentización de aproximadamente un 5%. Sin embargo, en el peor de los casos se espera una desaceleración de hasta un 30%, esto en base a un aprueba de red, por lo que la desaceleración puede variar de una tarea a otra. La solución ralentiza las llamadas al sistema, por lo que las tareas con muchas llamadas al sistema, como la compilación de software y la ejecución de máquinas virtuales, probablemente se ralentizará más. Pero hay que considerar que cada pieza de software usa llamadas al sistema.

Estos son números para Linux, por lo que es posible que no se apliquen a Windows en absoluto. Los cambios que se realizan a Windows pueden ser diferentes, y podremos ver un mayor o menor impacto en el rendimiento. No está claro en todo caso hasta qué punto esto realmente terminará siendo algo notable en el uso diario normal de la computadora. Incluso puede ser que ni siquiera lo notes, claro que esto está directamente relacionado con el tipo de trabajo para el cual utilices tu computador.

Las computadoras con un procesador Intel Haswell o más reciente tienen una función PCID (Identificadores de contexto de proceso) que ayudará a que el parche funcione bien. Las computadoras con CPU Intel más antiguas verán una mayor disminución en su velocidad.

Intel dice que la desaceleración “no debería ser significativa” para el usuario medio de una computadora, pero realmente no sabemos qué va a pasar, y no lo sabremos hasta que la gente haya tenido tiempo de comparar las versiones actualizadas de Windows.

Pero una cosa está clara: su computadora definitivamente no se estará acelerando con este parche. Si tienes un procesador Intel, tu computadora solo será más lenta.

¿Que necesito hacer?

Algunas actualizaciones para arreglar el problema Meltdown ya están disponibles. Microsoft ha emitido una actualización de emergencia para las versiones compatibles de Windows a través de Windows Update el día 3 de enero del 2018, pero todavía no ha llegado a todas las computadoras. La Actualización de Windows que resuelve el Meltdown y agrega algunas protecciones contra Spectre se llama KB4056892.

Según los informes, Apple ya solucionó el problema con macOS 10.13.2, lanzado el 6 de diciembre del 2017. Los Chromebook con Chrome OS 63, que se lanzaron a mediados de diciembre, ya están protegidos. Los parches también están disponibles para el kernel de Linux.

Además, verifique si su PC tiene actualizaciones de BIOS/UEFI disponibles, ya que algunos fabricantes de computadores también lanzarán parches por esa ruta. Consulte el sitio web de su fabricante (Dell, Lenovo, MSI, etc.) para ver si hay algo disponible para su modelo.

Recomendamos encarecidamente instalar estos parches a la brevedad posible. Los desarrolladores de sistemas operativos no harían cambios tan masivos a menos que este fuera un error muy grave con graves consecuencias.

El parche de software en cuestión arreglará la falla de Meltdown, y algunos parches de software pueden ayudar a mitigar la falla de Spectre. Pero es posible que Spectre siga afectando a todos los procesadores modernos, al menos de alguna forma, hasta que se desarrolle un nuevo hardware para repararlo.

No está claro cómo los fabricantes manejarán esto, pero mientras tanto, todo lo que puedes hacer es continuar usando tu computadora, y consolarte con el hecho de que Spectre es más difícil de explotar, y algo más preocupante aun es el tema de la computación en la nube, ya que los usuarios finales son los computadores de escritorio.