¿Cómo deshabilitar el aislamiento de la tabla de página para recuperar el rendimiento perdido debido al parche de seguridad de la CPU Intel?


43

Debido al problema actual del agujero de seguridad de la CPU Intel, se espera un parche que ralentiza el rendimiento del sistema.

¿Cómo puedo asegurarme de que este parche no se instalará en mi sistema Ubuntu?


49
Puede aumentar aún más el rendimiento de su sistema deshabilitando otros mecanismos de seguridad. No, eso no es una recomendación.
scai

11
Si el rendimiento es importante para usted, le recomiendo que construya usted mismo el candidato a la versión reciente del kernel y pruebe la pérdida de rendimiento en su carga de trabajo. Es muy posible que los gastos generales sean insignificantes o tolerables.
Jeffrey Bosboom

55
No puedo exagerar cuán terrible es esta idea.
Alexander

13
Voy a disentir Personalmente, no recomendaría deshabilitar las funciones de seguridad, pero, para los usuarios que notan un impacto en el rendimiento, deshabilitar pti puede ser una opción razonable considerando lo difícil que puede ser aprovechar un ataque contra este agujero de seguridad en particular y el valor de la computadora / datos objetivo. La pregunta es cómo deshabilitar esta opción, no debería deshabilitar esta opción.
Pantera

2
Estoy de acuerdo, PTI es una característica de seguridad que puede tener un costo no despreciable. Depende de OP decidir si es adecuado para ellos y fuera del alcance de esta pregunta.
Jake

Respuestas:


55

El parche (también conocido como "aislamiento de la tabla de páginas") formará parte de una actualización normal del núcleo (que obtendrá cuando actualice su sistema). Sin embargo, mantener el núcleo actualizado es muy recomendable, ya que también recibe muchas otras correcciones de seguridad. Por lo tanto, no recomendaría simplemente usar un núcleo obsoleto sin la solución.

Sin embargo, puede deshabilitar efectivamente el parche agregando pti=off( parche del kernel agregando esta opción, con más información ) a la línea de comando del kernel ( howto ). Tenga en cuenta que hacer esto dará como resultado un sistema menos seguro.

Hay más información y pruebas de rendimiento con PTI habilitado y deshabilitado en la lista de correo de PostgreSQL : TLDR es que tiene un impacto de rendimiento de entre 10 y 30% (para ProstgreSQL, es decir, otras cosas como los juegos probablemente tendrán menos impacto) .

Tenga en cuenta que esto solo afectará a los procesadores Intel, ya que AMD aparentemente no se ve afectado ( reddit ), por lo que previsiblemente se desactivará de forma predeterminada en AMD.


2
"... esto será previsiblemente deshabilitado por defecto en AMD". ¿Significa eso que habrá una versión de kernel adicional para los sistemas operativos Ubuntu que se ejecutan en máquinas con una CPU AMD proporcionada por Canonical? :)
cl-netbox el

16
No, el kernel detecta (en el arranque) el tiempo en que se ejecuta en una CPU AMD, y deshabilita la solución si es así. @ cl-netbox
JonasCz - Restablece a Mónica el

1
De acuerdo con theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability Los chips AMD se ven afectados por al menos una variedad de ataques Spectre (inyección de objetivo de ramificación), por lo que recibirán una actualización del kernel que probablemente afecte el rendimiento esta semana, también, a pesar de que no están sujetos a Meltdown propiamente dicho.
Dave Sherohman el

1
Aparentemente, esta característica está en arquitectura x64, pero no en i386 / IA-32. Debido a esto, el parche tampoco afecta a Linux de 32 bits (seguridad / Kconfig requiere X86_64 para habilitar PAGE_TABLE_ISOLATION). eso trae otra pregunta sin embargo. ¿Qué pasa con las máquinas x64 con un linux de 32 bits instalado? ¿Pueden verse afectadas? Si es así, ¿qué pasa con las viejas máquinas x64 que están limitadas por BIOS para ejecutar solo instrucciones de 32 bits (como las viejas netbooks basadas en átomos)? ¿son patos sentados?
thePiGrepper

2
Hasta que supe con certeza que había un ataque basado en JavaScript, estaba planeando usar esto.
Joshua

