Linux soll Secure Boot lernen

Die kommende Fedora-Version 18 soll die UEFI-Funktion Secure Boot unterstützen – mit Hilfe eines von Microsoft signierten Bootloaders.

In Pocket speichern vorlesen Druckansicht 356 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Dr. Oliver Diedrich

Windows 8 wird die neue Funktion UEFI Secure Boot erzwingen, die auf PC-Mainboards und Notebooks mit den jüngsten UEFI-Versionen ab 2.3.1 den Start unsignierter Bootloader blockiert. Ist Secure Boot aktiv, lässt sich kein Betriebssystem starten, das nicht mit einem im BIOS hinterlegten Schlüssel signiert ist. Matthew Garrett, bei Red Hat angestellter Kernelentwickler, hatte im vergangenen Jahr bereits darauf hingewiesen, dass es problematisch sein könnte, auf solcher Hardware beliebige Linux-Distributionen zu installieren, und damit eine größere Diskussion losgetreten.

Jetzt hat Garrett in seinem Blog erklärt, wie die kommende Fedora-Version 18 die UEFI-Funktion Secure Boot unterstützen soll. Ein erstes Problem ist dabei der Schlüssel, der im BIOS hinterlegt sein muss. Fedora könne natürlich einen eigenen Schlüssel erstellen und den Bootloader der Distribution damit signieren. Dank der Verbindungen von Fedora-Sponsor Red Hat könne man wohl auch viele Hardwarehersteller dazu bewegen, den Fedora-Schlüssel zusätzlich zu Microsofts Windows-Schlüssel ins BIOS ihrer Rechner zu integrieren. Allerdings sei das ein Weg, der vor allem kleineren Linux-Distributionen mangels Kontakten nicht offen steht.

Die Alternative – ein generischer Schlüssel für alle Linux-Distributionen – würde hingegen die Einrichtung einer aufwendigen und teuren Zertifizierungsinfrastruktur für Linux-Distributionen erzwingen. Garretts pragmatische Lösung: Microsoft bietet an, einen Bootloader für 99 US-Dollar zu signieren – billiger und einfacher, so der Kernelentwickler, sei die Signierung wohl nicht zu haben. Fedora 18 werde daher wohl einen von Microsoft signierten Boot-Loader enthalten.

Das wird jedoch nicht Grub sein: Um die Signierung nicht bei jedem Grub-Update erneut durchlaufen zu müssen, soll ein minimaler, offiziell signierter Bootloader vorgeschaltet werden. Der prüft dann selbst die Integrität von Grub 2 und startet den Standard-Bootloader von Linux. Um eine sichere Boot-Kette zu erhalten, wird Grub 2 in Fedora 18 keine Module nachladen können, die Kommandozeile überprüfen, die dem Kernel übergeben wird, und die Integrität des Kernels prüfen.

Alle Kernelmodule müssen ebenfalls signiert sein, und der Kernel muss das Laden unsignierter Module verweigern. Außerdem müssen einige Kernelfunktionen deaktiviert werden: Die Grundidee hinter UEFI Secure Boot ist, dass nur vertrauenswürdiger – sprich: signierter – Code auf die Hardware zugreifen darf. Jede Möglichkeit, aus dem Userspace auf Hardware zuzugreifen, wie das beispielsweise der X-Server tut, muss daher unterbunden werden.

Garrett hält diesen Ansatz selbst nicht für eine besonders attraktive Lösung: So stellt der Signierungszwang für Treiber ein – noch ungelöstes – Problem für alle Treiber dar, die nicht in der Distribution enthalten sind; und auch das Kompilieren eines eigenen Kernels wird aufwendiger. Allerdings, so Garrett, sei das zumindest ein gangbarer Weg, um UEFI Secure Boot und Linux zusammenzubringen.

Siehe dazu auch:

(odi)