Dlaczego aktualizacje mikrokodu Intel nie działają w moim systemie?


8

Chcę zaktualizować swój system, aby złagodzić exploity Spectre i Meltdown.

Odpowiednia strona Ubuntu stwierdza, że ​​muszę zaktualizować mikrokody: „Z perspektywy gościa i osoby niebędącej hipernadzorcą, od samego początku, od aktualizacji jądra z 21 lutego, o ile nam wiadomo, ograniczenia dla Spectre i Meltdown w wersji 64-bitowej amd64, ppc64el i s390x są kompletne pod warunkiem, że wszystkie aktualizacje mikrokodu, oprogramowania układowego i hiperwizora w systemie są gotowe. ”

Ja intel-microcodei iucode-toolzainstalowane i zaktualizowane, jednak działa dmesg | grep -i microcodei grep -i microcode /var/log/syslog*powrotu niczego, co sprawia, że myślę, że albo microcode cpu nie zostanie zaktualizowany lub coś innego jest nie tak.

Pakiety są aktualne, a od ostatniej aktualizacji zostały uruchomione ponownie.

system operacyjny: Lubuntu 16.04

Procesor: Intel N3700 (Braswell)

włączone repozytorium oprogramowania: główne, wszechświat

włączone aktualizacje: bezpieczeństwo Xenial

Edycja:
Dane wyjściowe grep name /proc/cpuinfo | sort -uto
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Mój procesor to nie Skylake ani jezioro Kaby.

W /proc/cpuinfohiperwątkowości jest wyświetlany jako obsługiwany, ale ta strona Intela mówi, że nie jest obsługiwany:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Edycja 2:
Uruchomiłem sudo update-initramfs -ui uruchomiłem ponownie. Wyjścia są nadal takie same.

Wyjście /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

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

Wydaje się, że nie ma zaktualizowanego mikrokodu dla mojego procesora, co jest interesujące, ponieważ wcześniej był dostępny do wyboru mikrokod w Additional Driverszakładce (pod koniec 2017 r.); teraz nie ma.

Edycja 3: Dane
wyjściowe 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]

Edycja 4:
Teraz rozumiem, że nie ma aktualizacji mikrokodu procesora, co oznacza, że ​​oryginalny problem został rozwiązany i pozostawię go takim, jaki jest.

Jednak dmesgi journalctl -bpowinna nadal wyjściowe linie o wersji mikrokodu, wierzę.
Zauważyłem również, że te dzienniki rozruchu zaczynają się od „5” zamiast typowego 1 lub 0 i że pojawia się powtarzający się komunikat o błędzie, który powoduje, że są one obcinane ( dmesgnic nie mówi o obcięciu, ale journalctlmówi, że 371635 brakujących komunikatów jądra, patrz poniżej) . Na razie zignoruję to.

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
Oto szczegółowe instrukcje sprawdzania mikrokodu w systemach Debian - list.debian.org/debian-devel/2017/06/msg00308.html . Opublikuj dane wyjściowe tych poleceń. Zacznij od zidentyfikowania swojego procesora grep name /proc/cpuinfo | sort -ui zanotuj: „Nie ma to wpływu na niektóre procesory z tych dwóch list, ponieważ nie obsługują hiperwątkowości. Uruchom poniższe polecenie w powłoce wiersza poleceń (np. Xterm), a wyświetli komunikat, jeśli hyper -działanie jest obsługiwane / włączone: ” grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
— Panther

Zredagowałem pytanie.
— MeltingPoint

Czy możesz uruchomić sudo update-initramfs -u && sudo rebooti sprawdzić ponownie po ponownym uruchomieniu.
— Panther

1
Może w pakiecie ubuntu nie ma mikrokodu dla twojego procesora. uruchom to, aby zobaczyć/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
— doug

1
Pod koniec 2017 r. Prawdopodobnie miałeś mikrokod dla swojego procesora na podstawie prób naprawy widma / krachu. Ten kod został usunięty /, tj. Pakiet został przywrócony do poprzedniego, który nie wymaga niczego dla twojego procesora.
— doug

Odpowiedzi:


4

Na podstawie wyników /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*żaden mikrokod nie jest ładowany dla twojego procesora, ponieważ w tej chwili nie ma go. To nie znaczy, że nie będzie w przyszłości. Możesz bezpiecznie zostawić zainstalowany intel-microcode i iucode-tool, jeśli aktualizacja zawierająca mikrokod do podpisu twojego procesora zostanie użyta.


2

Błąd w mikrokodzie Intel Meltdown / Spectre

Wystąpił błąd na początku aktualizacji Intel Microcode na początku 2018 r. W celu usunięcia luk w zabezpieczeniach Meltdown / Spectre. W związku z tym mikrokod musiał zostać przywrócony do poprzedniej wersji.

