メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

概要

Microsoft は、攻撃者がセキュア ブートをバイパスできるようにする Windows ブート マネージャーの脆弱性を認識しました。 ブート マネージャーの問題は修正され、セキュリティ更新プログラムとしてリリースされました。 残りの脆弱性は、管理者特権またはデバイスへの物理的なアクセス権を持つ攻撃者が、セキュリティ修正プログラムなしでブート マネージャーをバージョンにロールバックできるということです。 このロールバックの脆弱性は、CVE-2023-24932で説明されているセキュア ブートをバイパスするために BlackLotus マルウェアによって使用されています。 この問題を解決するために、脆弱なブート マネージャーを取り消します。

ブロックする必要があるブート マネージャーの数が多いため、ブート マネージャーをブロックする別の方法を使用しています。 これは、Windows 以外のオペレーティング システムでの攻撃ベクトルとして Windows ブート マネージャーが使用されないように、これらのシステムで修正プログラムを提供する必要がある点で、Windows 以外のオペレーティング システムに影響します。

詳細情報

脆弱な EFI アプリケーション バイナリがファームウェアによって読み込まれるのをブロックする方法の 1 つは、脆弱なアプリケーションのハッシュを UEFI 禁止一覧 (DBX) に追加することです。 DBX の一覧は、デバイスのファームウェア管理フラッシュに格納されます。 このブロッキング方法の制限は、DBX を格納するために使用できる限られたファームウェア フラッシュ メモリです。 この制限と、ブロックする必要がある多数のブート マネージャー (過去 10 年以上の Windows ブート マネージャー) のため、この問題の DBX に完全に依存することはできません。

この問題では、脆弱なブート マネージャーをブロックするハイブリッド方法を選択しました。 以前のバージョンの Windows でリリースされた少数のブート マネージャーのみが DBX に追加されます。 Windows 10 以降のバージョンでは、脆弱な Windows ブート マネージャーをブロックする Windows Defender Application Control (WDAC) ポリシーが使用されます。 ポリシーが Windows システムに適用されると、ブート マネージャーは UEFI ファームウェアに変数を追加することで、ポリシーをシステムに「ロック」します。 Windows ブート マネージャーは、ポリシーと UEFI ロックを優先します。 UEFI ロックが設定されていて、ポリシーが削除されている場合、Windows ブート マネージャーは起動しません。 ポリシーが設定されている場合、ブート マネージャーは、ポリシーによってブロックされている場合は起動しません。

脆弱な Windows ブート マネージャーをブロックするためのガイダンス

メモ 保護するタイミングを制御できるように、変数を適用するオプションをユーザーに付与する必要があります。

UEFI ロックを有効にすると、2023 年 5 月 9 日以降にリリースされた Windows 更新プログラムでメディアが更新されるまで、既存の起動可能な Windows メディアの起動が停止します。 メディアを更新するためのガイダンスについては 、「KB5025885: CVE-2023-24932 に関連するセキュア ブートの変更に対する Windows ブート マネージャーの失効を管理する方法」 を参照してください。

  • Windows 以外のオペレーティング システムのみを起動するセキュア ブート対応システムの場合

    Windows 以外のオペレーティング システムのみを起動し、Windows を起動しないシステムの場合は、これらの軽減策をすぐにシステムに適用できます。

  • Windows をデュアル ブートするシステムと別のオペレーティング システムの場合

    Windows 以外の軽減策は、Windows オペレーティング システムが 2023 年 5 月 9 日以降にリリースされた Windows 更新プログラムに更新された後にのみ適用する必要があります。

UEFI ロックを作成する

