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

この資料が適用される製品についてはこちらを参照してください。

概要

2020 年 7 月 29 日、マイクロソフトはセキュア ブートに関連する新しい脆弱性を説明するセキュリティ アドバイザリ 200011 を公開しました。 セキュア ブート構成でサードパーティの Microsoft Unified Extensible Firmware Interface (UEFI) 証明機関 (CA) を信頼するデバイスは、管理者特権またはデバイスへの物理アクセス権を持つ攻撃者の影響を受ける可能性があります。

この記事では、最新のセキュア ブート DBX 失効リストを適用して、脆弱性のあるモジュールを無効にするためのガイダンスを提供します。 マイクロソフトは 2022 年春に、この脆弱性に対処するために、Windows Update に更新プログラムをプッシュする予定です。

セキュア ブート更新プログラムのバイナリは、この UEFI Web ページでホストされます。
                
投稿されたファイルは次のとおりです。

  • x86 (32 ビット) 用 UEFI 失効リスト ファイル

  • x64 (64 ビット) 用 UEFI 失効リスト ファイル

  • arm64 用 UEFI 失効リスト ファイル

これらのハッシュがデバイスのセキュア ブート DBX に追加されると、それらのアプリケーションは読み込みできなくなります。 

重要: このサイトは、すべてのアーキテクチャのファイルをホストします。 ホストされている各ファイルには、特定のアーキテクチャに適用されるアプリケーションのハッシュのみが含まれます。 これらのファイルの 1 つをすべてのデバイスに適用する必要がありますが、そのアーキテクチャに関連するファイルを適用するようにしてください。 別のアーキテクチャに更新プログラムを適用することは技術的に可能ですが、適切な更新プログラムをインストールしないと、デバイスが保護されないままになります。

注意: これらの手順のいずれかを試す前に、この脆弱性に関する主要なアドバイザリの記事を参照してください。 DBX 更新プログラムを誤って適用すると、デバイスが起動しなくなる可能性があります。
                
