Das BIOS - Geschichte und Härtungsmöglichkeiten

Das BIOS

Geschichte und Härtungsmöglichkeiten

Ralph Meier
von Ralph Meier
am 14. September 2023
Lesezeit: 12 Minuten

Keypoints

So schützen Sie Ihr BIOS

  • Das BIOS wurde für 32Bit-Systeme entwickelt und wurde durch UEFI, welches für moderne Hardware ausgelegt ist, abgelöst
  • Neben UEFI gibt es diverse Alternativen wie das U-Boot und Coreboot, welche eigene Einsatzzwecke und Eigenschaften besitzen
  • Im UEFI kann die Verwendung von I/O Schnittstellen, die Bootreihenfolge und eine Vielzahl an Sicherheitsmechanismen verwaltet werden
  • Ein UEFI-Passwort, eine Festplattenverschlüsselung und ein aktiver Secure Boot bieten ein gutes Fundament, welches mit weiteren Härtungskonfigurationen erweitert werden sollte

Das Basic Input/Output System (BIOS) ist für den Start des Betriebssystems zuständig. Das BIOS gibt es seit Mitte der 1970er Jahre, wobei es 1981 von IBM erstmals in einem Personal Computer integriert und ausgeliefert wurde. Es dient als Firmware-Schnittstelle zwischen Hardware und Software. Ebenfalls übernimmt es die Prüfung und Initialisierung der Hardwarekomponenten, das Laden des Betriebssystems in den Arbeitsspeicher und die Übergabe ans Betriebssystem. Das BIOS befindet sich bei aktuellen Geräten meist in einem Electrically Erasable Programmable Read-Only Memory (EEPROM) oder in Flash-Speicher auch Flash-EEPROM genannt.

Im Rahmen dieses Artikels werden wir nicht tiefer ins Detail des Startvorgangs eines Computers eingehen, sondern widmen uns dem BIOS, dem UEFI, deren Unterschiede und Härtungsmöglichkeiten.

Ablösung durch UEFI

Das BIOS war ursprünglich für 32Bit-Systeme ausgelegt. Aufgrund Anforderungen von neuer Hardware musste ein Nachfolger her, mit welchem das Zusammenspiel mit 64Bit-Systemen besser funktionierte. In den 1990er Jahre entwickelte Intel zusammen mit HP die Itanium-Architektur, welche als Erstes das von Intel entwickelte Extensible Firmware Interface (EFI) einsetzte. Mit dem EFI fielen die Speicher- und Verarbeitungsbeschränkungen des BIOS aufgrund 16Bit-Rechenmodus, begrenzter Systemspeicher und die mühevolle Programmierung in Assembler weg. Intel hat EFI-Version 1.10 ins UEFI-Forum – einem Industriekonsortium bestehend aus Herstellern von Chipsätzen, Hardware, Firmware und Betriebssystemen – hineingebracht. In diesem Industriekonsortium entstand das Unified Extensible Firmware Interface (UEFI) und bis heute wird die Entwicklung der UEFI-Standards davon verwaltet. Seit Mitte der 2010er Jahre gilt UEFI als Standard und wird teilweise auch als UEFI BIOS bezeichnet. Wie das BIOS wird auch UEFI vom Mainboard-Hersteller auf dem Mainboard installiert. Das Betriebssystem muss UEFI unterstützen, sonst ist das Zusammenspiel nicht möglich. Bei Windows erfolgte dies im Jahr 2008 mit Windows Vista Service Pack 1.

Compatibility Support Module (CSM)

Bis die Unterstützung von UEFI im gewünschten Betriebssystem vorhanden war, konnte das Compatibility Support Module (CSM) des UEFI aktiviert werden, womit Betriebssysteme ohne Support von UEFI weiterhin auf Mainboards, welche bereits UEFI einsetzten, genutzt werden konnten. CSM emulierte das BIOS und war für die Abwärtskompatibilität für ältere Hardware, ältere Betriebssysteme und auch 32Bit-Systeme zuständig. Bei 64Bit-Systemen mit UEFI-Support sollte es nicht verwendet werden, da sonst gewisse UEFI-Funktionalitäten verloren gehen. Somit sollte CSM, sofern die Option im UEFI vorhanden ist, vor der Installation eines 64Bit-Betriebsystems deaktiviert werden. Im Jahr 2020 wurde CSM schliesslich aus UEFI entfernt.

