DebianはいくつかのIntelプロセッサで予測不可能なシステム動作を引き起こすバグを明らかにしました

Intel SkylakeとKaby Lakeのプロセッサを使用しているユーザーは、データの損失や破損につながる予測不可能なシステムの動作を経験しています。 これは、Debian Linux開発者、Henrique de Moraes Holschuhによって、Debianユーザへの「警告」メールで明らかにされました。

メールによると、 「TL; DR:固定されていないSkylakeとKaby Lakeのプロセッサは、状況によっては、ハイパースレッディングが有効になっていると危険な動作をする可能性があります。」

このバグは、第6世代および第7世代のIntel Coreプロセッサと一部のIntel Pentiumプロセッサで発生する可能性があります。 ハイパースレッディングが有効になっていると、トリガーされたプロセッサ/マイクロコードのバグにより、システムやアプリケーションの誤動作などのエラーが発生する可能性があります。

また、この欠陥はDebianやLinuxベースのオペレーティングシステムだけでなく、他のどのオペレーティングシステムにも影響を与える可能性があることにも注意してください。 それに加えて、潜在的に影響を受けるソフトウェアを検出することは困難です。

その予測不可能な性質は、影響を受けたIntelプロセッサのユーザーが推奨される行動をとる必要があることを意味します。 それを回避するには、ハイパースレッディングを無効にして修正する必要があります。プロセッサのマイクロコードを更新する必要があります。

あなたのプロセッサはIntel Skylakeですか、それともKaby Lakeですか?

2015年9月以前に発売されたすべてのプロセッサモデルは、SkylakeまたはKaby Lakeプロセッサではありません。 これらの古いプロセッサはバグの影響を受けません。 あなたのプロセッサのモデル名を知るためには、下記のコマンドを実行することができます。

grep name /proc/cpuinfo | sort -u 

お使いのプロセッサのモデル名がわかっていれば、SkylakeとKaby Lakeのどちらに該当するかを知るために、以下のリンクにアクセスできます。

上記の一覧にあるすべてのプロセッサが影響を受けるわけではないことに注意してください。 これはハイパースレッディングをサポートしていないものがあるからです。 ハイパースレッディングがサポートされているかどうかを知るためには、以下のコマンドラインシェルを実行してください。

 grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \ echo "Hyper-threading is supported" 

別の方法はあなたがプロセッサリストからプロセッサの情報ページをチェックすることです。 そこには、ハイパースレッディングに関する情報があります。 とにかく、あなたのプロセッサがハイパースレッディングをサポートするリストにないなら、あなたはそれを無視することができます。

プロセッサがハイパースレッディングをサポートしている場合の対処

あなたは自分のLinuxディストリビューションからのアップデートを待つことも、自分で行動を起こすこともできます(それに慣れている場合)。

  • Kaby Lakeプロセッサモデル: Intel Kaby Lakeプロセッサを使用しているユーザーは、BIOS / UEFIでハイパースレッディングを無効にする必要があります。 Kaby Lakeマイクロコードアップデートを使用して修正することもできます。 現時点では、システムベンダだけが利用できます。 この場合、BIOS / UEFIアップデートがすでに入手可能かどうかを調べるために、システムベンダーに連絡することができます。 アドバイザリによると、 「Intelプロセッサの正誤表KBL095、KBW095、または私のKaby Lakeプロセッサ用の同様のもの」を修正することができるBIOS / UEFIアップデートをシステム製造元に依頼してください

修正プログラムを使用してBIOS / UEFIアップデートをインストールするまでは、ハイパースレッディングを再度有効にしないでください。

  • Skylakeプロセッサモデル: Skylakeプロセッサモデルを使用すると、ユーザーは2つの選択肢のうち1つを選択できます。

  1. リストのプロセッサモデルが78または94でプロセッサのステップ数が3の場合は、non-free 「intel-microcode」パッケージをインストールしてシステムを再起動します。 インストールするパッケージは、基本バージョン3.20170511.1のものです。 モデル番号とステッピングを知るには、以下のコマンドラインシェルを実行してください。

     grep -E 'model|stepping' /proc/cpuinfo | sort -u 

    それ以外の場合は、以下の2番目の選択肢で説明されているように、ハイパースレッディングを無効にする必要があります。

  2. 78または94以外のプロセッサモデル番号で、ステッピングが3ではない場合は、BIOS / UEFI設定でハイパースレッディングを無効にする必要があります。 マザーボードのマニュアルを参照するか、他のシステムの製造元に連絡して、 「Intel erratum SKW144、SKL150、SKX150、SKZ7、または私のSkylakeプロセッサ用の類似製品」を修正するBIOS / UEFIアップデートを入手してください。

Debian用のマイクロコードアップデートをインストールする方法についての指示を得るためにここをクリックしてください。 Ubuntu Linuxの場合、Canonicalはすでに問題の解決に取り組んでいます。

この問題は、Ocaml開発者が新しいコンパイラをテストしている間に、2017年1月に初めて発生しました。 Intelは以前にこの問題を発見し、文書化して修正しました。

とにかく、今のところ、誰もこれをマルウェア攻撃の可能性に利用したことはありません。 誰かがそれをマルウェア攻撃のために使用する可能性を排除することはできません。 そのため、ユーザーは、マイクロコードの更新が行われたこと、または修正プログラムを使用してBIOS / UEFIの更新をインストールするまでハイパースレッディングを再度有効にしないでください。

推奨されます

Linuxトレーニングアカデミーの創設者Jason Cannonへのインタビュー
2019
Linuxを助けることができる13の方法
2019
Deus Ex:分割​​された人類がLinuxにやってくる
2019