Warum funktionieren Intel-Mikrocode-Updates auf meinem System nicht?

8

Ich möchte mein System aktualisieren, um die Exploits von Spectre und Meltdown zu verringern.

Auf der entsprechenden Ubuntu-Seite heißt es, dass ich Mikrocodes aktualisieren muss: "Aus der Bare-Metal-Perspektive von Gästen und Nicht-Hypervisoren wurden nach den Kernel-Updates vom 21. Februar, soweit uns bekannt ist, die Abschwächungen für Spectre und Meltdown auf 64-Bit vorgenommen amd64, ppc64el und s390x sind voll funktionsfähig, solange alle Mikrocode-, Firmware- und Hypervisor-Updates unter dem System durchgeführt werden. ... "

Ich habe intel-microcodeund iucode-toolinstalliert und aktualisiert, aber läuft dmesg | grep -i microcodeund gibt grep -i microcode /var/log/syslog*nichts zurück, was mich denken lässt, dass entweder der CPU-Mikrocode nicht aktualisiert wird oder etwas anderes nicht stimmt.

Die Pakete sind auf dem neuesten Stand und seit dem letzten Update wurden Neustarts durchgeführt.

Betriebssystem: Lubuntu 16.04

CPU: Intel N3700 (Braswell)

aktivierte Software-Repos: Haupt, Universum

aktivierte Updates: Xenial-Sicherheit

Bearbeiten:
Die Ausgabe von grep name /proc/cpuinfo | sort -uist
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Mein Prozessor ist weder Skylake noch Kaby Lake.

In /proc/cpuinfoHyper-Threading wird als unterstützt angezeigt, aber diese Intel-Seite gibt an, dass es nicht unterstützt wird:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Edit 2:
Ich bin gelaufen sudo update-initramfs -uund neu gestartet. Die Ausgänge sind immer noch gleich.

Ausgabe von /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

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

Es scheint, dass es keinen aktualisierten Mikrocode für meine CPU gibt, was interessant ist, da Additional Driverszuvor (Ende 2017) ein auswählbarer Mikrocode auf der Registerkarte vorhanden war . jetzt gibt es nicht.

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

Bearbeiten 4:
Jetzt verstehe ich, dass es kein Update für den CPU-Mikrocode gibt, was bedeutet, dass das ursprüngliche Problem gelöst ist, und ich werde es so lassen, wie es ist.

Allerdings dmesgund journalctl -bsollte immer noch Zeilen über die Mikrocode-Version ausgeben, glaube ich.
Ich habe auch festgestellt, dass diese Startprotokolle bei "5" anstelle der typischen 1 oder 0 beginnen und dass es eine sich wiederholende Fehlermeldung gibt, die sie abschneidet ( dmesgsagt nichts über das Abschneiden aus, journalctlsagt aber , dass 371635 Kernel-Meldungen fehlen, siehe unten). . Ich werde dies vorerst ignorieren.

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
Schmelzpunkt
quelle
1
Hier finden Sie detaillierte Anweisungen zum Überprüfen des Mikrocodes auf Debian-Systemen - lists.debian.org/debian-devel/2017/06/msg00308.html . Veröffentlichen Sie die Ausgabe dieser Befehle. Identifizieren Sie Ihren Prozessor zunächst mit grep name /proc/cpuinfo | sort -uund beachten Sie: "Einige der Prozessoren in diesen beiden Listen sind nicht betroffen, da sie keine Hyper-Threading-Unterstützung bieten. Führen Sie den folgenden Befehl in einer Befehlszeilen-Shell (z. B. xterm) aus, und es wird eine Meldung ausgegeben, wenn Hyper." -threading wird unterstützt / aktiviert: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther
Ich habe die Frage bearbeitet.
MeltingPoint
Können Sie bitte sudo update-initramfs -u && sudo rebootnach dem Neustart erneut ausführen und überprüfen?
Panther
1
Vielleicht gibt es in Ubuntus Paket keinen Mikrocode für Ihre CPU. Führen Sie dies aus, um zu sehen/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
Doug
1
In "Ende 2017" hatten Sie möglicherweise einen Mikrocode für Ihre CPU, der auf versuchten Spectre / Meltdown-Korrekturen basiert. Dieser Code wurde entfernt / dh das Bundle wurde auf den vorherigen zurückgesetzt, der für Ihre CPU nichts benötigt.
Doug

Antworten:

4

Basierend auf den Ergebnissen wird /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*kein Mikrocode für Ihre CPU geladen, da im Moment keiner vorhanden ist. Das heißt nicht, dass es in Zukunft keine geben wird. Sie können Intel-Microcode und Iucode-Tool sicher installiert lassen. Wenn ein Update mit Microcode für die Signatur Ihrer CPU vorhanden ist, wird es verwendet.

Doug
quelle
2

Fehler im Intel Microcode Meltdown / Spectre

Anfang 2018 gab es einen Fehler beim Intel Microcode-Update , um Meltdown / Spectre-Sicherheitslücken zu schließen. Daher musste der Mikrocode auf eine frühere Version zurückgesetzt werden.

