Zum Hauptinhalt Zur Navigation

Firmware-Hacks: UEFI vereinfacht plattformübergreifende Rootkit-Entwicklung

31C3
Aktuelle Mainboards haben eine sehr ähnliche UEFI -Implementierung. Angriffe erleichtert dies erheblich, wie Hacker in Hamburg demonstriert haben.
/ Andreas Sebayang
15 Kommentare News folgen (öffnet im neuen Fenster)
EFI und UEFI lösen das alte BIOS ab. (Bild: Intel)
EFI und UEFI lösen das alte BIOS ab. Bild: Intel

Angriffe auf Firmware in Notebooks und Desktops werden immer einfacher – und damit auch das Platzieren von Rootkits, noch bevor das Betriebssystem und Anwendungen dort eingreifen können. Auf dem 31. Chaos Communication Congress haben Rafal Wjtczuk und Corey Kallenberg Angriffe auf typische Geschäftskundenrechner von HP und Lenovo demonstriert sowie auf ein Elitebook beziehungsweise Thinkpad. Die Angriffe sollen in ihren Tests auch mit anderen modernen PCs funktioniert haben.

Voraussetzung ist laut den Experten ein vergleichsweise modernes Grundsystem mit einer UEFI-Implementierung und einem System Management Mode zur Initialisierung des Systems. Es soll wohl auch ältere Systeme mit Legacy-BIOS-Option betreffen, doch das haben die beiden Hacker nicht genau untersucht.

Schutzmaßnahmen mit Race Condition ausgehebelt

Eigentlich gibt es diverse Schutzmaßnahmen, die verhindern sollen, dass die Firmware ohne weiteres manipuliert werden kann. Die erste ist ein ganz normaler Schalter: Solange das BIOS_CNTL-Register dafür keine Erlaubnis gibt, darf die Firmware nicht manipuliert werden. Doch Wjtczuk und Kallenberg gelang es trotzdem, Schreiboperationen durchzuführen. Sie brauchten dafür nur wenige Millionen Versuche, was bei aktuellen CPUs kaum Zeit erfordert. Dabei nutzen die beiden Angreifer Multithreading aus. Ein Prozess in Form eines Kernel Drivers versucht unentwegt, den Register BIOS_CNTL umzuschalten, was vom System ständig abgewehrt wird.

Der andere Prozess führt gleichzeitig ununterbrochen Schreibversuche in der Firmware aus. Irgendwann gelingt dem zweiten Prozess der Zugriff auf die Firmware. Mit dem Überschreiben weniger Bytes wurde vor dem Publikum das Elitebook so weit beschädigt, dass es nicht mehr booten konnte. Für ein Unternehmen ist das schon ausreichend, um den Betrieb massiv zu schädigen, auch wenn kein Rootkit installiert wird.

Für den Angriff braucht es Administrationsrechte. Das Erlangen erweiterter Rechte in Betriebssystemen ist aber dank zahlreicher, fast schon monatlich auftauchender Sicherheitslücken für einen Angreifer kaum noch ein Hindernis. Dass der Angriff überhaupt möglich ist, liegt daran, dass betroffene Systeme nicht verhindern, dass ein Angreifer mehrere Millionen Mal versucht, das System zu manipulieren. Es ist sozusagen ein Brute-Force-Angriff, der sich leicht beseitigen ließe, wenn das System auffälliges Verhalten nach ein paar Versuchen unterbände.

Eigentlich sollte der System Management Mode (smm) die nächste Hürde für den Zugriff auf den Flashspeicher mit der Firmware sein. Doch auch diese Blockade lässt sich aushebeln, sofern ein System diese überhaupt einsetzt. Dafür nutzen die Hacker den Standby-Modus (ACPI S3) aus. Ein System in diesem Modus und geht beim Aufwachen nicht mehr durch alle Phasen des Bootprozesses durch. Beim Booten wird das Bootscript mit der Plattformkonfiguration gespeichert. Diese Daten werden nach einem S3-Schlafmodus verwendet, um noch effizienter zu starten. Zu dieser Plattformkonfiguration gehören auch die Register, die eigentlich dafür sorgen, dass der Flashspeicher mit der Firmware gesperrt wird. Gelingt es also, die Bootscript-Daten zu manipulieren, ist auch der Verteidigungsmechanismus des System Management Modes ausgehebelt.

