web-dev-qa-db-ja.com

UbuntuとSpectre Meltdown

ノートブックに最新のBIOSをインストールしました。ノートブックのメーカーは、BIOSアップデートにはSpectre/Meltdownの脆弱性に関する修正が含まれると述べています。

  • Ubuntu 14.04 LTSはどのマイクロコードを使用しますか?
  • BIOSからマイクロコードをロードしますか、それともHD上のシステムファイルからマイクロコードをロードしますか?
  • HDのマイクロコードを使用する場合、Spectre/Meltdownに対応していない古いバージョンである可能性があります。
  • どのマイクロコードがシステムにロードされて使用されているか、どのマイクロコードが新しいバージョンであるかを確認する方法は?
3
Barbara

Ubuntuは(あなたが話している意味で)マイクロコードをまったく使用していません。ただし、CPUはマイクロコードを使用します。つまり、コードitが機能する必要があります。

Ubuntuは、AMDおよびIntelマイクロコードパッケージを提供し、そのハードウェアの更新されたファームウェアを提供します。これらのパッケージは、サポートされるすべてのUbuntuリリースのすべてのSpectre/Meltdownパッチで完全に更新されます。

脆弱性に対する継続的なパッチは、Ubuntu Security Teamによって処理されます。 Ubuntuのサポートされているリリースでは、supportの通常の部分です。 Ubuntuの-securityリポジトリからアップグレードすると、これらのパッチを定期的に受け取ります。

特定の脆弱性について質問がある場合は、自由に database の脆弱性とパッチを検索してください。

CPUがgrep microcode /proc/cpuinfoで使用しているファームウェアのバージョンを確認します

最後に、脆弱性を確認するときにバージョン番号が誤解を招く可能性があることに注意してください:パッチを当てたパッケージは、新しいアップストリームバージョンではないため、アップストリームバージョン番号が高くない場合がありますが、修正およびテストされており、脆弱ではありません。これらの場合、DebianとUbuntuは独自の補足バージョン番号を追加するので、違いがわかります。

3
user535733

答えは:
最初にBIOSからマイクロコードをロードし、 then をロードします。OSのロード中に、最新のマイクロコードがOSによって再度ロードされます。両方とも signed バイナリファイルで、おそらく改ざんすることはできません。

したがって、BIOS/UEFIのバージョンがOperating Systemに提供されたバージョンよりも古い場合、MicroCodeはシステムアップデートを介してOSによってロード/更新されます。それ以外の場合は、BIOS/UEFIバージョンが使用されます。

Operating Systemは、 this WiKi で述べたように、起動プロセス中にロードマイクロコードを行います:

ただし、CPUベンダーが提供する「不透明な」更新データ自体はフリーではなく、その内容はDebianに知られていません。この「不透明な」データは、処理のためにCPUにそのまま送信されますが、カーネルお​​よびユーザー空間ユーティリティがそうする必要があると判断した場合のみです。つまり、実際に必要な場合を除き、マイクロコードの更新はシステムプロセッサに送信されません。

たとえば、プロセッサが同じバージョンまたは新しいバージョンのマイクロコードを実行しているとプロセッサが報告した場合、システムはプロセッサにマイクロコード更新データを送信しません(UEFI/BIOSがすでに更新しているため)。また、そのシステムプロセッサに適切でないマイクロコード更新データも送信しません。

2
zx485