Super UEFIinSecureBoot Disk は、リカバリ USB フラッシュ ドライブのベースとして使用するように設計された GRUB2 ブートローダーを備えた概念実証 (積極的に保守または拡張されていない) のブート可能イメージです。
主な機能: UEFI セキュア ブート モードが有効化されていると、ディスクは完全に機能します。信頼できない、無効な、または署名が欠けている場合でも、任意のオペレーティング システムまたは .efi ファイルを起動できます。
セキュア ブートは、許容可能なデジタル署名で署名されていないドライバーや OS ローダーのロードを防止することでブート プロセスを保護するように設計された UEFI ファームウェアの機能です。
最近のコンピューターのほとんどには、デフォルトでセキュア ブートが有効になっており、これは Windows 10 認定プロセスの要件です。すべての一般的なマザーボードでは UEFI セットアップ メニューで無効にすることができますが、企業のラップトップの UEFI セットアップ パスワードがユーザーに不明な場合など、簡単に無効にできない場合もあります。
このディスクを USB フラッシュ ドライブにインストールして起動すると、セキュア ブート保護機能が効果的に無効になり、一時的にセキュア ブートが無効であるかのように PC でほとんどすべての操作を実行できるようになります。これは、データの回復、OS の再インストール、または追加の手順を考慮せずに USB から起動する場合に便利です。
リリース ページからイメージ ファイルをダウンロードし、次のプログラムのいずれかを使用して USB フラッシュに書き込みます。
警告: USB フラッシュのデータはすべて削除されます。
イメージには、単一の FAT32 500MiB パーティションが含まれています。 gparted または同様のツールを使用してサイズを変更し、USB ドライブの空き容量をすべて確保します。
セキュア ブートを使用して PC を初めて起動すると、アクセス違反メッセージ ボックスが表示されます。 [OK] を押して、[ファイルから証明書を登録] メニュー オプションを選択します。 ENROLL_THIS_KEY_IN_MOKMANAGER.cer
を選択し、証明書の登録を確認します。
セキュア ブートを備えていないコンピュータは、手動介入なしで GRUB を起動します。
このディスクはセキュア ブートで動作しますか?
はい、そうです。 MokManager ソフトウェアを使用して初回起動時に手動でキーを登録した後、署名されていない、または信頼されていない Linux カーネル、.efi ファイル、またはドライバーがロードされます。最初のブート キーの登録を実行するためにセキュア ブートを無効にする必要はありません。
このディスクは、セキュア ブートなし、またはセキュア ブートが無効な UEFI ベースのコンピュータで動作しますか?
はい、標準の GRUB2 と同じように動作します。
このディスクは BIOS を備えた古いコンピュータで動作しますか?
はい、他の GRUB2 ブートローダーと同じように動作します。
このディスクを使用して、UEFI ブートキット/ウイルスのセキュア ブートをバイパスできますか?
いいえ、そうではありません。このディスクでは、最初の起動時に物理ユーザーが手動で介入する必要があるため、ブートキットのステルス目的が失われます。
GRUB を別の EFI ブートローダー (rEFInd、syslinux、systemd-boot) に置き換えることはできますか?
はい、 grubx64_real.efi
/ grubia32_real.efi
を実際のファイルに置き換えてください。ブートローダーは署名する必要がなく、ディスクに含まれている GRUB2 と同様にgrubx64.efi
/ grubia32.efi
(PreLoader) によってインストールされたセキュリティ ポリシーのおかげで、.efi ファイルも起動する必要があります。
このディスクの UEFI ブート プロセスは 3 段階で実行されます。
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → EFI file/OS
ステージ 1 : マザーボードにシムがロードされます。 Shim は、次の実行可能ファイル (この場合は grubx64.efi (プリローダー)) をロードするだけの特別なローダーです。 Shim は Microsoft キーで署名されているため、すべての標準 PC マザーボード上でセキュア ブート モードで起動できます。
Shim には埋め込み Fedora 証明書が含まれています (Fedora リポジトリから抽出されるため)。セキュア ブートが有効な場合、grubx64.efi は埋め込まれた Fedora 証明書で署名されていないため、shim は別の実行可能ファイルである MokManager.efi を起動します。これは特別な shim キー管理ソフトウェアです。 MokManager はユーザーに、キーまたはハッシュの登録プロセスを続行するように求めます。
新しいバージョンの shim インストール フックは、UEFI LoadImage、StartImage、ExitBootServices、および Exit 関数に対して「参加していないブートローダーに対する強化」を行いますが、このディスクの使用例ではバイパスする必要があります。 Fedora の shim はカスタム UEFI セキュリティ ポリシーをインストールしません。そのため、MokManager を使用してハッシュや証明書を追加したとしても、第 2 段階のブートローダーから自己署名 efi ファイルをロードすることはできません。
ステージ 2 : プリローダーは shim に似たソフトウェアです。また、実行可能ファイルの検証も実行し、次の efi ファイルをロードします。このディスクに含まれているプリローダーは、すべてを許可する UEFI セキュリティ ポリシーをインストールするという 1 つの機能のみを実行する必要最低限のバージョンです。これにより、GRUB の外部 (たとえば、UEFI シェル) であっても、LoadImage/StartImage UEFI 関数を使用して任意の efi 実行可能ファイルをロードでき、シム強化をバイパスできます。
ステージ 3 : GRUB2 はよく知られたユニバーサル ブートローダーです。追加の検証なしで Linux カーネルをロードする (linux/linuxefi コマンド)、.efi バイナリをメモリにロードしてそのエントリ ポイントにジャンプする (chainloader コマンド)、および shim の「参加ブートローダー」を模倣するようにパッチが適用されています。
このトピックに関する私の記事をお読みください: 署名付きブートローダーを悪用して UEFI セキュア ブートを回避する (ロシア語でも利用可能)
Super UEFIinSecureBoot Disk GRUB2 は、 suisbd=1
変数を設定します。これは、複数のブートローダー間で共有されるgrub.conf
内のディスクにパッチが適用された GRUB2 を検出するために使用できます。
バージョン 3 以降、内部ローダーの実装にいくつかの問題があるため、GRUB は標準の UEFI .efi ファイル ローダーを使用します。内部ローダーを使用するには、GRUB 設定ファイルにset efi_internal_loader=1
を追加します。どちらの方法でも、信頼できない .efi ファイルを読み込むことができます。