Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
shim-review — shim のレビュー | Kitploit
ツール/GitHubGitHub/rhboot/shim-review
脆弱性分析コード分析サプライチェーンセキュリティ学習と教育厳選リソースファームウェア解析
GitHubrhboot/shim-review

shim-review

shim のレビュー

リポジトリを見る
89171410日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

このリポジトリは、shim への署名依頼をレビューするためのものです。レビューを依頼するには:

  • このリポジトリをクローンしてください(できればフォークしてください)
  • 以下のテンプレートを編集してください
  • 署名対象の shim.efi を追加してください
  • ビルドログを追加してください
  • 必要となる可能性のある追加のバイナリ/証明書/SHA256 ハッシュを追加してください
  • それらをすべてコミットしてください
  • "myorg-shim-arch-YYYYMMDD" 形式のタグを付けてください
  • GitHub にプッシュしてください
  • タグへのリンクを添えて、https://github.com/rhboot/shim-review/issues に issue を登録してください
  • あなたの issue に accepted ラベルが追加されたら、承認が完了です

なお、当方は Linux 上での GRUB2 または systemd-boot の使用経験しか実質的にありません。そのため、それ以外のものへの署名を承認してもらうには、それなりの説得力のある説明が必要になります。

2025年10月20日時点で、Microsoft に送られた shim は 2011 年と 2023 年のキーで署名されます。提出した各 shim について、それぞれ異なるキーで署名された 2 つのコピーが返却されます。Microsoft からの最新情報はこちら: https://techcommunity.microsoft.com/blog/hardware-dev-center/signing-with-the-new-2023-microsoft-uefi-certificates-what-submitters-need-to-kn/4455787

新しい署名要件も有効になっており、こちらで確認できます: https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-microsoft-uefi-signing-requirements/1062916 この shim レビューを受けることで、shim がオープンソースのブートローダーにのみ引き渡す限り、年次のセキュリティ監査が免除されることに注意してください。

ヒント: 提出方法と shim の署名取得に関するガイダンスについては、このリポジトリの docs ディレクトリを確認してください。

以下がテンプレートです:


どの組織または人々がこの署名を求めていますか?


組織名とウェブサイト:
[ここにテキストを記入]


組織の正当性を証明する法的データは何ですか?

ツールをダウンロード

レビューアがあなたの組織が法人であることを簡単に検証でき、悪用を防ぐことができる必要があります。 正当性を確実に証明できる情報を提供してください。


会社/税務登録のエントリ、またはそれに相当するもの:
(該当法域の登録簿における組織エントリへのリンクで構いません)

[ここにテキストを記入]

Microsoft Hardware Dev Center File Signing Services で .cab ファイルの署名に使用される EV 証明書における、あなたの組織と発行者の両方の公開詳細。
(shim バイナリに埋め込まれた CA 証明書ではありません)

例:``` Issuer: O=MyIssuer, Ltd., CN=MyIssuer EV Code Signing CA Subject: C=XX, O=MyCompany, Inc., CN=MyCompany, Inc.

root@kitploit:~
[ここにテキストを入力]

*******************************************************************************
### 対象となる製品またはサービスは何ですか?
*******************************************************************************
[ここにテキストを入力]

*******************************************************************************
### 世界中の誰もが起動できるように、これが本当に署名される必要があるという正当な理由は何ですか?
*******************************************************************************
[ここにテキストを入力]

*******************************************************************************
### すでに署名されている別のディストリビューションのshimを再利用できないのはなぜですか?
*******************************************************************************
[ここにテキストを入力]

*******************************************************************************
### セキュリティ更新などの第一連絡先は誰ですか?
セキュリティ連絡先は、shim が受け入れられる前に検証される必要があります。その後のリクエストでは、セキュリティ連絡先またはその PGP キーが前回の検証成功以降に変更された場合にのみ、連絡先の検証が必要です。

許可されたレビュアーが、各セキュリティ連絡先にランダムな単語を含む PGP 暗号化メールを送信して、連絡先の検証を開始します。
これらのメールの内容を自分の `shim-review` イシューに投稿して、メールアドレスと PGP キーの所有権を証明するよう求められます。
PGP キーを keyserver.ubuntu.com などのよく知られたキーサーバーにアップロードし、および/またはレビューに .asc ファイルとして含めて、ここでそれらを参照してください。

*******************************************************************************
- 名前:
- 役職:
- メールアドレス:
- PGPキーのフィンガープリント:
- ファイル/キーサーバーの場所:

*******************************************************************************
### セキュリティ更新などの第二連絡先は誰ですか?
*******************************************************************************
- 名前:
- 役職:
- メールアドレス:
- PGPキーのフィンガープリント:
- ファイル/キーサーバーの場所:

*******************************************************************************
### これらのバイナリは16.1 shimリリースtarから作成されましたか?
16.1 shim リリース tar ファイルから始めて、自分の shim バイナリを作成してください: https://github.com/rhboot/shim/releases/download/16.1/shim-16.1.tar.bz2

これは https://github.com/rhboot/shim/releases/tag/16.1 に対応し、適切な gnu-efi ソースが含まれています。

tarball が正しいことを確認するには、ダウンロードのチェックサムを検証してください
(SHA256, SHA512) を以下のものと照合してください:```
46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603  shim-16.1.tar.bz2
ca5f80e82f3b80b622028f03ef23105c98ee1b6a25f52a59c823080a3202dd4b9962266489296e99f955eb92e36ce13e0b1d57f688350006bba45f2718f159fb  shim-16.1.tar.bz2

