Se ha descubierto una falla de diseño en chips Intel que requerirá cambios importantes en kernels de Windows y Linux. Mientras se están trabajando en los parches, los usuarios de ambos sistemas operativos pueden experimentar un golpe de rendimiento. Asimismo en el caso de Windows Insiders, donde ya se han implementado cambios en este respecto. Por su parte, las máquinas macOS que se ejecutan en chips Intel también se ven afectadas.
Intel está, por el momento, restringiendo la información sobre los detalles de la falla detectada. Pero se cree que afecta a los procesadores producidos en la última década. Los desarrolladores actualmente estiman que los sistemas podrían experimentar disminuciones de rendimiento de entre 5% y 30%.
Para Linux, se está trabajando en la comunidad de código abierto para corregir el problema. Se sabe que este afecta al sistema de memoria virtual del kernel. De momento, ya se han producido algunos parches. Pero existe un embargo, que significa que no se están discutiendo los detalles precisos de lo que se está reparando. Se espera que el embargo se levante este mes. Y se especula que podría llegar antes de (o coincidir con) el martes de parches de Microsoft para enero.
Lo que sabemos del error de los chips Intel hasta el momento
Aunque no sabemos mucho sobre el problema, sabemos que sin duda es algo que podría explotarse por hackers. Lo que se sabe es que el error permite que los programas de usuario normales, desde apps de bases de datos hasta JavaScript en los navegadores web, puedan discernir en cierta medida el diseño o el contenido de las áreas de memoria del kernel protegidas.
Hasta ahora, se ha llegado a una solución que podría considerarse como provisional pero mejor que nada. Esta consiste en separar por completo la memoria del kernel de los procesos de usuario. Hacer lo anterior requiere utilizar lo que se conoce como Kernel Page Table Isolation, o KPTI.
La desventaja de esta separación es que resulta relativamente costoso, en cuanto al tiempo, seguir cambiando entre dos espacios de direcciones por separado para cada llamada al sistema y para cada interrupción del hardware. Estos cambios de contexto no ocurren instantáneamente. Y obligan al procesador a volcar datos en caché y volver a cargar información de la memoria. Lo anterior aumenta la sobrecarga del kernel y ralentiza tu ordenador.
Consecuencias de la separación de kernel de los procesos de usuario
En otras palabras, tu máquina con Intel funcionará más lentamente como resultado de aplicar la “solución”. Por otro lado, parece ser que los chips de AMD no se ven tan afectados. Tom Lendacky, vocero de AMD, dijo en un correo electrónico: «Los procesadores AMD no están sujetos a los tipos de ataques contra los que protege la característica de aislamiento de la tabla del núcleo.”
Lendacky continúa diciendo: “La microarquitectura AMD no permite referencias de memoria que acceden a privilegios superiores de datos. Esto incluye también las referencias especulativas. Y tampoco cuando se ejecuta en un modo privilegiado menor, pues ese acceso daría como resultado un error de página”.