El kernel de Linux desde el año pasado ha dejado por error a los sistemas que se basan en la especulación restringida de rama indirecta (IBRS) original para la mitigación de Spectre V2 sin la cobertura del predictor de rama indirecta de un solo subproceso (STIBP) para el tratamiento de HyperThread cruzado con esta vulnerabilidad de Spectre. Hay un parche en marcha que está resolviendo este problema para los sistemas de la era Intel Skylake.

Desde que se fusionó un cambio en junio pasado y se incluyó en Linux 5.19-rc2, no hay compatibilidad con STIBP cuando se activa IBRS (el original, que no debe confundirse con Intel eIBRS). El parche que corrige este problema explica:

“Cuando IBRS simple está habilitado (IBRS no mejorado), la lógica en spectre_v2_user_select_mitigation() determina que STIBP no es necesario.

El bit IBRS protege implícitamente contra la inyección de destino de bifurcación entre subprocesos. Sin embargo, con IBRS heredado, el bit IBRS se borra al regresar al espacio de usuario por razones de rendimiento, lo que deja los subprocesos del espacio de usuario vulnerables a la inyección de destino de bifurcación entre subprocesos contra la cual protege STIBP.

Excluir IBRS de la comprobación de spectre_v2_in_ibrs_mode() para permitir la activación de STIBP (a través de seccomp/prctl() de forma predeterminada o siempre activa, si se selecciona mediante el parámetro cmdline del kernel de spectre_v2_user).”

Entonces, para proteger los subprocesos del espacio del usuario con STIBP, este parche del ingeniero de Google KP Singh está bajo r eview para permitir tener STIBP habilitado con el IBRS”heredado”. Una vez más, esto solo afecta a los procesadores más antiguos que dependen de IBRS simples como los de los diseños derivados de Skylake/Skylake. El parche ya está marcado para volver a portar a la serie estable del kernel de Linux una vez que esté integrado.
Para aquellos en sistemas IBRS simples, con Linux 6.2 también existe la nueva función de seguimiento de profundidad de llamadas que es menos costosa que IBRS para mitigar Spectre V2. Pero aún así, los costos de rendimiento acumulados para todas estas mitigaciones diferentes, particularmente en los sistemas más antiguos de la era Skylake, siguen siendo bastante altos.

Categories: IT Info