
Demonstriert CVE-2022-34302, eine Secure-Boot-Umgehung über den von New Horizon Datasys signierten Bootloader, dessen integrierter benutzerdefinierter PE/COFF-Loader unsignierte UEFI-Anwendungen ausführt.
New Horizon Datasys Reboot Restore Boot Loader - Bring Your Own Vulnerable UEFI Application (BYOVUA) - Secure Boot bypass via signiertem Bootloader mit integriertem benutzerdefiniertem PE/COFF-Loader, der unsignierte UEFI-Anwendungen lädt.
Dieses Repository demonstriert die BYOVUA (Bring Your Own Vulnerable UEFI Application)-Technik durch die Ausnutzung von CVE-2022-34302, einer Secure-Boot-Umgehungsschwachstelle im New Horizon Datasys Bootloader.
Im Gegensatz zu den UEFI-Shell-basierten Schwachstellen (CVE-2022-34301 und CVE-2022-34303) stellt dieser Bootloader keine UEFI-Shell bereit. Stattdessen implementiert shdloader.efi einen eigenen benutzerdefinierten PE/COFF-Loader, der ein Second-Stage-Binary (shdmgr.ef_) lädt, ohne die LoadImage()-Funktion der Firmware zu verwenden und ohne jegliche Signaturüberprüfung durchzuführen. Ein Angreifer muss lediglich shdmgr.ef_ durch eine beliebige kompatible UEFI-Anwendung ersetzen, um beliebige Codeausführung bei aktiviertem Secure Boot zu erreichen.
Dies ist die gefährlichste der drei Schwachstellen, die in der Forschung "One Bootloader to Load Them All" offengelegt wurden. Wie Eclypsium anmerkte: Die Umgehung ist eingebaut, vollständig lautlos und hinterlässt keinen sichtbaren Hinweis auf dem Bildschirm - was sie selbst auf Systemen mit Monitor unsichtbar und auf Headless-Systemen wie Servern oder Industrieanlagen unentdeckbar macht.
BYOVUA ist das UEFI-Äquivalent zur BYOVD-Technik (Bring Your Own Vulnerable Driver), die auf Kernel-Ebene verwendet wird. Anstatt einen signierten Kernel-Treiber mit einer Schwachstelle mitzubringen, bringt der Angreifer eine signierte UEFI-Anwendung mit, die Funktionalität enthält, die Secure Boot untergraben kann.
Da shdloader.efi mit einem von Microsoft als vertrauenswürdig eingestuften Zertifikat signiert ist, wird es von Secure Boot ohne Weiteres akzeptiert, was es auf jedem System vertrauenswürdig macht, das dieses Zertifikat in seiner Secure-Boot-Datenbank (db) enthält - was praktisch auf jedem in den letzten zehn Jahren ausgelieferten UEFI-fähigen PC der Fall ist. Einmal ausgeführt, bietet sein integrierter benutzerdefinierter PE-Loader dem Angreifer die Möglichkeit, beliebigen unsignierten Code vor dem Laden des Betriebssystems zu laden und auszuführen, in einer Umgebung, in der moderne Sicherheitskontrollen (ASLR, DEP, Kernel-Schutzmechanismen) schlicht nicht existieren.
shdloader.efi ist ein UEFI-Bootloader, der als Teil der Systemwiederherstellungs- und Recovery-Produkte von New Horizon Datasys (Reboot Restore Rx, RollBack Rx) vertrieben wird. Seine Rolle in der legitimen Boot-Kette besteht darin, eine Pre-OS-Management-Komponente (shdmgr.ef_) zu laden, die Snapshot- und Wiederherstellungsvorgänge vor dem Start des Betriebssystems abwickelt.
| Eigenschaft | Wert |
|---|---|
| Datei | shdloader.efi = EFI/Boot/bootx64.efi |
| Hersteller | New Horizon Datasys Inc |
| Produkt | Reboot Restore Rx / RollBack Rx |
| CVE | CVE-2022-34302 |
| Signierung | Microsoft Windows UEFI Driver Publisher → Microsoft Corporation UEFI CA 2011 |
| Entdeckung | Eclypsium (Mickey Shkatov, Jesse Michael) - August 2022 |
| Präsentation | DEF CON 30 - "One Bootloader to Load Them All" |
| Widerruf | Hinzugefügt zur DBX über Microsoft KB5012170 (August 2022) |
Die Schwachstelle ist ein Designfehler in der Architektur des Bootloaders. Anstatt die LoadImage()- und StartImage()-Boot-Services der Firmware zu verwenden - die die Secure-Boot-Signaturüberprüfung erzwingen - implementiert shdloader.efi einen eigenen benutzerdefinierten PE/COFF-Loader, der shdmgr.ef_ direkt aus rohen Disk-Bytes liest, reloziert und ausführt, wodurch die Sicherheitsprüfungen der Firmware vollständig umgangen werden.
Das Kernproblem: Ein signiertes Binary, das von Secure Boot als vertrauenswürdig eingestuft wird, enthält einen eigenen Image-Loader, der keine Signaturen überprüft. Die Firmware validiert shdloader.efi als signiert, aber sobald es ausgeführt wird, lädt es shdmgr.ef_ ohne jegliche Überprüfung. Das Ersetzen von shdmgr.ef_ durch eine beliebige UEFI-Anwendung führt dazu, dass diese Anwendung mit vollem Hardwarezugriff ausgeführt wird, während Secure Boot als aktiviert gemeldet wird.
Dies unterscheidet sich grundlegend von CVE-2022-34301 und CVE-2022-34303, bei denen der Angreifer mit einer UEFI-Shell interagieren und gSecurity2 manuell korrumpieren muss, um die Überprüfung zu deaktivieren. Hier erfolgt die Umgehung automatisch und lautlos - keine Benutzerinteraktion, keine sichtbare Ausgabe, keine Shell-Eingabeaufforderung.
Das signierte shdloader.efi enthält eine eigene Implementierung eines PE/COFF-Image-Loaders. Anstatt den LoadImage()-Boot-Service der Firmware aufzurufen, der die Security Architectural Protocols aufrufen und die Signatur des Images gegen die Secure-Boot-Datenbank überprüfen würde, führt der Bootloader Folgendes aus:
\EFI\Boot\shdmgr.ef_ unter Verwendung des EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.reloc-Sektion und wendet Basisrelokationen an