注
- 元の発行日: 2024 年 8 月 13 日
- KB ID: 5042562
注
- Windows 10 のサポートは 2025 年 10 月 14 日に終了しました
- 2025 年 10 月 14 日以降、Windows Update を介した Windows 10 の無料ソフトウェア更新プログラム、テクニカル サポート、セキュリティ修正プログラムが、Microsoft から提供されなくなります。 お使いの PC は引き続き機能しますが、Windows 11 に移行することを推奨します。
- 詳細情報
SkuSiPolicy.p7b ポリシーに関する重要な注意
更新されたポリシーを適用する手順については、「 Microsoft が署名した失効ポリシーの展開 (SkuSiPolicy.p7b)」 セクションを参照してください。
この記事の内容
概要
Microsoft は、管理者特権を持つ攻撃者が古いバージョンの更新された Windows システム ファイルを置き換えることを許可し、攻撃者が 仮想化ベースのセキュリティ (VBS) に脆弱性を再導入する門を開くことができる Windows の脆弱性を認識しました。 これらのバイナリをロールバックすると、攻撃者は VBS のセキュリティ機能を回避し、VBS によって保護されているデータを流出させる可能性があります。 この問題については、CVE-2024-21302 |Windows セキュア カーネル モードの特権の昇格の脆弱性。
この問題を解決するために、更新されていない脆弱な VBS システム ファイルを取り消します。 ブロックする必要がある VBS 関連ファイルの数が多いため、別の方法を使用して、更新されていないファイル バージョンをブロックします。
影響の範囲
VBS をサポートするすべての Windows デバイスは、この問題の影響を受けます。 これには、オンプレミスの物理デバイスと仮想マシン (VM) が含まれます。 VBS は、Windows 10 以降の Windows バージョン、および Windows Server 2016 以降のバージョンの Windows Server でサポートされています。
VBS の状態は、 Microsoft システム情報ツール (Msinfo32.exe) を使用して確認できます。 このツールは、デバイスに関する情報を収集します。 Msinfo32.exeを開始したら、仮想化ベースのセキュリティ の行までスクロールします。 この行の値が Running の場合、VBS が有効であり、実行されています。
VBS の状態は、Win32_DeviceGuard WMI クラスを使用して Windows PowerShell で確認することもできます。 PowerShell から VBS の状態を照会するには、管理者特権のWindows PowerShell セッションを開き、次のコマンドを実行します:
注
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
上記の PowerShell コマンドを実行した後、VBS の状態は次のいずれかになります。
| フィールド名 | ステータス |
|---|---|
| VirtualizationBasedSecurityStatus |
|
利用可能な軽減策
サポートされているすべてのバージョンの Windows 10 Version 1507 以降の Windows バージョン、および Windows Server 2016 以降の Windows Server バージョンでは、管理者は Microsoft が署名した失効ポリシー (SkuSiPolicy.p7b) を展開できます。 これにより、更新されていない VBS システム ファイルの脆弱なバージョンがオペレーティング システムによって読み込まれなくなります。
SkuSiPolicy.p7b が Windows デバイスに適用されると、UEFI ファームウェアに変数を追加することで、ポリシーもデバイスにロックされます。 起動時にポリシーが読み込まれると、Windows はポリシーに違反するバイナリの読み込みをブロックします。 UEFI ロックが適用され、ポリシーが削除または古いバージョンに置き換えられた場合、Windows ブート マネージャーは起動せず、デバイスは起動しません。 この起動エラーはエラーを表示せず、システムは次に使用可能なブート オプションに進み、ブート ループが発生する可能性があります。
既定で有効になっており、UEFI にバインドされていない追加のデプロイ手順を必要としない、Microsoft が署名した CI ポリシーが追加されました。 この署名された CI ポリシーは起動中に読み込まれ、このポリシーを適用すると、その起動セッション中に VBS システム ファイルがロールバックされなくなります。 SkuSiPolicy.p7b とは異なり、更新プログラムがアンインストールされてもデバイスは起動を続行できます。 このポリシーは、サポートされているすべてのバージョンの Windows 10 Version 1507 以降に含まれています。 SkuSkiPolicy.p7b は引き続き管理者が適用して、ブート セッション間のロールバックに対する追加の保護を提供できます。
PC のブートの正常性を証明するために使用される Windows メジャー ブート ログには、ブート プロセス中に読み込まれたポリシーのバージョンに関する情報が含まれます。 これらのログは起動時に TPM によって安全に維持され、Microsoft 構成証明サービスはこれらのログを解析して、正しいポリシー バージョンが読み込まれていることを確認します。 構成証明サービスは、特定のポリシー バージョン以上が読み込まれることを保証する規則を強制します。そうでない場合、システムは正常として証明されません。
ポリシーの軽減策を機能させるには、Windows のコンポーネントとポリシーが同じリリースのものである必要があるため、Windows サービス更新プログラムを使用してポリシーを更新する必要があります。 ポリシーの軽減策がデバイスにコピーされている場合、間違ったバージョンの軽減策が適用されているとデバイスが起動しないか、軽減策が期待どおりに機能しない可能性があります。 さらに、 KB5025885 で説明されている軽減策をデバイスに適用する必要があります。
Windows 11 バージョン 24H2、Windows Server 2022、Windows Server 23H2 では、Dynamic Root of Trust for Measurement (DRTM) により、ロールバックの脆弱性の追加の軽減策が追加されます。 この軽減策は既定で有効になっています。 これらのシステムでは、VBS で保護された暗号化キーは、既定で有効なブート セッション VBS CI ポリシーにバインドされ、一致する CI ポリシー バージョンが強制されている場合にのみシールが解除されます。 ユーザーが開始するロールバックを有効にするために、VSM マスター キーの封印を解除する機能を失うことなく、1 つのバージョンの Windows 更新プログラム パッケージの安全なロールバックを可能にする猶予期間が追加されました。 ただし、ユーザーが開始したロールバックは、SkuSiPolicy.p7b が適用されていない場合にのみ可能です。 VBS CI ポリシーは、すべてのブート バイナリが失効されたバージョンにロールバックされていないことを強制します。 つまり、管理者特権を持つ攻撃者が脆弱なブート バイナリをロールバックしても、システムは起動しません。 CI ポリシーとバイナリの両方を以前のバージョンにロールバックすると、VSM で保護されたデータは封印解除されません。
軽減策のリスクについて
Microsoft が署名した失効ポリシーを適用する前に、潜在的なリスクに注意する必要があります。 これらのリスクを確認し、軽減策を適用する前に回復メディアに必要な更新を行ってください。
注釈 これらのリスクは SkuSiPolicy.p7b ポリシーにのみ適用され、既定で有効な保護には適用されません。
- UEFI のロックと更新プログラムのアンインストール。 デバイスに Microsoft が署名した失効ポリシーを使用して UEFI ロックを適用した後、セキュア ブートを引き続き適用する場合、(Windows 更新プログラムのアンインストール、復元ポイントの使用、またはその他の方法を使用して) デバイスを元に戻すことはできません。 ディスクを再フォーマットしても、既に適用されている場合は、軽減策の UEFI ロックは削除されません。 つまり、軽減策が適用されていない以前の状態に Windows OS を戻そうとすると、デバイスは起動せず、エラー メッセージは表示されず、UEFI は次に使用可能なブート オプションに進みます。 これにより、ブート ループが発生する可能性があります。 UEFI ロックを削除するには、セキュア ブートを無効にする必要があります。 この記事で説明されている失効をデバイスに適用する前に、考えられるすべての影響を認識し、徹底的にテストしてください。
- 外部ブート メディア。 UEFI ロックの軽減策がデバイスに適用された後、デバイスにインストールされている最新の Windows 更新プログラムで外部ブート メディアを更新する必要があります。 外部ブート メディアが同じ Windows 更新プログラム バージョンに更新されていない場合、デバイスはそのメディアから起動しない可能性があります。 軽減策を適用する前に、「外部ブート メディアの更新 」セクションの手順を参照してください。
- Windows 回復環境。 SkuSipolicy.p7b をデバイスに適用する前に、デバイス上の Windows 回復環境 (WinRE) を 2025 年 7 月 8 日にリリースされた最新の Windows セーフ OS 動的更新プログラムで更新する必要があります。 この手順を省略すると、WinRE で PC のリセット機能を実行できなくなる可能性があります。 詳細については、「Windows RE に更新プログラム パッケージを追加する」を参照してください。
- プリブート実行環境 (PXE) ブート。 軽減策がデバイスに展開されている場合に、PXE ブートを使用しようとすると、最新の Windows 更新プログラムが PXE サーバー ブート イメージにも適用されない限り、デバイスは起動しません。 PXE ブート サーバーが、PXE ブート マネージャーを含め、2025 年 1 月以降にリリースされた最新の Windows 更新プログラムに更新されていない限り、ネットワーク ブート ソースに軽減策を展開することはお勧めしません。
軽減策の展開ガイドライン
この記事で説明されている問題に対処するには、Microsoft が署名した失効ポリシー (SkuSiPolicy.p7b) を展開します。 この軽減策は、Windows 10 バージョン 1507 以降の Windows バージョン、および Windows Server 2016 でのみサポートされています。
注釈 BitLocker を使用する場合は、BitLocker 回復キーがバックアップされていることを確認してください。 管理者のコマンド プロンプトから次のコマンドを実行し、48 桁の数字のパスワードをメモします:
注
manage-bde -protectors -get %systemdrive%
Microsoft が署名した失効ポリシー (SkuSiPolicy.p7b) の展開
Microsoft が署名した失効ポリシーは、最新の Windows 更新プログラムの一部として含まれています。 このポリシーは、利用可能な最新の Windows 更新プログラムをインストールすることによってデバイスにのみ適用する必要があります。その後、次の手順に従います。
注釈 更新プログラムが存在しない場合、軽減策が適用された状態でデバイスが起動しないか、軽減策が期待どおりに機能しない可能性があります。 ポリシーを展開する前に、起動可能な Windows メディアを利用可能な最新の Windows 更新プログラムで更新してください。 起動可能なメディアを更新する方法の詳細については、「 外部ブート メディアの更新 」セクションを参照してください。
2025 年 1 月以降にリリースされた最新の Windows 更新プログラムがインストールされていることを確認します。
- Windows 11 バージョン 22H2 および 23H2 の場合は、これらの手順に従う前に、2025 年 7 月 22 日 (KB5062663) 以降の更新プログラムをインストールしてください。
- Windows 10 バージョン 21H2 の場合は、次の手順に従う前に、2025 年 8 月にリリースされた Windows 更新プログラム以降の更新プログラムをインストールします。
管理者特権の Windows PowerShell プロンプトで次のコマンドを実行します:
注
$PolicyBinary = $env:windir+"\System32\SecureBootUpdates\SkuSiPolicy.p7b"
$MountPoint = 's:'
$EFIDestinationFolder = "$MountPoint\EFI\Microsoft\Boot"
mountvol $MountPoint /S
if (-not (test-path $EFIDestinationFolder)) { New-Item -path $EFIDestinationFolder -type directory -force }
Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
mountvol $MountPoint /Dデバイスを再起動します。
Windows イベント ログ セクションの情報を使用して、ポリシーがイベント ビューアーに読み込まれたかどうかを確認します。
注
- SkuSiPolicy.p7b 失効 (ポリシー) ファイルは、展開後に削除しないでください。 ファイルが削除されると、デバイスが起動できなくなる可能性があります。
- デバイスが起動しない場合は、「 回復手順」 セクションを参照してください。
外部ブート メディアを更新しています
Microsoft が署名した失効ポリシーが適用されているデバイスで外部ブート メディアを使用するには、ブート マネージャーを含む最新の Windows 更新プログラムで外部ブート メディアを更新する必要があります。 メディアに最新の Windows Update が含まれていない場合、メディアは起動しません。
重要 先に進む前に 、回復ドライブを作成する ことをお勧めします。 このメディアは、大きな問題が発生した場合にデバイスを再インストールするために使用できます。
外部ブート メディアを更新するには、次の手順に従います:
- 最新の Windows 更新プログラムがインストールされているデバイスに移動します。
- 外部ブート メディアをドライブ文字としてマウントします。 たとえば、サム ドライブを D: としてマウントします。
- [開始] をクリックし、[検索] ボックスに 「回復ドライブの作成」 と入力し、[回復ドライブの作成コントロール パネル] クリックします。 指示に従って、マウントされたサム ドライブを使用して回復ドライブを作成します。
- マウントされたサム ドライブを安全に取り外します。
動的更新ガイダンス 付きの Windows インストール メディアの更新 を使用して、環境内のインストール可能なメディアを管理する場合は、次の手順に従います。
- 最新の Windows 更新プログラムがインストールされているデバイスに移動します。
- 「 動的更新による Windows インストール メディアの更新 」の手順に従って、最新の Windows 更新プログラムがインストールされたメディアを作成します。
Windows イベント ログ
Windows では、SkuSiPolicy.p7b を含むコード整合性ポリシーが読み込まれ、ポリシーの適用のためにファイルの読み込みがブロックされたときにイベントがログに記録されます。 これらのイベントを使用して、軽減策が適用されていることを確認できます。
コード整合性ログは、Windows イベント ビューアーの [アプリケーションとサービス ログ]>Microsoft>Windows>CodeIntegrity>Operational>アプリケーションとサービス ログ>サービス ログ>Microsoft>Windows>AppLocker>MSI、スクリプト) で確認できます。
コード整合性イベントの詳細については、 『Windows Defender アプリケーション制御 (Windows Defender)] 操作ガイドを参照してください。
ポリシーのアクティブ化イベント
ポリシーのアクティブ化イベントは、Windows イベント ビューアーの [アプリケーションとサービス ログ]>Microsoft>Windows>CodeIntegrity>Operational にあります。
- PolicyNameBuffer – Microsoft Windows SKU SI Policy
- PolicyGUID – {976d12c8-cb9f-4730-be52-54600843238e}
- PolicyHash – 107E8FDD187C34CF8B8EA46A4EE99F0DB60F491650DC989DB71B4825DC73169D
監査ポリシーまたは軽減策をデバイスに適用していて、適用されたポリシーの CodeIntegrity イベント 3099 が存在しない場合、ポリシーは適用されていません。 ポリシーが正しくインストールされたことを確認するには「デプロイ手順」を参照してください。
注
- 注釈コード整合性イベント 3099 は、Windows 10 Enterprise 2016、Windows Server 2016、および Windows 10 Enterprise 2015 LTSB のバージョンではサポートされていません。 ポリシー (監査または失効ポリシー) が適用されていることを確認するには、mountvol.exe コマンドを使用して EFI システム パーティションをマウントし、ポリシーが EFI パーティションに適用されていることを確認する必要があります。 検証後、必ず EFI システム パーティションのマウントを解除してください。
- SkuSiPolicy.p7b - 失効ポリシー
-
イベントの監査とブロック
コード整合性の監査およびブロック イベントは、Windows イベント ビューアー の [アプリケーションとサービス ログ]>Microsoft>Windows>CodeIntegrity>Operational>アプリケーションとサービス ログ>Microsoft>Windows>AppLocker>MSI、スクリプト) で確認できます。
以前のログの場所には、実行可能ファイル、dll、およびドライバーの制御に関するイベントが含まれています。 後者のログの場所には、MSI インストーラー、スクリプト、および COM オブジェクトの制御に関するイベントが含まれます。
"CodeIntegrity – Operational" ログの CodeIntegrity イベント 3077 は、実行可能ファイル、.dll、またはドライバーの読み込みがブロックされたことを示します。 このイベントには、ブロックされたファイルと、適用されたポリシーに関する情報が含まれます。 軽減策によってブロックされたファイルの場合、CodeIntegrity イベント 3077 のポリシー情報は、CodeIntegrity イベント 3099 の SkuSiPolicy.p7b のポリシー情報と一致します。 デバイスのコード整合性ポリシーに違反する実行可能ファイル、.dll、またはドライバーがない場合、CodeIntegrity イベント 3077 は存在しません。
その他のコード整合性の監査およびブロック イベントについては、「 アプリケーション制御イベントについて」を参照してください。
ポリシーの削除と回復の手順
軽減策の適用後に問題が発生した場合は、次の手順を使用して軽減策を削除できます:
BitLocker が有効になっている場合は中断します。 管理者特権でのコマンド プロンプト ウィンドウで、次のコマンドを実行します:
注
Manager-bde -protectors -disable c: -rebootcount 3
UEFI BIOS メニューから セキュア ブート をオフにします。
セキュア ブートをオフにする手順は、デバイスの製造元とモデルによって異なります。 セキュア ブートをオフにする場所の特定については、デバイスの製造元のドキュメントを参照してください。 詳細については、「 セキュア ブートの無効化」を参照してください。
SkuSiPolicy.p7b ポリシーを削除します。
Windows を通常どおりに起動し、サインインします。
SkuSiPolicy.p7b ポリシーは、次の場所から削除する必要があります:
- <EFI システム パーティション>\Microsoft\Boot\SkuSiPolicy.p7b
管理者特権の Windows PowerShell セッションから次のコマンドを実行して、それらの場所からポリシーをクリーンアップします。
注
$PolicyBinary = $env:windir+"\System32\SecureBootUpdates\SkuSiPolicy.p7b" $MountPoint = 's:' $EFIPolicyPath = "$MountPoint\EFI\Microsoft\Boot\SkuSiPolicy.p7b" $EFIDestinationFolder="$MountPoint\EFI\Microsoft\Boot" mountvol $MountPoint /S if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force } if (Test-Path $EFIPolicyPath ) {Remove-Item -Path $EFIPolicyPath -Force } mountvol $MountPoint /D
BIOS から セキュア ブート を有効にします。
セキュア ブートを有効にする場所を特定するには、デバイスの製造元のドキュメントを参照してください。
手順 1 でセキュア ブートをオフにし、ドライブが BitLocker によって保護されている場合は、 BitLocker 保護を中断 し、 UEFI BIOS メニューからセキュア ブートをオンにします。
BitLocker をオンにします。 管理者特権でのコマンド プロンプト ウィンドウで、次のコマンドを実行します:
注
Manager-bde -protectors -enable c:
デバイスを再起動します。
この記事に加えられた変更
| 日付の変更 | 説明 |
|---|---|
| 2025 年 12 月 17 日 |
|
| 2025 年 7 月 22 日 |
|
| 2025 年 7 月 10 日 |
|
| 2025 年 4 月 8 日 |
|
| 2025 年 2 月 24 日 |
|
| 2025 年 2 月 11 日 |
|
| 2025 年 1 月 14 日 |
|
| 2024 年 11 月 12 日 |
|