Pourquoi les mises à jour du microcode Intel ne fonctionnent-elles pas sur mon système?


8

Je souhaite mettre à niveau mon système pour atténuer les exploits de Spectre et Meltdown.

La page Ubuntu pertinente indique que je dois mettre à jour les microcodes: "Du point de vue du métal nu invité et non hyperviseur, à partir des mises à jour du noyau du 21 février, à notre connaissance, les atténuations pour Spectre et Meltdown sur 64 bits amd64, ppc64el et s390x sont complets tant que toutes les mises à jour du microcode, du micrologiciel et de l'hyperviseur sous le système sont effectuées. ... "

J'ai intel-microcodeet iucode-toolinstallé et mis à jour, en cours d' exécution cependant dmesg | grep -i microcodeet grep -i microcode /var/log/syslog*rien de retour qui me fait penser que ce soit le microcode cpu ne soit pas mis à jour ou autre chose ne va pas.

Les packages sont à jour et il y a eu des redémarrages depuis la dernière mise à jour.

système d'exploitation: Lubuntu 16.04

Processeur: Intel N3700 (Braswell)

repos de logiciel activé: principal, univers

mises à jour activées: xenial-security

Edit:
La sortie de grep name /proc/cpuinfo | sort -uest
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Mon processeur n'est ni Skylake, ni Kaby Lake.

En /proc/cpuinfohyper-threading apparaît comme pris en charge, mais cette page Intel dit qu'il n'est pas pris en charge:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Edit 2:
J'ai couru sudo update-initramfs -uet redémarré. Les sorties sont toujours les mêmes.

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

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

Il semble qu'il n'y ait pas de microcode mis à jour pour mon processeur, ce qui est intéressant car il y avait un microcode sélectionnable dans l' Additional Driversonglet précédemment (fin 2017); maintenant, il n'y en a pas.

Edit 3:
Sortie 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]

Edit 4:
Maintenant, je comprends qu'il n'y a pas de mise à jour pour le microcode cpu, ce qui signifie que le problème d'origine est résolu, et je vais le laisser tel quel.

Cependant, dmesget journalctl -bdevrait toujours produire des lignes sur la version du microcode, je crois.
J'ai également remarqué que ces journaux de démarrage commencent à "5" au lieu du tipical 1 ou 0, et qu'il y a un message d'erreur répétitif qui les rend tronqués ( dmesgne dit rien sur la troncature, mais journalctldit qu'il y a 371635 messages du noyau manqués, voir ci-dessous) . Je vais ignorer cela pour l'instant.

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
Voici des instructions détaillées sur la vérification du microcode sur les systèmes Debian - lists.debian.org/debian-devel/2017/06/msg00308.html . Publiez la sortie de ces commandes. Commencez par identifier votre processeur avec grep name /proc/cpuinfo | sort -uet notez «Certains des processeurs de ces deux listes ne sont pas affectés car ils ne prennent pas en charge l'hyper-threading. Exécutez la commande ci-dessous dans un shell de ligne de commande (par exemple xterm), et elle affichera un message si hyper -lecture est prise en charge / activée: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

J'ai édité la question.
MeltingPoint

Pouvez-vous s'il vous plaît exécuter sudo update-initramfs -u && sudo rebootet vérifier à nouveau après le redémarrage.
Panther

1
Peut-être qu'il n'y a pas de microcode pour votre processeur dans le paquet d'ubuntu. exécuter cela pour voir/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
À la «fin de 2017», vous disposiez peut-être d'un micro-code pour votre processeur basé sur des tentatives de correction de spectre / fusion. Ce code a été supprimé /, c'est-à-dire que le bundle est revenu à l'ancien qui n'a rien de nécessaire pour votre CPU.
doug

Réponses:


4

Sur la base des résultats, /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*aucun microcode n'est chargé pour votre processeur car il n'y en a pas pour le moment. Cela ne signifie pas qu'il n'y en aura pas à l'avenir. Vous pouvez laisser en toute sécurité intel-microcode et iucode-tool installés, s'il y a une mise à jour contenant un microcode pour la signature de votre processeur, elle sera alors utilisée.


2

Bogue dans le microcode Meltdown / Spectre Intel

Un bug a été détecté au début de 2018 pour la mise à jour du microcode Intel pour corriger les failles de sécurité de Meltdown / Spectre. En tant que tel, le microcode a dû être restauré à une version précédente.