次の条件に該当する場合にのみ、以下の手順を実行してください。

  • セキュア ブート構成でデバイスがサードパーティの UEFI CA を信頼していることを確認しました。 これを行うには、管理 PowerShell セッションから PowerShell の次の行を実行します。

    [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Microsoft Corporation UEFI CA 2011'

  • この更新プログラムによってブロックされているブート アプリケーションを起動する必要はありません。

詳細

Windows での DBX 更新プログラムの適用

前項の警告を読み、デバイスに互換性があることを確認したら、次の手順に従ってセキュア ブート DBX を更新します。

  1. この UEFI Web ページから、プラットフォームに適した UEFI 失効リスト ファイル (Dbxupdate.bin) をダウンロードします。

  2. PowerShell コマンドレットを使用してコンポーネントを適用するには、Dbxupdate.bin ファイルを必要なコンポーネントに分割する必要があります。 これを行うには、次の手順を実行します。

    1. この PowerShell ギャラリーの Web ページから PowerShell スクリプトをダウンロードします。

    2. スクリプトの場所を特定するために、次のコマンドレットを実行します。

      • Get-InstalledScript -name SplitDbxContent | select-object Name、Version、Author、PublishedDate、InstalledDate、InstalledLocation

    3. コマンドレットがスクリプトを正常にダウンロードし、名前、バージョン、作成者、PublishedDate、InstalledDate、InstalledLocationなどの出力の詳細を提供することを確認します。

    4. 次のコマンドレットを実行します。

      • [文字列]$ScriptPath = @(Get-InstalledScript -name SplitDbxContent | select-object -ExpandProperty InstalledLocation)

      • cd $ ScriptPath

      • ls

    5. SplitDbxContent.ps1 ファイルが 「Scripts」フォルダーにあることを確認します。

    6. 次の PowerShell スクリプトを Dbxupdate.bin ファイルで実行します。

         SplitDbxContent.ps1 “c:\path\to\file\dbxupdate.bin"

    7. コマンドによって次のファイルが作成されたことを確認します。

      「適用」ステップ 2c コマンド出力

      • Content.bin – 更新プログラムのコンテンツ

      • Signature.p7 – 更新プロセスを承認する署名

  3. 管理 PowerShell セッションで、Set-SecureBootUefi コマンドレットを実行して DBX 更新プログラムを適用します。

    Set-SecureBootUefi -Name dbx -ContentFilePath .\content.bin -SignedFilePath .\signature.p7 -Time 2010-03-06T19:17:21Z -AppendWrite

    予想される出力


    「適用」ステップ 3 コマンド出力

  4. アップデートのインストールプロセスを完了するには、デバイスを再起動します。

セキュア ブート構成コマンドレットと、コマンドレットを DBX 更新プログラムに使用する方法の詳細については、「Set-Secure」を参照してください。

更新プログラムが適用されているかどうかの確認  

前のセクションの手順を正常に完了してデバイスを再起動したら、次の手順に従って更新プログラムが正常に適用されたことを確認します。 検証に成功すると、デバイスは GRUB 脆弱性の影響を受けなくなります。

  1. この GitHub Gist Web ページから DBX 更新プログラム検証スクリプトをダウンロードします。

  2. 圧縮ファイルからスクリプトとバイナリを抽出します。

  3. 展開されたスクリプトとバイナリを含むフォルダー内で次の PowerShell スクリプトを実行して、DBX 更新プログラムを確認します。

    Check-Dbx.ps1 '.\dbx-2021-April.bin' 

    注: この失効リスト ファイル アーカイブの 2020 年 7 月または 2020 年 10 月のバージョンに一致する DBX 更新プログラムが適用された場合は、代わりに次の適切なコマンドを実行します。

    Check-Dbx.ps1 '.\dbx-2020-July.bin' 

    Check-Dbx.ps1 '.\dbx-2020-October.bin' 

  4. 出力が予想される結果と一致することを確認します。

    「検証」ステップ 4 コマンド出力

FAQ

Q1: エラー メッセージ「Get-SecureBootUEFI: コマンドレットはこのプラットフォームではサポートされていません」は何を意味しますか?

A1: このエラー メッセージは、コンピューターでセキュア ブート機能が有効になっていないことを示しています。 したがって、このデバイスは GRUB 脆弱性の影響を受けません。 これ以上のアクションは必要ありません。

Q2: サードパーティの UEFI CA を信頼する、または信頼しないようにデバイスを構成するにはどうすればよいですか? 

A2: OEM ベンダーに問い合わせることをお勧めします。 

Microsoft Surface の場合、セキュア ブート設定を「Microsoft のみ」に変更してから、次の PowerShell コマンドを実行します (結果は「False」になります)。 

[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Microsoft Corporation UEFI CA 2011' 

Microsoft Surface の構成方法の詳細については、「 Surface UEFI 設定の管理 - Surface | Microsoft Docs」を参照してください。

Q3: この問題は、Azure IaaS 第 1 世代および第 2 世代の仮想マシンに影響しますか? 

A3: いいえ。 Azure ゲスト仮想マシン Gen1 および Gen2 は、セキュア ブート機能をサポートしていません。 したがって、それらは信頼の連鎖攻撃の影響を受けません。 

Q4: ADV200011 および CVE-2020-0689 は、セキュア ブートに関連する同じ脆弱性を指していますか? 

A: いいえ。 これらのセキュリティ アドバイザリでは、さまざまな脆弱性について説明しています。 「ADV200011」は、セキュア ブートのバイパスを引き起こす可能性のある GRUB (Linux コンポーネント) の脆弱性を指します。 「CVE-2020-0689」は、セキュア ブートに存在するセキュリティ機能のバイパスの脆弱性を指します。 

Q5: どちらの PowerShell スクリプトも実行できません。 どうすればよいですか?

A: Get-ExecutionPolicy コマンドを実行して、PowerShell の実行ポリシーを確認します。 出力によっては、実行ポリシーの更新が必要になる場合があります。

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。 

サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。 

対象製品:

Windows 10 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 Version 2004 for 32-bit Systems
Windows 10 Version 2004 for ARM64-based Systems
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1803 for 32-bit Systems
Windows 10 Version 1803 for ARM64-based Systems
Windows 10 Version 1803 for x64-based Systems
Windows 10 Version 1709 for 32-bit Systems
Windows 10 Version 1709 for ARM64-based Systems
Windows 10 Version 1709 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 Version 1607 for x64-based Systems
Windows 8.1 for 32-bit systems
Windows 8.1 for x64-based systems
Windows RT 8.1
Windows Server Version 2004 (Server Core インストール)
Windows Server Version 1909 (Server Core インストール)
Windows Server Version 1903 (Server Core インストール)
Windows Server 2019
Windows Server 2019 (Server Core インストール)
Windows Server 2016
Windows Server 2016 (Server Core インストール)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core インストール)
Windows Server 2012
Windows Server 2012 (Server Core インストール)

ヘルプを表示

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

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

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

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

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

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

×