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

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

概要


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

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

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

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

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

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

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

推奨される操作


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

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

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

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


セキュリティ アドバイザリ ADV180002ADV180012 には、このような脆弱性によるリスクに関する情報が提供され、Windows クライアント システムの既定の緩和策の既定の状態が記載されています。次の表は、CPU マイクロコードの要件と、Windows クライアント上の緩和策の既定の状態をまとめたものです。

CVE

CPU マイクロコードは必要?

緩和策の既定の状態

CVE-2017-5753

いいえ

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

CVE-2017-5715

はい

既定で有効。AMD プロセッサ ベースのシステムを利用している場合、追加の措置については ADV180002 の FAQ 15 を参照してください。適用できるレジストリ キー設定についてはこちらのサポート技術情報を参照してください。

CVE-2017-5754

いいえ

既定で有効

CVE-2018-3639

はい

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

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

スイッチ | レジストリ設定


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

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

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

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

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) の緩和策を管理する


Intel は新しいマイクロコードをテスト、更新、および展開していますが、マイクロソフトは、影響を受けるデバイスをお使いの上級ユーザー向けに、レジストリ設定を変更して、スペクター バリアント 2 (CVE 2017-5715 – 「ブランチ ターゲットのインジェクション」) に対する緩和策の有効/無効を個別に手動で切り替える新しい選択肢を提供しています。

マイクロコードをインストール済みで、予期しない再起動やシステムの安定性の問題が発生しているため、CVE-2017-5715 の緩和策を無効にする場合は、次の手順を実行します。

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

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 プロセッサ (CPU) 上のスペクター バリアント 2 の間接分岐予測バリア (IBPB) の使用を有効にする


一部の AMD プロセッサ (CPU) には、間接分岐予測バリア (IBPB) メカニズムを介してブランチ ターゲット インジェクションを緩和するための間接分岐制御機能があります。(詳細については、ADV180002 の FAQ 15、「 AMD Architecture Guidelines around Indirect Branch Control」(英語情報)、および「AMD Security Updates」(英語情報) を参照してください)。

ユーザー コンテキストからカーネル コンテキストに切り替えるときに IBPB を制御するには、次の手順を実行します。

ユーザー コンテキストからカーネル コンテキストに切り替えるときに間接分岐予測バリア (IBPB) で有効にするには、次の手順を実行します。

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

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

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

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

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


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

よく寄せられる質問


CPU のマイクロコードが適切なバージョンであるかどうかを確認するにはどうすればよいですか。

マイクロコードはファームウェアの更新プログラムを介して配布されます。特定のデバイスに適用されるファームウェアのセキュリティ更新プログラムの提供については、Intel の「Microcode Revision Guidance」(英語情報) など、CPU (チップセット) およびデバイスの製造元にお問い合わせください。