ビルドプロセスがそのファイルを信頼できる情報源(外部パッチを除く)として使用しており、そのチェックサムが一致することを確認してください。また、PGP 署名を確認することでリリースをさらに検証できます。分離署名 があります。

このリリースはメンテナである Peter Jones によって署名されています。彼のマスターキーのフィンガープリントは B00B48BC731AA8840FED9FB0EED266B70F4FEF10、ここにある署名の署名サブキーのフィンガープリントは 02093E0D19DDE0F7DFFBB53C1FD3F540256A1372 です。参考として、彼の公開鍵のコピーがここに含まれています: pjones.asc

使用している tarball が正しく本物であることを確認できたら、ここで簡単に yes と回答してください。

公開鍵と署名の検証に関する短いガイドは、docs ディレクトリにあります。


[ここにテキストを入力]


バイナリの生成元となった正確なコードを含むリポジトリの URL:

ヒント: 使用しているすべてのパッチと変更をアプリケーションに添付している場合は、ここでアプリケーションの URL を指定できます (https://github.com/YOUR_ORGANIZATION/shim-review)。

コードがホストされている独自の git サーバーを指定することもできます。


[ここに URL を入力]


適用されているパッチとその理由:

このアプリケーションの一部として提出した shim バイナリを正確に同じものにするために、ビルドプロセス中に使用したすべての外部パッチとビルドプロセスの変更点を挙げてください。


[ここにテキストを入力]


shim に NX ビットを設定していますか? 設定している場合、ブートスタック全体は NX 互換ですか?また、その互換性を確保するためにどのようなテストを行いましたか?

NX ビットなしでの shim の署名の詳細については、https://techcommunity.microsoft.com/t5/hardware-dev-center/nx-exception-for-shim-community/ba-p/3976522 を参照してください。


[ここにテキストを入力]


GRUB2 の Secure Boot の実装は具体的にどれを使用していますか?(Upstream GRUB2 の shim_lock ベリファイア、または Downstream の RHEL/Fedora/Debian/Canonical 系の実装のいずれか)

GRUB2 を使用していない場合は、この項目はスキップしてください。


[ここにテキストを入力]


以下のすべての GRUB2 CVE に対する修正を適用していますか?

GRUB2 を使用していない場合はこの項目をスキップしてください。使用している場合は、これらがすべて存在することを確認し、yes と回答してください。

  • 2020年7月 - BootHole
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html
    • CVE-2020-10713
    • CVE-2020-14308
    • CVE-2020-14309
    • CVE-2020-14310
    • CVE-2020-14311
    • CVE-2020-15705
    • CVE-2020-15706
    • CVE-2020-15707
  • 2021年3月
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00007.html
    • CVE-2020-14372
    • CVE-2020-25632
    • CVE-2020-25647
    • CVE-2020-27749
    • CVE-2020-27779
    • CVE-2021-3418(shim_lock モジュールを提供している場合)
    • CVE-2021-20225
    • CVE-2021-20233
  • 2022年6月
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html、SBAT を 2 へ引き上げ
    • CVE-2021-3695
    • CVE-2021-3696
    • CVE-2021-3697
    • CVE-2022-28733
    • CVE-2022-28734
    • CVE-2022-28735
    • CVE-2022-28736
    • CVE-2022-28737
  • 2022年11月
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2022-11/msg00059.html、SBAT を 3 へ引き上げ
    • CVE-2022-2601
    • CVE-2022-3775
  • 2023年10月 - NTFS の脆弱性
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2023-10/msg00028.html、SBAT を 4 へ引き上げ
    • CVE-2023-4693
    • CVE-2023-4692
  • 2025年2月
    • 詳細: https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html、SBAT を 5 へ引き上げ
    • CVE-2024-45774
    • CVE-2024-45775
    • CVE-2024-45776
    • CVE-2024-45777
    • CVE-2024-45778
    • CVE-2024-45779
    • CVE-2024-45780
    • CVE-2024-45781
    • CVE-2024-45782
    • CVE-2024-45783
    • CVE-2025-0622
    • CVE-2025-0624
    • CVE-2025-0677
    • CVE-2025-0678
    • CVE-2025-0684
    • CVE-2025-0685
    • CVE-2025-0686
    • CVE-2025-0689
    • CVE-2025-0690
    • CVE-2025-1118
    • CVE-2025-1125

[ここにテキストを入力]


shim が GRUB2 ブートローダーを読み込んでいて、これらの修正が適用されている場合、GRUB2 バイナリの upstream グローバル SBAT generation は 5 に設定されていますか?

GRUB2 を使用していない場合は、この項目はスキップしてください。使用している場合、GRUB2 バイナリに次のようなエントリがありますか:
grub,5,Free Software Foundation,grub,GRUB_UPSTREAM_VERSION,https://www.gnu.org/software/grub/?


[ここにテキストを入力]


検証のため、および将来の DBX アップデートに追加するために、古い shim のハッシュを Microsoft に提供しましたか?

新しい信頼チェーンは、CVE の影響を受ける古い GRUB2 ビルドの起動を禁止していますか?

以前に署名済みの shim がない場合は、その旨をここに記載してください。そうでない場合は、簡単な yes で構いません。


[ここにテキストを入力]


ブートの信頼チェーンに Linux カーネルが含まれる場合:

upstream コミット 1957a85b0032a81e6482ca4aab883643b8dae06e "efi: Restrict efivar_ssdt_load when the kernel is locked down" は適用されていますか?

upstream コミット 75b0cea7bf307f362057cc778efe89af4c615354 "ACPI: configfs: Disallow loading ACPI tables when locked down" は適用されていますか?

upstream コミット eadb2f47a3ced5c64b23b90fd2a3463f63726066 "lockdown: also lock down previous kgdb use" は適用されていますか?

ヒント: upstream カーネルにはこれらがすべて適用されているはずですが、upstream とは別に保守されている独自の大幅な変更を加えた古いカーネルバージョンを提供している場合は、そうでない可能性があります。
古いカーネルを提供している場合は、ソースを再確認してください。すべてのパッチを保有していないかもしれませんが、問題を露呈しない構成を提供している可能性があります。


[ここにテキストを入力]


Secure Boot を有効にしてシステムが動作しているとき、署名済みカーネルは lockdown をどのように強制しますか?

ヒント: 強制しない場合、あなたの shim に署名する可能性は低いです。


[ここにテキストを入力]


署名済みカーネルを追加のローカルパッチでビルドしていますか? それらは何をするものですか?


[ここにテキストを入力]


カーネルモジュールの署名に一時鍵(ephemeral key)を使用していますか?

使用していない場合、あるカーネルビルドが別のカーネル用にビルドされたモジュールを読み込まないようにする方法を説明してください。


[ここにテキストを入力]


複数の証明書やハッシュを提供する vendor_db 機能を使用している場合、証明書の設定について簡単に説明してください。

許可リストに登録されたハッシュがある場合、検証用に匿名アクセス可能な公開ファイル共有サービスを介して、ハッシュが作成された正確なバイナリを提供してください。


[ここにテキストを入力]


前回の shim バイナリの CA 証明書を再利用する場合、前述の CVE にさらされた以前の GRUB2 バイナリのハッシュを shim の vendor_dbx に追加する必要があります。その戦略を説明してください。

これにより、新しい shim+GRUB2 が、問題のある古い GRUB2 バイナリをチェーンロードできなくなります。

これが最初の申請である場合、または新しい CA 証明書を使用している場合は、その旨をここに記載してください。


[ここにテキストを入力]


リポジトリ内の Dockerfile は、shim バイナリのビルドを再現するためのレシピですか?

レビュアーは常に docker build . を実行して、アプリケーションに添付した正確なバイナリを取得できる必要があります。

ヒント: GCC、binutils、gnu-efi のアップデートにより異なるチェックサムの shim バイナリがビルドされる可能性があるため、ツールチェーンには frozen(固定)パッケージを使用することをお勧めします。

提供された Dockerfile を使用して shim バイナリを再現できない場合、その理由、違い、およびこのビルドを再現するために使用されるビルド環境(OS とツールチェーン)を説明してください。その場合は、このビルド環境をゼロからセットアップする方法の詳細なガイドを記載してください。


[ここにテキストを入力]


このリポジトリ内のどのファイルがビルドのログですか?

これには、buildroot の作成、パッチの適用、ビルドの実行、アーカイブの作成などのログが含まれる必要があります。


[ここにテキストを入力]


SHIM が最後に署名されてから、ディストリビューションのセキュアブートチェーンにどのような変更が加えられましたか?

例: 新しいカーネルのバリアント、UKI、systemd-boot の署名、新しい証明書、新しい CA など。

shim の署名申請が初めての場合は、この項目はスキップしてください。


[ここにテキストを入力]


最終的な shim バイナリの SHA256 ハッシュは何ですか?


[ここにテキストを入力]


shim で使用する鍵をどのように管理・保護していますか?

鍵の保護に使用されるセキュリティ戦略を説明してください。HSM やスマートカードなどのハードウェアトークンの使用、エアギャップされた保管庫、物理的な金庫から、その他の優れたプラクティスまでさまざまです。


[ここにテキストを入力]


shim に埋め込む証明書として EV 証明書を使用していますか?

yes または no で構いません。後者でもペナルティはありません。


[ここにテキストを入力]


shim に CA 証明書を埋め込んでいますか?

yes または no で構いません。後者でもペナルティはありません。ただし、yes の場合: その証明書には、CA であることを示す X509v3 Basic Constraints が含まれていますか? これに関する詳細なガイダンスは docs を参照してください。


[ここにテキストを入力]


SBAT メタデータをサポートする各バイナリ(GRUB2、fwupd、fwupdate、systemd-boot、systemd-stub、shim + すべての子 shim バイナリ)の SBAT セクションに、ベンダー固有の SBAT エントリを追加していますか?

shim を介して直接起動するすべてのバイナリの正確な SBAT エントリを提供してください。

ヒント: SBAT の歴史と仕組みに関する詳細は、こちら にあります。そのドキュメントは大きいので、いくつかの例だけを見るには SBAT.example.md を参照してください。

Downstream の GRUB2 実装(例: Fedora や Debian のもの)を使用している場合、それらの SBAT エントリが保持されていることを確認し、失効を簡素化するために独自のエントリを追加してください(それらのエントリを置き換えないでください)。

すべてのバイナリのエントリを投稿することを忘れないでください。ブートローダー以外にも、ファームウェアアップデーターなども提供している場合があり、それらにもこれらのエントリがあります。

ヒント: objcopy --dump-section .sbat=/dev/stdout YOUR_EFI_BINARY を実行すると、これらのエントリを取得できます。ここに貼り付けてください。各リストは、表示を良くするために 3 つのバッククォート(```)で囲むことをお勧めします。


[ここにテキストを入力]


shim が GRUB2 ブートローダーを読み込む場合、署名済み GRUB2 イメージにはどのモジュールが組み込まれていますか?

GRUB2 を使用していない場合は、この項目はスキップしてください。

ヒント: これは、ファイルシステム上の .mod ファイルではなく、バイナリ自体に含まれるモジュールについてです。


[ここにテキストを入力]


arm64 または riscv で systemd-boot を使用している場合、未検証の Devicetree Blob の読み込み の修正は含まれていますか?


[ここにテキストを入力]


ブートローダー(GRUB2 または systemd-boot またはその他)の出所と完全なバージョン番号は何ですか?


[ここにテキストを入力]


ブートローダー以外に shim が起動するコンポーネントがある場合、起動されるものについて詳しく教えてください。

ヒント: ここで最も一般的なケースは、fwupd のようなファームウェアアップデーターです。


[ここにテキストを入力]


SecureBoot モードで、GRUB2 または systemd-boot が Linux カーネル以外の他のバイナリを起動する場合、起動されるものと、それが Secureboot lockdown をどのように強制するかについて詳しく教えてください。

GRUB2 または systemd-boot を使用していない場合は、この項目はスキップしてください。


[ここにテキストを入力]


起動されたコンポーネントは、認証されていないコードの実行をどのように防いでいますか?

セキュアブートチェーンが高レベルでどのように機能するかを、1〜2 文で要約してください。


[ここにテキストを入力]


shim は、未署名カーネルの読み込みをサポートするローダー(例: 特定の GRUB2 構成)を読み込みますか?


[ここにテキストを入力]


どのカーネルを使用していますか? Secure Boot を強制するために、どのパッチと構成が含まれていますか?


[ここにテキストを入力]


他の申請者のアプリケーションをレビューするために、どのような貢献をしましたか?

レビュープロセスはピアレビューの取り組みであり、自分のアプリケーションをより早くレビューしてもらう最善の方法は、他の人のレビューを手伝うことです。私たちはほとんどの場合、勤務時間中にアプリケーションをレビューする仕事に雇用され報酬を得ているわけではなく、自由時間にこの場で活動するボランティアです。

レビューを待つ合理的な期間は 2〜3 か月に達することがあります。私たちを助けることが、この期間を短縮する最善の方法です。助けが多ければ多いほど、物事はより速く、よりスムーズに進みます。

初心者には、easy to review とラベル付けされたアプリケーションから貢献プロセスを始めることをお勧めします。


[ここにテキストを入力]


この shim 署名申請を検証するために必要と思われる追加情報を記載してください。


[ここにテキストを入力]