Wjtczuk und Kallenberg gelang es so, ein Bootscript in ein System einzuschmuggeln, das systemschädliche Aufgaben übernimmt, um anschließend den Flashspeicher für eigene Zwecke zu manipulieren. Eigentlich gibt es eine Bootscript-Lockbox, die derartige Manipulationen verhindern soll. Doch die beiden Hacker fanden eine solche Lockbox nur auf einem Mainboard für Hardwareentwickler, sonst war sie in der Praxis nicht vorhanden. Aber selbst auf dem Entwickler-Mainboard gelang es ihnen, die Lockbox zu öffnen. Unklar bleibt allerdings, ob dieser Mechanismus, sollte er sich auf Produktivsystemen finden, ebenfalls von einem Angreifer geöffnet werden kann, um Rootkits in der Firmware zu platzieren. Der Angreifer arbeitet jetzt mit den Rechten des System Management Modes.

Letzte Verteidigungsstufe ist nur Theorie

Die Entwickler von UEFI haben an eine dritte Verteidigungsstufe namens Protected Range Masks gedacht. Damit kann nicht einmal ein Prozess im Kontext des mächtigen System Management Modes auf den Flashspeicher zugreifen. Protected Range definiert Teile des Flashspeichers, die nicht beschrieben werden dürfen. Es gibt allerdings immer einen Bereich, der beschrieben werden kann. Betriebssysteme nutzen diesen Bereich zur Laufzeit, um Variablen per SMM zu definieren. Über diesen Bereich gibt es verschiedene Möglichkeiten, Sicherheitslücken in UEFI auszunutzen. Komplex wäre etwa das Ausnutzen von Memory-Corruption-Lücken. Geschieht dies, bevor im Bootprozess die Range Masks definiert werden, werden diese definierten Bereiche mit Schreibschutz wirkungslos.

Es geht aber einfacher. Der SMM kann kommende Firmware-Updates verifizieren. Informationen von UEFI-Entwicklern zufolge wird dem SMM grundsätzlich vertraut. Die Angreifer nutzen also einfach den normalen Update-Mechanismus. Wer erst einmal den System Management Mode für sich erlangt hat, kann mit hoher Wahrscheinlichkeit die Firmware überschreiben. Laut den beiden Hackern nutzt nur HP Protected Range Masks. Doch diese Masken sind nicht vollständig und decken damit nicht alle kritischen Bereiche ab. Erst eine kommende Hardwarefunktion soll dieses Problem beseitigen: die Intel Plattform Armoring Technology. Zu der Technik gibt es aber noch keine Details.

Die Fehler wurden bereits gemeldet

Die Fehler wurden bereits im August 2014 an Intel und andere Hersteller gemeldet. Patches soll es schon geben, so dass in der Theorie die Gefahr nicht mehr besteht. Allerdings patchen nicht alle Mainboard-Hersteller zeitnah gefährliche Sicherheitslücken. Auch kommunizieren die Hersteller derartige Lücken nicht so, wie es Anwender etwa von Sicherheitslücken von Adobe, Oracle oder Microsoft gewohnt sind. Der Rat der Hacker an IT-Manager: Sie sollten ihre Kontakte nutzen und nach den Patches fragen, sollten sie noch nicht vorhanden sein.

Dell, HP und Lenovo unterscheiden sich für Angreifer kaum

Die Gefahr ist jedenfalls erheblich, da Angreifer dank der vereinheitlichen Plattform sich kaum noch an die Hersteller anpassen müssen. Früher mussten BIOS-Angriffe für die jeweiligen Geschäftskundenplattformen der unterschiedlichen Hersteller angepasst werden. Das ist so schwer, dass sich die Arbeit kaum lohnt, wie die Hacker berichteten. Alte UEFI-Angriffe benötigten zudem mitunter mehr als einen Monat. Modernes UEFI und der neue Angriff reduziert den Entwicklungsaufwand auf wenige Tage. Die Angriffe lassen sich dabei nicht nur über Hardwareplattformen (Latitude, Elitebook, Thinkpad) nutzen, sondern auch über Betriebssystemplattformen. Angriffe auf die Firmware wurden sowohl auf einem Windows- als auch einem Linux-Rechner demonstriert.


Relevante Themen