連載
» 2018年01月17日 05時00分 公開

山市良のうぃんどうず日記(117:緊急特別編):緊急パッチだけではプロセッサ脆弱性対策は不十分――Spectre&Meltdown対策状況を再チェック (2/4)

[山市良,テクニカルライター]

「SpeculationControl」モジュールで対策状況をチェック!

 2018年1月の緊急パッチは、脆弱性を根本的に解決するものではなく、“脆弱性のリスクを軽減する”機能を提供するものです。また、今回の問題はプロセッサの脆弱性であり、緊急パッチに含まれる軽減策のうち、CVE-2017-5715に対する軽減策は、プロセッサのマイクロコードの更新と併せて初めて機能します。通常、マイクロコードの更新はBIOSやファームウェアの更新として、PCベンダーから提供されます。つまり、Microsoftが提供するパッチを適用しただけでは不十分なのです。

 Microsoftは緊急パッチの提供と併せて、パッチおよび軽減策の対策状況をチェックするためのWindows PowerShell用「SpeculationControl」モジュール(Get-SpeculationControlSettingsファンクション)を提供しています。Windows 10、Windows Server 2016、Windows Server バージョン1709の場合は、Windows PowerShellまたはPowerShell ISE(Integrated Scripting Environment)を開き、以下の2つのコマンドラインを実行します(「-Scope CurrentUser」オプションを指定する場合は、Windows PowerShellを管理者として開く必要はありません)。

PS C:\> Install-Module SpeculationControl -Scope CurrentUser
PS C:\> Get-SpeculationControlSettings

 なお、Get-SpeculationControlSettingsコマンドレットを実行するには、Windows PowerShellの実行ポリシーを変更する必要があります。それには、次のコマンドラインを実行して、一時的に実行ポリシーを「RemoteSigned」に変更してください。

PS C:\> $SaveExecutionPolicy = Get-ExecutionPolicy
PS C:\> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
PS C:\> Get-SpeculationControlSettings
PS C:\> Set-ExecutionPolicy $SaveExecutionPolicy -Scope CurrentUser

 2018年1月15日現在のモジュールのバージョンは「1.0.4」です。さらに更新されたバージョンが提供されている場合がありますので、以下の2つのコマンドラインで確認、更新してください。

PS C:\> Get-Command Get-SpeculationControlSettings(またはGet-InstalledModule SpeculationControl)
PS C:\> Update-Module SpeculationControl

 対策の実施と確認が完了し、モジュールをアンインストールする場合は、以下の2つのコマンドラインを実行します。「Update-Module」を実行して新しいバージョンをインストールした場合は、「Get-InstalledModule」の結果からモジュールが消えるまで「Uninstall-Module」のコマンドラインを繰り返し実行してください。

PS C:\> Uninstall-Module SpeculationControl
PS C:\> Get-InstalledModule SpeculationControl

 Windows 8.1およびWindows Server 2012 R2以前の場合は、以下のTechNetスクリプトセンターのサイトから「SpeculationControl.zip」をダウンロードして、「SpeculationControl」モジュールをインポートすることで、Get-SpeculationControlSettignsを実行できるようになります。

 具体的な操作手順については、TechNetスクリプトセンターの説明か、クライアント向けのガイダンスに従ってください。

 Get-SpeculationControlSettignsを実行したら、「Suggested actions」の表示を確認してください。「Suggested actions」が表示されなければ、現時点で可能な対策は全て実施済みです。追加の対策が必要な場合は、次の3つのいずれか(または全て)が表示されます。

  • Install BIOS/firmware update provided by your device OEM that enables hardware support for the branch target injection mitigation.(PCベンダーが提供するBIOS/ファームウェアの更新のインストールが必要)

  • Install the latest available updates for Windows with support for speculation control mitigations.(今回の緊急パッチまたはより新しいセキュリティ更新のインストールが必要)

  • Follow the guidance for enabling Windows Client support for speculation control mitigations described in https://support.microsoft.com/help/4073119(Windows Serverの場合で、軽減策が有効化されていない)

 以下の画面1は、現時点で利用可能な全ての対策が完了しているWindows 10 バージョン1709のGet-SpeculationControlSettingsの実行結果です。オールグリーンの状態であることに注目してください。

画面1 画面1 対策済みのWindows 10 バージョン1709でGet-SpeculationControlSettingsを実行した結果

 画面2は、緊急パッチをインストールする前のWindows 7の状態です。なお、x86版のWindows 7では、現状、パッチのインストールとファームウェアの更新が完了しても、CVE-2017-5754については軽減策が有効化されることはありません(前出の表1を参照)。

画面2 画面2 緊急パッチ未適用のWindows 7でGet-SpeculationControlSettingsを実行した結果

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。