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
Temperatura topnienia
źródło
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.

doug
źródło
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
WinEunuuchs2Unix
źródło
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.

Aravind
źródło
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,