35

Actualización: el tema ha recibido un par de apodos: Meltdown y Spectre . He actualizado la respuesta con la nueva información.

Será un parche de kernel inicialmente. Aparecerá como una versión superior. Se instalará porque lo has linux-image-genericinstalado. Para eso es ese paquete. Para que puedas eliminar linux-image-generic. Es una idea horrible y desastrosa , que lo expondrá a todo tipo de desagradables, pero podría hacerlo. También puede haber un microcódigo de CPU que sigue linux-firmwarepara una solución en la CPU. Eso es realmente en Intel.

El método que sigue para solucionar esto es irrelevante. Está pidiendo omitir algo donde no conoce ni el verdadero impacto del error, ni el costo de rendimiento de solucionarlo.

  • El error es desagradable. Los CVE informados son lectura de memoria de proceso cruzado. Cualquier proceso puede leer la memoria de cualquier otro proceso. Entrada, contraseñas, todo el lote. Es probable que esto también tenga implicaciones en los sandboxes. Es muy temprano y espero que la gente lo impulse aún más, tanto en impacto como en acceso.

  • El rendimiento probablemente no sea tan grande como te preocupa. Los números que la gente arroja se centran en el rendimiento del subsistema teórico, o en el peor de los casos. Una base de datos mal almacenada en caché es lo que más se verá afectado. El juego y las cosas del día a día probablemente no va a cambiar de manera considerable.

Incluso ahora podemos ver cuál es el error real, es demasiado pronto para decir cuál es el impacto. Si bien el acceso de lectura libre a RAM es malo, hay cosas peores por ahí. También probaría para ver cuánto te afecta realmente la solución (con las cosas que haces).

No comience a cargar previamente su configuración de GRUB con banderas, ni a eliminar metapaquetes de Kernel por el momento.


77
Todo lo que necesita hacer es agregar pti=offa la línea de comando del núcleo (en GRUB) para deshabilitar el parche.
JonasCz - Restablece a Mónica el

3
@JonasCz ese comentario, si es cierto, no lo sé, parece que valdría la pena una respuesta por separado, especialmente si puede respaldarlo con una referencia.
Byte Commander

IMHO nopti es una mejor opción
Panther

3
@Oli Estoy de acuerdo con ese consejo y lo he dado en otro lugar. Dicho esto, la pregunta es cómo deshabilitar esta nueva característica de seguridad si lo desea, y, en mi opinión, nopti es la opción para hacerlo.
Panther

1
Sí, ha ralentizado algunas de las actividades de mi sistema en un 99% cuando uso máquinas virtuales. Copiar archivos del host a la máquina virtual solía demorar 2-3 segundos, ahora demora más de un minuto.
rboy

14

Aunque no recomiendo esto, es posible deshabilitar PTI

con el parámetro de línea de comandos del kernel nopti

de acuerdo con Phoronix .

Para hacer esto, agregue noptila cadena al lado de la línea que comienza con GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/gruby luego ejecuta

sudo update-grub

seguido de un reinicio.

Para obtener más información sobre los parámetros de arranque del kernel para deshabilitar las características de seguridad relevantes para el rendimiento, consulte: Controles de mitigación de espectro y deshielo en Ubuntu Wiki


1
¿Cuál es la diferencia entre kernel boot params nopti y pti = off ?
niutech

@niutech no hay diferencia, como prueba puedes mirar aquí
nixpower



3

La forma más simple: desmarque la configuración del kernel

-> Opciones de seguridad

[] Eliminar la asignación de kernel en modo de usuario

luego compila el nuevo kernel


1
Bienvenido a Ask Ubuntu! En su forma actual, su respuesta no es tan buena como podría ser. ¿Podría revisar cómo escribir una buena respuesta y la guía de estilo para preguntas y respuestas ? - De la opinión
J. Starnes

2
Lamentablemente, J. Starnes tiene razón. Ya no compila su propio núcleo, excepto como último recurso extremo.
Joshua

Ese es un cambio bastante trivial en las opciones del núcleo, pero, IMO nopties probablemente una opción mejor / más fácil para la mayoría.
Pantera
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.