Ubuntu desactiva las mitigaciones contra Spectre para mejorar el rendimiento
Hace pocos días se dio a conocer la noticia de que Ubuntu ha tomado una decisión importante para mejorar la gestión del rendimiento del entorno gráfico y de cómputo, al optar por desactivar las mitigaciones contra Spectre en el paquete intel-compute-runtime.
Esta decisión, que prioriza la eficiencia, podría traducirse en un incremento de hasta el 20 % en el rendimiento para los usuarios que utilizan OpenCL y OneAPI Level Zero en sistemas con GPU Intel.
Un cambio basado en rendimiento y seguridad evaluada
Sobre esta decisión, se menciona que el cambio se implementa a través del indicador de compilación NEO_DISABLE_MITIGATIONS, el cual desactiva una serie de opciones del compilador diseñadas para mitigar los efectos del ataque Spectre, como -mretpoline, -mindirect-branch=thunk y -mfunction-return=thunk. Aunque estas medidas aumentan la seguridad frente a ataques especulativos, también imponen una carga significativa sobre la ejecución de código relacionado con la API.
Cabe destacar que estas mitigaciones no afectan directamente el desempeño de las operaciones en GPU ni de OpenCL, sino que inciden principalmente en la sobrecarga de la capa de interacción con la API.
Tras el debate entre los equipos de seguridad de Intel y Canonical, coincidimos en que ya no es necesario mitigar Spectre para la GPU en el entorno de ejecución de cómputo. Actualmente, Spectre se ha mitigado en el kernel, y una advertencia clara de la compilación de Compute Runtime sirve como notificación para quienes ejecutan kernels modificados sin dichos parches. Por estas razones, consideramos que las mitigaciones de Spectre en Compute Runtime ya no ofrecen un impacto de seguridad suficiente como para justificar la actual desventaja en el rendimiento.
Tras un análisis conjunto entre los equipos de seguridad de Intel y Canonical, se concluyó que la protección provista por el kernel de Linux ya cubre los vectores de ataque más relevantes en este entorno, lo que vuelve redundante la mitigación dentro del runtime gráfico.
Intel ya distribuye sin mitigaciones por defecto
Intel ya distribuye sus compilaciones del entorno de ejecución gráfico con las mitigaciones desactivadas de forma predeterminada desde su repositorio oficial en GitHub. Además, tanto Intel como Canonical han validado esta medida desde una perspectiva de seguridad, concluyendo que no existen vulnerabilidades conocidas que se deriven de esta decisión.
No obstante, Canonical advierte que siempre existe la posibilidad de que, al eliminar una mitigación, se abra una vía de ataque aún no documentada. Para mitigar ese riesgo, se realizarán pruebas de conformidad con OpenCL (a través de checkbox-gfx) antes de la implementación definitiva, con el objetivo de detectar regresiones o comportamientos anómalos.
Posibles diferencias entre compilaciones
Es importante mencionar que existen diferencias técnicas entre el trabajo realizado por Ubuntu e Intel, dado que las compilaciones de Intel enlazan de manera estática sus bibliotecas, mientras que Ubuntu utiliza empaquetado dinámico en formato Deb. Esto podría derivar en ligeras diferencias en el comportamiento final del runtime.
Finalmente, cabe mencionar que la compilación modificada ya está disponible para pruebas a través de un PPA específico, y se ha marcado para inclusión en Ubuntu 24.04 (Noble).
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Kubuntu elimina sesión de KDE basada en X11
Por otro lado, y aprovechando el espacio, también vale la pena mencionar que los desarrolladores de Kubuntu han confirmado que dejarán de ofrecer la sesión de KDE basada en el servidor X a partir de la versión 25.10 de la distribución. La única sesión incluida por defecto será la basada en Wayland, alineándose así con la tendencia generalizada del ecosistema Ubuntu.
Aquellos usuarios que necesiten mantener la compatibilidad con el servidor X11 podrán seguir haciéndolo, aunque deberán instalar manualmente el paquete plasma-session-x11 desde los repositorios oficiales. La compatibilidad con aplicaciones X11 ejecutadas sobre XWayland continuará sin cambios.
Esta decisión sigue la misma línea que la adoptada previamente en Ubuntu, donde se dejó de incluir la sesión de GNOME basada en X11 en las compilaciones principales. El movimiento marca un paso más hacia la consolidación de Wayland como el servidor gráfico de referencia en los escritorios modernos de Linux.