投機的実行のサイドチャネルの脆弱性から保護するための IT プロフェッショナル向け Windows クライアント ガイダンス

適用対象: Windows Server 2016 Version 1709Windows Server 2012 R2 StandardWindows Server 2012 Standard

概要


Microsoft は、“投機的実行サイドチャネル攻撃” と呼ばれ、Intel、AMD、VIA、ARM をはじめとする多数の先端プロセッサーに影響を与える、最近表面化した脆弱性クラスを認識しています。  

注: この問題は、Android、Chrome、iOS、macOS など他のオペレーティング システムにも影響があります。  そのため、各ベンダーのガイダンスを参照することをお勧めします。 

マイクロソフトは、これらの脆弱性を緩和するために役立つ更新プログラムをいくつかリリースしました。 また、マイクロソフトのクラウド サービスをセキュリティで保護するための措置も講じました。 詳細については、以下のセクションを参照してください。

マイクロソフトは、お客様の攻撃にこれらの脆弱性が使用されたことを示す情報をまだ受け取っていません。 マイクロソフトは、お客様を保護するために、チップの製造元、ハードウェア OEM、アプリ ベンダーなどの業界のパートナーと密接に協力しています。 利用できるすべての保護を受けるには、ファームウェア (マイクロコード) とソフトウェアの更新プログラムが必要です。 これには、デバイス OEM のマイクロコードや、場合によっては、ウイルス対策ソフトウェア用の更新プログラムが含まれます。

この資料は次の脆弱性を解決します。

Windows Update では、Internet Explorer と Edge の緩和策も提供される予定です。 このクラスの脆弱性に対してこれらの緩和策を今後も改善を続ける予定です。

このクラスの脆弱性に関する詳細については、以下を参照してください。

2019 年 5 月 15 日更新: 2019 年 5 月 15 日、Intel はマイクロアーキテクチャ データ サンプリング (Microarchitectural Data Sampling) と呼ばれる投機的実行サイド チャネルの脆弱性の新しいサブクラスに関する情報を公開しました。 これらの脆弱性には、次の CVE が割り当てられています。

重要: これらの問題は、Android、Chrome、iOS、macOS など、他のシステムにも影響します。 各ベンダーのガイダンスを参照することをお勧めします。

マイクロソフトは、これらの脆弱性を緩和するために役立つ更新プログラムをリリースしました。 利用できるすべての保護を受けるには、ファームウェア (マイクロコード) とソフトウェアの更新プログラムが必要です。 これには、デバイス OEM のマイクロコードが含まれる場合があります。 場合によっては、これらの更新プログラムをインストールするとパフォーマンスが低下します。 また、マイクロソフトのクラウド サービスをセキュリティで保護する措置も講じました。 これらの更新プログラムを展開することを強くお勧めします。

この問題の詳細については、次のセキュリティ アドバイザリや使用シナリオベースのガイダンスを参照して、脅威を緩和するために必要な操作を判断してください。

注: マイクロコードの更新プログラムをインストールする前に、Windows Update から最新の更新プログラムをすべてインストールすることをお勧めします。 

2019 年 8 月 7 日更新: 2019 年 8 月 7 日、Intel は Windows カーネルの情報漏えいの脆弱性について詳細情報をリリースしました。 この脆弱性は、スペクター バリアント 1 投機的実行サイド チャネルの脆弱性のバリアント (亜種) であり、CVE-2019-1125 が割り当てられました。

2019 年 7 月 10 日、この問題を緩和するために Windows オペレーティング システムのセキュリティ更新プログラムをリリースしました。 業界で調整された開示日である 2019 年 8 月 7 日水曜日まで、この緩和策に関する文書の公開は保留されていたことにご留意ください。

Windows Update を有効にし、2019 年 7 月 10 日にリリースされたセキュリティ更新プログラムを適用したお客様は自動的に保護されています。 さらに必要な構成はありません。

注: この脆弱性は、お使いのデバイス製造元 OEM からリリースされるマイクロコードの更新プログラムを必要としません。

この脆弱性と適用できる更新プログラムの詳細については、マイクロソフト セキュリティ更新プログラム ガイド CVE-2019-1125 | Windows カーネルの情報漏えいの脆弱性」を参照してください。 

 

 

推奨される操作


脆弱性から保護するために、次の操作を実行することをお勧めします。

  1. マンスリー Windows セキュリティ更新プログラムなど、利用できるすべての Windows オペレーティング システムの更新プログラムを適用します。
  2. デバイスの製造元からリリースされている適用可能なファームウェア (マイクロコード) の更新プログラムを適用します。
  3. マイクロソフト セキュリティ アドバイザリ ADV180002ADV180012ADV190013 と、このサポート技術情報に記載されている情報に基づいて、お客様の環境に対するリスクを評価してください。
  4. このサポート技術情報に記載されているアドバイザリとレジストリ キーの情報を参照し、必要に応じて対処してください。

注: Surface をご利用の場合は Windows Update を介してマイクロコードの更新プログラムが提供されます。 Surface デバイスの入手可能な最新のファームウェア (マイクロコード) 更新プログラムの一覧については、KB 4073065 を参照してください。  

Windows クライアントの緩和策の設定


セキュリティ アドバイザリ ADV180002、 ADV180012ADV190013 は、これらの脆弱性によって生じるリスクに関する情報を提供し、Windows クライアント システムの緩和策の既定の状態を確認するのに役立ちます。  次の表は、CPU マイクロコードの要件と、Windows クライアントに対する緩和策の既定の状態をまとめたものです。

CVE

CPU マイクロコード/ファームウェアが必要?

緩和策の既定の状態

CVE-2017-5753

いいえ

既定で有効 (無効にするオプションはありません)

詳細については、ADV180002 を参照してください。。

CVE-2017-5715

はい

既定で有効。 その他の操作については、ADV180002 の FAQ 15 (AMD プロセッサ搭載システムの場合) または FAQ 20 (ARM プロセッサ搭載システムの場合) を参照してください。また、適用できるレジストリ キー設定については、このサポート技術情報を参照してください。 

注: スペクター バリアント 2 (CVE-2017-5715) の緩和策が有効な場合は、Windows 10 1809 またはそれ以降を実行しているデバイスで Retpoline が既定で有効になります。“” “Retpoline” の詳細については、ブログ記事「Mitigating Spectre variant 2 with Retpoline on Windows (英語情報)」のガイダンスを参照してください。

CVE-2017-5754

いいえ

既定で有効

詳細については、ADV180002 を参照してください。。

CVE-2018-3639

Intel: はい
AMD: いいえ
ARM: はい

Intel と AMD: 既定で無効。 詳細については ADV180012 を参照してください。また、適用できるレジストリー キー設定については、このサポート技術情報を参照してください。

ARM: 既定で有効 (無効にするオプションはありません)。

CVE-2018-11091 Intel: はい

既定で有効。

詳細については ADV190013 を参照してください。また、適用できるレジストリー キー設定については、このサポート技術情報を参照してください。
CVE-2018-12126  Intel: はい

既定で有効。

詳細については ADV190013 を参照してください。また、適用できるレジストリー キー設定については、このサポート技術情報を参照してください。
CVE-2018-12127  Intel: はい

既定で有効。

詳細については ADV190013 を参照してください。また、適用できるレジストリー キー設定については、このサポート技術情報を参照してください。
CVE-2018-12130 Intel: はい

既定で有効。

詳細については ADV190013 を参照してください。また、適用できるレジストリー キー設定については、このサポート技術情報を参照してください。


注: 既定で無効な緩和策を有効にすると、パフォーマンスに影響する可能性があります。 実際のパフォーマンスへの影響は、デバイスの特定のチップセットや実行中のワークロードなど、複数の要因によって変わります。

レジストリ設定


セキュリティ アドバイザリ ADV180002 および ADV180012 に記載されているように、既定で有効ではない緩和策を有効にするために、次のレジストリ情報を提供しています。 また、Windows クライアント用の CVE-2017-5715 および CVE-2017-5754 に関連する緩和策を無効にしたいユーザー向けのレジストリ キー設定も提供しています。

