#123 – Was ist eigentlich ein UEFI?

#122 – Was ist eigentlich eine API?
25. Oktober 2019
#125 – Was ist eigentlich ein Ryuk?
8. November 2019

Heute dreht sich alles um das Thema: „Was ist eigentlich ein UEFI?” 

Die Abkürzung UEFI steht für „Unified Extensible Firmware Interface“, was auf Deutsch soviel wie „Einheitliche erweiterbare Firmware-Schnittstelle“. bedeutet.

Das Unified Extensible Firmware Interface ist der Nachfolger des lange bewährten Basic Input/Output System. Da das 1981 veröffentlichte PC-BIOS den rasant verändernden Anforderungen moderner Hardware und Betriebssysteme nicht mehr gerecht wurde, entstand das erste EFI (Extensible Firmware Interface) unter der Anleitung und der Initiative von Intel.

2005 wurde das UEFI-Forum zur Weiterentwicklung von EFI, unter anderem durch Microsoft, Hewlett-Packard, AMD und anderer BIOS- & PC-Hersteller gegründet. Aus diesem Zusammenschluss entstand 2006 die erste UEFI-Version 2.0.

 

Diese bildet wie auch das BIOS, die zentrale Schnittstelle zwischen der Firmware, den einzelnen Komponenten eines Rechners und dem Betriebssystem und das System nach dem Start dem Betriebssystem zu übergeben.

Im Gegensatz zum BIOS stellt das UEFI ein eigenes kleines Betriebssystem dar, sodass sich Updates direkt über das UEFI laden und installieren lassen. BIOS-Updates dagegen, mussten früher heruntergeladen und aufwendig ins BIOS eingespielt werden. Außerdem umfasst die UEFI-Spezifikation eine API-Schnittstelle, um den Bootprozess und die Booteinträge von einem laufenden Betriebssystem aus konfigurieren zu können.

Die Grundfunktionen des Unified Extensible Firmware Interfaces haben sich gegenüber dem Basic Input/Output System nicht wirklich verändert.

Wie das BIOS wird auch UEFI bereits bei der Herstellung eines Rechners installiert. Es ist somit das erste Programm, das nach dem Einschalten ausgeführt wird. Dabei sorgt das Unified Extensible Firmware Interface für die Initialisierung der Hardware, die Überprüfung und Aktivierung der vorhandenen Hardwarekomponenten und das Starten des Betriebssystems.

Im Gegensatz zum BIOS bietet das Unified Extensible Firmware Interface allerdings viele neue Funktionen und eröffnet zusätzliche Möglichkeiten. Beispielsweise ist es über eine grafische Benutzeroberfläche bedienbar und unterstützt hochauflösende Grafikkarten schon beim Bootvorgang. Außerdem ermöglicht es die Nutzung von Netzwerkkarten schon vor dem Start des Betriebssystems. Darüber hinaus ist das Unified Extensible Firmware Interface modular erweiterbar.

 

Eine weitere wichtige und nennenswerte Funktion ist der so genannte Secure Boot.

Der im Unified Extensible Firmware Interface implementierte Secure-Boot-Mechanismus soll sicherstellen, dass nur signierte, vertrauenswürdige Software oder Betriebssysteme auf die Hardware zugreifen können. Das bedeutet wiederum, dass die Ausführung von Schadsoftware wie Viren oder Trojanern und das Starten von unerwünschten Betriebssystemen durch die Secure-Boot-Funktion verhindert wird.

Zur Realisierung dieser Funktion sind in der UEFI-Firmware Signatur-Datenbanken und ein Platform Key (PK) implementiert. Dadurch ist es möglich, Softwarecode vor der Ausführung zu überprüfen. Mal angenommen man möchte ein Betriebssystem starten. Wenn die digitale Signatur im UEFI nicht hinterlegt ist, wird dieser Vorgang durch den Secure-Boot-Mechanismus verhindert. Das gilt auch für das Booten von externen Medien wie USB-Sticks oder DVDs.

Ein weiterer entscheidender Unterschied ist zwischen dem BIOS und dem UEFI ist, dass Festplatten und SSDs anders partitioniert werden. Während das BIOS mit MBR arbeitet, nutzt UEFI das GPT-Partitionsschema. So kann man statt 4 primären Partitionen bis zu 128 Partitionen einrichten und statt 2,2 TByte nun 3 TByte große Speichermedien verarbeiten.

Ein weiterer Vorteil des UEFIs ist, dass die parallele Initialisierung der Hardware wie CPU, Arbeitsspeicher und Chipsatz den Bootvorgang beschleunigt. Im BIOS läuft dieser Vorgang seriell ab.

Leider hat das Unified Extensible Firmware Interface auch einige nennenswerte Nachteile und konzeptionelle Schwächen:

Zum einen benötigen viele Hardwarekomponenten nach wie vor zwei unterschiedliche Treiber, einen für das UEFI und einen für das eigentliche Betriebssystem.

Zum anderen gilt das UEFI in kritischen Systemumgebungen als Sicherheitsrisiko. Es erzeugt zumindest eine theoretische Möglichkeit, beispielsweise unter Ausnutzung der UEFI-Netzwerkunterstützung, Daten vom Betriebssystem unbemerkt an Netzwerkressourcen zu senden oder von diesen zu empfangen. Zudem stellt der Netzwerkstack unterhalb des Betriebssystems ein erhöhtes Risiko für Manipulationen oder die Ausführung von Schadsoftware dar. Trojaner und Viren könnten bereits vor dem Start des Betriebssystems auf den Rechner gelangen, da die Sicherheitssoftware der Betriebssystemumgebung im UEFI nicht aktiv ist.

Bevor wir nun zum Schluss unseres heutigen Podcast kommen, möchte ich noch auf die Frage eingehen, wie sieht es eigentlich mit der Kompatibilität zum BIOS aus?

Das Unified Extensible Firmware Interface bietet einen speziellen Kompatibilitätsmodus, um ältere Betriebssysteme ohne UEFI-Kompatibilität zu unterstützen. Man nennt das Modul Compatibility Support Module (CSM). Dieses Modul bildet ein normales BIOS innerhalb des UEFIs nach. Damit können auch ältere Betriebssystem mit einem UEFI-Motherboard starten. Je nach Implementierung zeigen die Systeme unterschiedliches Verhalten. Einige prüfen zunächst, ob UEFI-kompatible Bootmedien vorhanden sind und versuchen anschließend darüber zu booten. Hat dies keinen Erfolg, wechseln sie in einen BIOS-kompatiblen Modus. Andere Systeme erlauben das direkte Umschalten zwischen dem Basic Input/Output System und dem Unified Extensible Firmware Interface.

Kontakt: Ingo Lücker, ingo.luecker@itleague.de

Schreibe einen Kommentar