Sicherheitsanfälligkeiten in GRUB2, die UEFI Secure Boot umgehen können

Im GRUB2-Bootloader wurden 7 Schwachstellen behoben, die es ermöglichen, den UEFI Secure Boot-Mechanismus zu umgehen und nicht verifiziertes Code auszuführen, wie z. B. die Einführung von Malware, die auf Bootloader- oder Kernel-Ebene arbeitet. Zusätzlich wurde eine Schwachstelle in der Shim-Schicht entdeckt, die ebenfalls den UEFI Secure Boot umgehen kann. Die Gruppe dieser Schwachstellen trägt den Codenamen Boothole 3, analog zu ähnlichen Problemen, die zuvor im Bootloader festgestellt wurden.

Um die Probleme in GRUB2 und Shim zu beheben, können Distributionen den SBAT-Mechanismus (UEFI Secure Boot Advanced Targeting) verwenden, der für GRUB2, Shim und fwupd implementiert ist. SBAT wurde in Zusammenarbeit mit Microsoft entwickelt und sieht vor, dass den ausführbaren Dateien von UEFI-Komponenten zusätzliche Metadaten hinzugefügt werden, die Informationen über den Hersteller, das Produkt, die Komponente und die Version enthalten. Diese Metadaten werden digital signiert und können separat in die Listen der zulässigen oder gesperrten Komponenten für den UEFI Secure Boot aufgenommen werden.

In den meisten Linux-Distributionen wird für die verifiziertes Booten im UEFI Secure Boot-Modus eine kleine shim-Schicht verwendet, die digital von Microsoft signiert ist. Diese Schicht verifiziert GRUB2 mit ihrem eigenen Zertifikat, was es den Entwicklern der Distributionen ermöglicht, jedes Update des Kernels und von GRUB nicht bei Microsoft zu signieren. Schwachstellen in GRUB2 ermöglichen es, Code auszuführen, nachdem die shim erfolgreich verifiziert wurde, aber bevor das Betriebssystem geladen wird, indem sie sich in die Vertrauenskette während des aktiven Secure Boot-Modus einklinken und die vollständige Kontrolle über den weiteren Ladeprozess übernehmen, einschließlich des Ladens eines anderen Betriebssystems, des Modifizierens von Komponenten des Betriebssystems und des Umgehens des Lockdown-Schutzes.

Um Probleme im Bootloader zu beheben, müssen neue interne digitale Signaturen für die Distributionen erstellt und die Installer, Bootloader, Kernel-Pakete, fwupd-Firmware und die shim-Schicht aktualisiert werden. Vor der Einführung von SBAT war die Aktualisierung der Liste der widerrufenen Zertifikate (dbx, UEFI-Rückrufliste) eine zwingende Voraussetzung für die vollständige Blockierung der Schwachstelle, da ein Angreifer, unabhängig vom verwendeten Betriebssystem, ein Bootmedium mit einer alten, verletzlichen Version von GRUB2, die durch eine digitale Signatur bestätigt ist, nutzen konnte, um UEFI Secure Boot zu kompromittieren.

Anstelle des Widerrufs von Signaturen ermöglicht SBAT die Blockierung ihrer Verwendung für spezifische Versionsnummern von Komponenten, ohne dass die Schlüssel für Secure Boot widerrufen werden müssen. Die Blockierung von Schwachstellen über SBAT erfordert die Nutzung der Liste der widerrufenen UEFI-Zertifikate (dbx) nicht und erfolgt auf der Ebene des Austauschs des internen Schlüssels zur Erstellung von Signaturen und zur Aktualisierung von GRUB2, shim und anderen Boot-Artefakten, die von den Distributionen bereitgestellt werden. Derzeit wurde die Unterstützung für SBAT bereits in die meisten beliebten Linux-Distributionen integriert.

Identifizierte Schwachstellen:

  • CVE-2021-3696, CVE-2021-3695 - Bufferüberlauf im Heap bei der Verarbeitung von speziell gestalteten PNG-Bildern, das theoretisch genutzt werden könnte, um die Ausführung von Angreifer-Code zu ermöglichen und UEFI Secure Boot zu umgehen. Es wird festgestellt, dass das Problem schwer auszunutzen ist, da zur Erstellung eines funktionierenden Exploits eine Vielzahl von Faktoren berücksichtigt werden muss und Kenntnisse über die Speicheranordnung erforderlich sind.
  • CVE-2021-3697 - Bufferunterlauf (buffer underflow) im Code zur Verarbeitung von JPEG-Bildern. Die Ausnutzung des Problems erfordert Kenntnisse über die Speicheranordnung und weistapproximately das gleiche Komplexitätsniveau auf wie das Problem mit PNG (CVSS 7.5).
  • CVE-2022-28733 - Ganzzahlüberlauf in der Funktion grub_net_recv_ip4_packets(), der es ermöglicht, den Parameter rsm->total_len durch das Senden eines speziell gestalteten IP-Pakets zu beeinflussen. Das Problem wird als die gefährlichste der aufgeführten Schwachstellen angesehen (CVSS 8.1). Bei erfolgreicher Ausnutzung erlaubt die Schwachstelle das Überschreiben von Daten außerhalb des Puffers durch die Zuweisung von absichtlich kleinerem Speicher.
  • CVE-2022-28734 — ein einbyteiger Bufferüberlauf bei der Verarbeitung von getrennten HTTP-Headern. Dieses Problem kann zu einer Beschädigung der GRUB2-Metadaten führen (Einfügen eines Nullbytes direkt am Ende des Buffers) bei der Analyse speziell gestalteter HTTP-Anfragen.
  • CVE-2022-28735 — ein Problem im shim_lock-Überprüfer, das das Laden von Dateien ermöglicht, die nicht zum Kernel gehören. Diese Schwachstelle kann genutzt werden, um im UEFI Secure Boot-Modus Module oder unüberprüften Code ohne digitale Signatur zu laden.
  • CVE-2022-28736 — der Zugriff auf bereits freigegebenen Speicher in der Funktion grub_cmd_chainloader() durch einen wiederholten Aufruf des chainloader-Befehls, der zum Laden von Betriebssystemen verwendet wird, die von GRUB2 nicht unterstützt werden. Ein erfolgreicher Angriff könnte zur Ausführung von Code des Angreifers führen, wenn er in der Lage ist, die Merkmale der Speicherzuweisung in GRUB2 zu ermitteln.
  • CVE-2022-28737 — Bufferüberlauf in der shim-Schicht, der in der Funktion handle_image() beim Laden und Ausführen speziell gestalteter EFI-Images auftritt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster