Perché gli aggiornamenti del microcodice Intel non funzionano sul mio sistema?


8

Voglio aggiornare il mio sistema per mitigare gli exploit Spectre e Meltdown.

La pagina Ubuntu pertinente afferma che devo aggiornare i microcodici: "Dal punto di vista bare-metal di un guest e non hypervisor, a partire dagli aggiornamenti del kernel del 21 febbraio, per quanto ne sappiamo, le mitigazioni di Spectre e Meltdown su 64-bit amd64, ppc64el e s390x sono completi di funzionalità purché vengano eseguiti tutti gli aggiornamenti di microcodice, firmware e hypervisor sotto il sistema. ... "

Ho intel-microcodee iucode-toolinstallato e aggiornato, tuttavia in esecuzione dmesg | grep -i microcodee grep -i microcode /var/log/syslog*nulla di ritorno che mi fa pensare che o il microcodice CPU non viene aggiornato o qualcos'altro che non va.

I pacchetti sono aggiornati e ci sono stati riavvii dall'ultimo aggiornamento.

sistema operativo: Lubuntu 16.04

CPU: Intel N3700 (Braswell)

repository software abilitati: principale, universo

aggiornamenti abilitati: xenial-security

Modifica:
l'output di grep name /proc/cpuinfo | sort -uè
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Il mio processore non è Skylake, né Kaby Lake.

In /proc/cpuinfohyper-threading presenta come sostenuto, ma questa pagina Intel dice che non è supportato:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Modifica 2:
ho eseguito sudo update-initramfs -ue riavviato. Le uscite sono sempre le stesse.

Uscita di /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

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

Sembra che non ci sia un microcodice aggiornato per la mia cpu, il che è interessante poiché in precedenza c'era un microcodice selezionabile nella Additional Driversscheda (fine 2017); ora non c'è.

Modifica 3:
output di 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]

Modifica 4:
Ora capisco che non esiste un aggiornamento per il microcodice cpu, il che significa che il problema originale è stato risolto e lo lascerò così com'è.

Tuttavia, dmesge journalctl -bdovrei comunque generare righe sulla versione del microcodice, credo.
Ho anche notato che questi log di avvio iniziano da "5" invece del tipico 1 o 0 e che esiste un messaggio di errore ripetuto che li rende troncati ( dmesgnon dice nulla sul troncamento, ma journalctldice che ci sono 371635 messaggi del kernel mancati, vedi sotto) . Lo ignorerò per ora.

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
Ecco le istruzioni dettagliate sul controllo del microcodice sui sistemi debian - lists.debian.org/debian-devel/2017/06/msg00308.html . Pubblica l'output di questi comandi. Inizia identificando il tuo processore con grep name /proc/cpuinfo | sort -ue nota "Alcuni dei processori in questi due elenchi non sono interessati perché mancano del supporto dell'hyper-threading. Esegui il comando di seguito in una shell della riga di comando (ad esempio xterm) e verrà visualizzato un messaggio se hyper -threading è supportato / abilitato: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

Ho modificato la domanda.
MeltingPoint,

Puoi eseguire sudo update-initramfs -u && sudo reboote controllare di nuovo dopo il riavvio.
Pantera

1
Forse non c'è un microcodice per la tua CPU nel pacchetto di Ubuntu. esegui questo per vedere/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
Doug

1
Alla fine del 2017 probabilmente avevi un microcodice per la tua cpu basato su tentativi di correzione dello spettro / fusione. Quel codice è stato rimosso /, cioè il bundle è stato ripristinato al precedente che non ha nulla di necessario per la tua CPU.
Doug

Risposte:


4

Sulla base dei risultati di /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*nessun microcodice viene caricato per la tua cpu perché al momento non ce ne sono. Ciò non significa che non ci sarà in futuro. Puoi tranquillamente lasciare intel-microcode e iucode-tool installati, se è presente un aggiornamento contenente microcode per la firma della tua CPU, verrà utilizzato.


2

Bug nel Microcodice Intel di fusione / spettro

Si è verificato un errore all'inizio dell'aggiornamento Intel Microcode del 2018 per risolvere i problemi di sicurezza di Meltdown / Spectre. Pertanto, il microcodice doveva essere ripristinato a una versione precedente.