重要: このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 万一に備えて、編集の前にレジストリをバックアップしてください。 問題が発生した場合でも、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、以下のマイクロソフト サポート技術情報を参照してください。

KB 322756「Windows でレジストリをバックアップおよび復元する方法」を参照してください。  

CVE-2017-5715 (スペクター バリアント 2) と CVE-2017-5754 (メルトダウン) の緩和策を管理する


注意事項: スペクター バリアント 2 (CVE-2017-5715) の緩和策が有効な場合は、Windows 10 バージョン 1809 デバイスで Retpoline が既定で有効になります。 Windows 10 の最新バージョンで Retpoline を有効にすると、特に古いプロセッサ上でスペクター バリアント 2 対応の Windows 10 バージョン 1809 を実行しているデバイスのパフォーマンスが向上する可能性があります。

CVE-2017-5715 (スペクター バリアント 2) と CVE-2017-5754 (メルトダウン) の既定の緩和策を有効にするには

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

CVE-2017-5715 (スペクター バリアント 2) と CVE-2017-5754 (メルトダウン) の緩和策を無効にするには

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

注: 3 の設定は、 FeatureSettingsOverrideMask を "有効" または "無効" のどちらの設定にする場合にも適しています    (レジストリ キーの詳細については、「FAQ」セクションを参照してください)。

CVE-2017-5715 (スペクター バリアント 2) の緩和策を管理する


CVE-2017-5715 (スペクター バリアント 2) の緩和策を無効にするには:  

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

CVE-2017-5715 (スペクター バリアント 2) と CVE-2017-5754 (メルトダウン) の既定の緩和策を有効にするには: 

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

AMD および ARM プロセッサのみ: CVE-2017-5715 (スペクター バリアント 2) の完全な緩和策を有効にする


AMD および ARM CPU では、既定で CVE-2017-5715 のユーザーとカーネル間の保護機能は無効です。 CVE-2017-5715 に対する追加の保護機能を利用するには、この緩和策を有効にする必要があります。AMD プロセッサについては ADV180002 の FAQ 15 を、ARM プロセッサについては ADV180002 の FAQ 20 を参照してください。 

AMD および ARM プロセッサ上で CVE 2017-5715 の他の保護機能と共にユーザーとカーネル間の保護機能を有効にする:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 64 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

CVE-2018-3639 (投機的ストア バイパス)、CVE-2017-5715 (スペクター バリアント 2)、CVE-2017-5754 (メルトダウン) の緩和策を管理する


CVE-2018-3639 (投機的ストア バイパス) の緩和策と、CVE-2017-5715 (スペクター バリアント 2) および CVE-2017-5754 (メルトダウン) の既定の緩和策を有効にするには:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

注: AMD プロセッサは CVE-2017-5754 (メルトダウン) に対して脆弱ではありません。 AMD プロセッサを搭載したシステムでは、AMD プロセッサ用の既定の CVE-2017-5715 の緩和策と CVE-2018-3639 の緩和策を有効にするためにこのレジストリ キーが使用されています。

CVE-2018-3639 (投機的ストア バイパス) の緩和策と、CVE-2017-5715 (スペクター バリアント 2) および CVE-2017-5754 (メルトダウン) の緩和策の両方を無効にするには: 

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

AMD プロセッサのみ: CVE-2017-5715 (スペクター バリアント 2) と CVE-2018-3639 (投機的ストア バイパス) の完全な緩和策を有効にする


AMD プロセッサでは、既定で CVE-2017-5715 のユーザーとカーネル間の保護機能は無効です。 CVE-2017-5715 に対する追加の保護機能を利用するには、この緩和策を有効にする必要があります。  詳細については、ADV180002 の FAQ 15 を参照してください。

AMD プロセッサ上で CVE 2017-5715 に対する他の保護機能と CVE-2018-3639 (投機的ストア バイパス) に対する保護機能と共にユーザーとカーネル間の保護機能を有効にする: 

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

マイクロアーキテクチャ データ サンプリング (CVE-2018-11091、CVE-2018-12126、CVE-2018-12127、CVE-2018-12130)、スペクター (CVE-2017-5753、CVE-2017-5715) およびメルトダウン (CVE-2017-5754) のバリアント、投機的ストア バイパスの無効化 (SSBD) (CVE-2018-3639) および L1 Terminal Fault (L1TF) (CVE-2018-3615、CVE-2018-3620、CVE-2018-3646) の緩和策を管理する


ハイパースレッディングを無効にせずに、マイクロアーキテクチャ データ サンプリング (CVE-2018-11091CVE-2018-12126CVE-2018-12127CVE-2018-12130)、スペクター (CVE-2017-5753、CVE-2017-5715) およびメルトダウン (CVE-2017-5754) のバリアント、投機的ストア バイパスの無効化 (SSBD) (CVE-2018-3639) および L1 Terminal Fault (L1TF) (CVE-2018-3615、CVE-2018-3620、CVE-2018-3646) の緩和策を有効にするには:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Hyper-V 機能がインストールされている場合は、次のレジストリ設定を追加します。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

Hyper-V ホストで、ファームウェアの更新プログラムを適用済みの場合: すべての仮想マシンを完全にシャットダウンします。 こうすることで、VM を起動する前に、ファームウェア関連の緩和策をホストに適用できます。 そのため、VM は再起動時にも更新されます。

変更を有効にするために、コンピューターを再起動します。

ハイパースレッディングを無効にした状態で、マイクロアーキテクチャ データ サンプリング (CVE-2018-11091CVE-2018-12126CVE-2018-12127CVE-2018-12130)、スペクター (CVE-2017-5753、CVE-2017-5715) およびメルトダウン (CVE-2017-5754) のバリアント、投機的ストア バイパスの無効化 (SSBD) (CVE-2018-3639) および L1 Terminal Fault (L1TF) (CVE-2018-3615、CVE-2018-3620、CVE-2018-3646) の緩和策を有効にするには:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Hyper-V 機能がインストールされている場合は、次のレジストリ設定を追加します。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

Hyper-V ホストで、ファームウェアの更新プログラムを適用済みの場合: すべての仮想マシンを完全にシャットダウンします。 こうすることで、VM を起動する前に、ファームウェア関連の緩和策をホストに適用できます。 そのため、VM は再起動時にも更新されます。

変更を有効にするために、コンピューターを再起動します。

マイクロアーキテクチャ データ サンプリング (CVE-2018-11091CVE-2018-12126CVE-2018-12127CVE-2018-12130)、スペクター (CVE-2017-5753、CVE-2017-5715) およびメルトダウン (CVE-2017-5754) のバリアント、投機的ストア バイパスの無効化 (SSBD) (CVE-2018-3639) および L1 Terminal Fault (L1TF) (CVE-2018-3615、CVE-2018-3620、CVE-2018-3646) の緩和策を無効にするには:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

変更を有効にするために、コンピューターを再起動します。

保護が有効であることを確認する


保護が有効になったかどうかを確認するために、マイクロソフトは、ユーザーのシステムで実行できる PowerShell スクリプトをリリースしました。 スクリプトをインストールして実行するには、次のコマンドを実行します。

PowerShell ギャラリーを使用した PowerShell の検証 (Windows Server 2016 または WMF 5.0/5.1)

PowerShell モジュールをインストールする:

PS> Install-Module SpeculationControl

保護が有効であることを確認する PowerShell モジュールを実行します。

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module SpeculationControl

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

TechNet からのダウンロードを使用した PowerShell の検証 (以前のオペレーティング システム バージョンと以前の WMF バージョン)

Technet ScriptCenter から PowerShell モジュールをインストールします。

https://aka.ms/SpeculationControlPS にアクセスします

SpeculationControl.zip をローカル フォルダーにダウンロードします。

内容をローカル フォルダー (C:\ADV180002 など) に抽出します

保護が有効であることを確認する PowerShell モジュールを実行します。

PowerShell を起動し、(上記の例を使用して) 次のコマンドをコピーして実行します。

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module .\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser


PowerShell スクリプトの出力の詳細については、サポート技術情報 4074629 を参照してください。

よく寄せられる質問