Mengapa pembaruan mikrokode Intel tidak berfungsi di sistem saya?

8

Saya ingin meningkatkan sistem saya untuk mengurangi eksploitasi Specter dan Meltdown.

Halaman Ubuntu yang relevan menyatakan bahwa saya perlu memperbarui mikrokode: "Dari perspektif bare-metal tamu dan non-hypervisor, pada pembaruan kernel 21 Februari, sejauh yang kami ketahui, mitigasi untuk Specter dan Meltdown pada 64-bit amd64, ppc64el dan s390x adalah fitur-lengkap selama semua pembaruan microcode, firmware dan hypervisor di bawah sistem dilakukan. ... "

Saya telah intel-microcodedan iucode-tooldipasang dan diperbarui, namun berjalan dmesg | grep -i microcodedan grep -i microcode /var/log/syslog*tidak ada pengembalian yang membuat saya berpikir bahwa baik cpu microcode tidak diperbarui atau sesuatu yang lain yang salah.

Paket terbaru dan telah ada restart sejak pembaruan terakhir.

sistem operasi: Lubuntu 16.04

CPU: Intel N3700 (Braswell)

repo perangkat lunak yang diaktifkan: main, universe

pembaruan yang diaktifkan: xenial-security

Sunting:
Output dari grep name /proc/cpuinfo | sort -uis
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Prosesor saya bukan Skylake, atau danau Kaby.

Dalam /proc/cpuinfohyper-threading terlihat didukung, tetapi laman Intel ini mengatakan tidak didukung:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Sunting 2:
Saya berlari sudo update-initramfs -udan mem-boot ulang. Outputnya masih sama.

Output dari /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

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

Tampaknya tidak ada mikrokode yang diperbarui untuk cpu saya, yang menarik karena ada mikrokode yang dapat dipilih di Additional Driverstab sebelumnya (akhir 2017); sekarang, tidak ada.

Sunting 3:
Output dari 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]

Sunting 4:
Sekarang saya mengerti bahwa tidak ada pembaruan untuk mikrokode cpu, yang berarti bahwa masalah asli diselesaikan, dan saya akan membiarkannya apa adanya.

Namun, dmesgdan journalctl -bmasih harus menampilkan jalur tentang versi mikrokode, saya percaya.
Saya juga memperhatikan bahwa log boot ini dimulai dari "5" dan bukan tipical 1 atau 0, dan bahwa ada pesan kesalahan berulang yang membuatnya terpotong ( dmesgtidak mengatakan apa pun tentang pemotongan, tetapi journalctlmengatakan ada 371635 pesan kernel yang terlewat, lihat di bawah) . Saya akan mengabaikan ini untuk saat ini.

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
MeltingPoint
sumber
1
Berikut adalah petunjuk rinci pada memeriksa microcode pada sistem debian - lists.debian.org/debian-devel/2017/06/msg00308.html . Poskan output dari perintah-perintah itu. Mulailah dengan mengidentifikasi prosesor Anda dengan grep name /proc/cpuinfo | sort -udan perhatikan "Beberapa prosesor dalam dua daftar ini tidak terpengaruh karena mereka tidak memiliki dukungan hyper-threading. Jalankan perintah di bawah ini dalam shell baris perintah (misalnya xterm), dan itu akan menampilkan pesan jika hyper -membaca didukung / diaktifkan: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther
Saya mengedit pertanyaan.
MeltingPoint
Bisakah Anda menjalankan sudo update-initramfs -u && sudo rebootdan memeriksa lagi setelah reboot.
Panther
1
Mungkin tidak ada mikrokode untuk cpu Anda di paket ubuntu. jalankan ini untuk melihat/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug
1
Pada "akhir 2017" Anda mungkin memiliki kode mikro untuk CPU Anda berdasarkan pada percobaan momok / perbaikan yang diperbaiki. Kode itu telah dihapus /, yaitu bundel telah dikembalikan ke sebelumnya yang tidak diperlukan untuk cpu Anda.
doug

Jawaban:

4

Berdasarkan hasil /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*tidak ada kode mikro sedang dimuat untuk cpu Anda karena saat ini tidak ada. Itu tidak berarti bahwa tidak akan ada lagi di masa depan. Anda dapat dengan aman membiarkan intel-mikrokode dan alat-iucode terinstal, jika ada pembaruan yang mengandung mikrokode untuk tanda tangan cpu Anda, maka itu akan digunakan.

doug
sumber
2

Bug dalam Meltdown / Spectre Intel Microcode

Ada bug di awal 2018 pembaruan Microcode Intel untuk mengatasi lubang keamanan Meltdown / Spectre. Karena itu, mikrokode harus diputar kembali ke versi sebelumnya.