Oto mikrokod, którego używam (zrezygnowałem ze wszystkich aktualizacji od stycznia 2018 r.):

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

Po zainstalowaniu aktualizacji Intel Microcode Update otrzymasz tę wersję lub coś podobnego:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu Ubuntu 16.04 LTS

Nie jestem pewien struktury menu Lubuntu, ale w przypadku zwykłego Ubuntu masz dostęp do kontrolek Intel Microcode Update:

Dodatkowe sterowniki.png

Dolna opcja kontroluje aktualizacje mikrokodu Intel.

Zainstaluj Intel Microcode z CLI

Aby całkowicie pominąć menu GUI, możesz zainstalować z wiersza poleceń:

sudo apt update
sudo apt install intel-microcode

dmesg teraz pokazuje poprawne wyjście

Po wykonaniu kroków instalacji dmesgzwraca pożądane dane wyjściowe (w przeciwieństwie do pytania, w którym nic nie pokazuje):

$ 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

W pytaniu OP wyraźnie stwierdza: „Zainstalowałem i zaktualizowałem intel-mikrokod i iukodę”, więc nie jestem pewien, jak to pomaga.
— Panther

@Panther Brakowało mi dodania moich dmesgwyników, które pierwotnie miałem, kiedy zacząłem pisać odpowiedź. Dodam to. Zasadniczo po wykonaniu kroków instalacji dane dmesgwyjściowe są wyświetlane tak, jak powinny.
— WinEunuuchs2Unix

OP również wyraźnie stwierdza „uruchomienie mikrokodu dmesg | grep -i i mikrokodu grep -i / var / log / syslog * nic nie zwraca”. Podejrzewam, że musimy biecsudo update-initramfs -u && sudo reboot
— Panther

@Panther Po raz pierwszy wydało mi się, że mikrokod nie został poprawnie zainstalowany. Dobra uwaga na temat ponownego uruchamiania. PO nie wspomina o tym nic. Będę monitorować przyszłą odpowiedź OP na twój komentarz pod jego pytaniem. Nie jestem pewien, czy będę update-initramfs -upotrzebny, ponieważ nie ma go tutaj: askubuntu.com/questions/545925/… . Jednak nigdy nie boli.
— WinEunuuchs2Unix

Mikrokod jest zwykle częścią initramfs i jest ładowany podczas rozruchu, więc chociaż nie jest to oczekiwane, sugeruję przebudowanie initramfs jako możliwego rozwiązania nietypowej sytuacji OP. Pomogłoby, gdybyśmy wiedzieli, który mikrokod został zainstalowany.
— Panther

2

Ubuntu wydało naprawioną aktualizację jądra przeciwko temu exploitowi. Nowe jądro wymagało zmian.

Odniesienie: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Jestem w systemie Ubuntu 16.04, używając sterownika ekranu w stylu Nouveau. W moim przypadku mikrokod Intela został odinstalowany po zainstalowaniu nowego jądra.

Ta aktualizacja jest wydana zaraz po opublikowaniu przez firmę Intel poprawki dotyczącej luki w zabezpieczeniach związanej z widmowymi błędami.

To powinno rozwiązać twój problem.

Jeśli masz wymieniony sterownik własności Intel jak u mnie i nadal chcesz sterownik własności Intel-Microcode.

Intel wypuszcza mikrokody procesora Linux, aby naprawić błędy związane z Meltdown i Spectre | bleepingcomputer.com

Obecnie nowe sterowniki nie są zawarte w systemie Ubuntu ppa. Użytkownicy mogą pobrać go ręcznie ze strony firmy Intel.

Ostrzeżenie: może to spowodować konflikt lub niestabilność sterownika w systemie Ubuntu. Musisz zainstalować go na własne ryzyko.

Pobierz plik danych mikrokodu procesora Linux | downloadcenter.intel.com

Dla mnie nie mam problemu z moim laptopem ubuntu. Więc nie chcę ryzykować. Opuściłem zespół Ubuntu, aby zdecydować, co jest najlepsze z mojego systemu. Czekam na aktualizację od zespołu sterowników Ubuntu.


Nie rozumiem, jak to odpowiada na moje pytanie. Możesz wytłumaczyć? Mam intel-microcodezainstalowany.
— MeltingPoint


Zaktualizuj swoje jądro, Ubuntu załatało go w inny sposób.
— Aravind


Jeśli odinstalowano intel-microcode, masz 2 opcje. opcja 1) bądź bezpieczny i poczekaj, aż zespół Ubuntu opublikuje aktualizację tak jak ja. Lub 2) możesz uruchomić własny eksperyment, pobierając ręcznie na własne ryzyko.
— Aravind,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.