Voici le microcode que j'utilise (après avoir désactivé toutes les mises à jour à partir de janvier 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]

Lorsque vous installez Intel Microcode Update, vous obtiendrez cette version ou quelque chose de similaire:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu Ubuntu 16.04 LTS

Je ne suis pas sûr de la structure du menu Lubuntu, mais pour Ubuntu normal, voici comment accéder aux contrôles de mise à jour du microcode Intel:

Drivers.png supplémentaires

L'option inférieure contrôle les mises à jour du microcode Intel.

Installer le microcode Intel à partir de CLI

Pour ignorer les menus de l'interface graphique, vous pouvez installer à partir de la ligne de commande:

sudo apt update
sudo apt install intel-microcode

dmesg affiche maintenant une sortie correcte

Après avoir suivi les étapes d'installation dmesgretourne la sortie souhaitée (contrairement à votre question où elle ne montre rien):

$ 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

Dans la question, l'OP indique clairement "J'ai un microcode et un outil iucode installés et mis à jour", donc je ne sais pas vraiment comment cela aide.
Panther

@Panther J'ai manqué d'ajouter ma dmesgsortie que j'avais à l'origine quand j'ai commencé à écrire la réponse. J'ajouterai cela. Fondamentalement, après avoir suivi les étapes d'installation, la dmesgsortie apparaît comme elle est censée le faire.
WinEunuuchs2Unix

L'OP indique également clairement "l'exécution du microcode dmesg | grep -i et du microcode grep -i / var / log / syslog * ne renvoie rien". Je soupçonne que nous devons courirsudo update-initramfs -u && sudo reboot
Panther

@Panther Il m'est apparu pour la première fois que le microcode n'était pas installé correctement. Bon point sur le redémarrage. Le PO ne mentionne rien à ce sujet. Je surveillerai la future réponse d'OP à votre commentaire sous sa question. Je ne suis pas sûr d' update-initramfs -uêtre nécessaire car il n'est pas répertorié ici: askubuntu.com/questions/545925/… . Mais ça ne fait jamais de mal.
WinEunuuchs2Unix

Le microcode fait normalement partie des initramfs et est chargé lors du démarrage, donc, bien que cela ne soit pas prévu, je suggère de reconstruire les initramfs comme un correctif possible à la situation inhabituelle OP. Cela aiderait si nous savions quel microcode était installé.
Panther

2

Ubuntu avait publié une mise à jour fixe du noyau contre cet exploit. Le nouveau kernal a nécessité des changements.

Référence: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Je suis dans Ubuntu 16.04, en utilisant le pilote d'affichage Nouveau. Dans mon cas, le microcode Intel a été désinstallé après l'installation du nouveau noyau.

Cette mise à jour est publiée juste après qu'Intel a publié un correctif de bogue pour la vulnérabilité de sécurité des bogues de spectre.

Cela devrait résoudre votre problème.

Si vous avez remplacé le pilote de propriété Intel comme à ma place et que vous voulez toujours un pilote de propriété Intel-microcode.

Intel publie des microcodes de processeur Linux pour corriger les bugs de fusion et de spectre | bleepingcomputer.com

Actuellement, les nouveaux pilotes ne sont pas inclus dans Ubuntu ppa. Les utilisateurs devront peut-être le télécharger manuellement depuis le site Web d'Intel.

Avertissement: cela peut provoquer un conflit de pilote ou une instabilité dans votre Ubuntu. Vous devez l'installer à vos propres risques.

Télécharger le fichier de données du microcode du processeur Linux | downloadcenter.intel.com

Pour moi, je n'ai aucun problème avec mon ordinateur portable Ubuntu. Je ne veux donc pas prendre de risques. J'ai quitté l'équipe Ubuntu pour décider ce qui est le mieux de mon système. J'attends la mise à jour de l'équipe de pilotes Ubuntu.


Je ne comprends pas comment cela répond à ma question. Peux-tu expliquer? J'ai intel-microcodeinstallé.
MeltingPoint


Mettez à jour votre noyau, Ubuntu l'a corrigé d'une autre manière.
Aravind


Si intel-microcode a été désinstallé, vous avez 2 options. option 1) restez en sécurité et attendez que l'équipe ubuntu publie la mise à jour comme je le fais. Ou 2) vous pouvez exécuter votre propre expérience en téléchargeant manuellement à vos risques et périls.
Aravind
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.