Ecco il microcodice che sto utilizzando (avendo disattivato tutti gli aggiornamenti a partire da gennaio 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]

Quando installi Intel Microcode Update otterrai questa versione o qualcosa di simile:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu Ubuntu 16.04 LTS

Non sono sicuro della struttura del menu Lubuntu, ma per Ubuntu normale questo è il modo in cui accedi ai controlli di aggiornamento del microcodice Intel:

Drivers.png aggiuntivi

L'opzione in basso controlla Aggiornamenti Intel Microcode.

Installa Intel Microcode dalla CLI

Per saltare del tutto i menu della GUI è possibile installare dalla riga di comando:

sudo apt update
sudo apt install intel-microcode

dmesg ora mostra l'output corretto

Dopo aver seguito i passaggi dell'installazione dmesgrestituisce l'output desiderato (diversamente dalla domanda in cui non mostra nulla):

$ 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

Nella domanda l'OP afferma chiaramente "Ho installato micro-intel-code e iucode-tool" e quindi non sono sicuro di come questo possa essere d'aiuto.
Pantera

@Panther Ho perso l'aggiunta del mio dmesgoutput che avevo originariamente quando ho iniziato a scrivere la risposta. Lo aggiungerò. Fondamentalmente dopo aver seguito i passaggi dell'installazione, l' dmesgoutput appare come dovrebbe.
WinEunuuchs2Unix

L'OP afferma chiaramente anche "eseguire dmesg | grep -i microcodice e grep -i microcodice / var / log / syslog * restituire nulla". Sospetto che dovremo correresudo update-initramfs -u && sudo reboot
Panther, il

@Panther Mi è sembrato dapprima che il microcodice non fosse installato correttamente. Un buon punto sul riavvio. L'OP non menziona nulla al riguardo. Monitorerò la futura risposta di OP al tuo commento sotto la sua domanda. Non sono sicuro di update-initramfs -uessere necessario in quanto non è elencato qui: askubuntu.com/questions/545925/… . Tuttavia non fa mai male.
WinEunuuchs2Unix

Il microcodice normalmente fa parte di initramfs e viene caricato durante l'avvio, quindi, sebbene non ci si aspetti, sto suggerendo di ricostruire initramfs come possibile soluzione alla situazione insolita di OP. Sarebbe d'aiuto se sapessimo quale microcodice è stato installato.
Pantera

2

Ubuntu aveva rilasciato un aggiornamento kernal fisso contro questo exploit. Il nuovo kernal ha richiesto modifiche.

Riferimento: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Sono in Ubuntu 16.04, utilizzando il driver di visualizzazione Nouveau. Nel mio caso, il microcodice Intel è stato disinstallato dopo l'installazione del nuovo kernel.

Questo aggiornamento viene rilasciato subito dopo che Intel ha rilasciato la correzione dei bug per la vulnerabilità della sicurezza dei bug dello spettro.

Questo dovrebbe risolvere il tuo problema.

Se hai il driver della proprietà Intel sostituito come al mio posto e vuoi ancora il driver della proprietà micro-codice Intel.

Intel rilascia microcodici CPU Linux per correggere bug di fusione e spettro | bleepingcomputer.com

Attualmente, i nuovi driver non sono inclusi in Ubuntu ppa. Gli utenti potrebbero doverlo scaricare manualmente dal sito Web Intel.

Avvertenza: ciò può causare conflitti di driver o instabilità in Ubuntu. Devi installarlo a tuo rischio.

Scarica il file di dati del microcodice del processore Linux | downloadcenter.intel.com

Per me, non ho problemi con il mio laptop Ubuntu. Quindi non voglio correre rischi. Ho lasciato il team di Ubuntu per decidere cosa è meglio dal mio sistema. Sto aspettando l'aggiornamento dal team di driver di Ubuntu.


Non capisco come questo risponda alla mia domanda. Puoi spiegare? Ho intel-microcodeinstallato.
MeltingPoint,


Aggiorna il tuo kernal, Ubuntu l'ha riparato in un altro modo.
Aravind,


Se il microcodice di Intel è stato disinstallato, hai 2 opzioni. opzione 1) stai al sicuro e aspetta che il team di Ubuntu rilasci l'aggiornamento come faccio io. Oppure 2) puoi eseguire il tuo esperimento scaricando manualmente a tuo rischio.
Aravind,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.