Unterschiede zwischen BIOS und UEFI

Es folgt eine Übersicht einiger Unterschiede zwischen dem BIOS und dem UEFI:

Unterschiede BIOS UEFI
Entwickelt für 32Bit-Systeme 64Bit-Systeme
Unterstützt Bootmedien < 2 Terabyte < 9.4 Zettabyte
Benutzeroberfläche DOS-Stil Modernes GUI mit Maussteuerung
Partitionstabelle Master Boot Record GUID-Partitionstabelle

Zudem hat UEFI die Möglichkeit, Hardwaretreiber aus dem Internet zu laden. Es ist schneller als das BIOS und beinhaltet einige verbesserte Sicherheitsfunktionen, welche im Kapitel UEFI Hardening erwähnt werden. Seit Windows 8 wird der Productkey von Windows im UEFI gespeichert und muss bei einer Neuinstallation nicht mehr von einem Sticker auf dem Computer abgetippt werden.

UEFI-Konfigurationsmöglichkeiten

Konfigurationsmöglichkeiten im UEFI

Im UEFI gibt es diverse Konfigurationsmöglichkeiten wie das Aktivieren und Deaktivieren des Zugriffs auf die verschiedenen I/O Schnittstellen des Geräts. Damit können I/O Schnittstellen, welche zwar vorhanden sind, aber vom Benutzer nie benötigt werden, deaktiviert werden. Falls sie zu einem späteren Zeitpunkt benötigt werden, können sie auf einfache Weise im UEFI wieder aktiviert werden. Es gibt weitere Konfigurationsmöglichkeiten im Bereich Netzwerk, wie Wake On Lan (WOL) Einstellungen, UEFI IPv4/IPv6 Network Stack, MAC Address Pass Through und einige weitere. Diverse USB- und Thunderbolt-Einstellungen, Maus- und Tastatur-Einstellungen, Display-Einstellungen, Einstellungen zur Stromversorgung und Standby-Einstellungen. Ausserdem kann das Systemdatum und die Systemzeit angepasst werden, was im Fall einer alten, beziehungsweise beim Start häufig leeren CMOS-Batterie der Fall sein kann. Dann sollte diese durch eine neue CMOS-Batterie ersetzt werden. Es können diverse Passwörter gesetzt werden: Ein Supervisor-Passwort, welches eingegeben werden muss, um ins UEFI einsteigen zu können und Änderungen vorzunehmen, ein Power-On-Passwort oder Festplattenpasswörter. Zudem können noch eine Passwortmindestlänge und weitere Konfigurationen festgelegt werden. Im UEFI kann definiert werden, über welche Schnittstellen, beziehungsweise von welchen Speichermedien gebootet werden kann sowie deren Boot-Reihenfolge. Es beherbergt diverse Virtualisierungseinstellungen, welche sich je nach Hardware unterscheiden. Es sind noch weitere Security Konfigurationsmöglichkeiten als das Festlegen diverser Passwörter vorhanden, wie zum Beispiel Memory Protection. Mehr darüber folgt im untenstehenden Kapitel UEFI Hardening. Da das UEFI je nach Produkt- oder Mainboard-Hersteller anders aufgebaut ist, kann es weitere eigene Konfigurationsmöglichkeiten enthalten. Bei Mainboards, welche primär für den Gamingbereich gedacht sind, findet man oftmals Konfigurationsmöglichkeiten für RGB-Beleuchtung oder Overclocking.

BIOS-Alternativen

Nebst dem legacy BIOS und UEFI gibt es noch weitere BIOS-Alternativen, die verschiedene Einsatzzwecke besitzen und für andere Hardware entwickelt worden sind.

Das U-Boot

The Universal Boot Loader (Das U-Boot) wird vor allem bei Mikrocontrollern im Embedded Systems Bereich eingesetzt. Er bietet flexible Konfigurationsmöglichkeiten während des Kompilierens und via Kommandozeile kann das Verhalten ebenfalls während der Laufzeit beeinflusst werden. U-Boot wurde in seinen Anfängen für den PowerPC entwickelt. Inzwischen gibt es verschiedene Projekte für unterschiedliche Prozessoren wie zum Beispiel für ARM das ARMboot.

Coreboot

