한국   대만   중국   일본 
Linux und UEFI Secure Boot | heise online

Linux und UEFI Secure Boot

Wie stellt man sicher, dass sich Linux auf Computern mit Windows 8 und UEFI Secure Boot installieren lasst? Fedora und Ubuntu sind sich uneins uber den richtigen Weg.

In Pocket speichern vorlesen Druckansicht 237 Kommentare lesen
Lesezeit: 5 Min.

Mit der Einfuhrung von Windows 8 durften gegen Ende des Jahres zunehmend Computer auf den Markt kommen, in denen das traditionelle BIOS aus der PC-Urzeit durch eine moderne Firmware ersetzt ist. Die Spezifikation fur das Unified Extensible Firmware Interface, kurz UEFI , beschreibt in der aktuellen Version 2.3.1 einen Mechanismus namens Secure Boot, der dafur sorgt, dass UEFI lediglich signierte Bootloader startet, deren Schlussel in der Firmware hinterlegt sind.

Ist Secure Boot aktiv, startet der Rechner keine Betriebssysteme, die nicht signiert sind oder deren Schlussel nicht hinterlegt sind. Wenn die Firmware lediglich den Microsoft-Schlussel enthalt, sind nicht von Microsoft signierte Betriebssysteme vom Secure Boot ausgeschlossen. Microsoft schreibt vor, dass zertifizierte Windows-8-Systeme per Secure Boot starten mussen. Bei x86-Systemen soll der Benutzer Secure Boot deaktivieren und ? sofern der PC-Hersteller das implementiert ? Schlussel anderer Hersteller einspielen konnen; ARM-Systeme mit Windows 8 werden wohl nur per Secure Boot starten konnen.

Fedora hat sich einen einfachen Weg uberlegt, wie die Distribution per Secure Boot auf jeder Hardware starten kann, ohne dass man Dell und Acer, Sony und Lenovo und all die anderen PC- und Notebook-Hersteller dazu bewegen muss, einen Fedora-Schlussel in die UEFI-Firmware aufzunehmen: Die Entwickler wollen ihren Bootloader von Microsoft signieren lassen ? Microsoft bietet das als Dienstleistung fur 99 US-Dollar an. Damit durfte Fedora auf allen x86-UEFI-Rechner starten, die Windows 8 booten konnen ? und das durften (nahezu) alle sein. Diese pragmatische Losung steht auch anderen Linux-Distributionen offen: Die Fedora-Macher haben bewusst einen Weg gesucht, der nicht nur fur Fedora funktioniert.

Ubuntu will das Secure-Boot-Problem anders losen. Fur Mark Shuttleworth ist es keine Option, dass " freie Software vom guten Willen Microsofts abhangig ist ", wenn sie auf moderner Hardware laufen will. Damit trifft er vielleicht die Stimmung von zumindest Teilen der Open-Source-Community, aber eine Losung fur das Grundproblem hat er auch nicht. Ob ein Computer jetzt nur Windows oder nur Ubuntu bootet, durfte dem OpenSuse-, Arch-, Mint-, Gentoo-, FreeBSD-, Foobar-User herzlich egal sein: Sein Lieblingssystem startet nicht darauf, solange Secure Boot aktiviert ist.

Und das kann auch gar nicht anders sein. Die Idee hinter Secure Boot ist doch, eine Vertrauenskette zu bauen: Die UEFI-Firmware ladt einen Bootloader, der durch seine Signatur belegt, dass er vertrauenswurdig und lediglich einen signierten Kernel ladt, der wiederum nur signierte Treiber ladt und signierte, also vertrauenswurdige Anwendungen ausfuhrt. Ob das in der Praxis funktioniert und wie leicht sich das moglicherweise aushebeln lasst, soll hier mal außen vor bleiben.

Wenn Microsoft einen Bootloader (oder sonst ein Stuck Software) signiert, ist das ein Vertrauensbeweis ? die Redmonder stehen gewissenmaßen dafur gerade, dass der Code sauber ist. Deshalb wird Microsoft nicht jede Software signieren, die dem Unternehmen vorgelegt wird. Aber was ware die Alternative? Eine Signierung ohne Prufung fur jedermann, die allen Linux-Distribution offen steht? Die konnte auch jedes Script-Kid fur seinen Baukasten-Trojaner nutzen; die Signatur ware kein Ausweis fur Vertrauenswurdigkeit mehr. Am Anfang einer "Chain of Trust" muss eine vertrauenswurdige Organisation stehen, auf deren Urteil (in Form der Signierung) man sich verlassen konnen muss.

Aber es reicht nicht, darauf zu vertrauen, dass Microsoft sorgfaltig pruft, was da signiert wird; man muss auch darauf vertrauen konnen, dass Microsoft die Signierung nicht grundlos verweigert. Das meint Shuttleworth, wenn er davon spricht, dass freie Software nicht von Microsofts gutem Willen abhangen durfe. Aber dafur gibt es einen einfachen Ausweg, den die Linux Foundation bereits vor einem halben Jahr aufgezeigt hat : eine unabhangige Certificate Authority als "Root of Trust", die die Bootloader der Betriebssystemhersteller signiert.

Oder man uberlasst es einfach der Entscheidung des Computernutzers, einer bestimmten Software zu trauen und beispielsweise ein Installationsmedium zu booten. Auch das ließe sich technisch umsetzen, wie das Whiterpaper der Linux Foundation ausfuhrt. Aber dazu mussen die Computerhersteller mitspielen und ihre UEFI-Systeme so einrichten, dass Betriebssysteme bei der Installation auch ihren Schlussel in der Firmware installieren konnen.

Womit man wieder an dem Punkt gelandet ist, an dem jede Diskussion uber UEFI Secure Boot irgendwann endet: Solange es keine konkreten Secure-Boot-Implementierungen gibt, kann man gar nichts Sicheres sagen. ( odi )