Windows Server を投機的実行のサイドチャネルの脆弱性から保護するためのガイダンス

適用対象: 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 から最新の更新プログラムをすべてインストールすることをお勧めします。

推奨される操作


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

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

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

Windows Server の緩和策の設定


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

CVE CPU マイクロコード/ファームウェアが必要? 緩和策の既定の状態

CVE-2017-5753

いいえ

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

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

CVE-2017-5715

はい

既定で無効。

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

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

CVE-2017-5754

いいえ

Windows Server 2019: 既定で有効。
Windows Server 2016 以前: 既定で無効。

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

CVE-2018-3639

Intel: はい

AMD: いいえ

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

CVE-2018-11091 Intel: はい

Windows Server 2019: 既定で有効。
Windows Server 2016 以前: 既定で無効。

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

Windows Server 2019: 既定で有効。
Windows Server 2016 以前: 既定で無効。

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

Windows Server 2019: 既定で有効。
Windows Server 2016 以前: 既定で無効。

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

Windows Server 2019: 既定で有効。
Windows Server 2016 以前: 既定で無効。

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

これらの脆弱性に対して利用できるすべての保護機能を利用するには、レジストリ キーを変更し、既定で無効なこれらの緩和策を有効にする必要があります。 

これらの緩和策を有効にすると、パフォーマンスが低下する可能性があります。 パフォーマンスへの影響度は、物理ホストの特定のチップセットや実行中のワークロードなど、複数の要因によって変わります。 実際の環境で発生するパフォーマンスの影響を評価し、必要に応じて調整することをお勧めします。

次のいずれかのカテゴリに該当する場合、サーバーの危険度は高くなります。

  • Hyper-V ホスト – VM 間および VM からホストへの攻撃から保護する必要があります。
  • リモート デスクトップ サービス ホスト (RDSH) – セッション間またはセッションからホストへの攻撃から保護する必要があります。
  • コンテナーなどの信頼されていないコード、データベース用の信頼されていない拡張機能、外部ソースから提供されたコードを実行する信頼されていない Web コンテンツまたはワークロードなどを実行している物理ホストまたは仮想マシン。 この場合、信頼されていないプロセスから別のプロセスへの攻撃、または信頼されていないプロセスからカーネルへの攻撃から保護する必要があります。

次のレジストリ キー設定を使用してサーバー上の緩和策を有効にして、変更を有効にするためにシステムを再起動します。

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

レジストリ設定


セキュリティ アドバイザリ ADV180002ADV180012ADV190013 に記載されているように、既定で有効ではない緩和策を有効にするために、次のレジストリ情報を提供しています。

また、Windows クライアント用の CVE-2017-5715 および CVE-2017-5754 に関連する緩和策を無効にしたいユーザー向けのレジストリ キー設定も提供しています。

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

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

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

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

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

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

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

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


注:
"有効" 設定でも "無効" 設定でも、FeatureSettingsOverrideMask を 3 に設定することをお勧めします。  (レジストリ キーの詳細については、「FAQ」セクションを参照してください)。

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


バリアント 2: (CVE-2017-5715 "ブランチ ターゲット インジェクション") の緩和策:  

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

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

バリアント 2: (CVE-2017-5715 "ブランチ ターゲット インジェクション") の緩和策:  

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 プロセッサのみ: CVE-2017-5715 (スペクター バリアント 2) の完全な緩和策を有効にする


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

AMD プロセッサ上で 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

マイクロアーキテクチャ データ サンプリング (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 モジュールをインストールします。

  1. https://aka.ms/SpeculationControlPS にアクセスします。
  2. SpeculationControl.zip をローカル フォルダーにダウンロードします。
  3. ローカル フォルダーにコンテンツを展開します。 例: 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 を参照してください。 

よく寄せられる質問


関連情報