Im Jahr 1999 hat die Entwicklung des freien und quelloffenen LinuxBIOS angefangen, was später zum heutigen Coreboot umbenannt wurde. Coreboot fokussiert sich auf die Initialisierung der notwendigen Komponenten für den Bootvorgang des Betriebssystems und gibt die Kontrolle so früh wie möglich an das Betriebssystem ab. Der Fokus von Coreboot liegt vorallem auf Linux Distributionen.

Google liefert seine Chromebooks mit Coreboot aus. Seit einigen Monaten wird das MSI Mainboard PRO Z690-A mit der Coreboot-Firmware Dasharo angeboten. Damit lässt sich ein PC ohne UEFI betreiben, und zwar auch mit Windows 11. Dasharo besteht neben Coreboot noch aus einem Open-Source-UEFI-Teil. Damit erreichen sie Kompatibilität mit zahlreichen Grafikkarten mit UEFI-Firmware, UEFI Secure Boot und die Initialisierung vom Trusted Platform Module (TPM).

Coreboot wird ebenfalls bei sensiblen Anwendungen im Industriebereich oder bei Serverboards des VPN-Dienstleisters Mullvad eingesetzt. Distributionen, welche vor allem auf hohe Sicherheit fokussiert sind, wie Qubes OS, achten bei der Hardware-Zertifizierung unter anderem auf den Support von quelloffenem BIOS wie Coreboot.

Ein Nachteil von Coreboot ist, dass es keine einheitlichen Coreboot-Images gibt. Dies bedeutet, dass für jedes Mainboard die Coreboot-Firmware angepasst werden muss, und dies benötigt technische Informationen, welche oft nicht öffentlich zugänglich sind. Deshalb werden Firmware-Blobs eingesetzt, damit Intel oder AMD CPUs zum Beispiel den Arbeitsspeicher ansteuern können. Durch das Hinzufügen von nicht quelloffenem Code nimmt die Trusted Code Base ab, was einer der Vorzüge von Coreboot mindert. Aus diesem Grund ist auch die Auswahl an kompatiblen Komponenten beschränkt. Oftmals gibt es beim Einsatz von Coreboot auch keine eingebaute Updatefunktion. Dies, weil die meisten Mainboard mit UEFI ausgeliefert werden und mit dem Umstieg von UEFI zu Coreboot keine Herstellerupdates mehr erhalten. Spezifische Mainboard-Funktionen beziehungsweise Einstellungen wie RGB-Beleuchtung und Übertaktungsfunktionen fehlen in Coreboot ebenfalls.

UEFI Hardening

Wenn das UEFI nicht ordnungsgemäss geschützt ist, macht man es einem Angreifer mit physischem Zugriff einfach, ein fremdes Betriebssystem auf dem Zielcomputer zu installieren und damit eine nicht verschlüsselte interne Festplatte auszulesen.

UEFI mit Passwort schützen

Zuerst sollte ein starkes und komplexes Passwort für das UEFI gesetzt werden, damit keine Änderungen durch unbefugte Drittpersonen möglich sind. Es gibt UEFI mit einem Lesemodus, welcher ohne Passwort zugänglich ist. Dabei ist eine eingeschränkte Sicht auf die UEFI-Konfiguration möglich.

Secure Boot aktivieren

Die Options Secure Boot sollte im UEFI aktiviert werden, damit nur noch signierte Bootloader gebootet werden. Bei Windows wird dies seit der Einführung von Windows 8 unterstützt.

Regelmässige Updates

Das UEFI sollte regelmässig auf Updates geprüft und aktualisiert werden, somit können festgestellte Schwachstellen schnell behoben werden. Das Programm, um das UEFI zu aktualisieren, kann entweder beim Gerätehersteller oder dem Mainboard-Hersteller heruntergeladen werden, sofern das UEFI weiterhin vom Hersteller eingesetzt wird. Im Fall von Lenovo kann dazu das Programm Lenovo System Update verwendet werden.

Bottom Cover Tamper Detection

Wenn die Option Botton Cover Tamper Detection aktiviert ist, wird das UEFI-Passwort für den Bootvorgang eines Laptops benötigt, sobald eine Geräteabdeckung fehlt oder geöffnet wurde. Hierbei gibt es Unterschiede zwischen Geräte und Hersteller. Teilweise wird zwischen Abdeckung hinter dem Laptopbildschirm, Abdeckung rund um den Laptopbildschirm, Tastaturabdeckung und Abdeckung an der Gerätunterseite unterschieden.

