GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo mitigar las vulnerabilidades de Spectre y Meltdown en sistemas Linux?

Alan Cox compartió un enlace del blog de AMD:https://www.amd.com/en/corporate/speculative-execution

Variante uno:omisión de verificación de límites

Resuelto por las actualizaciones de software/SO que estarán disponibles por parte de los proveedores y fabricantes del sistema. Se espera un impacto insignificante en el rendimiento.

Variante dos:Inyección de destino de rama

Las diferencias en la arquitectura de AMD significan que existe un riesgo casi nulo de explotación de esta variante. La vulnerabilidad a la Variante 2 no ha sido demostrada en los procesadores AMD hasta la fecha.

Variante tres:carga de caché de datos no autorizados

Cero vulnerabilidad de AMD debido a las diferencias de arquitectura de AMD.

Sin embargo, sería bueno tener la confirmación de estas declaraciones de AMD por parte de un tercero.

La 'mitigación' en los sistemas afectados requeriría un nuevo kernel y un reinicio, pero en muchas distribuciones aún no se han lanzado paquetes con las correcciones:

  • https://www.cyberciti.biz/faq/patch-meltdown-cpu-vulnerability-cve-2017-5754-linux/

Debian:

  • https://security-tracker.debian.org/tracker/CVE-2017-5715
  • https://security-tracker.debian.org/tracker/CVE-2017-5753
  • https://security-tracker.debian.org/tracker/CVE-2017-5754

Otras fuentes de información que encontré:

  • https://lists.bufferbloat.net/pipermail/cerowrt-devel/2018-January/011108.html
  • https://www.reddit.com/r/Amd/comments/7o2i91/technical_analysis_of_spectre_meltdown/

27 de enero de 2018 Intel Microcode rompe algunos sistemas

La actualización Intel Microcode 2018-01-08 para abordar los agujeros de seguridad de bifurcación de ejecución especulativa rompió algunos sistemas. Esto afectó a muchos sistemas Ubuntu del 8 al 21 de enero. El 22 de enero de 2018, Ubuntu lanzó una actualización que recupera el Microcódigo anterior del 2017-07-07.

Si tuvo problemas con las actualizaciones, reinstaló Ubuntu y desactivó las actualizaciones entre el 08-01-2018 y el 22-01-2018, es posible que desee volver a intentar las actualizaciones automáticas de Ubuntu.

16 de enero de 2018, actualización de Spectre en 4.14.14 y 4.9.77

Si ya está ejecutando las versiones de Kernel 4.14.13 o 4.9.76 como yo, es obvio instalar 4.14.14 y 4.9.77 cuando salgan en un par de días para mitigar el agujero de seguridad de Spectre. El nombre de esta solución es Retpoline y no tiene el grave impacto en el rendimiento que se especuló anteriormente:

Greg Kroah-Hartman ha enviado los parches más recientes para las versiones puntuales de Linux 4.9 y 4.14, que ahora incluyen la compatibilidad con Retpoline.

Este X86_FEATURE_RETPOLINE está habilitado para todas las CPU AMD/Intel. Para obtener soporte completo, también debe compilar el núcleo con un compilador GCC más nuevo que contenga soporte -mindirect-branch=thunk-extern. Los cambios de GCC aterrizaron en GCC 8.0 ayer y están en proceso de ser potencialmente transferidos a GCC 7.3.

Aquellos que deseen deshabilitar el soporte de Retpoline pueden iniciar los núcleos parcheados con noretpoline .

Sin entrar en detalles de JavaScript, aquí se explica cómo evitar de inmediato el agujero Meltdown (y, a partir del 10 de enero de 2018, la protección Spectre)

Actualización del 12 de enero de 2018

Protección inicial contra Spectre está aquí y se mejorará en las próximas semanas y meses.

Núcleos de Linux 4.14.13, 4.9.76 LTS y 4.4.111 LTS

De este artículo de Softpedia:

Los kernels de Linux 4.14.13, 4.9.76 LTS y 4.4.111 LTS ya están disponibles para descargar desde kernel.org e incluyen más correcciones contra la vulnerabilidad de seguridad de Spectre, así como algunas regresiones de Linux 4.14.12, 4.9.75 LTS y 4.4.110 kernels LTS lanzados la semana pasada, ya que algunos informaron problemas menores.

Estos problemas parecen haberse solucionado ahora, por lo que es seguro actualizar sus sistemas operativos basados ​​en Linux a las nuevas versiones del kernel lanzadas hoy, que incluyen más actualizaciones de x86, algunas correcciones de PA-RISC, s390 y PowerPC (PPC), varias mejoras en los controladores ( Intel i915, crypto,IOMMU, MTD) y los cambios habituales en el núcleo y mm.

Muchos usuarios tuvieron problemas con las actualizaciones de Ubuntu LTS el 4 y el 10 de enero de 2018. He estado usando 4.14.13 por un par de días sin ningún problema sin embargo YMMV .

Actualización del 7 de enero de 2018

Greg Kroah-Hartman escribió una actualización de estado sobre los agujeros de seguridad Meltdown y Spectre Linux Kernel ayer. Algunos pueden llamarlo el segundo hombre más poderoso en el mundo de Linux justo al lado de Linus. El artículo aborda los núcleos estables (discutidos a continuación) y los núcleos LTS que tienen la mayoría de los usuarios de Ubuntu.

Núcleos de Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52 y 3.2.97 Error de fusión de parches

De este artículo:

Se insta a los usuarios a actualizar sus sistemas de inmediato

4 de enero de 2018 01:42 GMT · Por Marius Nestor

