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

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

概要


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

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

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

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

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

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

他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

推奨される操作


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

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

Windows Server の緩和策の設定


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

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

CVE-2017-5753

いいえ

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

CVE-2017-5715

はい

既定で無効。

CVE-2017-5754

いいえ

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

CVE-2018-3639

Intel: はい

AMD: いいえ

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

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

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

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

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

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

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

 

322756 Windows でレジストリをバックアップおよび復元する方法

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


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

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

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

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

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

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

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

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


保護が有効になったかどうかを確認するために、マイクロソフトは、ユーザーのシステムで実行できる 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 を参照してください。 

よく寄せられる質問


関連情報