Hier ist der von mir verwendete Mikrocode (nachdem alle Updates ab Januar 2018 deaktiviert wurden):

$ 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]

Wenn Sie Intel Microcode Update installieren, erhalten Sie diese oder eine ähnliche Version:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Ubuntu 16.04 LTS-Menü

Ich bin mir über die Lubuntu-Menüstruktur nicht sicher, aber für reguläres Ubuntu greifen Sie auf die Intel Microcode Update-Steuerelemente folgendermaßen zu:

Zusätzliche Drivers.png

Die untere Option steuert Intel Microcode-Updates.

Installieren Sie Intel Microcode von der CLI

Um die GUI-Menüs insgesamt zu überspringen, können Sie über die Befehlszeile installieren:

sudo apt update
sudo apt install intel-microcode

dmesg zeigt jetzt die korrekte Ausgabe

Nachdem Sie die Installationsschritte ausgeführt haben, wird dmesgdie gewünschte Ausgabe zurückgegeben (anders als in Ihrer Frage, in der nichts angezeigt wird):

$ 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
WinEunuuchs2Unix
quelle
In der Frage des OP heißt es eindeutig "Ich habe Intel-Mikrocode und Iucode-Tool installiert und aktualisiert", daher bin ich mir nicht sicher, wie dies hilft.
Panther
@Panther Ich habe es versäumt, meine dmesgAusgabe hinzuzufügen, die ich ursprünglich hatte, als ich anfing, die Antwort zu schreiben. Ich werde das hinzufügen. Grundsätzlich wird die dmesgAusgabe nach den Installationsschritten so angezeigt, wie sie soll.
WinEunuuchs2Unix
Das OP gibt außerdem eindeutig an, dass "das Ausführen von dmesg | grep -i Mikrocode und grep -i Mikrocode / var / log / syslog * nichts zurückgibt". Ich vermute, wir müssen rennensudo update-initramfs -u && sudo reboot
Panther
@Panther Es schien mir zuerst, dass der Mikrocode nicht richtig installiert war. Guter Punkt beim Neustart. Das OP erwähnt nichts davon. Ich werde die zukünftige Antwort von OP auf Ihren Kommentar unter seiner Frage überwachen. Ich bin mir nicht sicher update-initramfs -u, ob ich gebraucht werde, da es hier nicht aufgeführt ist: askubuntu.com/questions/545925/… . Es tut jedoch nie weh.
WinEunuuchs2Unix
Der Mikrocode ist normalerweise Teil des initramfs und wird während des Startvorgangs geladen. Obwohl dies nicht erwartet wird, empfehle ich, das initramfs neu zu erstellen, um die ungewöhnliche OP-Situation zu beheben. Würde helfen, wenn wir wüssten, welcher Mikrocode installiert wurde.
Panther
2

Ubuntu hatte ein festes Kernel-Update für diesen Exploit veröffentlicht. Der neue Kern hat Änderungen erforderlich gemacht.

Referenz: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Ich bin in Ubuntu 16.04 und benutze den Nouveau Display-Treiber. In meinem Fall wurde Intel-microcode nach der Installation eines neuen Kernels deinstalliert.

Dieses Update wird direkt veröffentlicht, nachdem Intel eine Fehlerbehebung für die Sicherheitslücke von Spectre Bugs veröffentlicht hat.

Dies sollte Ihr Problem lösen.

Wenn Sie den Intel-Eigenschaftstreiber wie an meiner Stelle ersetzt haben und trotzdem den Intel-Mikrocode-Eigenschaftstreiber möchten.

Intel veröffentlicht Linux-CPU-Mikrocodes zur Behebung von Meltdown- und Spectre-Fehlern | bleepingcomputer.com

Derzeit sind die neuen Treiber nicht in Ubuntu ppa enthalten. Benutzer müssen es möglicherweise manuell von der Intel-Website herunterladen.

Warnung: Dies kann zu Treiberkonflikten oder Instabilität in Ihrem Ubuntu führen. Sie müssen es auf eigenes Risiko installieren.

Laden Sie die Linux-Prozessor-Mikrocode-Datendatei | herunter downloadcenter.intel.com

Für mich habe ich kein Problem mit meinem Ubuntu-Laptop. Ich möchte also kein Risiko eingehen. Ich habe das Ubuntu-Team verlassen, um zu entscheiden, was das Beste aus meinem System ist. Ich warte auf ein Update vom Ubuntu-Treiber-Team.

Aravind
quelle
Ich verstehe nicht, wie dies auf meine Frage antwortet. Können Sie erklären? Ich habe intel-microcodeinstalliert.
MeltingPoint
Aktualisieren Sie Ihren Kern, Ubuntu hatte es auf eine andere Weise gepatcht.
Aravind
Wenn Intel-Microcode deinstalliert wurde, haben Sie 2 Optionen. Option 1) Bleib in Sicherheit und warte, bis das Ubuntu-Team das Update wie ich veröffentlicht. Oder 2) Sie können Ihr eigenes Experiment durchführen, indem Sie es auf eigenes Risiko manuell herunterladen.
Aravind