MeltdownとSpectreの対応状況(2018/1/29)
2018年1月29日時点の「Meltdown」と「Spectre」の対応状況の紹介です。ここではデスクトップユーザー向けの情報を中心にピックアップします。
クラウド環境や開発者は、以下のドキュメントを参照してください。
MeltdownとSpectre
「Meltdown」と「Spectre」の内容や「Ubuntu」の対応方針は、以下を参照してください。- CPUに起因する2つの重大な脆弱性(MeltdownとSpectre)が見つかる・Ubuntuでの対応は(前編)
- CPUに起因する2つの重大な脆弱性(MeltdownとSpectre)が見つかる・Ubuntuでの対応は(後編)
- MeltdownとSpectreについて知っておくべきこと(前編)
- MeltdownとSpectreについて知っておくべきこと(後編)
「Ubuntu」では「Meltdown」と「Spectre」に対応するため、以下のアップデートが必要になります。
- Linux kernel
- CPUのマイクロコード(もしくはファームウェアのアップデート)
- ハイパーバイザー
- ユーザースペースで動作する様々なソフトウェア及びそれを含むパッケージ
脆弱性の識別情報
「Meltdown」と「Spectre」は、以下の「CVE」によって識別されます。名称 | Variant | 概要 | Ubuntu CVEトラッカー |
---|---|---|---|
Spectre | Variant 1 | Bounds Check Bypass | CVE-2017-5753 |
Spectre | Variant 2 | Branch Target Injection | CVE-2017-5715 |
Meltdown | Variant 3 | Rogue Data Cache Load | CVE-2017-5754 |
ドキュメント
常に「Ubuntu」の対応状況に関する最新の情報を把握したい場合は、以下のドキュメントを参照してください。技術的なFAQは、以下のドキュメントを参照してください。
軽減策の導入によるパフォーマンスの影響に関し、いくつかのサードパーティーがパフォーマンスデータを公開しています。
その内容は、以下のドキュメントを参照してください。
軽減策の有効・無効の切り替えは、以下のドキュメントを参照してください。
既定では有効になります。
Linux kernelの対応状況
「Linux kernel」の対応状況です。Ubuntu | Linux kernel |
i386 (x86) |
amd64 (x86_64) |
ppc64el | s390x | armhf | arm64 | 最新のUSN | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S1 | S2 | M | S1 | S2 | M | S1 | S2 | M | S1 | S2 | M | S1 | S2 | M | S1 | S2 | M | |||
17.10 | 4.13 | Y | - | - | Y | F | Y | Y | F | F | Y | F | NA | - | - | - | - | - | - | USN-3541-1 |
16.04 LTS | 4.13 HWE | Y | - | - | Y | F | Y | Y | F | F | Y | F | NA | - | - | - | - | - | - | USN-3541-2 |
4.4 | Y | - | - | Y | F | Y | Y | F | F | Y | F | NA | - | - | - | - | - | - | USN-3540-1 | |
14.04 LTS | 4.4 HWE | Y | - | - | Y | F | Y | Y | F | F | U | - | - | - | - | - | - | USN-3540-2 | ||
3.13 | Y | - | - | Y | F | Y | - | - | - | U | - | - | - | - | - | - | USN-3542-1 | |||
12.04 ESM | 3.13 HWE | U | Y | F | Y | U | U | U | U | USN-3542-2 | ||||||||||
3.2 | U | - | - | Y | U | U | U | U | USN-3525-1 |
凡例
記号 | 内容 |
---|---|
S1 | Spectre / Variant 1 / CVE-2017-5753 |
S2 | Spectre / Variant 2 / CVE-2017-5715 |
M | Meltdown / Variant 3 / CVE-2017-5754 |
Y | 問題を軽減するアップデートは提供済み |
F | 問題を軽減するアップデートは提供済みだが、 それ加え問題に対応したマイクロコードもしくはファームウェアのアップデートが必要 |
- | 問題を軽減するアップデートは、まだ提供されていない |
NA | このアーキテクチャーは、影響を受けない |
U | このアーキテクチャーは、サポートされていない |
注意事項
- Linux kernelはretpolineを使用してビルドされていない(retpolineのサポートはまだ行われていない)
- Intel及びAMDからマイクロコードがリリースされていない
- 問題に対応したマイクロコードもしくはファームウェアのアップデートが提供されていない場合、Spectre Variant 2の影響の軽減は行われない
- Ubuntu 16.04 LTSのHWEカーネルは、4.13に移行済み(4.10 HWEカーネルは本脆弱性に対応しないため)
- 現在i386/x86(いわゆる32bit版)向けにMeltdownに対応したカーネルが提供されていないため、amd64/x86_64(いわゆる64bit版)カーネルへの移行を推奨する
- ARM向けのアップデートはまだ一切提供されていない
- ハイパーバイザーではqemuやカーネルのアップデートに加え、ゲストにSpectre Variant 2の軽減策を提供する必要がある
影響を受けるARMプロセッサーは、以下を参照してください。
Ubuntu 32bit版(i386/x86)のMeltdown対策について
現時点で32bit版「Linux kernel」に「KPTI」が実装されていないため、「Ubuntu 32bit版」ユーザーは「Meltdown」の影響を軽減することができません。将来的にサポートされる可能性はありますが、現時点では軽減策がありません。
また32bit版「Linux kernel」に「KPTI」が実装されても、32bit版「Linux kernel」では「PCID」や「INVPCID」が利用できないため、「Meltdown」の影響を軽減できてもパフォーマンスへの影響を軽減することができません。
推奨される回避策として、ユーザースペースを32bit版に維持したまま、「KPTI」が有効になっている64bit版の「Linux kernel」をインストールする方法が紹介されています。
具体的な方法は以下を参照してください。
Ubuntu 16.04 LTSのHWEカーネル
「Ubuntu 16.04 LTS」で「HWEカーネル」を利用しているユーザーは、すでに「Ubuntu 17.10」ベースの「Linux kernel」に移行済みです。ユーザースペースの対応状況
「Ubuntu 18.04」では、すべてのユーザースペースのソフトウェアがリビルドされる予定です。「Ubuntu 17.10」「Ubuntu 16.04 LTS」「Ubuntu 14.04 LTS」では、一部のユーザースペースのソフトウェアを抜粋してリビルドされる予定です。
また、以下の対策済みソフトウェアは提供済みです。
ソフトウェア | USN | 備考 |
---|---|---|
Firefox | USN-3516-1 | タイマーの精度を落とし、 タイマーの構築に利用できるメカニズムの無効化 |
WebKitGTK+ | USN-3530-1 | タイマーの精度を落とし、 タイマーの構築に利用できるメカニズムの無効化 |
NVIDIA graphics drivers | USN-3521-1 |