Bootloader

Sicheres Booten von Linux

Sicheres Booten von Linux

Linux: Was ist Secure Boot??

Beim Start führt ein Computer ein bestimmtes Programm aus, um seine Hardwarekomponenten zu erkennen und zu initialisieren. Traditionell verwenden IBM-kompatible PCs das Basic Input Output System (BIOS). Im Gegensatz dazu verwenden Macs OpenFirmware, Android hat nur einen Bootloader und ein Raspberry Pi startet von einer Firmware, die im System auf einem Chip (SoC) gespeichert ist. Dieser erste Schritt umfasst Hardware-Checks sowie die Suche nach verfügbaren Betriebssystemen auf Speichermedien, die Teil des Computers wie Festplatte, CDROM/DVD oder SD-Karte sind oder über ein Netzwerk mit diesem verbunden sind (Network File System (NFS) , PXE-Boot).

Die tatsächliche Suchreihenfolge hängt von den BIOS-Einstellungen des Computers ab. Abbildung 2 zeigt eine Liste der verfügbaren Geräte zum Booten.

Am Ende wird in einem Menü eine Liste der verfügbaren Betriebssysteme mit spezifischen Parametern (genannt „verfügbare Bootoptionen“) angezeigt, aus der Sie das gewünschte Betriebssystem zum Starten auswählen können.

Seit 2012 ist Secure Boot im Einsatz. Dieser Artikel erklärt, was es ist, was die Absicht dahinter ist und wie es funktioniert. Darüber hinaus beantworten wir die Frage, ob Secure Boot für reine Linux-basierte Maschinen erforderlich ist und wie Linux-Distributionen diesen Fall handhaben.


Was ist Secure Boot??

Beim Secure Boot geht es um Vertrauen. Die Grundidee dahinter ist, den Computer sicher zu starten, um zu verhindern, dass der Computer von Anfang an mit Malware läuft. Im Allgemeinen ist ein sauberer Start mit einem zuverlässigen System ein Ansatz, der stark unterstützt werden sollte.

Secure Boot ist Teil des Unified Extensible Firmware Interface (UEFI) – einer zentralen Schnittstelle zwischen der Firmware, den einzelnen Komponenten des Computers und dem Betriebssystem [3]. Über einen Zeitraum von etwa fünf Jahren wurde es von Intel und Microsoft als Ersatz für das BIOS entwickelt. Im Jahr 2012, Version 2.3.1 von UEFI wurde mit Microsoft Windows 8 eingeführt. Microsoft verpflichtete Computerhersteller, UEFI zu implementieren, wenn sie eine Windows 8-Zertifizierung für ihre neu gebauten Maschinen erhalten wollten [15].

Aber warum heißt Secure Boot Secure Boot?? Was macht es zu einer sicheren Boot-Option?? Secure Boot erlaubt nur das Booten von zuvor zugewiesenen Bootloadern und soll daher den Start von Malware oder anderen unerwünschten Programmen verhindern. Ein herkömmliches BIOS würde jede Software booten. Es würde sogar Malware wie einem Rootkit erlauben, Ihren Bootloader zu ersetzen. Das Rootkit wäre dann in der Lage, Ihr Betriebssystem zu laden und auf Ihrem System vollständig unsichtbar und nicht nachweisbar zu bleiben. Bei Secure Boot hingegen prüft die System-Firmware zunächst, ob der System-Bootloader mit einem kryptografischen Schlüssel signiert ist. Der kryptografische Schlüssel ist ein Schlüssel, der von einer in der Firmware enthaltenen Datenbank autorisiert wurde. Nur wenn der Schlüssel erkannt wird, kann das System booten. Eine solche gültige Signatur muss einer Spezifikation der Microsoft UEFI Certificate Authority (CA) folgen.


Verschiedene Perspektiven

Das klingt auf den ersten Blick ganz gut, aber es gibt immer zwei Seiten einer Medaille. Wie üblich bestehen Vor- und Nachteile nebeneinander. Presserezensionen loben oder verteufeln Secure Boot, je nachdem, wer die Rezension schreibt.

Bedenken Sie zunächst, dass die Autorität über die kryptografischen Schlüssel in den Händen eines einzigen Global Players liegt - Microsoft. Millionen von Maschinen einem einzigen Unternehmen zu überlassen, ist nie eine gute Idee. Auf diese Weise sichert sich Microsoft die vollständige Kontrolle über Ihren Computer. Mit einer einzigen Entscheidung ist Microsoft in der Lage, mit einem Schlag den gesamten Markt zu blockieren und sowohl seine Konkurrenten als auch Sie als Kunden auszusperren. E.G. Wenn Sie zu einem späteren Zeitpunkt Hardware eines anderen Herstellers installieren möchten, müssen Sie sicherstellen, dass der Schlüssel der neuen Komponente im Datenbanksystem hinterlegt ist. Sie haben eingeschränkte Flexibilität und Auswahlmöglichkeiten - insbesondere, wenn Sie ein Entwickler sind.