Los mantenedores del kernel de Linux Greg Kroah-Hartman y Ben Hutchings han lanzado nuevas versiones de la serie de kernel Linux 4.14, 4.9, 4.4, 3.16, 3.18 y 3.12 LTS (soporte a largo plazo) que aparentemente parchean una de las dos fallas de seguridad críticas que afectan a la mayoría de los usuarios modernos. procesadores.

Los núcleos de Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52, 3.18.91 y 3.2.97 ya están disponibles para descargar desde el sitio web kernel.org y se insta a los usuarios a actualizar sus distribuciones GNU/Linux. a estas nuevas versiones si ejecutan cualquiera de esas series de kernel inmediatamente. ¿Por qué actualizar? Porque aparentemente parchean una vulnerabilidad crítica llamada Meltdown.

Como se informó anteriormente, Meltdown y Spectre son dos exploits que afectan a casi todos los dispositivos con procesadores modernos (CPU) lanzados en los últimos 25 años. Sí, eso significa casi todos los teléfonos móviles y computadoras personales. Meltdown puede ser aprovechado por un atacante sin privilegios para obtener malintencionadamente información confidencial almacenada en la memoria del kernel.

Parche para la vulnerabilidad de Spectre aún en desarrollo

Si bien Meltdown es una vulnerabilidad grave que puede exponer sus datos secretos, incluidas las contraseñas y las claves de cifrado, Spectre es aún peor y no es fácil de solucionar. Los investigadores de seguridad dicen que nos perseguirá durante bastante tiempo. Se sabe que Spectre explota la técnica de ejecución especulativa utilizada por las CPU modernas para optimizar el rendimiento.

Hasta que también se corrija el error de Spectre, se recomienda enfáticamente que al menos actualice sus distribuciones de GNU/Linux a cualquiera de las versiones del kernel de Linux recientemente lanzadas. Así que busque en los repositorios de software de su distribución favorita la nueva actualización del kernel e instálela lo antes posible. No esperes a que sea demasiado tarde, ¡hazlo ahora!

Había estado usando Kernel 4.14.10 durante una semana, por lo que descargar e iniciar Ubuntu Mainline Kernel versión 4.14.11 no fue una gran preocupación para mí.

Los usuarios de Ubuntu 16.04 pueden sentirse más cómodos con las versiones del kernel 4.4.109 o 4.9.74 que se lanzaron al mismo tiempo que la 4.14.11.

Si sus actualizaciones regulares no instalan la versión de Kernel que desea, puede hacerlo manualmente siguiendo esta respuesta de Ask Ubuntu:https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest -versión-principal/879920#879920

4.14.12 - Qué diferencia hace un día

Menos de 24 horas después de mi respuesta inicial, se lanzó un parche para corregir la versión del kernel 4.14.11 que es posible que se hayan apresurado. Se recomienda actualizar a 4.14.12 para todos los usuarios de 4.14.11. Greg-KH dice:

Estoy anunciando el lanzamiento del kernel 4.14.12.

Todos los usuarios de la serie kernel 4.14 deben actualizar.

Todavía se conocen algunos problemas menores con esta versión con los que la gente se ha topado. Con suerte, se resolverán este fin de semana, ya que los parches no han aterrizado en el árbol de Linus.

Por ahora, como siempre, pruebe su entorno.

En cuanto a esta actualización, no se cambiaron muchas líneas de código fuente.


Esta falla se puede explotar de forma remota visitando un sitio web de JavaScript.

Por cierto. Por lo tanto, una mitigación sensata es deshabilitar JavaScript en sus navegadores web o usar navegadores web que no admitan JavaScript.

La mayoría de los navegadores que admiten JavaScript tienen una configuración para desactivarlo. Alternativamente, si desea mantener una lista blanca de sitios o dominios para los que permitir JavaScript, existen varios complementos que pueden ayudarlo, como uBlock Origin y NoScript.

nótese bien No hace falta decir que deshabilitar/restringir JavaScript no debería ser solo mitigación. Además, debe revisar (y probablemente aplicar) las correcciones relevantes del kernel y otras actualizaciones de seguridad una vez que estén escritas, probadas y publicadas. En distribuciones derivadas de Debian, use comandos como sudo apt update , sudo apt list-upgradable y sudo apt upgrade .

Actualización: no confíes en mi palabra. Alan Cox dice casi lo mismo:

Lo que sí debe importarle a lo grande es javascript porque javascript puede usar el exploit de forma remota en páginas web para robar cosas de la memoria de su sistema. ... considere cosas como Adblockers y extensiones como noscript que pueden detener una gran cantidad de basura que se ejecuta en primer lugar. Haz eso lo antes posible. Cuando aparezcan las actualizaciones del sistema operativo, aplíquelas. (Fuente )


Linux
  1. Cómo rescata Linux las computadoras lentas (y el planeta)

  2. Cómo crear un alias y usar el comando Alias ​​en Linux

  3. Cómo identificar las tarjetas/puertos HBA y WWN en Linux

  4. Cómo instalar y usar Glances para monitorear sistemas Linux

  5. ¿Cómo muevo archivos y directorios a la carpeta principal en Linux?

Cómo usar OpenSSL e Internet PKI en sistemas Linux

Cómo instalar y usar Telnet en sistemas Linux

Cómo encontrar el PID y PPID de un proceso en Linux

Cómo instalar y usar el comando Ack en Linux

Perf de Linux:cómo usar el comando y el generador de perfiles

Los 15 mejores gestores de arranque de Linux para el hogar y sistemas integrados