変更ログ
| 日付 | 変更の説明 |
|---|---|
| 2023 年 10 月 27 日 | 軽減策 B への参照を追加しました |
| 2023 年 7 月 17 日 | MMIO 情報を追加しました |
概要
Microsoft は、投機的実行サイド チャネルの脆弱性と呼ばれる攻撃クラスの新しいバリアントを認識しています。 このバリアントは 、L1 ターミナル フォールト (L1TF) と Microarchitectural Data Sampling (MDS) という名前です。 L1TF または MDS の悪用に成功した攻撃者は、信頼境界を越えて、特権が与えられたデータを読み取る可能性があります。
更新日: 2019 年 5 月 14 日: 2019 年 5 月 14 日、Intel は 、マイクロアーキテクチャ データ サンプリングと呼ばれる投機的実行サイド チャネルの脆弱性の新しいサブクラスに関する情報を公開しました。 これらの脆弱性には、次の CVE が割り当てられています。
- CVE-2018-11091 |マイクロアーキテクチャ データ サンプリング キャッシュできないメモリ (MDSUM)
- CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
- CVE-2018-12127 |Microarchitectural Fill Buffer Data Sampling (MFBDS)
- CVE-2018-12130 |マイクロアーキテクチャロードポートデータサンプリング(MLPDS)
更新日: 2019 年 11 月 12 日: 2019 年 11 月 12 日、Intel は、CVE-2019-11135 が割り当てられている Intel® Transaction Synchronization Extensions (Intel® TSX) Transaction Async Abort の脆弱性に関するテクニカル アドバイザリを公開しました。 マイクロソフトは、この脆弱性を緩和するために役立つ更新プログラムをリリースしました。 次の点に注意してください。
- 一部の Windows Server OS エディションでは、オペレーティング システムの保護機能は既定で有効です。 詳細については、マイクロソフト サポート技術情報 4072698 を参照してください。
- すべての Windows クライアント OS エディションでは、オペレーティング システムの保護機能は既定で有効です。 詳細については、「Microsoft サポート技術情報の 記事 4073119 」を参照してください。
脆弱性の概要
仮想化ホストなどのリソースが共有される環境では、ある仮想マシンで任意のコードを実行できる攻撃者が、別の仮想マシンまたは仮想化ホストの情報にアクセスできる可能性があります。
Windows Server リモート デスクトップ サービス (RDS) などのサーバー ワークロードや、Active Directory ドメイン コントローラーなどの専用ロールも危険にさらされます。 (特権レベルにかかわらず) 任意のコードを実行できる攻撃者は、オペレーティング システムやワークロードのシークレット (暗号化キー、パスワード、その他の機密データなど) にアクセスできる可能性があります。
特に、Windows クライアント オペレーティング システムで信頼できないコードを実行したり、Windows Defender Credential Guard などの仮想化ベースのセキュリティ機能を利用したり、Hyper-V を使用して仮想マシンを実行したりする場合は、オペレーティング システムも危険にさらされます。
メモ: これらの脆弱性は、Intel Core プロセッサと Intel Xeon プロセッサにのみ影響します。
緩和策の概要
これらの問題を解決するために、Microsoft は Intel と協力してソフトウェアの軽減策とガイダンスを開発しています。 脆弱性を軽減するためのソフトウェア更新プログラムがリリースされました。 利用可能なすべての保護を取得するには、デバイス OEM からのマイクロコードも含まれるアップデートが必要になる場合があります。
この資料では、以下の脆弱性を緩和する方法について説明しています。
- CVE-2018-3620 | L1 Terminal Fault – OS, SMM
- CVE-2018-3646 | L1 Terminal Fault – VMM
- CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
- CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling (MSBDS)
- CVE-2018-12127 | Microarchitectural Load Port Data Sampling (MLPDS)
- CVE-2018-12130 | Microarchitectural Fill Buffer Data Sampling (MFBDS)
- CVE-2019-11135 | Windows Kernel Information Disclosure Vulnerability
- CVE-2022-21123 | Shared Buffer Data Read (SBDR)
- CVE-2022-21125 | Shared Buffer Data Sampling (SBDS)
- CVE-2022-21127 | Special Register Buffer Data Sampling Update (SRBDS Update)
- CVE-2022-21166 | Device Register Partial Write (DRPW)
これらの脆弱性の詳細については、次のセキュリティ アドバイザリを参照してください。
L1TF:ADV180018 |L1TF バリアントを軽減するための Microsoft ガイダンス
MDS:ADV190013 |マイクロアーキテクチャ データ サンプリングの脆弱性を軽減するための Microsoft ガイダンス
MMIO:ADV220002 |Intel プロセッサ MMIO 古いデータの脆弱性に関する Microsoft ガイダンス
Windows カーネル情報漏えいの脆弱性:CVE-2019-11135 |Windows カーネル情報漏えいの脆弱性
脅威を緩和するために必要な操作を判断する方法
以下のセクションは、L1TF や MDS の脆弱性の影響を受けるシステムを特定し、リスクについて理解して緩和するために役立ちます。
考えられるパフォーマンスへの影響
マイクロソフトのテストでは、これらの緩和策を適用すると、システムの構成と必要な緩和策によってはパフォーマンスがやや低下することを確認しています。
一部のお客様は、L1TF および MDS のリスクを完全に解決するためにハイパースレッディング (同時マルチスレッディング または SMT とも呼ばれます) を無効にする必要があります。 ハイパースレッディングを無効にすると、パフォーマンスが低下する可能性がある点に注意してください。 この状況は、以下を使用するお客様に適用されます。
- Windows Server 2016 または Windows 10 バージョン 1607 (Anniversary Update) よりも前のバージョンの Hyper-V
- Credential Guard や Device Guard などの仮想化ベースのセキュリティ (VBS) 機能
- 信頼できないコードの実行を許可するソフトウェア (たとえば、ビルド自動化サーバーや共有 IIS ホスティング環境など)
影響度は、ハードウェアや、システムで実行されているワークロードによって変わる可能性があります。 最も一般的なシステム構成では、ハイパースレッディングが有効です。 そのため、ユーザーまたは管理者がシステムでハイパースレッディングを無効にすると、パフォーマンスの影響は緩和されます。
メモ: システムが VBS で保護されたセキュリティ機能を使用しているかどうかを判断するには、次の手順に従います。
[スタート] メニューで「MSINFO32」と入力します。
注:[システム情報] ウィンドウが開きます。
[検索する文字列] ボックスに「セキュリティ」と入力します。
右側のウィンドウで、スクリーン ショットで選択されている 2 つの行を探し、[値] 列をチェックして、仮想化ベースのセキュリティが有効になっているかどうかと、どの仮想化ベースのセキュリティ サービスが実行されているかを確認します。
Hyper-V コア スケジューラを使用すると、ハイパースレッディングを有効にしたままで、Hyper-V 仮想マシンが L1TF および MDS の攻撃対象になる状況を緩和できます。 コア スケジューラは、Windows Server 2016 および Windows 10 バージョン 1607 以降で使用可能です。 これで、仮想マシンのパフォーマンスへの影響を最小限に抑えられます。
コア スケジューラは、VBS で保護されたセキュリティ機能に対する L1TF または MDS 攻撃ベクトルを軽減しません。 詳細については、軽減策 C と次の仮想化ブログ記事を参照してください。
パフォーマンスの影響に関する Intel の詳細情報については、次の Intel Web サイトを参照してください。
www.intel.com/securityfirst (英語情報)
影響を受けるシステムと必要な緩和策の特定
図 1 のフローチャートを利用して、影響を受けるシステムを特定し、正しい一連の操作を判断してください。
大事な: 仮想マシンを使用している場合は、両方に軽減策が適用される可能性があるため、フロー チャートを考慮して Hyper-V ホストと影響を受ける各 VM ゲストに個別に適用する必要があります。 具体的には、Hyper-V ホスト向けには、フロー チャートの手順には VM 間の保護とホスト内の保護が用意されています。 ただし、これらの緩和策を Hyper-V ホストに適用するだけでは、VM 内を十分に保護できません。 VM 内を保護するには、各 Windows VM にフロー チャートを適用する必要があります。 ほとんどの場合、これはレジストリ キーが VM に設定されていることを確認することを示します。
フローチャートに沿って移動すると、システム構成に固有の L1TF 攻撃ベクトルを軽減するために必要な 1 つまたは複数のアクションに対応する文字付きの青い円が表示されます。 発生した各アクションを適用する必要があります。 緑色の線が表示された場合、それは終点への直接パスを示しており、追加の緩和手順はありません。
各緩和策の短い説明は、右側の凡例に含まれています。 段階的なインストール手順と構成手順が記載されている各緩和策の詳細な説明については、「緩和策」セクションを参照してください。
緩和策
大事な: 次のセクションでは、前のセクションの 図 1 のフローチャートによって決定された特定の条件でのみ適用する必要がある軽減策について説明します。 フローチャートで特定の緩和策が必要であることが示されていない限り、これらの緩和策を適用しないでください。
特定の保護を有効にするには、ソフトウェアとマイクロコードの更新に加えて、手動による構成変更も必要になる場合があります。 また、企業のお客様には、内容の変更について通知を受けられるようにセキュリティ通知メーラーに登録することをお勧めします。 (「マイクロソフト テクニカル セキュリティ通知のご案内」を参照してください)。
緩和策 A
最新の Windows 更新プログラムを入手して適用する
マンスリー Windows セキュリティ更新プログラムなど、利用できるすべての Windows オペレーティング システムの更新プログラムを適用します。 影響を受ける製品の表は、Microsoft セキュリティ アドバイザリ |L1TF の ADV 180018 、 セキュリティ アドバイザリ |MDS の ADV 190013 、 セキュリティ アドバイザリ | MMIO と セキュリティの脆弱性のADV220002 |CVE-2019-11135 for the Windows カーネル情報漏えいの脆弱性。
緩和策 B
最新のマイクロコードまたはファームウェアk更新プログラムを入手して適用する
最新の Windows セキュリティ更新プログラムのインストールに加えて、プロセッサのマイクロコードまたはファームウェアの更新も必要になる場合があります。 デバイス OEM から、デバイスに応じて最新のマイクロコード更新プログラムを取得して適用することをお勧めします。 マイクロコードまたはファームウェアの更新の詳細については、次の参考資料を参照してください。
- KB4093836: Intel マイクロコード更新の概要
- Intel および AMD Processors コミュニティ向けのマイクロコード Updatesの解明に関する記事
- Intel 製品セキュリティ センター アドバイザリ
- AMD 製品セキュリティ
メモ: 入れ子になった仮想化 (ゲスト VM での Hyper-V コンテナーの実行を含む) を使用している場合は、新しいマイクロコード対応をゲスト VM に公開する必要があります。 これには、VM 構成をバージョン 8 にアップグレードすることが必要になる場合があります。 バージョン 8 には、既定でマイクロコード エンライトメントが含まれています。 詳細と必要な手順については、Microsoft Docs の次の資料を参照してください。
入れ子になった仮想化による仮想マシンでの Hyper-V の実行
緩和策 C
ハイパースレッディング (HT) は無効にすべきか
サイドチャネル攻撃を受けると、L1TF および MDS の脆弱性によって Hyper-V 仮想マシンの機密性と、Microsoft 仮想化ベースのセキュリティ (VBS) で保守されているシークレットが危険にさらされる可能性があります。 ハイパースレッディング (HT) を有効にすると、Hyper-V と VBS の両方で提供されているセキュリティ境界が弱くなります。
Hyper-V コア スケジューラ (Windows Server 2016 および Windows 10 バージョン 1607 以降で使用可能) を使用すると、ハイパースレッディングを有効にしたままで、Hyper-V 仮想マシンが L1TF および MDS の攻撃対象になる状況を緩和できます。 これで、パフォーマンスへの影響を最小限に抑えられます。
Hyper-V コア スケジューラを使用しても、VBS で保護されたセキュリティ機能が L1TF や MDS の攻撃対象になる状況は緩和されません。 L1TF および MDS の脆弱性によって、ハイパースレッディング (HT) が有効なときに VBS シークレットの機密性がサイドチャネル攻撃に侵害され、VBS が提供するセキュリティ境界が弱体化される可能性があります。 このようにリスクが増加しても、VBS には重大なセキュリティ上のメリットがあり、HT を有効にした場合のさまざまな攻撃を緩和できます。 そのため、VBS は HT 対応システムで引き続き使用することをお勧めします。 VBS の機密性に関する L1TF および MDS の脆弱性の潜在的なリスクを排除したい場合は、この追加のリスクを緩和するために HT の無効化を検討する必要があります。
L1TF および MDS の脆弱性が Windows Server 2016 より前の Hyper-V バージョンの機密性を損ねるリスク、または VBS セキュリティ機能に対するリスクを排除したい場合は、その決定を重視し、HT を無効にしてリスクを緩和することを検討する、必要があります。 一般的に、以下のガイドラインに基づいてこのような判断を下すことができます。
- Windows 10 バージョン 1607、Windows Server 2016、およびそれ以降のシステムで Hyper-V を実行しておらず、VBS で保護されたセキュリティ機能も使用していない場合は、HT を無効にしないでください。
- Windows 10 バージョン 1607、Windows Server 2016、およびそれ以降のシステムで Hyper-V とコア スケジューラは実行しているものの、VBS で保護されたセキュリティ機能を使用していない場合は、HT を無効にしないでください。
- Windows 10 バージョン 1511、Windows Server 2012 R2、およびそれ以前のシステムで Hyper-V を実行している場合、リスクを軽減するために HT を無効にすることを検討する必要があります。
HT を無効にするために必要な手順は、OEM によって異なります。 ただし、通常、HT は BIOS またはファームウェアのセットアップおよび構成ツールの一部です。
また、マイクロソフトでは、BIOS やファームウェアの設定および構成ツールでハイパースレッディング (HT) を無効にすることが難しいか不可能な場合に、ソフトウェア設定を通じて HT テクノロジを無効にできるようにしました。 HT を無効にするソフトウェア設定は、BIOS やファームウェアの設定より優先順位が低く、既定では無効になっています (つまり、HT は BIOS やファームウェアの設定に従います)。 この設定およびそれを使用して HT を無効にする方法の詳細については、次の資料を参照してください。
4072698 Windows Server を投機的実行のサイドチャネルの脆弱性から保護するためのガイダンス
HT を無効にする場合は、可能な限り、BIOS やファームウェアで設定して HT を確実に無効にすることをお勧めします。’
メモ: ハイパースレッディングを無効にすると、CPU コアが減少します。 これは、機能するために最小限の CPU コア数を必要とする機能に影響する可能性があります。 たとえば、Windows Defender Application Guard (WDAG) などです。
緩和策 D
Hyper-V コア スケジューラを有効にし、コアあたりの VM ハードウェア スレッド数を 2 に設定する
メモ:これらの軽減手順は、バージョン 1809 より前のバージョンWindows Server 2016とWindows 10にのみ適用されます。 Windows Server 2019 および Windows 10 バージョン 1809 では、コア スケジューラが既定で有効になっています。
コア スケジューラを使用するには 2 段階のプロセスがあります。まず、Hyper-V ホストでスケジューラを有効にしてから、コアごとのハードウェア スレッド数を 2 に設定して活用するように各 VM を構成します。
Windows Server 2016 および Windows 10 バージョン 1607 で導入された Hyper-V コア スケジューラは、従来のスケジューラ ロジックに代わる新しい機能です。 コア スケジューラを使用すると、HT 対応の Hyper-V ホスト上で実行されている VM 内のワークロードについて、パフォーマンスのばらつきを減らすことができます。
Hyper-V のコア スケジューラとそれを有効にする手順の詳細については、次の Windows IT Pro Center の資料を参照してください。’
Understanding and using Hyper-V hypervisor scheduler types (英語情報)
Windows Server 2016 または Windows 10 で Hyper-V コア スケジューラを有効にするには、次のコマンドを入力します。
bcdedit /set HypervisorSchedulerType core
次に、特定の VM のコアあたりのハードウェア スレッド数を 2 に構成するかどうかを決定します。 仮想プロセッサがハイパースレッドであるという事実をゲスト仮想マシンに公開すると、VM オペレーティング システムのスケジューラと VM ワークロードが独自の作業スケジューリングで HT を使用できるようになります。 これを行うには、次の PowerShell コマンドを入力します。 <VMName> は仮想マシンの名前です。
Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2
緩和策 E
アドバイザリ CVE-2017-5715、CVE-2017-5754、および CVE-2019-11135 の緩和策を有効にする
メモ:これらの軽減策は、Windows Server 2019 および Windows クライアント オペレーティング システムで既定で有効になっています。
アドバイザリ CVE-2017-5715、CVE-2017-5754、および CVE-2019-11135 の緩和策を有効にするには、次の資料のガイダンスを参照してください。
4072698 Windows Server を投機的実行のサイドチャネルの脆弱性から保護するためのガイダンス
4073119 投機的実行サイドチャネルの脆弱性から保護するための IT プロフェッショナル向け Windows クライアント ガイダンス
メモ: これらの軽減策には、Windows カーネルの 安全なページ フレーム ビット の軽減策と、CVE-2018-3620 で説明されている軽減策が含まれており、自動的に有効になります。 セーフ ページ フレーム ビットの詳細については、次の Security Research & Defense ブログの資料を参照してください。
Analysis and mitigation of L1 Terminal Fault (L1TF) (英語情報)
関連情報
Azure での予測実行のサイドチャネルの脆弱性を軽減するためのガイダンス
サード パーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
Microsoft は、ユーザーがテクニカル サポートを見つけるため、サード パーティの連絡先を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、サード パーティの連絡先情報の正確性を保証していません。