¿Por qué las actualizaciones de microcódigo de Intel no funcionan en mi sistema?


8

Quiero actualizar mi sistema para mitigar las vulnerabilidades de Specter y Meltdown.

La página relevante de Ubuntu dice que necesito actualizar microcódigos: "Desde una perspectiva de invitado y no hipervisor, a partir de las actualizaciones del kernel del 21 de febrero, hasta donde sabemos, las mitigaciones para Spectre y Meltdown en 64 bits amd64, ppc64el y s390x tienen funciones completas siempre que se realicen todas las actualizaciones de microcódigo, firmware e hipervisor debajo del sistema ... "

Tengo intel-microcodee iucode-toolinstalé y actualicé, sin embargo, ejecuto dmesg | grep -i microcodey grep -i microcode /var/log/syslog*no devuelvo nada, lo que me hace pensar que el microcódigo de la CPU no se actualiza o algo más está mal.

Los paquetes están actualizados y ha habido reinicios desde la última actualización.

sistema operativo: Lubuntu 16.04

CPU: Intel N3700 (Braswell)

repositorios de software habilitados: principal, universo

actualizaciones habilitadas: xenial-security

Editar:
La salida de grep name /proc/cpuinfo | sort -ues
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Mi procesador no es Skylake, ni el lago Kaby.

En /proc/cpuinfoHyper-Threading aparece como compatible, pero esta página de Intel dice que no es compatible:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Edición 2:
corrí sudo update-initramfs -uy reinicié. Las salidas siguen siendo las mismas.

Salida de /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:

Parece que no hay un microcódigo actualizado para mi CPU, lo cual es interesante ya que anteriormente había un microcódigo seleccionable en la Additional Driverspestaña (finales de 2017); ahora no lo hay.

Edición 3:
Salida de apt list --installed | grep intel-microcode:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/xenial-security,now 3.20180108.0+really20170707ubuntu16.04.1 amd64 [installed]

Edición 4:
ahora entiendo que no hay una actualización para el microcódigo de la CPU, lo que significa que el problema original está resuelto, y lo dejaré como está.

Sin embargo, dmesgy journalctl -baún debería mostrar líneas sobre la versión de microcódigo, creo.
También noté que estos registros de arranque comienzan en "5" en lugar del típico 1 o 0, y que hay un mensaje de error repetitivo que los hace truncados ( dmesgno dice nada sobre el truncamiento, pero journalctldice que hay 371635 mensajes de kernel perdidos, ver más abajo) . Ignoraré esto por ahora.

March 19 06:36:40 NN systemd-journald[266]: Runtime journal (/run/log/journal/) is 8.0M, max 78.9M, 70.9M free.
March 19 06:36:40 NN systemd-journald[266]: Missed 371635 kernel messages
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120

1
Aquí hay instrucciones detalladas sobre cómo verificar el microcódigo en sistemas debian: lists.debian.org/debian-devel/2017/06/msg00308.html . Publique la salida de esos comandos. Comience identificando su procesador con grep name /proc/cpuinfo | sort -uy observe "Algunos de los procesadores en estas dos listas no se ven afectados porque carecen de soporte de hiperprocesamiento. Ejecute el siguiente comando en un shell de línea de comando (por ejemplo, xterm), y generará un mensaje si hiper -threading es compatible / habilitado: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

Edité la pregunta.
MeltingPoint

¿Puedes ejecutar sudo update-initramfs -u && sudo rebooty verificar nuevamente después de reiniciar?
Panther

1
Tal vez no haya un microcódigo para su CPU en el paquete de ubuntu. ejecutar esto para ver/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
A "finales de 2017" posiblemente tenía un microcódigo para su CPU basado en intentos de corrección de espectro / fusión. Ese código se ha eliminado /, es decir, el paquete se ha revertido a anterior, que no necesita nada para su CPU.
Doug

Respuestas:


4

Según los resultados, /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*no se está cargando ningún microcódigo para su CPU porque por el momento no hay ninguno. Eso no significa que no habrá en el futuro. Puede dejar instalado intel-microcode y iucode-tool instalados, si hay una actualización que contenga microcódigo para la firma de su CPU, se utilizará.


2

Error en Meltdown / Spectre Intel Microcode

Hubo un error a principios de 2018 en la actualización del Microcódigo Intel para abordar los agujeros de seguridad de Meltdown / Spectre. Como tal, el microcódigo tuvo que revertirse a una versión anterior.

Aquí está el microcódigo que estoy usando (habiendo excluido todas las actualizaciones a partir de enero de 2018):

