システムでIntelマイクロコードの更新が機能しないのはなぜですか?


8

システムをアップグレードして、SpectreとMeltdownの悪用を軽減したいと考えています。

関連するUbuntuページには、マイクロコードを更新する必要があると記載されています。 amd64、ppc64el、およびs390xは、システムの下のすべてのマイクロコード、ファームウェア、およびハイパーバイザーの更新が行われている限り、機能は完全です。

私は持っていないintel-microcodeと、iucode-toolインストールや更新、しかし、実行しているdmesg | grep -i microcodegrep -i microcode /var/log/syslog*私は、CPUのマイクロコードが更新されないか、他の何かが間違っているのどちらかだと思いますリターンは何も。

パッケージは最新であり、最後の更新以降に再起動が行われています。

オペレーティングシステム:Lubuntu 16.04

CPU:Intel N3700(Braswell)

有効なソフトウェアリポジトリ:メイン、ユニバース

有効な更新:xenial-security

編集:
の出力grep name /proc/cpuinfo | sort -u
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

私のプロセッサはSkylakeでも、Kabyレイクでもありません。

では/proc/cpuinfoサポートされてアップハイパースレッディング示しているが、このインテルのページには、それがサポートされていないと言う。
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

編集2:
実行sudo update-initramfs -uして再起動しました。出力は同じです。

の出力/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*

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

Additional Drivers以前のタブ(2017年後半)に選択可能なマイクロコードがあったため、私のCPUには更新されたマイクロコードがないようです。今はありません。

編集3:
出力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]

編集4:
cpuマイクロコードの更新がないことを理解しました。つまり、元の問題は解決されたので、そのままにします。

しかし、dmesgおよびjournalctl -bマイクロコードのバージョンについてはまだ出力行は、私は信じている必要があります。
また、これらのブートログが通常の1または0ではなく「5」で始まること、およびそれらを切り捨てるエラーメッセージが繰り返し表示されることにも気づきました(dmesg切り捨てについては何も言われていませんjournalctlが、371635カーネルメッセージが見落とされています。以下を参照してください) 。今は無視します。

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
debianシステムでのマイクロコードのチェックに関する詳細な手順は次のとおりです-list.debian.org/debian-devel/2017/06/msg00308.html。それらのコマンドの出力を投稿します。でプロセッサを特定して開始しgrep name /proc/cpuinfo | sort -u、「これら2つのリストの一部のプロセッサはハイパースレッディングサポートがないため、影響を受けません。コマンドラインシェル(xtermなど)で以下のコマンドを実行すると、ハイパーの場合にメッセージが出力されます。 -スレッディングがサポート/有効化されています: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

質問を編集しました。
MeltingPoint 2018年

sudo update-initramfs -u && sudo reboot再起動後に実行してもう一度確認してください。
パンサー

1
たぶん、ubuntuのパッケージにあなたのCPU用のマイクロコードがありません。これを実行して確認/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
「2017年後半」には、試みられたスペクトル/メルトダウンの修正に基づいて、CPUのマイクロコードが存在する可能性があります。そのコードは削除されました/つまり、バンドルは以前の状態に戻り、CPUに何も必要ありません。
doug

回答:


4

/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*現時点ではCPUにマイクロコードがロードされていないという結果に基づいています。だからといって、将来なくなることはありません。intel-microcodeとiucode-toolをインストールしたままにしても安全です。CPUの署名用のマイクロコードを含むアップデートがある場合は、それが使用されます。


2

Meltdown / Spectre Intel Microcodeのバグ

Meltdown / Spectreのセキュリティホールに対処するため、2018年初頭のIntel Microcodeアップデートバグがありました。そのため、マイクロコードを以前のバージョンにロールバックする必要がありました。

これが私が使用しているマイクロコードです(2018年1月以降、すべての更新をオプトアウトしています)。

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

Intel Microcode Updateをインストールすると、このバージョンまたは同様のものが取得されます。

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Ubuntu 16.04 LTSメニュー

Lubuntuのメニュー構造についてはわかりませんが、通常のUbuntuでは、次のようにしてIntel Microcode Updateコントロールにアクセスします。

追加のDrivers.png

下のオプションは、Intel Microcode Updatesを制御します。

CLIからIntel Microcodeをインストールする

GUIメニューを完全にスキップするには、コマンドラインからインストールできます。

sudo apt update
sudo apt install intel-microcode

dmesg 正しい出力を表示するようになりました

インストール手順を実行した後dmesg、目的の出力が返されます(何も表示されない質問とは異なります)。

$ 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

OPには「インテルマイクロコードとiucode-toolがインストールおよび更新されている」と明記されているため、これがどのように役立つかはよくわかりません。
パンサー

@パンサー私がdmesg最初に答えを書き始めたときに持っていた自分の出力を追加し忘れました。これを追加します。基本的に、インストール手順を実行した後、dmesg出力は想定どおりに表示されます。
WinEunuuchs2Unix 2018年

OPには、「dmesg | grep -iマイクロコードおよびgrep -iマイクロコード/ var / log / syslog *を実行しても何も返さない」と明記されています。実行する必要があると思うsudo update-initramfs -u && sudo reboot
パンサー

@Pantherマイクロコードが正しくインストールされていないように見えました。再起動についての良い点。OPはそれについて何も言及していません。OPの質問に対するあなたのコメントへの今後の返信を監視します。update-initramfs -uここにリストされていないため、必要かどうかはわかりません:askubuntu.com/questions/545925/…。しかしそれは決して痛くない。
WinEunuuchs2Unix 2018年

マイクロコードは通常initramfsの一部であり、ブート時にロードされるため、予期されていませんが、OPの異常な状況に対する可能な修正としてinitramfsを再構築することをお勧めします。インストールされているマイクロコードがわかっている場合に役立ちます。
パンサー

2

Ubuntuは、このエクスプロイトに対する修正されたカーネル更新をリリースしました。新しいカーネルには変更が必要です。

リファレンス: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

私はUbuntu 16.04で、Nouveauディスプレイドライバーを使用しています。私の場合、新しいカーネルをインストールした後にIntel-microcodeがアンインストールされました。

このアップデートは、インテルがスペクターバグのセキュリティ脆弱性に対するバグ修正をリリースした直後にリリースされます。

これで問題が解決するはずです。

私の場所のようにインテルのプロパティドライバーを置き換えても、インテルのマイクロコードプロパティドライバーが必要な場合。

Intelは、メルトダウンとスペクターのバグを修正するためにLinux CPUマイクロコードをリリースします。bleepingcomputer.com

現在、新しいドライバーはUbuntu ppaに含まれていません。ユーザーは、インテルのWebサイトから手動でダウンロードする必要がある場合があります。

警告:これにより、Ubuntuでドライバーの競合や不安定性が発生する可能性があります。自己責任でインストールしてください。

Linuxプロセッサマイクロコードデータファイルのダウンロード| downloadcenter.intel.com

私にとって、ubuntuラップトップには問題はありません。だから私は危険を冒したくありません。私はUbuntuのチームを離れて、自分のシステムの何が最良かを判断しました。Ubuntuドライバーチームからのアップデートを待っています。


これが私の質問にどのように答えるかわかりません。説明できる?私がしているintel-microcodeインストールされています。
MeltingPoint 2018年


Ubuntuは別の方法でパッチを当てました。
アラビンド、


intel-microcodeがアンインストールされた場合、2つのオプションがあります。オプション1)安全を確保し、ubuntuチームがアップデートをリリースするまで待ちます。または2)自分のリスクで手動でダウンロードして、独自の実験を実行できます。
アラビンド、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.