¿El kernel de Linux es vulnerable a LazyFP (CVE-2018-3665)?

5

Recientemente, se descubrió un ataque de canal lateral que explota el perezoso cambio de estado de FPU para filtrar el contenido de los registros MMX, SSE y AVX. La vulnerabilidad solo puede ser explotada cuando se utilizan los guardados flojos de la FPU, en lugar de los salvados ansiosos de la FPU. Estoy leyendo fuentes conflictivas sobre si el kernel de Linux es vulnerable o no. Una fuente afirma que es vulnerable. Sin embargo, hay un otro recurso de 2016 que explica que Linux utiliza el cambio de FPU impaciente de forma predeterminada, lo que indica que no se ve afectado. A commit de 2016 muestra cuando se ve el cambio se convirtió en predeterminado.

¿Linux es vulnerable, o no se ve afectado por el uso de un cambio de FPU impaciente? Mi entendimiento es que solo es vulnerable si eagerfpu=off , que no es el predeterminado. ¿Mi entendimiento es correcto?

    
pregunta forest 15.06.2018 - 07:04
fuente

3 respuestas

2

Las versiones de kernel anteriores al parche que has mostrado están afectadas. Por ejemplo, este boletín de seguridad de RedHat indica:

  
  • RHEL-7 se establecerá automáticamente como opción de restauración de punto flotante "seguro" (seguro) en Sandy Bridge y en los procesadores Intel más nuevos. AMD   Los procesadores no se ven afectados.

  •   
  • Puede mitigar este problema en procesadores más antiguos arrancando el kernel con el parámetro eagerfpu = on para habilitar la restauración de FPU.   modo. En este modo, el estado de la FPU se guarda y se restaura para cada   cambio de tarea / contexto, independientemente de si el proceso actual invoca   Instrucciones de FPU o no. El parámetro no afecta el rendimiento.   Negativamente, y se puede aplicar sin efectos adversos a los procesadores.   que no están afectados.

  •   

RHEL 6 y anteriores se ven afectados por este CVE y no proporcionan la   Parámetro de eagerfpu. Red Hat lanzará actualizaciones que   cambiar el comportamiento.

Esto sugiere que el parche volverá a los kernels anteriores, ya que requiere modificar el kernel en lugar de simplemente cambiar un parámetro al compilarlo.

    
respondido por el user9944881 15.06.2018 - 07:21
fuente
2

Para citar la información de Redhat :

  

RHEL-7 se configurará automáticamente de forma predeterminada para el restablecimiento del registro de punto flotante "seguro" (eager) en Sandy Bridge y en los procesadores Intel más nuevos. Los procesadores AMD no se ven afectados. ... Puede mitigar este problema en los procesadores más antiguos arrancando el kernel con el parámetro eagerfpu = on para habilitar el impaciente modo de restauración de FPU

Para Debian parece que lazyFP está arreglado para cualquier cosa que use un kernel 4.9 o más reciente . Debian también enlaza con el kernel message desde 01/2016 donde eagerfpu estaba habilitado para todas las CPU de forma predeterminada.

Al igual que para otras distribuciones, es necesario tener una idea de qué kernel se usa, qué parches se aplican y qué ajustes de configuración se usaron. Simplemente no hay "Linux", sino que hay muchas distribuciones que usan diferentes versiones del kernel con diferentes parches y diferentes configuraciones, etc.

    
respondido por el Steffen Ullrich 15.06.2018 - 07:19
fuente
0

En su mayoría sí, lo son.

Los proveedores de sistemas operativos Linux están intentando jugar en defensa y ahora han presentado múltiples parámetros que puede habilitar / deshabilitar cuando desee usar instrucciones especiales de CPU. Es su forma de no tener que parchear constantemente el núcleo. SI es vulnerable, desactive el parámetro y continúe ...

Para tener el parámetro disponible, necesita las últimas actualizaciones del kernel.

Los que tienen la mitigación habilitada de forma predeterminada como red hat, están restringidos a un conjunto específico de procesadores. Se mitigan automáticamente si se encuentra esta CPU específica. Si no se encuentran, se apagarán.

Por lo tanto, tendrá que comprobar cuál es su sabor a Linux, cuál es su CPU y cuál es el núcleo que está utilizando para saber si está mitigado.

    
respondido por el Hugo 18.06.2018 - 18:42
fuente

Lea otras preguntas en las etiquetas