Unified Extensible Firmware Interface
Das Unified Extensible Firmware Interface (kurz UEFI, englisch für einheitliche erweiterbare Firmware-Schnittstelle[1]) ist eine von Intel 1998 veröffentlichte Schnittstellen-Definition für Computer-Firmware, für die Intel zugleich eine Referenzimplementierung vorstellte. Ursprünglich wurde die von Intel für die 64-Bit-Itanium-Architektur entwickelte Firmware als Extensible Firmware Interface, kurz EFI, bezeichnet. UEFI hat sich als Nachfolger des BIOS etabliert und bildet als solches die zentrale Schnittstelle zwischen der Plattform-Firmware und dem Betriebssystem.
Dadurch, dass UEFI-Firmware auf IBM-PC-kompatiblen Computern die bisherige Firmware – das BIOS – abgelöst hat, wird UEFI auch oft als „UEFI-BIOS“ sowie dessen Firmware-Setup auch (weiterhin) oft als „BIOS-Setup“ bezeichnet.[2]
Wesentliche Merkmale von UEFI sind die Nutzung der GUID-Partitionstabelle, die zum vom BIOS genutzten Master Boot Record teil-kompatibel bleibt, Framebuffer-basierte Grafikunterstützung, Netzwerkfunktionalität, sowie seit UEFI-Version 2.3.1, Secure Boot, eine Funktion, die das Booten auf vorher signierte Bootloader beschränkt und so Schadsoftware oder andere unerwünschte Programme hindern soll, zu starten.
Merkmale
[Bearbeiten | Quelltext bearbeiten]Im Gegensatz zu dem alten PC-BIOS enthält UEFI Schnittstellen und Datentabellen mit Plattforminformationen sowie Boot- und Laufzeitdienste, die dem Betriebssystemlader und in Folge dem Betriebssystem zur Verfügung stehen. Die UEFI-Firmware bietet verschiedene technische Vorteile gegenüber dem BIOS-System:
- UEFI ist unabhängig vom Typ der CPU, und es können damit verschiedene Arten von Systemen, unter anderem Arm-Architektur und x64, gebootet werden.
- Es können große Festplatten mit über 2 TB mit einer im Rahmen von UEFI eingeführten GUID-Partitionstabelle (GPT) verwendet werden.[3]
- Alle Daten und Programme für UEFI werden in Form von herkömmlichen Dateien in einer eigenen Partition gehalten, welche im Format VFAT vorliegen muss. Im Gegensatz zum BIOS werden keinerlei Daten wie die des Betriebssystemladers in bestimmten fixen und unveränderlichen Speicherbereichen wie dem Master Boot Record (MBR) gehalten.
- Netzwerkfähig. Im Gegensatz zum älteren BIOS-Standard Preboot Execution Environment (PXE), welcher im BIOS der Netzwerkkarte entsprechende Treiber benötigt, ist UEFI netzwerkfähig und erlaubt, angelehnt an die Verfahren wie bei PXE, direkt das Booten über Netzwerk.
- Generell modulares, erweiterbares Design in den Strukturen. Beispielsweise besteht die Möglichkeit, eine der Unix-Shell ähnliche UEFI-Shell im Rahmen des Bootvorganges aufrufen zu können.
- Das permanente Speichern bestimmter Daten, beispielsweise der Boot-Reihenfolge von verschiedenen Medien, erfolgt im NVRAM nach Verfahren, welche im UEFI-Standard festgelegt sind.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Maßgeblich für die Neuentwicklung EFI war eine Initiative von Intel, um einen Ersatz für das BIOS zur Verwendung auf der Itanium-Architektur (Intel Architecture 64-Bit, kurz IA-64) zu finden. In dem 1998 gegründeten Intel Boot Initiative (IBI)-Programm wurde die Idee spezifiziert.
Unified EFI (UEFI)
[Bearbeiten | Quelltext bearbeiten]Zur Werbung und Weiterentwicklung von EFI wurde 2005 das Unified EFI Forum gegründet. Daran sind außer Intel auch AMD, Microsoft, Hewlett-Packard und viele andere PC- und BIOS-Hersteller beteiligt, sodass die nun als Unified EFI (UEFI) bezeichnete Schnittstelle nicht mehr allein von Intel festgelegt wird. Im Januar 2006 wurde die Version 2.0 der EFI-Spezifikation und deren Quelltext bereits als UEFI freigegeben.
Der Unterschied zwischen EFI und UEFI ist daher nur der Name: vor Version 2.0 hieß die Firmware „EFI“, ab Version 2.0 ist die korrekte Bezeichnung „UEFI“.
BIOS-Nachfolger
[Bearbeiten | Quelltext bearbeiten]Das ursprüngliche PC-BIOS erschien 1981 mit dem ersten IBM PC. Mit Fortschreiten der Entwicklung der IBM-PC-kompatiblen Computer wurde es trotz ständiger Erweiterungen den Anforderungen moderner Hardware und Betriebssysteme nicht mehr gerecht. Insbesondere ist es weder 32-Bit- noch 64-Bit-tauglich im Bezug auf Treiber. Zu Beginn der 2000er Jahre erschienen weitere Provisorien zum Ausgleich dieser Makel den Hardware-Herstellern (wie Intel oder AMD) nicht mehr tragbar.
Auf die x86-Architektur kam EFI in etwa zur selben Zeit wie die Befehlssatzerweiterung „x64“ bzw. „x86-64“, mit der die damals 32-Bit-x86-Architektur „IA-32“ ebenfalls zu einer 64-Bit-Architektur wurde. Dennoch wurde EFI anfänglich nur als 32-Bit-Firmware implementiert, u. a. bei Intel-Macs von Apple, die ab 2006 EFI-Version 1.10 als Firmware nutzten. Ab UEFI 2.0 gibt es offiziell eine 64-Bit-Implementierung auf x86.[4]
Um auf x86-Systemen zu bestehender Software kompatibel zu bleiben, war mit dem Compatibility Support Module, kurz CSM, eine BIOS-Kompatibilitätsschicht integriert. Seit ca. 2010 löste UEFI schrittweise das BIOS ab,[5] welches daher auch als Legacy[6][7] (dt.: Erbe/Hinterlassenschaft/Altlast) bezeichnet wurde. Seit 2020 wird das CSM, der BIOS-Kompatibilitäts-Modus, von den Herstellern weggelassen.[8][9]
Der eigentliche Nachfolger für das BIOS ist der Firmware Foundation Code, der zu den Bedingungen der CPL (Common Public License) freigegeben wird und das Extensible Firmware Interface implementiert.[10]
Secure Boot
[Bearbeiten | Quelltext bearbeiten]Mit der Einführung von Windows 8 im Jahr 2012 wurde das UEFI in der Version 2.3.1 mit einem „Secure Boot“-Mechanismus verstärkt eingeführt, der das Booten auf vorher signierte Bootloader beschränkt: Secure Boot ermöglicht den gesicherten Anfang einer unterbrechungsfreien „Vertrauens-Kette“ von der Hardware-Firmware bis zur Benutzeranwendung. Das erhöht die Sicherheit beim Systemstart u. a. weil es Schadsoftware, der die passenden Signaturen fehlen, im Grundsatz nicht mehr möglich ist, in den Boot-Prozess einzugreifen, es verhindert jedoch nicht, dass jedes Kettenglied auch „nicht-vertrauenswürdige“ Software nachladen kann. Beispielsweise existiert mit Shim ein von Microsoft signierter Bootloader, der einen nicht zertifizierten GRUB und über diesen beliebige andere Binaries nachladen kann.
Notwendig wurde Shim, da viele Hersteller von Hauptplatinen in ihren UEFI-Implementierungen ausschließlich Signaturen für Microsoft-Produkte mitliefern und die Installation benutzereigener Signaturen auf ihrer Hardware, z. B. für die Installation eines Linux-Kernels, nicht oder zumindest nicht allein mit den UEFI-Bordmitteln möglich ist. Da die Microsoft-Signaturen in nahezu allen real verfügbaren UEFI-Implementierungen vorhanden sind, nutzen praktisch alle aktuellen Linux-Distributionen Shim, um auf Rechnern mit aktiviertem Secure Boot zu starten.
Wie Forscher der Mitre Corporation Mitte 2014 bekannt gegeben haben, weist die Intel-Referenzimplementierung von UEFI zudem eine Sicherheitslücke auf, die das dauerhafte Einschleusen von Malware ermöglicht. Genutzt wird hierfür eine fehlerhafte Update-Funktion, durch die es zu Integer-Overflows kommt und Schadcode ausführbar macht. Viele verwenden den Code der Intel-Referenzimplementierung als Basis für ihr UEFI.[11]
2016 wurde außerdem eine Sicherheitslücke im Microsoft-Bootloader bekannt, die eine Umgehung des Schutzes ermöglichte.[12][13]
UEFI Security Response Team (USRT)
[Bearbeiten | Quelltext bearbeiten]Im Jahr 2017 wurde das UEFI Security Response Team (USRT) gegründet, das als Schnittstelle und Ansprechpartner zwischen IT-Sicherheitsleuten wie beispielsweise ethischen Hackern (engl. sogenannte „white hats“) und den Unternehmen dienen soll, die UEFI-basierte Hardware herstellen. Damit will man den Weg erleichtern und verkürzen, den jemand gehen muss, um die Industrie über eine Sicherheitslücke zu informieren, die er in UEFI gefunden hat, so dass letzten Endes auch die Industrie schneller mit Sicherheitspatches reagieren kann.[14]
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Tianocore EDK2
[Bearbeiten | Quelltext bearbeiten]Mit TianoCore EDK2[15] steht eine Referenzimplementierung unter der BSD-Lizenz zur Verfügung. Diese basiert auf einer vorhergehenden Entwicklung von Intel.
Das U-Boot
[Bearbeiten | Quelltext bearbeiten]Im Universal Boot Loader (Das U-Boot) steht seit 2017[16] die UEFI-API zur Verfügung. Auf der Armv8-A-Architektur nutzen Linux-Distributionen die U-Boot-UEFI-Implementierung zusammen mit GNU GRUB zum Booten (z. B. SUSE Linux[17]). Auch OpenBSD[18] nutzt das UEFI-API, um von U-Boot zu starten.
Alternativen
[Bearbeiten | Quelltext bearbeiten]Für PowerPC- und SPARC-Rechner wurde 1994 bei Unix-Workstations und Servern der plattform- und prozessorunabhängige Forth-basierte Industriestandard Open Firmware (IEEE-1275) spezifiziert. Wesentliche technische Vorteile von Intels Eigenentwicklung EFI gegenüber Open Firmware, abgesehen von wesentlich gesteigerter Ausführungsgeschwindigkeit (Vergleich zwischen Mac mit Open Firmware und Mac mit EFI des gleichen Jahrgangs), waren zu diesem Zeitpunkt nicht bekannt.
Eine weitere Alternative ist die unter der GPL-Lizenz stehende Firmware coreboot (ehemals LinuxBIOS). Coreboot ist ein Minimalsystem, das lediglich die Hardware soweit initialisiert, dass ein anderes Programm (ein sogenanntes Payload) aufgerufen werden kann, etwa ein Linux-Kernel, ein Bootloader wie GRUB, aber auch alternative Firmware wie ein BIOS (mittels SeaBIOS), Open Firmware oder ein UEFI (mittels TianoCore).
Darüber hinaus existieren, meist für Nischen, weitere Alternativen:
Techniken und Möglichkeiten
[Bearbeiten | Quelltext bearbeiten]Die EFI-Schnittstelle soll die Nachteile des seit den 1980er Jahren verbreiteten BIOS beseitigen und neue Möglichkeiten eröffnen. Dazu gehören laut EFI-Spezifikationen:
- Einfache Erweiterbarkeit (z. B. für Digital Rights Management)
- Eingebettetes Netzwerkmodul (zur Fernwartung)
- Preboot Execution Environment (universelles Netzwerkbootsystem)
- Unterstützung für hochauflösende Grafikkarten schon beim Start des Computers
- optional in der Übergangszeit (zwischen 2010 und 2020) eine BIOS-Emulation durch das „Compatibility Support Module“ (CSM), zur Wahrung der Kompatibilität zu vorhandenen Betriebssystemen, die UEFI nicht unterstützen und ein BIOS voraussetzen[21]
- eine Shell, über die beispielsweise EFI-Applikationen (*.efi) aufgerufen werden können
- Treiber können als Modul in das EFI integriert werden, so dass sie nicht mehr vom Betriebssystem geladen werden müssen. Damit sind, wie bei Open Firmware, systemunabhängige Treiber möglich.
- Das System kann in einem Sandbox-Modus betrieben werden, bei dem Netzwerk- und Speicherverwaltung auf der Firmware laufen anstatt auf dem Betriebssystem.
- Das EFI bietet eine Auswahlmöglichkeit für die auf dem System installierten Betriebssysteme und startet diese; damit sind (den Betriebssystemen vorgeschaltete) Bootloader überflüssig.
- Mit der GUID-Partitionstabelle „GPT“ (für GUID Partition Table) führt es einen flexibleren Nachfolger für auf dem Master Boot Record basierende Partitionstabellen ein. Die GUID-Partitionstabelle ist notwendig, um von einer Festplatte > 2 TB booten zu können bzw. Partitionen > 2 TB anlegen und verwalten zu können.
Obwohl GPT mit EFI eingeführt wurde, kann die Partitionstabelle auch von anderen Systemen verwendet werden. U. a. ist es auch mit dem PC-BIOS möglich, von einer GPT-partitionierten Festplatte zu starten, wenn ein geeigneter Bootloader (z. B. GRUB) installiert ist. Allerdings wird das nicht von vielen Betriebssystemen unterstützt: Windows beispielsweise bricht den Startvorgang mit einem Fehler ab, Linux hingegen kann auch im BIOS- oder CSM-Modus auf GPT-Partitionen installiert und genutzt werden.
Marktdurchdringung
[Bearbeiten | Quelltext bearbeiten]Die Etablierung des Extensible Firmware Interface als Ersatz für das BIOS scheiterte im PC-Bereich zunächst am Widerstand von Computer- und BIOS-Herstellern. Nur Apple verwendete ab dem Einstieg in den x86-Markt mit Macs auf Intel-Basis ausschließlich EFI.
Im Februar 2008 sollte das erste „normale“ x86-Mainboard (P35 Neo3 von MSI), welches auf dem P35-Chipsatz von Intel basiert, mit EFI erscheinen.[22] Erschienen ist es jedoch nie. MSI plante allerdings die Markteinführung von EFI für P45-Boards im Juli 2008.[23] Anders als diese Nachrichten vermuten ließen, hat MSI die Veröffentlichung eines Mainboards mit EFI-Installation nicht vom Werk aus geplant, sondern hat für die dort genannten Mainboards ein EFI als öffentliche Beta-, also Testversion, herausgebracht.[24] Im Jahr 2009 haben sich verschiedene Hersteller zu (U)EFI bekannt (u. a. Insyde, Intel und Phoenix). Als Grund hierfür kann die x86_64-Kompatibilität und die verkürzte Ladezeit des jeweiligen Systems angeführt werden.[25] Ende 2010 lieferte Hersteller Asus erste Mainboards für den Sockel 1155 mit EFI.[26]
EFI wird hauptsächlich von Intel gefördert und – mit Einschränkungen – auch von Microsoft. Intels Itanium-Systeme liefen von Anfang an ausschließlich mit EFI. Zusammen mit Intel-Hauptprozessoren setzte ab 2006 auch Apple das EFI ein. Windows-Versionen für IA-64-Server mit EFI gibt es seit Windows 2000. Windows Vista (x64) unterstützt seit SP1 UEFI 2.0, ebenso Windows Server 2008 (gleiche Entwicklungsgrundlage wie Vista mit SP1), aber nicht den älteren EFI-Standard 1.3, der bis ca. 2012 auf Intel-Macs verwendet wurde.[27] Ab 2013 wurde Apple-EFI mehr oder weniger zu UEFI 2.0 kompatibel,[28][29] allerdings hatte Apple schon ab ca. Ende 2008 bei der Grafikschnittstelle (EFI-Framebuffer) UEFI-2.0-Kompatibilität hergestellt.[30]
Betriebssysteme
[Bearbeiten | Quelltext bearbeiten]Bei den meisten Betriebssystemen kann ein 64-Bit-Kernel nur 64-Bit-Treiber, inklusive (U)EFI-Treiber, verwenden, sowie ein 32-Bit-Kernel nur Treiber, die ebenfalls in 32-Bit vorliegen. Daher ergibt sich oft, dass aus einer 32-Bit-(U)EFI-Firmware nur ein 32-Bit-Betriebssystem gestartet und aus einer 64-Bit-(U)EFI-Firmware nur ein 64-Bit-Betriebssystem gestartet werden kann (z. B. bei Microsoft Windows und den meisten Linux-Distributionen). Dennoch verhindert ein 32/64-Bit-(U)EFI nicht prinzipiell den Start eines 64/32-Bit-Betriebssystems; beispielsweise beherrscht der Bootloader der verbreiteten Linux-Distribution Fedora den Start eines 64-Bit-Linux auf einem System mit lediglich 32-Bit-UEFI.
Itanium (IA-64)
[Bearbeiten | Quelltext bearbeiten]Die Itanium-Architektur von Intel und HP, auch unter der Abkürzung IA-64 („Intel Architecture 64-Bit“) bekannt, war die erste Computer-Architektur, auf der EFI als Firmware eingesetzt wurde. Daher unterstützen Betriebssysteme, die auf Itanium-Rechnern laufen, zumindest den Teil, der zum Laden des Betriebssystems selbst zum Einsatz kommt. Darunter fallen die IA-64-Versionen von FreeBSD, HP-UX, Linux, NetBSD, OpenVMS und Windows (Windows 2000 bis Server 2008 R2).
x86 (IA-32, x64)
[Bearbeiten | Quelltext bearbeiten]Die x86-Architektur wurde von Intel retronym als IA-32 bezeichnet, was für „Intel Architecture 32-Bit“ steht. Allerdings wurde die Architektur mit der x64-Befehlssatzerweiterung 2003 ebenfalls zur 64-Bit-Architektur.
Windows
[Bearbeiten | Quelltext bearbeiten]Für Endanwender unterstützt Windows (U)EFI vor allem in den 64-Bit-Varianten ab Windows Vista mit integriertem Service Pack 1 bzw. Windows Server 2008; einige Windows-32-Bit-Versionen unterstützen auch UEFI-32-Bit.[31]
Für den Windows-7-Nachfolger Windows 8 wird EFI 2.x empfohlen. Systeme mit Systemplatten größer als 2 Terabyte und Systeme mit Arm-Prozessor benötigen EFI zwingend.[32]
Alle Windows-Versionen vor Vista für die x86-Architektur funktionieren nur dann auf (U)EFI-Mainboards, wenn eine BIOS-Kompatibilitätsschicht (CSM) vorhanden ist. Diese wurde auch z. B. von Macintosh-Computern mit Intel-Prozessor, „Intel-Macs“ (ab 2006), bereitgestellt, ist aber auch Bestandteil der meisten aktuellen UEFI-Implementierungen auf PC-Mainboards bis 2020.[33][34]
Welche Firmware aktuell läuft, lässt sich mit dem Befehl %windir%\system32\bcdedit
als Admin abfragen.
Linux
[Bearbeiten | Quelltext bearbeiten]EFI wird auch von Linux unterstützt. Der stabile Zweig des Linux-Kernels bietet ab Version 2.6.25 auch für die x86-Architektur Unterstützung für EFI.[35]
Seit dem Erscheinen der ersten Itanium-Systeme entwickelt HP den Bootloader elilo. Dieser war zwar anfänglich nur für IA-64 (Itanium) ausgelegt, wurde dann aber auch auf IA-32 (x86) und x86-64 (x64) portiert. GRUB 2 unterstützt EFI-PCs ebenfalls.
Fedora unterstützt ab Version 17 EFI in der Installation und richtet das System entsprechend ein, um mit EFI arbeiten zu können. Debian unterstützt EFI ab Version 7.0 Wheezy mit einem eigenen Bootloader. Der Fedora-Bootloader kann auf einem 64-Bit-fähigen System mit lediglich 32-Bit-UEFI dennoch ein 64-Bit-Linux installieren und starten,[36] was die meisten anderen Linux-Distributionen nicht beherrschen.[37]
macOS (Mac OS X)
[Bearbeiten | Quelltext bearbeiten]Die im Januar 2006 vorgestellten und alle nachfolgenden Apple-Macintosh-Rechner mit macOS (das ursprünglich „Mac OS X“ und von 2012 bis 2016 „OS X“ hieß), die auf x86-Prozessoren von Intel basieren, verwenden EFI als Firmware.[38] Damit sind sie – zusammen mit einigen Media-Center-PCs wie etwa dem Gateway 610 aus dem Jahr 2003 – die ersten EFI-basierten Massenmarktcomputer. Die ausschließliche Nutzung des EFI ohne die optionale BIOS-Kompatibilitätsschicht CSM verhinderte zunächst das Booten von Windows XP auf Intel-basierten Macintosh-Rechnern. Bald wurde aber durch das Projekt xom eine BIOS-Emulation implementiert, die das Starten von Windows ermöglichte.
Apple rüstete den „BIOS Layer“ (CSM) nach einigen Monaten durch eine Firmware-Aktualisierung nach und bot bis Mitte Oktober 2007 eine kostenlose, „Boot Camp“ genannte Lösung an, die es ermöglichte, Mac OS X und Windows XP auf zwei Partitionen desselben Rechners zu installieren und durch Neustart (Booten) zwischen den Betriebssystem hin- und herzuwechseln („Dualboot-Lösung“). Seit Erscheinen von Mac OS X Leopard (10.5, 2007) ist Boot Camp standardmäßig auf allen Intel-Macs vorinstalliert. Die Beta-Version von Boot Camp, die auch auf Mac OS X Tiger (10.4, 2005) lief, ist inzwischen offiziell nicht mehr verfügbar.
Mit EFi-X erschien im Sommer 2008 nachrüstbare Firmware für PCs, mit der die Installation von OS X von einer unmodifizierten, handelsüblichen Original-DVD auf ausgewählter Hardware anderer Hersteller ermöglicht wird, die sich hauptsächlich aus einer Kombination von Gigabyte-Hauptplatinen mit bestimmten Nvidia- und ATI-Grafikkarten zusammensetzt. Die EFi-X-Firmware ist dabei auf einem USB-Dongle untergebracht, der auf einen internen USB-Steckplatz der Hauptplatine gesteckt wird. Beim Systemstart werden daraufhin eine EFI-Emulation und ein „Multiboot-Manager“ geladen, über den neben OS X auch Windows XP, Vista oder Linux gestartet werden können.[39]
Mittlerweile gibt es auch den Bootloader Chameleon,[40] mit dem der macOS-Kernel direkt geladen werden kann, oder Clover,[41] welcher ein Macintosh-EFI vollständig softwareseitig emuliert.
Ebenso gibt es Ozmosis-Firmware, die einen Plattform-Treiber für macOS darstellt. Ein Dual-BIOS wie auf Gigabyte-Mainboards wird empfohlen, da dort die Gefahr des „Brickens“ minimiert ist. macOS lässt sich von einem solchen PC direkt starten.
Kritik
[Bearbeiten | Quelltext bearbeiten]EFI wurde dafür kritisiert, mehr Komplexität ins System zu bringen, ohne nennenswerte Vorteile zu bieten,[42] und das vollständige Ersetzen durch Open-Source-Alternativen wie OpenBIOS oder coreboot unmöglich zu machen.[43] Es löse nicht eines der langjährigen Probleme des BIOS – nämlich, dass die meiste Hardware zwei unterschiedliche Treiber benötigt.[44] Es sei nicht klar, warum es nützlich sein soll, zwei komplett unterschiedliche Betriebssysteme gleichzeitig in Betrieb zu haben, die im Grunde dieselben Aufgaben erledigen, oder warum ein neues Betriebssystem von Grund auf neu geschrieben werden müsste.[44]
EFI gilt einem Entwickler von coreboot zufolge in sicherheitskritischen Einsatzumgebungen – wie etwa in Banken – als ein mögliches Sicherheitsrisiko, da etwa mit dem implementierten Netzwerkstack die theoretische Möglichkeit bestünde, Daten unbemerkt vom Betriebssystem an eine beliebige Adresse zu senden. Der eigene Netzwerkstack für TCP/IP, der „unterhalb“ vom Betriebssystem direkt und unabhängig auf der Hauptplatine läuft, ermöglicht es, das System zu manipulieren, zu infizieren oder zu überwachen, ohne dass man es betriebssystemseitig kontrollieren oder einschränken könnte. Auch für DRM-Zwecke könnte EFI benutzt werden, um etwa den I/O-Datenstrom auf digitale Wasserzeichen hin zu überwachen. Aus diesen Gründen plädieren einige Anwender für ein quelloffenes System wie coreboot (ehemals LinuxBIOS).[42][45][46]
Programm- und Implementierungsfehler
[Bearbeiten | Quelltext bearbeiten]Fehlerhafte Implementationen von UEFI haben bei mehreren Herstellern zu irreparablen Schäden an Systemen geführt. Im Juni 2013 wurden Notebooks von Samsung beim Bootvorgang mit Linux eingefroren, sobald das Betriebssystem schreibend auf die UEFI-Firmware zugriff. Das Mainboard wurde dadurch unlösbar blockiert.[47] Anfang 2014 trat das gleiche Problem bei Geräten von Lenovo auf sowie Ende 2015 bei Geräten von Asus.[48][49]
Sicherheitslücken
[Bearbeiten | Quelltext bearbeiten]Da im Unterschied zum traditionellen BIOS und manchen konkurrierenden Ansätzen UEFI eine Netzwerkimplementierung enthält, von der ein Teil (das Driver eXecution Environment Runtime, DXERuntime) im Hintergrund aktiv bleibt, während am Computer bereits das Betriebssystem läuft, besteht ein zusätzliches Risiko, von Schadsoftware angegriffen zu werden. Es gibt dokumentierte Fälle, in denen Programmierfehler oder Fehler beim Paketieren der EFI-Software zu Schwachstellen führten.[50][51][52][53][54][55] Auch der System Management Mode (SMM) kann bei Programmfehlern im UEFI zur Installation von Schadsoftware genutzt werden („BIOS-Rootkits“).[56] Zur Absicherungen gegen gefundene Sicherheitslücken ist man allerdings darauf angewiesen, dass der Hersteller auch Updates bereitstellt, was nicht immer zeitnah geschieht.[57][58]
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Website des UEFI Forum (englisch)
- Open Firmware (IEEE-1275 Standard) Website der Open Firmware Working Group (englisch)
- Artikel WinTotal: UEFI – der BIOS-Nachfolger: Grundlagen und Hilfestellung
- UEFI-Secure-Boot und alternative Betriebssysteme (ADMIN-Magazin)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Thorsten Leemhuis: Was die Begriffe Firmware, BIOS, UEFI alles meinen können. In: Heise online. 8. Mai 2019. Abgerufen am 18. Oktober 2022.; Zitat: „Das Kürzel steht für ‚Unified Extensible Firmware Interface‘, was sich mit ‚einheitliche erweiterbare Firmware-Schnittstelle‘ übersetzen lässt.“.
- ↑ UEFI – Unified Extensible Firmware Interface. In: Elektronik-Kompendium.de. Abgerufen am 14. März 2020: „(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden häufig synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man immer noch vom BIOS-Setup, wenn man Einstellungen verändern will.“
- ↑ Installation. In: 3.4 BIOS installation. GNU GRUB, abgerufen am 25. September 2013.
- ↑ Christoph Pfisterer: A Brief History of Apple and EFI. 29. Dezember 2008, abgerufen am 14. März 2020 (englisch).
- ↑ Christof Windeck: Abschied vom PC-BIOS. In: Heise online. 3. Juni 2011. Abgerufen am 14. März 2020.
- ↑ Sebastian Kolar: Windows 10: Legacy-Modus nutzen – die besten Tipps. In: Computer Bild. Axel Springer SE, 14. März 2021, abgerufen am 11. Juli 2022: „Legacy-Modus beim BIOS nutzen“
- ↑ Axel Vahldiek, Thorsten Leemhuis: Einzugshilfe – Linux Mint parallel neben Windows installieren. In: c’t Spezial (c’t Linux 2019). Nr. 3/2019. Verlag Heinz Heise, 10. November 2018, ISSN 0724-8679, S. 130 ff., S. 133, Bootmodus identifizieren (eingeschränkte Vorschau in der Google-Buchsuche): „Es gilt herauszufinden, ob Ihre Windows-Installation klassisch (‚Legacy BIOS‘) oder per UEFI bootet. … In der Zeile ‚BIOS-Modus‘ steht entweder ‚UEFI‘ oder ‚Vorgängerversion‘, letzteres meint das klassische Legacy BIOS.“
- ↑ Christof Windeck: Intel: UEFI-BIOS verliert 2020 die BIOS-Kompatibilität. In: Heise online. 15. November 2017. Abgerufen am 14. März 2020.
- ↑ Christian Hirsch: Intel Core i-11000: BIOS-Kompatibilität nur noch mit Grafikkarte. In: Heise online. 9. Juni 2021. Abgerufen am 10. Juni 2021.; Zitat: „Bereits in den letzten Jahren nahm die Zahl an Notebooks und Komplett-PCs deutlich zu, die ausschließlich per UEFI booten.“.
- ↑ Redaktion CHIP: Intel will BIOS-Nachfolger als Open Source freigeben. Abgerufen am 4. Dezember 2020.
- ↑ BIOS Extreme Privilege Escalation ( vom 22. Dezember 2014 im Internet Archive)
- ↑ ‘Hintertür’ in Secure Boot: Wichtigster Windows-Schutz ausgehebelt. 10. August 2016, abgerufen am 4. Dezember 2020.
- ↑ heise online: Kardinalfehler: Microsoft setzt aus Versehen Secure Boot schachmatt. Abgerufen am 4. Dezember 2020.
- ↑ UEFI-BIOS bekommt ein Sicherheits-Expertenteam
- ↑ What is TianoCore. Abgerufen am 12. September 2018.
- ↑ Marrying U-Boot UEFI and GRUB. Abgerufen am 12. September 2018.
- ↑ UEFI on Top of U-Boot. Abgerufen am 12. September 2018.
- ↑ Installing OpenBSD 6.3 on Raspberry 3. Abgerufen am 12. September 2018.
- ↑ https://github.com/linuxboot/linuxboot
- ↑ m1n1 user guide, Asahi Linux, zugegriffen 2022-10-10.
- ↑ Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Abgerufen am 4. Dezember 2020 (englisch).
- ↑ Thomas Hübner: MSI beerdigt das BIOS mit dem P35 Neo3. Abgerufen am 4. Dezember 2020.
- ↑ ComputerBase: MSI bringt EFI auf P45-Boards im Juli
- ↑ What is UEFI BIOS ( vom 15. August 2009 im Internet Archive)
- ↑ Intel-Entwicklerforum: Notebook-Firmware bootet kürzer als 1 Sekunde heise.de, 29. September 2009
- ↑ Asus LGA1155 Motherboard Preview. bit-tech.net, 16. November 2010, abgerufen am 28. März 2011.
- ↑ Windows Vista Service Pack 1 ist fertig heise.de, am 4. Februar 2008
- ↑ Livewings: MacBook Air 2013 is the first Mac that supports EFI booting on Windows natively. (Internetforum) In: MacRumors. 21. Juni 2013, abgerufen am 18. Oktober 2022 (englisch, Ab ca. 2013 sind Intel-Mac großteils kompatibel zu UEFI 2.0.).
- ↑ Loner T: Windows 10 UEFI Driver Compatibility. (Internetforum) In: Apple Community Discussions. Apple, 3. August 2015, abgerufen am 18. Oktober 2022 (englisch): „Macs prior to Late 2013 have used EFI 1.1.“
- ↑ Christoph Pfisterer: A Brief History of Apple and EFI. In: rEFIt. SourceForge, 29. Dezember 2008, abgerufen am 18. Oktober 2022 (englisch): „“Late 2008” Models – These models used an NVIDIA chipset with integrated graphics. The firmware was 64 bit like in the Santa Rosa models, and also still identified itself as EFI 1.10. However, Apple started mixing EFI 1.10 and UEFI 2.x features on these models.“
- ↑ http://www.microsoft.com/whdc/system/platform/firmware/UEFI_Windows.mspx
- ↑ Abschied vom PC-BIOS – Meldung bei der C’t, vom 3. Juni 2011
- ↑ https://shop.heise.de/katalog/neuer-untersatz
- ↑ https://shop.heise.de/katalog/maskierte-ablosung
- ↑ heise open: Kernel 2.6.25 unterstützt nun auch auf der x86-Architektur den designierten BIOS-Nachfolger EFI
- ↑ Fedora x64 auf 32-Bit-UEFI: C’t Nr. 23/2018 S. 144
- ↑ Liane M. Dubowy: Linux Mint 19.2 veröffentlicht: Viel Feintuning und schnellerer Desktop. In: Heise online. 1. August 2019. Abgerufen am 12. März 2020.; Zitat: „Das ISO-Image gibt es sowohl für 32- als auch 64-Bit-x86-Systeme. Nur letzteres bootet auch mit UEFI.“.
- ↑ developer.apple.com ( vom 3. Januar 2009 im Internet Archive)
- ↑ http://www.efi-x.com/index.php?option=com_content&view=article&id=23&language=english efi-x.com Produktinfo
- ↑ Chameleon
- ↑ Clover EFI bootloader
- ↑ a b kerneltrap.org ( vom 8. Oktober 2006 im Internet Archive)
- ↑ Interview: Ronald G Minnich
- ↑ a b Google TechTalks: coreboot (aka LinuxBIOS): The Free/Open-Source x86 Firmware auf YouTube, 31. Oktober 2008, abgerufen am 25. Februar 2024 (Laufzeit: 65:39 min).
- ↑ GeekVideo: LinuxBIOS - building a BIOS for fun and not-profit auf YouTube, 18. Mai 2007, abgerufen am 25. Februar 2024 (Laufzeit: 4:39 min).
- ↑ blog.thesilentnumber.me ( vom 10. Januar 2015 im Internet Archive)
- ↑ c’t: Firmware-Schaden, 6/2013
- ↑ heise.de: Fehlerhafte UEFI-Firmware: Linux killt Thinkpads, 5. Februar 2014
- ↑ superuser.com: UEFI-Implementation-Issue (can lead to a hard-brick) – ASUS Zenbook UX303LA-R4342H (englisch), 5. Oktober 2015
- ↑ UEFI vs. legacy BIOS, osdev.org, zugegriffen 2022-10-10.
- ↑ UEFI – Unified Extensible Firmware Interface. In: Elektronik-Kompendium.de. Abgerufen am 14. März 2020: „(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man vom BIOS-Setup, wenn man Einstellungen verändern will.“
- ↑ What’s The Deal With UEFI?, Matthew Carlson, hackaday.com, 2021-11-30.
- ↑ Lenovo UEFI firmware driver bugs affect over 100 laptop models, bleepingcomputer, 2022-04-19.
- ↑ CosmicStrand UEFI malware found in Gigabyte, ASUS motherboards, BLEEPINGCOMPUTER, Ionut Ilascu, 2022-05-25.
- ↑ APT28 Uses LoJax, First UEFI Rootkit Seen in the Wild, BLEEPINGCOMPUTER, Ionut Ilascu, 2018-09-27.
- ↑ Mark Mantel: Updates notwendig: Sicherheitslücken im UEFI-BIOS erleichtern Rootkitverankerung. In: Heise online. 2. Februar 2022. Abgerufen am 10. Oktober 2022.; Zitat: „Die Sicherheitslücken betreffen insbesondere den schon oft mit schweren Schwachstellen aufgefallenen System Management Mode (SMM) und lassen sich dazu ausnutzen, manipulierte Firmware im System zu verankern, beispielsweise in Form von BIOS-Rootkits.“.
- ↑ Christof Windeck: Kommentar zur UEFI-Lücke: Sie lernen es einfach nicht. In: Heise online. 13. Oktober 2014. Abgerufen am 10. Oktober 2022.; Zitat: „Wo bleiben die Updates? – Wir Endnutzer können aber Probleme wie dieses nicht selbst lösen, sondern sind auf Unterstützung der Hersteller angewiesen – in diesem Fall auf Firmware-Updates. Diese sind offensichtlich für viele betroffene Systeme nicht verfügbar. Wie ist das möglich, wenn etwa AMI laut MITRE seit Monaten von dem Problem weiß?“.
- ↑ Christof Windeck: Mehr Updates gegen die UEFI-Sicherheitslücke. In: Heise online. 5. November 2014 (3. Update). Abgerufen am 10. Oktober 2022.