
Bewertungen von shim
Dieses Repo dient der Überprüfung von Anfragen zur Signierung von Shim. Um eine Überprüfungsanfrage zu erstellen:
Beachten Sie, dass wir wirklich nur Erfahrung mit der Verwendung von GRUB2 oder systemd-boot unter Linux haben. Wenn Sie uns bitten, etwas anderes zur Signierung zu unterstützen, müssen Sie uns davon überzeugen.
Ab dem 20. Oktober 2025 werden an Microsoft gesendete Shims mit den Schlüsseln von 2011 und 2023 signiert. Für jeden von Ihnen eingereichten Shim erhalten Sie zwei Kopien zurück, die jeweils mit einem anderen Schlüssel signiert sind. Hier die neuesten Informationen von Microsoft: https://techcommunity.microsoft.com/blog/hardware-dev-center/signing-with-the-new-2023-microsoft-uefi-certificates-what-submitters-need-to-kn/4455787
Es sind auch neue Signieranforderungen in Kraft getreten, die hier verfügbar sind: https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-microsoft-uefi-signing-requirements/1062916 Bitte beachten Sie, dass diese Shim-Überprüfung Sie von jährlichen Sicherheitsaudits befreit, solange Ihr Shim nur an Open-Source-Bootloader übergibt.
Hinweis: Schauen Sie sich das docs-Verzeichnis in diesem Repo an, um Anleitungen zur Einreichung und zur Signierung Ihres Shims zu erhalten.
Hier ist die Vorlage:
Organisationsname und Website:
[Ihr Text hier]
Die Prüfer sollten leicht überprüfen können, dass Ihre Organisation eine juristische Person ist, um Missbrauch zu verhindern. Geben Sie die Informationen an, die die Echtheit zweifelsfrei belegen können.
Einträge im Handels-/Steuerregister oder gleichwertiges:
(ein Link zum Organisationseintrag im Register Ihrer Gerichtsbarkeit genügt)
[Ihr Text hier]
Die öffentlichen Details sowohl Ihrer Organisation als auch des Ausstellers im EV-Zertifikat, das zum Signieren von .cab-Dateien bei den Microsoft Hardware Dev Center File Signing Services verwendet wird.
(nicht das in Ihrem Shim-Binär eingebettete CA-Zertifikat)
Beispiel:``` Issuer: O=MyIssuer, Ltd., CN=MyIssuer EV Code Signing CA Subject: C=XX, O=MyCompany, Inc., CN=MyCompany, Inc.
[Ihr Text hier]
*******************************************************************************
### Für welches Produkt oder welchen Dienst ist dies gedacht?
*******************************************************************************
[Ihr Text hier]
*******************************************************************************
### Was ist die Begründung, dass dies wirklich signiert werden muss, damit die ganze Welt es booten kann?
*******************************************************************************
[Ihr Text hier]
*******************************************************************************
### Warum können Sie keinen Shim von einer anderen Distribution verwenden, der bereits signiert ist?
*******************************************************************************
[Ihr Text hier]
*******************************************************************************
### Wer ist der primäre Kontakt für Sicherheitsupdates usw.?
Die Sicherheitskontakte müssen überprüft werden, bevor der Shim akzeptiert werden kann. Bei späteren Anfragen ist eine Kontaktüberprüfung nur erforderlich, wenn sich die Sicherheitskontakte oder ihre PGP-Schlüssel seit der letzten erfolgreichen Überprüfung geändert haben.
Ein autorisierter Prüfer wird die Kontaktüberprüfung einleiten, indem er jedem Sicherheitskontakt eine PGP-verschlüsselte E-Mail mit zufälligen Wörtern sendet.
Sie werden gebeten, den Inhalt dieser E-Mails in Ihrem `shim-review`-Issue zu veröffentlichen, um die Inhaberschaft der E-Mail-Adressen und PGP-Schlüssel nachzuweisen.
Bitte laden Sie die PGP-Schlüssel auf einen bekannten Keyserver wie keyserver.ubuntu.com hoch und/oder fügen Sie sie als .asc-Datei in die Überprüfung ein und verweisen Sie hier darauf.
*******************************************************************************
- Name:
- Position:
- E-Mail-Adresse:
- PGP-Schlüssel-Fingerabdruck:
- Datei-/Keyserver-Speicherort:
*******************************************************************************
### Wer ist der sekundäre Kontakt für Sicherheitsupdates usw.?
*******************************************************************************
- Name:
- Position:
- E-Mail-Adresse:
- PGP-Schlüssel-Fingerabdruck:
- Datei-/Keyserver-Speicherort:
*******************************************************************************
### Wurden diese Binärdateien aus dem 16.1-Shim-Release-Tar erstellt?
Bitte erstellen Sie Ihre Shim-Binärdateien ausgehend von der 16.1-Shim-Release-Tar-Datei: https://github.com/rhboot/shim/releases/download/16.1/shim-16.1.tar.bz2
Dies entspricht https://github.com/rhboot/shim/releases/tag/16.1 und enthält den entsprechenden gnu-efi-Quellcode.
Stellen Sie sicher, dass das Tarball korrekt ist, indem Sie die Prüfsumme Ihres Downloads überprüfen
(SHA256, SHA512) mit den folgenden:```
46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603 shim-16.1.tar.bz2
ca5f80e82f3b80b622028f03ef23105c98ee1b6a25f52a59c823080a3202dd4b9962266489296e99f955eb92e36ce13e0b1d57f688350006bba45f2718f159fb shim-16.1.tar.bz2
Stellen Sie sicher, dass Sie überprüft haben, dass Ihr Build-Prozess diese Datei als Quelle der Wahrheit verwendet (exklusive externer Patches) und ihre Prüfsumme übereinstimmt. Sie können die Veröffentlichung auch weiter validieren, indem Sie die PGP-Signatur überprüfen: Es gibt eine abgetrennte Signatur
Die Veröffentlichung ist vom Maintainer Peter Jones signiert – sein Hauptschlüssel hat den Fingerabdruck B00B48BC731AA8840FED9FB0EED266B70F4FEF10 und der Unterzeichnungsschlüssel in der Signatur hier hat den Fingerabdruck 02093E0D19DDE0F7DFFBB53C1FD3F540256A1372. Eine Kopie seines öffentlichen Schlüssels finden Sie hier als Referenz:
pjones.asc
Wenn Sie sicher sind, dass das von Ihnen verwendete Tarball korrekt und authentisch ist, bestätigen Sie dies bitte hier mit einem einfachen yes.
Eine kurze Anleitung zur Überprüfung von öffentlichen Schlüsseln und Signaturen finden Sie im docs-Verzeichnis.
[Ihr Text hier]
Hinweis: Wenn Sie alle Patches und Modifikationen, die in Ihrer Anwendung verwendet werden, anhängen, können Sie hier auf die URL Ihrer Anwendung verweisen (https://github.com/YOUR_ORGANIZATION/shim-review).
Sie können auch auf Ihre benutzerdefinierten Git-Server verweisen, auf denen der Code gehostet wird.
[Ihre URL hier]
Erwähnen Sie alle externen Patches und Build-Prozess-Modifikationen, die während Ihres Build-Prozesses verwendet werden und dafür sorgen, dass Ihre Shim-Binärdatei genau die ist, die Sie als Teil dieser Bewerbung eingereicht haben.
[Ihr Text hier]
Siehe https://techcommunity.microsoft.com/t5/hardware-dev-center/nx-exception-for-shim-community/ba-p/3976522 für weitere Details zur Signierung von Shim ohne NX-Bit.
[Ihr Text hier]
Überspringen Sie dies, wenn Sie GRUB2 nicht verwenden.
[Ihr Text hier]
Überspringen Sie dies, wenn Sie GRUB2 nicht verwenden, andernfalls stellen Sie sicher, dass diese vorhanden sind, und bestätigen Sie mit yes.
[Ihr Text hier]
Überspringen Sie dies, wenn Sie GRUB2 nicht verwenden, andernfalls: Haben Sie einen Eintrag in Ihrer GRUB2-Binärdatei ähnlich wie:
grub,5,Free Software Foundation,grub,GRUB_UPSTREAM_VERSION,https://www.gnu.org/software/grub/?
[Ihr Text hier]
Wenn Sie noch nie einen signierten Shim hatten, sagen Sie dies hier. Andernfalls reicht ein einfaches yes.
[Ihr Text hier]
Hinweis: Upstream-Kernel sollten alle diese angewendet haben, aber wenn Sie Ihren eigenen stark modifizierten älteren Kernel ausliefern, der getrennt vom Upstream gewartet wird, könnte dies nicht der Fall sein.
Wenn Sie einen älteren Kernel ausliefern, überprüfen Sie Ihre Quellen doppelt; vielleicht haben Sie nicht alle Patches, sondern liefern eine Konfiguration aus, die die Probleme nicht exponiert.
[Ihr Text hier]
Hinweis: Wenn nicht, werden wir Ihren Shim wahrscheinlich nicht signieren.
[Ihr Text hier]
[Ihr Text hier]
[Ihr Text hier]
[Ihr Text hier]
Dadurch wird sichergestellt, dass Ihr neuer Shim+GRUB2 diese älteren GRUB2-Binärdateien mit Problemen nicht mehr chainloaden kann.
Wenn dies Ihre erste Bewerbung ist oder Sie ein neues CA-Zertifikat verwenden, sagen Sie dies bitte hier.
[Ihr Text hier]
Ein Reviewer sollte immer in der Lage sein, docker build . auszuführen, um das genaue Binär zu erhalten, das Sie Ihrer Bewerbung beigefügt haben.
Hinweis: Verwenden Sie bevorzugt eingefrorene Pakete für Ihre Toolchain, da ein Update von GCC, binutils, gnu-efi dazu führen kann, dass ein Shim-Binär mit einer anderen Prüfsumme gebaut wird.
Wenn Ihre Shim-Binärdateien nicht mit dem bereitgestellten Dockerfile reproduziert werden können, erklären Sie bitte, warum das der Fall ist, was die Unterschiede wären und welche Build-Umgebung (Betriebssystem und Toolchain) verwendet wird, um diesen Build zu reproduzieren? In diesem Fall schreiben Sie bitte eine detaillierte Anleitung, wie diese Build-Umgebung von Grund auf eingerichtet wird.
[Ihr Text hier]
Dies sollte Logs für das Erstellen der Buildroots, das Anwenden von Patches, das Ausführen des Builds, das Erstellen der Archive usw. enthalten.
[Ihr Text hier]
Zum Beispiel Signierung neuer Kernel-Varianten, UKI, systemd-boot, neue Zertifikate, neue CA usw.
Überspringen Sie dies, wenn dies Ihre erste Bewerbung zur Signierung von Shim ist.
[Ihr Text hier]
[Ihr Text hier]
Beschreiben Sie die Sicherheitsstrategie, die für den Schlüsselschutz verwendet wird. Dies kann von der Verwendung von Hardware-Token wie HSMs oder Smartcards über luftdichte Tresore, physische Safe bis hin zu anderen bewährten Methoden reichen.
[Ihr Text hier]
Ein yes oder no genügt. Es gibt keine Strafe für Letzteres.
[Ihr Text hier]
Ein yes oder no genügt. Es gibt keine Strafe für Letzteres. Wenn jedoch yes: Enthält dieses Zertifikat die X509v3 Basic Constraints, die besagen, dass es sich um eine CA handelt? Siehe docs für weitere Hinweise dazu.
[Ihr Text hier]
Hinweis: Die Geschichte von SBAT und weitere Informationen zur Funktionsweise finden Sie hier. Dieses Dokument ist umfangreich. Für einige Beispiele schauen Sie sich SBAT.example.md an.
Wenn Sie eine Downstream-Implementierung von GRUB2 (z. B. von Fedora oder Debian) verwenden, stellen Sie sicher, dass deren SBAT-Einträge erhalten bleiben und dass Sie Ihre eigenen anhängen (nicht ersetzen), um den Widerruf zu vereinfachen.
Denken Sie daran, die Einträge aller Binärdateien zu posten. Neben Ihrem Bootloader liefern Sie möglicherweise auch z. B. einen Firmware-Updater aus, der ebenfalls diese Einträge enthalten wird.
Hinweis: Führen Sie objcopy --dump-section .sbat=/dev/stdout IHR_EFI_BINARY aus, um diese Einträge zu erhalten. Fügen Sie sie hier ein. Umgeben Sie jede Auflistung vorzugsweise mit drei Backticks (```), damit sie gut dargestellt werden.
[Ihr Text hier]
Überspringen Sie dies, wenn Sie GRUB2 nicht verwenden.
Hinweis: Es geht um die Module, die sich in der Binärdatei selbst befinden, nicht um die .mod-Dateien in Ihrem Dateisystem.
[Ihr Text hier]
[Ihr Text hier]
[Ihr Text hier]
Hinweis: Der häufigste Fall hier ist ein Firmware-Updater wie fwupd.
[Ihr Text hier]
Überspringen Sie dies, wenn Sie GRUB2 oder systemd-boot nicht verwenden.
[Ihr Text hier]
Fassen Sie in ein oder zwei Sätzen zusammen, wie Ihre sichere Bootchain auf höherer Ebene funktioniert.
[Ihr Text hier]
[Ihr Text hier]
[Ihr Text hier]
Der Überprüfungsprozess ist als Peer-Review-Aufwand gedacht, und der beste Weg, Ihre Bewerbung schneller überprüft zu bekommen, ist, anderen bei der Überprüfung zu helfen. Wir sind in den meisten Fällen Freiwillige, die in unserer Freizeit an dieser Plattform arbeiten, und nicht Angestellte, die dafür bezahlt werden, Bewerbungen während unserer Geschäftszeiten zu überprüfen.
Eine angemessene Wartezeit für eine Überprüfung kann 2–3 Monate betragen. Uns zu helfen, ist der beste Weg, diesen Zeitraum zu verkürzen. Je mehr Hilfe wir bekommen, desto schneller und reibungsloser wird es laufen.
Für Neueinsteiger werden die als easy to review gekennzeichneten Bewerbungen empfohlen, um mit dem Beitragsprozess zu beginnen.
[Ihr Text hier]
[Ihr Text hier]