Bundesamt für Sicherheit in der Informationstechnik

Sicherheitsanalyse der UEFI-Integration und "Secure Boot"-Implementierung von Windows 8

Für den Boot-Vorgang eines Computers ist die Firmware zuständig. Diese übernimmt die Grundfunktionen der Initialisierung bis zum Start des Betriebssystems. In vielen modernen Systemen arbeitet heutzutage eine UEFI-kompatible Firmware. Das Unified-Extensible-Firmware-Interface ermöglicht eine modulare Erweiterung der Firmware durch verschiedene Firmwaremodule. Hierzu können zum Beispiel ein eingebettetes Netzwerkmodul für die Fernwartung, Module für Digital Rights Management und die BIOS-Emulation mit dem Compatibility Support Module (CSM), oder auch der Bootloader eines Betriebssystems gehören. UEFI beinhaltet auch die Möglichkeit zur Nutzung eines Secure-Boot-Mechanismus, der den Start von Anwendungen in der Firmware auf konkret erlaubte Dateien beschränkt. UEFI Secure Boot prüft beispielsweise vor der Ausführung, ob der Bootloader eines Betriebssystems mit einem Schlüssel signiert worden ist, welcher in einer speziellen Datenbank in der Firmware enthalten sein muss.

Diese Verifikation basiert auf den folgenden Schlüsseldatenbanken:

  • Auf einer Plattform darf es nur einen Platform Key (PK) geben. Üblicherweise wird dieser vom Hardwarehersteller (OEM) bereits erstellt und mit ausgeliefert. Der PK erlaubt die Manipulation der Key-Exchange-Key Datenbank (KEK).
  • Ein System darf mehrere Key-Exchange-Keys (KEK) enthalten. Ein KEK ermöglicht den Zugriff auf die autorisierte DB (db) und auf die nicht-autorisierte DB (dbx).
  • Die autorisierte DB (db) enthält Zertifikate und Hashes von Dateien, welche die Firmware ausführen darf. Dies kann zum Beispiel der Bootloader eines Betriebssystems oder ein anderes Firmwareprogramm sein.
  • Die nicht-autorisierte DB (dbx) enthält Zertifikate und Hashes von Dateien, welche die Firmware nicht ausführen darf. Diese ist daher insbesondere notwendig, um vormals in der db enthaltene Dateien nachträglich verbieten zu können.

Der Inhalt der db entscheidet also bei aktiviertem UEFI Secure Boot technisch darüber, welche Software auf dem Gerät starten darf. Nur wenn zu einem Programm auch ein Eintrag in der db existiert, darf dieses ausgeführt werden. Unbekannte Programme werden somit ebenfalls nicht ausgeführt.

Ziel des Projektes

Die Secure-Boot-Funktion hat weitreichende Auswirkungen auf die Installation von alternativen Betriebssystemen in Stand-Alone und Dual-Boot-Umgebungen. Diese Auswirkungen wurden insbesondere mit Blick auf die Möglichkeiten zur Installation verschiedener Betriebssysteme und der Kontrolle der Secure-Boot Schlüsselspeicher durch den Eigentümer auf am Markt verfügbarer Hardware untersucht.

Dabei standen die folgenden Fragen im Vordergrund:

  • Kann der Eigentümer Secure Boot deaktivieren?
  • Kann der Eigentümer alternatives Schlüsselmaterial in der UEFI Firmware hinterlegen?
  • Welche Möglichkeiten bietet der Hardware-Hersteller für die Modifikation des Schlüsselmaterials?

Untersucht wurden die Betriebssysteme Windows 8 Pro, Ubuntu 13.04, Debian 7.1.0, sowie Fedora 19 auf Plattformen der Hersteller Dell, HP, Lenovo und Medion.

Zudem sollte im Projekt – ausgehend von den Ergebnissen der vorangegangenen Analysen – beispielhaft eine vertrauenswürdige IT-Plattform unter Nutzung von eigenem Schlüsselmaterial mit UEFI "SecureBoot" im Dual-Boot Betrieb mit einem Windows 8 Betriebssystem umgesetzt werden.

Projektergebnisse

Trotz der relativ neuen Technik und der umfangreichen Spezifikation arbeitete Secure Boot auf allen untersuchten Plattformen mit den eingesetzten Betriebssystemem zusammen. Hierbei zeigen sich jedoch deutliche Unterschiede in Komfort und dem Grad an Kontrolle, welchen die Firmware dem Eigentümer über die eigenen Oberflächen zur Verfügung stellt. So bietet von den untersuchten Plattformen nur die Oberfläche auf dem Gerät von Dell die Möglichkeit zum Schlüsselimport und -export.

Bei Fedora 19 werden die Prinzipien von Secure Boot am konsequentesten umgesetzt. Das Betriebssystem verifiziert neben dem Bootloader auch den Kernel und die geladenen Module.

Mit der Durchführung der Studie hatte das BSI die Firma OpenSource Security Ralf Spenneberg (OS-T) beauftragt.

Download der Studie

Sicherheitsanalyse der UEFI-Integration und "Secure Boot"-Implementierung von Windows 8 (PDF, 3MB, Datei ist barrierefrei⁄barrierearm)