Ini adalah mikrokode yang saya gunakan (memilih keluar dari semua pembaruan mulai Januari 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]

Ketika Anda menginstal Pembaruan Microcode Intel Anda akan mendapatkan versi ini atau yang serupa:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu Ubuntu 16.04 LTS

Saya tidak yakin tentang struktur menu Lubuntu tetapi untuk Ubuntu reguler, ini adalah cara Anda mengakses kontrol Intel Microcode Update:

Drivers.png Tambahan

Opsi di bawah mengontrol Pembaruan Mikrokode Intel.

Instal Intel Microcode dari CLI

Untuk melewati semua menu GUI, Anda dapat menginstal dari baris perintah:

sudo apt update
sudo apt install intel-microcode

dmesg sekarang menunjukkan hasil yang benar

Setelah mengikuti langkah-langkah instalasi dmesgmengembalikan output yang diinginkan (tidak seperti dalam pertanyaan Anda di mana ia tidak menunjukkan apa-apa):

$ 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
sumber
Dalam pertanyaan OP dengan jelas menyatakan "Saya memiliki intel-mikrokode dan alat-iucode diinstal dan diperbarui" jadi saya tidak benar-benar yakin bagaimana ini membantu.
Panther
@Panther Saya ketinggalan menambahkan dmesgoutput saya awalnya ketika saya mulai menulis jawabannya. Saya akan menambahkan itu. Pada dasarnya setelah mengikuti langkah-langkah instalasi dmesgoutput muncul sebagaimana mestinya.
WinEunuuchs2Unix
OP juga dengan jelas menyatakan "menjalankan dmesg | grep -i microcode dan grep -i microcode / var / log / syslog * tidak mengembalikan apa-apa". Saya curiga kita harus larisudo update-initramfs -u && sudo reboot
Panther
@Panther Terlihat pertama kali bagi saya bahwa mikrokode tidak diinstal dengan benar. Poin bagus tentang me-reboot. OP tidak menyebutkan tentang itu. Saya akan memonitor balasan OP di masa depan atas komentar Anda berdasarkan pertanyaannya. Saya tidak yakin update-initramfs -udiperlukan karena tidak tercantum di sini: askubuntu.com/questions/545925/… . Namun tidak ada salahnya.
WinEunuuchs2Unix
Microcode biasanya merupakan bagian dari initramfs dan dimuat saat boot jadi, meskipun tidak diharapkan, saya menyarankan untuk membangun kembali initramfs sebagai kemungkinan perbaikan pada situasi OP yang tidak biasa. Akan membantu jika kita tahu mikrokode mana yang diinstal.
Panther
2

Ubuntu telah merilis pembaruan tetap untuk menentang eksploitasi ini. Kernal baru telah membutuhkan perubahan.

Referensi: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Wiki Ubuntu

Saya di Ubuntu 16.04, Menggunakan driver tampilan Nouveau. Dalam kasus saya, Intel-microcode ter-uninstall setelah menginstal kernel baru.

Pembaruan ini dirilis tepat setelah intel merilis perbaikan bug untuk kerentanan keamanan bug momok.

Ini harus menyelesaikan masalah Anda.

Jika Anda mendapat driver properti intel diganti seperti di tempat saya dan masih ingin driver properti intel-microcode.

Intel Merilis Mikrokode CPU Linux Untuk Memperbaiki Meltdown & Spectre Bugs | bleepingcomputer.com

Saat ini, driver baru tidak termasuk dalam Ubuntu ppa. Pengguna mungkin harus mengunduhnya secara manual dari situs web Intel.

Peringatan: Ini dapat menyebabkan konflik driver atau ketidakstabilan di Ubuntu Anda. Anda harus menginstalnya dengan risiko Anda sendiri.

Unduh File Data Prosesor Mikrokode Linux | downloadcenter.intel.com

Bagi saya, saya tidak punya masalah di laptop ubuntu saya. Jadi saya tidak mau mengambil risiko. Saya meninggalkan tim Ubuntu untuk memutuskan apa yang terbaik dari sistem saya. Saya menunggu pembaruan dari tim driver Ubuntu.

Aravind
sumber
Saya tidak mengerti bagaimana ini menjawab pertanyaan saya. Bisakah Anda jelaskan? Saya telah intel-microcodemenginstal
MeltingPoint
Perbarui kernal Anda, Ubuntu telah menambalnya dengan cara lain.
Aravind
Jika intel-mikrokode dicopot, Anda memiliki 2 opsi. opsi 1) tetap aman dan tunggu sampai tim ubuntu merilis pembaruan seperti yang saya lakukan. Atau 2) Anda dapat menjalankan percobaan Anda sendiri dengan mengunduh secara manual dengan risiko Anda sendiri.
Aravind