Windows
 Computer >> コンピューター >  >> システム >> Windows

WindowsがMeltdown・Spectre脆弱性の対策済みか確認する方法(PowerShellスクリプト)

MicrosoftはすでにMeltdown(メルトダウン)およびSpectre(スペクター)の脆弱性に対する緊急修正プログラムを公開しています。しかし、これらの脆弱性は非常に複雑であるうえ、一部のウイルス対策ソフトとの互換性の問題もあるため、Windowsシステムが完全にパッチ適用されているとは限りません。通常のWindows Update画面ではパッチの適用状況について詳しい情報は得られませんが、Microsoftはシステムが完全に保護されているかどうかを確認できるシンプルなPowerShellスクリプトを公開しています。この記事では、そのスクリプトを使ってシステムの状態を確認する手順を紹介します。

まずはWindowsを最新の状態に更新

確認作業の前に、まずWindows自体を最新の状態に更新しておきましょう。キーボードショートカットの「Win + I」で設定アプリを開き、「更新とセキュリティ」を選択します。

次に「更新プログラムのチェック」ボタンをクリックし、利用可能な更新プログラムがあればすべてインストールします。完了したら、システムが完全にパッチ適用されているかどうかの確認に進みましょう。

システムがパッチ適用済みか確認する

Microsoftは、MeltdownとSpectreへの対策が適用されているかどうかを教えてくれるシンプルなPowerShellスクリプトを提供しています。必要なのは、スクリプトをダウンロードしてPowerShell上で実行することだけです。なお、以下の手順はWindows 7やWindows 8でも同様に利用できます。

Windowsの多くの操作と同じように、スクリプトの実行には管理者権限が必要です。スタートメニューで「PowerShell」と検索し、右クリックして「管理者として実行」を選択してください。

ただし、管理者権限を持っていても、PowerShellはダウンロードしたスクリプトをそのまま実行できません。これはPowerShellがデフォルトで制限モードになっているためです。現在の実行ポリシーは、以下のコマンドで確認できます。

Get-ExecutionPolicy

スクリプトをダウンロードして実行するには、実行ポリシーを変更する必要があります。以下のコマンドを実行してください。

Set-ExecutionPolicy RemoteSigned

確認を求められたら「A」と入力してEnterキーを押します。これで実行ポリシーが「RemoteSigned」に変更されます。心配いりません。後で元の設定に戻すことも可能です。

ポリシーを変更したら、以下のコマンドで検証スクリプトをダウンロードしてインストールします。

Install-Module SpeculationControl

インストール中にNuGetの更新を求められたら「Y」と入力して続行します。「信頼されていないリポジトリ」に関する警告が表示される場合もありますが、無視して「A」と入力しEnterキーを押せばインストールできます。

注意:「コマンドが認識されない」というエラーが表示される場合は、「Speculation Control Validation PowerShell Script」をダウンロードし、デスクトップ上のフォルダーに展開してください。フォルダーを開き、Shiftキーを押しながら右クリックして「PowerShellウィンドウをここで開く」を選択すれば、その場所からスクリプトを実行できます。

インストールが完了したら、以下のコマンドでスクリプトをインポートします。

Import-Module SpeculationControl

スクリプトのインストールとインポートが正常に完了したら、いよいよシステムのチェックを行えます。以下のコマンドを実行してください。

Get-SpeculationControlSettings

コマンドを実行すると、スクリプトがシステムをスキャンし、次のような結果を出力します。

上記の画像と同じ結果が表示された場合、Meltdownバグからは保護されているものの、Spectreバグについては不完全なパッチしか適用されていないことを意味します。

これは、CPUの仕組み上、Spectreの脆弱性はパッチを適用するのが難しいためです。OSレベルのパッチを完全に機能させるには、チップセットのファームウェア(BIOS/UEFI)の更新が必要になります。この更新は通常、お使いのPCメーカーの公式サイトからダウンロードできます。

チップセットのファームウェアを更新すると、Windowsが自動的に完全なパッチをインストールします。システムが完全に保護された状態になると、PowerShellウィンドウには赤ではなくすべて緑色で表示されます。

ただし、システムの年代やメーカーによっては、チップセットのファームウェア更新が提供されない場合もあります。とはいえ、Spectreバグは悪用が難しい脆弱性でもあります。さらに、Chrome、Firefox、Edge、Internet Explorerなどの主要なユーザーアプリケーションも、攻撃を可能な限り緩和するために更新が進められています。

そのため、より高いセキュリティを確保するには、Windowsシステムだけでなく、すべてのアプリケーションも忘れずに最新の状態へ更新しましょう。

すべての作業が終わったら、以下のコマンドで実行ポリシーを制限モードに戻しておくのがおすすめです。

Set-ExecutionPolicy Restricted

なお、単にシステムが完全にパッチ適用されているかどうかを確認したいだけであれば、実行ポリシーを「RemoteSigned」に戻す必要はありません。実行ポリシーの変更が必要になるのは、サードパーティ製のPowerShellスクリプトをインストールする場合だけです。

画像クレジット:Binary code

  1. Windows 10でBIOS起動時間を確認する方法とその意味

    タスクマネージャーでBIOS起動時間を確認する手順Windows 10のタスクマネージャー(Windows 8で初めて搭載された機能)には、システムの「最終BIOS時間(Last BIOS Time)」を確認できる機能が備わっています。確認するには、まずスタートメニュー、または「Ctrl + Shift + Esc」キーのショートカットからタスクマネージャーを起動しましょう。次に「スタートアップ」タブをクリックします。画面の右上に「最終BIOS時間」が表示されます。この数値は秒単位で示され、システムによって異なります。表示欄が空白になっている場合は、マザーボードのファームウェアがこの情報を提供

  2. Windows 10のアクティビティ履歴を確認・削除する方法|プライバシー保護のための手順ガイド

    パソコンやノートPCを何気なく使っていると、すべての操作が記録されていることを忘れがちです。Windows 10のパソコンにMicrosoftアカウントでログインしていて、そのアカウントを複数人で共有している場合、プライバシーが脅かされている可能性があることをご存じでしょうか。同じMicrosoftアカウントにアクセスできる他のユーザーは、あなたのアクティビティ履歴を見ることができてしまいます。Microsoftアカウントのパスワードを変更するのも一つの対策ですが、状況によってはパスワードを変更できないこともあります。そんなときは、アクティビティ履歴を確認して削除するのがおすすめです。個人情報