$ apt list --installed | grep intel-microcode

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/now 3.20170707.1~ubuntu16.04.0 amd64 [installed,upgradable to: 3.20180108.0+really20170707ubuntu16.04.1]

Cuando instale Intel Microcode Update obtendrá esta versión o algo similar:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menú Ubuntu 16.04 LTS

No estoy seguro acerca de la estructura del menú de Lubuntu, pero para Ubuntu normal, así es como se accede a los controles de actualización de microcódigo de Intel:

Drivers adicionales.png

La opción inferior controla las actualizaciones de microcódigo de Intel.

Instale Intel Microcode desde CLI

Para omitir los menús de la GUI por completo, puede instalar desde la línea de comandos:

sudo apt update
sudo apt install intel-microcode

dmesg ahora muestra la salida correcta

Después de seguir los pasos de instalación, dmesgdevuelve el resultado deseado (a diferencia de su pregunta donde no muestra nada):

$ dmesg | grep -i microcode
[    1.166542] microcode: sig=0x506e3, pf=0x20, revision=0xba
[    1.166993] microcode: Microcode Update Driver: v2.2.
[16082.584598] microcode: microcode updated early to revision 0xba, date = 2017-04-09

En la pregunta, el OP dice claramente "Tengo intel-microcode y iucode-tool instalados y actualizados", así que no estoy realmente seguro de cómo esto ayuda.
Panther

@Panther Extrañé agregar mi dmesgsalida que tenía originalmente cuando comencé a escribir la respuesta. Lo agregaré. Básicamente, después de seguir los pasos de instalación, la dmesgsalida aparece como se supone que debe.
WinEunuuchs2Unix

El OP también indica claramente "ejecutar dmesg | grep -i microcode y grep -i microcode / var / log / syslog * no devuelve nada". Sospecho que tenemos que corrersudo update-initramfs -u && sudo reboot
Panther

@Panther Primero me pareció que el microcódigo no estaba instalado correctamente. Buen punto sobre reiniciar. El OP no menciona nada al respecto. Monitorearé la futura respuesta de OP a su comentario bajo su pregunta. No estoy seguro de update-initramfs -uque me necesiten, ya que no está en la lista aquí: askubuntu.com/questions/545925/… . Sin embargo, nunca duele.
WinEunuuchs2Unix

El microcódigo normalmente forma parte de initramfs y se carga durante el arranque, por lo que, aunque no es de esperar, sugiero reconstruir initramfs como una posible solución a la situación inusual del OP. Ayudaría si supiéramos qué microcódigo estaba instalado.
Panther

2

Ubuntu había lanzado una actualización kernel fija contra este exploit. El nuevo kernal ha requerido cambios.

Referencia: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Estoy en Ubuntu 16.04, usando el controlador de pantalla Nouveau. En mi caso, el microcódigo Intel se desinstaló después de instalar un nuevo núcleo.

Esta actualización se publica justo después de que Intel lanzó la corrección de errores para la vulnerabilidad de seguridad de errores de espectro.

Esto debería solucionar tu problema.

Si tienes el controlador de propiedad de Intel reemplazado como en mi lugar y aún quieres el controlador de propiedad de microcódigo de Intel

Intel lanza microcódigos de CPU de Linux para corregir errores de fusión y espectro | bleepingcomputer.com

Actualmente, los nuevos controladores no están incluidos en Ubuntu ppa. Los usuarios pueden tener que descargarlo manualmente desde el sitio web de Intel.

Advertencia: Esto puede causar conflictos de controladores o inestabilidad en su Ubuntu. Debe instalarlo bajo su propio riesgo.

Descargar el archivo de datos del microcódigo del procesador Linux | downloadcenter.intel.com

Para mí, no tengo ningún problema en mi computadora portátil ubuntu. Entonces no quiero arriesgarme. Dejé el equipo de Ubuntu para decidir qué es lo mejor de mi sistema. Estoy esperando la actualización del equipo de controladores de Ubuntu.


No entiendo cómo esto responde a mi pregunta. ¿Puedes explicar? He intel-microcodeinstalado
MeltingPoint


Actualice su kernal, Ubuntu lo había parcheado de otra manera.
Aravind


Si intel-microcode se desinstaló, tiene 2 opciones. opción 1) mantente seguro y espera hasta que el equipo de ubuntu lance la actualización como lo hago yo. O 2) puede ejecutar su propio experimento descargándolo manualmente bajo su propio riesgo.
Aravind
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.