Zweitens ist nicht nur Ihre Hardwareauswahl eingeschränkt, sondern auch die Auswahl Ihres Betriebssystems soll aufgrund der von Windows eingeführten UEFI-Technologie eingeschränkt sein. Das macht der Linux-Community das Leben schwer. Linux-Bootloader wie GRUB müssen vor dem Einsatz auf UEFI-basierter Hardware erst zertifiziert werden und verlangsamen daher recht schnelle Entwicklungen, wie sie in der Open-Source-Community bekannt sind. Niemand weiß, was passiert, wenn der zentrale Validator bei der Validierung einen Fehler macht oder die Freigabe einer aktualisierten Software blockiert.

Drittens, was bedeutet der Begriff Malware heute und morgen?? Enthält es Betriebssysteme von Wettbewerbern [5] oder sind diese ausgeschlossen?? Der Validierungsprozess läuft hinter den Kulissen und niemand kann es beweisen.

Viertens gibt es Vorbehalte bezüglich der Sicherheit. Nach aktuellen Entwicklungen ist die Länge der kryptografischen Schlüssel relativ kurz. Secure Boot erlaubt nur X509-Zertifikate und RSA-Schlüssel mit einer festen Länge von 2048 Bit [16]. In naher Zukunft wird mit dem Einsatz von Massenparallelisierung und weiterer Rechenleistung basierend auf Virtualisierung erwartet, dass dieses Sicherheitsniveau durchbrochen wird. Heute werden kryptografische Schlüssel mit einer Länge von 4096 Bit empfohlen.

Fünftens sieht es so aus, als ob Software, die von einem großen Anbieter angeboten und zertifiziert wird, sicher und fehlerfrei ist. Wie die Geschichte zeigt, wissen wir alle, dass dies nicht wahr ist, Software enthält immer Fehler. Eine Zertifizierung wiegt Sie nur in falsches Sicherheitsgefühl.


Lösungen für Open Source

Aber wo es ein Problem gibt, gibt es auch eine Lösung. Microsoft bietet Linux-Distributoren großzügig die Möglichkeit, auf ihr Microsoft Sysdev-Portal zuzugreifen, um ihre Bootloader signieren zu lassen [17]. Dieser Service ist jedoch mit einem Preisschild verbunden.

Linux-Distributionen haben nur ein "Shim" [11], das auf dem Microsoft-Portal signiert ist. Das Shim ist ein kleiner Bootloader, der den GRUB-Bootloader der Linux-Distributionen bootet. Microsoft überprüft nur das signierte Shim und danach bootet Ihre Linux-Distribution normal. Dies hilft, das Linux-System wie gewohnt zu warten.

Wie aus verschiedenen Quellen berichtet, funktioniert (U)EFI gut mit Fedora/RedHat, Ubuntu, Arch Linux und Linux Mint. Für Debian GNU/Linux gibt es keine offizielle Unterstützung bezüglich Secure Boot [9]. Jedenfalls gibt es einen interessanten Blog-Beitrag zur Einrichtung [18] sowie eine Beschreibung im Debian-Wiki [14].

Alternativen zu UEFI

UEFI ist nicht der einzige Nachfolger des PC-BIOS - es gibt Alternativen. Sie können sich OpenBIOS [4], libreboot [7], Open Firmware [8,9] und coreboot [10] genauer ansehen. Für diesen Artikel haben wir sie nicht getestet, aber es ist hilfreich zu wissen, dass alternative Implementierungen existieren und reibungslos funktionieren.


Fazit

Wie bereits erwähnt, ist die Schlüsselfrage Vertrauen. Fragen Sie sich bei Computern, welchen Teilen Ihres Systems Sie vertrauen - den Hardwarekomponenten (Firmware, Chips, TPM) und/oder den Softwarekomponenten (Bootloader, Betriebssystem, verwendete Software). Sie können nicht das gesamte System debuggen. Es kann hilfreich sein zu wissen, dass Ihr Betriebssystem nicht gegen Ihre Interessen arbeitet und Sie die Dinge erledigen, für die Sie das System gekauft haben - auf sichere Weise, ohne von einem Monopolisten kontrolliert zu werden.


Links und Referenzen

Danksagung

Frank Hofmann und Mandy Neumeyer sind Co-Autoren des Artikels.  Die Autoren möchten Justin Kelly für seine Hilfe und seine kritischen Kommentare beim Schreiben dieses Artikels danken.

Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...
Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...