UEFI ロックには、Windows ブート マネージャーでのロールバック攻撃を防ぐために必要な 2 つの変数があります。 これらの変数は次のとおりです:

  • SKU SiPolicy 属性

    このポリシーには、次の属性があります。

    • ポリシーの種類 ID:

      {976d12c8-cb9f-4730-be52-54600843238e}

    • 「SkuSiPolicy.p7b」の特定のファイル名

    • EFI\Microsoft\Boot の特定の物理的な場所

    すべての署名済み WDAC ポリシーと同様に、署名された SKU ポリシーは 2 つの UEFI 変数によって保護されます。

    • SKU_POLICY_VERSION_NAME: “SkuSiPolicyVersion”

    • SKU_POLICY_UPDATE_POLICY_SIGNERS_NAME: “SkuSiPolicyUpdateSigners”

  • SKU SiPolicy 変数

    このポリシーでは、EFI 名前空間/ベンダー
    GUID (SECUREBOOT_EFI_NAMESPACE_GUID) に格納されている 2 つの UEFI 変数を使用します。

    #define SECUREBOOT_EFI_NAMESPACE_GUID \

    {0x77fa9abd, 0x0359, 0x4d32, \

    {0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}};

    • SkuSiPolicyVersion

      • は実行時に ULONGLONG/UInt64 型です

      • は、ポリシー XML 内の <VersionEx>2.0.0.2</VersionEx> (MAJOR.MINOR.REVISION.BUILDNUMBER) の形式によって定義されます

      • 次のように ULONGLONG に変換されます。

        ((major##ULL << 48) + (minor##ULL << 32) + (revision##ULL << 16) + buildnumber)

        各バージョン番号には 16 ビットがあるため、合計で 64 ビットです。

      • 新しいポリシーのバージョンは、実行時に UEFI 変数に格納されているバージョン以上である必要があります。

      • 説明: Set はコード整合性ブート ポリシーのバージョンです。

      • 属性 :

        (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)

      • 名前空間 GUID:

        77fa9abd-0359-4d32-bd60-28f4e78f784b

      • データ型:

        uint8_t[8]

      • データ :

        uint8_t SkuSiPolicyVersion[8] = { 0x2,0x0,0x0,0x0,0x0,0x0,0x2,0x0 };

    • SkuSiPolicyUpdateSigners

      • Windows 署名者である必要があります。

      • 説明: ポリシー署名者情報。

      • 属性 :

        (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)

      • 名前空間 GUID:

        77fa9abd-0359-4d32-bd60-28f4e78f784bd

      • データ型:

        uint8_t[131]

      • データ :

        uint8_tSkuSiPolicyUpdateSigners[131] =

             { 0x01、0x00、0x00、0x00、0x06、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、

              0x0b, 0x00, 0x00, 0x00, 0xd0, 0x91, 0x73, 0x00,

              0x00、0x00、0x00、0x00、0x00、0x00、0x02、0x00、

              0x00, 0x00, 0x00, 0x00, 0x54, 0xa6, 0x78, 0x00,

              0x00、0x00、0x00、0x00、0x00、0x00、0x02、0x00、

              0x00, 0x00, 0x00, 0x00, 0x5c, 0xa6, 0x78, 0x00,

              0x00、0x00、0x00、0x00、0x00、0x00、0x02、0x00、

              0x00, 0x00, 0x00, 0x00, 0x64, 0xa6, 0x78, 0x00,

              0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、

              0x00、0x00、0x00、0x00、0x0a、0x2b、0x06、0x01、

              0x04、0x01、0x82、0x37、0x0a、0x03、0x06、0x00、

              0x00、0x00、0x00};

DBX を適用する

この問題の DbxUpdate.bin ファイルは、UEFI.orgにリリースされました。 これらのハッシュには、コード整合性ポリシーを遵守しない Windows 8 と Windows 10 の初期リリースの間にリリースされたすべての失効した Windows ブート マネージャーが含まれます。

これらは、複数のオペレーティング システムとこれらのブート マネージャーの 1 つを使用するデュアル ブート システムを壊す可能性があるため、慎重に適用することが非常に重要です。 短期的には、任意のシステムに対して、これらのハッシュを必要に応じて適用することをお勧めします。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×