GRUB 2.0.6 deaktiviert os_prober

GRUB2 verfügt über eine Funktion zur Einbindung des externen Programms os-prober, um andere, auf demselben Rechner installierte Betriebssysteme zu erkennen und entsprechende Menüeinträge für diese zu erzeugen. Diese Funktion wurde seit dem Frühjahr mit dem Einzug von GRUB 2.0.6 bei vielen Distributionen standardmäßig deaktiviert, da die automatische Ausführung von os-prober und die Erstellung von Booteinträgen auf der Grundlage dieser Daten ein potenzieller Angriffsvektor ist, sofern Secure Boot genutzt wird.

Das Sicherheitsproblem besteht, weil os_prober mit Root-Rechten per grub-mount alle Partitionen booted, um nach anderen Betriebssystemen zu suchen. Dieses Szenario könnte ausgenutzt werden, um dem System etwa einen modifizierten Kernel unterzuschieben oder Lücken im Dateisystem auszunutzen. Die GRUB-Entwickler bezeichnen die Situation als borderline attack vector.

Abschaltung bei Ubuntu 22.04

Zuletzt wurde os_prober in Debian Sid deaktiviert, Anwender von Debian Stable erreicht diese Änderung erst mit Debian 12 »Bookworm«. Für Ubuntu-Anwender kommt die Änderung bereits mit Ubuntu 22.04, wie omg!ubuntu! berichtet. Anwender können aber im Jahr 2022 erwarten, dass bei Dual- oder Multi-Boot-Systemen die weiteren Betriebssysteme automatisch erkannt und in GRUB eingebunden werden. Das wird aber durch die Deaktivierung von os_prober verhindert. Die Maßnahme betrifft Anwender von UEFI und herkömmlichem BIOS unterschiedlich. UEFI-Nutzer können ein anderes Betriebssystem (aber kein 2. Ubuntu) aus dem UEFI-Bootloader heraus starten, was beim herkömmlichen BIOS nicht funktioniert.

Die Ubuntu-Entwickler überlegen nun, wie sie der Situation begegnen können, ohne os_prober wieder einzuschalten. Es wird überlegt, os_prober nur einmal bei der Installation laufen zu lassen oder die Optionen des UEFI-Bootloaders im GRUB-Menü einzublenden.

Alternative für Anwender

Falls es bei der Abschaltung ohne Alternative bleiben sollte, können Anwender os_prober selbst wieder einschalten, indem sie in /etc/default/grub die Zeile GRUB_DISABLE_OS_PROBER=false einfügen oder von true auf false abändern. Anschließend ist der Befehl update-grub notwendig, um die Änderung einzulesen. Bei Arch und seinen Derivaten lautet der Befehl grub-mkconfig -o /boot/grub/grub.cfg, bei Fedora und Red Hat kommt bei BIOS grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)" zum Einsatz, bei UEFI ist es grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg. Eine weitere Möglichkeit steht erfahreneren Anwendern offen. Sie können weitere Betriebssystem manuell in /etc/grub.d/40_custom eintragen.

Kommentare

9 Antworten zu „GRUB 2.0.6 deaktiviert os_prober“

  1. Avatar von Der Eremit
    Der Eremit

    Verstehe ich das falsch?

    Zitat:
    da die automatische Ausführung von os-prober und die Erstellung von Booteinträgen auf der Grundlage dieser Daten ein potenzieller Angriffsvektor ist, sofern Secure Boot genutzt wird.
    Ende:

    Sollte Secure Boot nicht verhindern das ein nicht sicherer Boot Vorgang gestartet wird
    Also Problem wenn nicht Secure Boot genutzt wird.

    1. Avatar von Ferdinand

      Im Nachgang zu Boothole wurden in GRUB weitere Sicherheitslücken entdeckt, die dazu benutzt werden konnten, Sicherheitsaspekte von Secure Boot zu umgehen. Im Zuge der Reparatur dieser Lücken hat man os_prober gleich mit stillgelegt, denn es stand in dieser Hinsicht schon seit Jahren im Verdacht.

      1. Avatar von Der Eremit
        Der Eremit

        Danke, hatte wohl beim lesen deines Textes etwas zu kompliziert gedacht.
        Ich hatte schon os_prober bei mir deaktiviert weil ich mein Dualboot über
        die 40_custom gelöst habe. Secure Boot deaktiviere ich i.d.r auch immer.
        Daher ist das Update eigentlich bei mir ohne Auffälligkeiten durchgelaufen.

    2. Avatar von Andre R.
      Andre R.

      SecureBoot ist doch sowieso eher Schlangenöl und dient nur der QM-erforderlichen Corporate-Compliance 🙂

      1. Avatar von Klaus Behringer
        Klaus Behringer

        Es soll hier sogar Vollpfeiler geben, die SecureBoot zur Härtung des Systems vorschlagen.
        Aber du siehst ja, genau dieser Pfeiler hat sich bereits bei dir bedankt.

  2. Avatar von Tux
    Tux

    Deswegen ist der Windows-Eintrag aus meinem GRUB-Menü verschwunden! Danke für den Artikel und den Hinweis, wie man es repariert!

    1. Avatar von sebastian
      sebastian

      Hehe, hatte ich letzte Woche zufällig bei einem „au && adg“ gesehen, da es update-grub nach jedem neu-ausführen immerhin mit einem 1-Zeiler schreibt, aber habe es ignoriert.
      Gestern musste ich dann doch mal wieder meine Windose nach mehreren Wochen starten, und bin auch drüber gestolpert ^^

      Gruß

  3. Avatar von benQ
    benQ

    Grub könnte ja einen Eintrag ‚Nach neuen Betriebssystemen suchen‘ anbieten, den man manuell auswählen kann und der dann einmal den os-prober laufen läßt. Wäre zwar immer noch lästig, nach jedem Kernelupdate von Parallelinstallationen das durchzuturnen, aber besser als es komplett aus- oder komplett anzuschalten.

  4. Avatar von grubologe
    grubologe

    Warum so umständlich

    Falls es bei der Abschaltung ohne Alternative bleiben sollte…

    …Sie können weitere Betriebssystem manuell in /etc/grub.d/40_custom eintragen

    grub kann nach wie vor auch ohne die ganze unsägliche Skrippterei benutzt werden.

    ... linnux /boot/vmlinuz …
        initrd /boot/initrd.img
    

    oder, vorausgesetzt, grub wurde in den PBR installiert

    …chainloader +1
    

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert