Ashampoo SpectreMeltdownCheck.exeの初期バージョンに不具合

最終更新日

Ashampoo SpectreMeltdownCheck.exeとは

2018年1月のWindows Updateで配布された更新プログラムの中に、MeltdownSpectreと名付けられたCPUの脆弱性への対策が含まれていました。(一部の環境では未配布)

その脆弱性対策(Windowsで講じた分のみ)がWindows上で有効になっているか、簡単にチェックするツールです。Ashampoo社が無償配布してくれているものです。

Ashampoo Spectre Meltdown CPU Checker
https://www.ashampoo.com/en/usd/pin/1304/security-software/spectre-meltdown-cpu-checker

v1.0.0を使ったら、PowerShellのスクリプト実行ポリシーが変更されまま、元に戻らない。

v1.0.0にバグがありました。(2018/01/12の夜にダウンロードしたもの)

SpectreMeltdownCheck.exe v1.0.0のプロパティ

v1.1.0は修正済でした。(2018/01/13夕方にダウンロード)

SpectreMeltdownCheck.exe v1.0.0 実行時の様子

※ 画像はWindows10のものです。

チェック開始前

SpectreMeltdownCheck.exe v1.0.0 チェック開始前の状態

PowerShellのスクリプト実行ポリシーは、全てUndefinedRestrictedです。これでデフォルト値となっています。(Windowsバージョンによっては、デフォルト値がRestricted以外の場合があります)

※ Restricted … 全てのスクリプトが実行禁止。
Undefined … 未定義。一度もポリシーが変更されたことがない場合の表示。

チェック後半

SpectreMeltdownCheck.exe v1.0.0 チェック後半の状態

CurrentUserのポリシーがRemoteSignedになりました。

※ RemoteSigned … ローカルに保存されているスクリプトは実行可能。インターネットからダウンロードしたスクリプトは、署名されているものだけが実行可能。

チェック終了間際

SpectreMeltdownCheck.exe v1.0.0 チェック終了間際の状態

CurrentUserのポリシーがなぜかBypassになりました。終了後もBypassのまま。

※ Bypass … 警告やユーザーへの確認なしに、全てのスクリプトが実行可能。

ノーガードなBypassのままにしておくと、PowerShellスクリプトを悪用した攻撃を防げなくなる可能性があります。あわててデフォルトに戻しました。

SpectreMeltdownCheck.exeの診断結果について

上の画像は、Windowsの修正パッチをインストールした後の診断結果です。

赤い画面に「あなたのプロセッサーに脆弱性が発見されました! Spectre 脆弱、Meltdown 安全」と表示されています。が、あわてる必要はありません。修正パッチのインストールは成功しています。

Windows Updateの修正プログラムに含まれる脆弱性対策は、インストールしただけではその全部が有効になるわけではありません。さらにハードウェア側でも対策が必要だそうです。(マザーボードのBIOS更新等)

[追記] 2018年1月末時点では、この脆弱性への対策としてIntelが配布したマイクロコード(BIOSに組み込まれる)に問題があります。それを適用したBIOSに更新したPCが、再起動を繰り返す等の現象が起きています。問題が解決されるまでは、件のBIOSへの更新を見送るように推奨されています。

PowerShellのスクリプト実行ポリシーをデフォルトに戻す方法

PowerShellで作業する場合

  1. PowerShellを起動

    ファイル名を指定して実行 (Windowsキー + R) → PowerShell
    or PowerShell_ISE

  2. 現在の実行ポリシー設定を確認する

    Get-ExecutionPolicy -list

  3. CurrentUserの実行ポリシーをRestrictedにする。

    Set-ExecutionPolicy -Scope CurrentUser Restricted

    または、Set-ExecutionPolicy -Scope CurrentUser Default

  4. もう一度、実行ポリシー設定を確認

    Get-ExecutionPolicy -list

PowerShell画面。PowerShellコマンド実行後

コマンドプロンプトで作業する場合

  1. コマンドプロンプトを起動

    ファイル名を指定して実行 (Windowsキー + R) → cmd

  2. 現在の実行ポリシー設定を確認する

    PowerShell -Command "Get-ExecutionPolicy -list"

  3. CurrentUserの実行ポリシーをRestrictedにする。

    PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Restricted"

    または、PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Default"

  4. もう一度、実行ポリシー設定を確認

    PowerShell -Command "Get-ExecutionPolicy -list"

関連記事