I/O Schnittstellen deaktivieren

Input- und Output-Schnittstellen des Geräts, welche nicht verwendet oder benötigt werden, sollten deaktiviert werden. Somit wird der Angriffsvektor nicht unnötig erhöht.

UEFI BIOS Update Optionen

In dieser Kategorie kann festgelegt werden, wer das UEFI flashen darf; alle Benutzer oder ausschliesslich Benutzer mit dem UEFI-Passwort. Zudem kann festgelegt werden, ob ein Rollback auf eine vorherige UEFI-Version, sowie die UEFI-Aktualisierung über Windows erlaubt ist.

Memory Protection

Hierbei handelt es sich um Sicherheitsmassnahmen gegen Buffer Overflow-Angriffe. Die sich darunter befindenden Konfigurationsoptionen wie die Execution Prevention sollten aktiviert werden.

Kernel DMA Protection

Dabei geht es um die Vermeidung von Direct-Memory-Access-Angriffe (DMA). Das sind Seitenkanalangriffe, welche über High-Speed-Schnittstellen mit direktem Systemspeicherzugriff, wie unter anderem Thunderbolt, USB4 oder PCI Express, durchgeführt werden. Weitere Details zu DMA-Angriffe sind im Artikel Angriffe über Peripheriegeräte zu finden.

Erweitertes UEFI Hardening

Es gibt noch einige Härtungskonfigurationen, welche indirekt mit dem UEFI beziehungsweise dem Start des Computers zusammenhängen, die jedoch nicht komplett im UEFI konfiguriert werden können.

Festplattenverschlüsselung / Bitlocker

Es wird dringend empfohlen, eine Festplattenverschlüsselung einzusetzen, wie beispielsweise Windows mit seinem hauseigenen Bitlocker. Dieser funktioniert mit dem Trusted Platform Module (TPM), welches für einen erweiterten Schutz zusätzlich mit einem Startup-Pin geschützt werden kann.

Power-On-Password / Hard disk Password

Je nach UEFI gibt es abgesehen vom UEFI-Passwort noch die Möglichkeit, weitere Passwörter zu setzen, wie beispielsweise Passwörter für Festplatten oder zum Start des Computers.

UEFI-Backup

Um nach einer Fehlkonfiguration des UEFI, einer leeren CMOS-Batterie oder sonstigem Ausfall des UEFI eine schnelle Wiederherstellung durchführen zu können, lohnt es sich, ein UEFI-Backup durchzuführen. Dies kann je nach eingesetztem UEFI direkt darin durchgeführt werden, oder alternativ mit dazugehörigen Hilfsprogrammen.

Fazit

Das BIOS ist nicht nur der Anfangspunkt eines Computerstarts, sondern gleichzeitig ein einfaches Einfalltor für Angreifer mit physischem Zugriff auf das Zielgerät. Deshalb ist es wichtig, das eingesetzte BIOS auf dem aktuellen Stand zu halten und genügend Härtungseinstellungen vorzunehmen. Der UEFI-Passwortschutz, eine aktive Festplattenverschlüsselung und Secure Boot bilden dabei ein gutes Fundament, auf welchem mit zusätzlichen Sicherheitseinstellungen aufgebaut werden sollte. Am Schluss ist es jedoch auch eine Abwägung zwischen Sicherheit und Benutzbarkeit für den einzelnen Benutzer oder deren Gerätverwalter.

Über den Autor

Ralph Meier

Ralph Meier hat eine Lehre als Applikationsentwickler, Fokus Webentwicklung mit Java, bei einer Schweizer Grossbank absolviert und danach einen Bachelor of Science ZFH in Informatik an der ZHAW School of Engineering abgeschlossen. Er fokussiert sich auf die sicherheitstechnische Untersuchung von Webapplikationen. (ORCID 0000-0002-3997-8482)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Burp Bambdas & BChecks

Burp Bambdas & BChecks

Ralph Meier

Disk Cloning

Disk Cloning

Ralph Meier

Flipper Zero

Flipper Zero

Ralph Meier

Flipper Zero

Flipper Zero

Ralph Meier

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv