Skip to content

Ist BadBIOS möglich? Teil 1: Die Infektion des BIOS

Ab dieser Folge dreht sich alles um die Frage, ob ein Super-Schädling wie es der von Dragos Ruiu beschriebene BadBIOS sein soll, möglich ist. Sprich, ob seine Funktionen so oder so ähnlich bereits irgendwo implementiert wurden. Die Frage, ob es BadBIOS gibt, steht später auf dem Programm. Denn in der Hinsicht sind sich die Experten, die die von Dragos Ruiu bereitgestellten Daten untersuchen, und Dragos Ruiu selbst bisher nicht einig. Auf den aktuellen Stand der Forschungen (oder Ermittlungen?) werde ich entweder in einem der nächsten "Standpunkte" oder im Anschluss an die Machbarkeitschecks eingehen - Je nachdem, ob sich BadBIOS bis dahin als Phantasie oder als tatsächliche Bedrohung erwiesen hat.

Sind BIOS-Infektionen möglich?

Im folgenden werde ich die (angeblichen?) Fähigkeiten von BadBIOS der Reihe nach auf ihre Machbarkeit untersuchen. Ich richte mich dabei an die Reihenfolge der Fähigkeiten in meiner Beschreibung von BadBIOS.

BadBIOS installiert sich in der Firmware der Rechner (BIOS, UEFI) und übersteht ein Flashen des BIOS.

Fangen wir mit dem ersten Teil an: Kann sich Schadsoftware im BIOS einnisten? Das BIOS (Basic Input/Ouput System) enthält den Code zum Starten des eigentlichen Betriebssystems und die Treiber, die das Betriebssystem für den Zugriff auf die Hardware benötigt. Wobei letztere inzwischen meist obsolet sind, da die Betriebssysteme eigene Treiber enthalten. Das BIOS wird heutzutage in Flash-Speichern gespeichert und kann dort auch aktualisiert werden. Und das bedeutet natürlich auch, das Schadcode es unter Umständen manipulieren und eigenen Code einschleusen kann.

Entsprechende Untersuchungen gab es zum Beispiel von Alfredo Ortega und Anibal Sacco, präsentiert auf der Sicherheitskonferenz CanSecWest 2009 ("Persisent BIOS Infection", PDF) oder von John Butterworth, Corey Kallenberg und Xeno Kovah, die ihre Ergebnisse auf der "Black Hat USA 2013" vorgestellt haben ("BIOS Security"). Auf der "Black Hat USA 2012" hat Loukas K ein Rootkit auf Basis der UEFI-Firmware der Intel-Macs präsentiert ("De mysteriis dom jobsivs: Mac EFI Rootkits"). Prinzipiell ist es also möglich, dass sich Schadsoftware im BIOS einnistet und damit noch vor dem Betriebssystem aktiv wird. Dass es das dann nach Belieben manipulieren kann, dürfte klar sein.

Ein gern gebrachtes Argument gegen BadBIOS ist dessen notwendige Größe: Im BIOS ist gar nicht genug Platz für einen großen Schädling. Das ist auch gar nicht nötig, der größte Teil des Schadcodes kann problemlos auf der Festplatte gespeichert werden. Das machen übrigens die BIOS/Firmware-Entwickler selbst auch nicht anders. Insbesondere in Festplatten wird die Firmware heutzutage meist auf derselben gespeichert, im ROM (oder dessen Entsprechung) befindet sich dann nur der Code, der die eigentliche Firmware von der Festplatte lädt und startet. Und jetzt raten Sie mal, was passiert, wenn diese nachgeladenen Codeteile Schadcode enthalten...

Kommen wir zum zweiten Teil: BadBIOS übersteht ein Flashen des BIOS, also das Installieren einer neuen, einwandfreien BIOS-Version. Die Schadsoftware muss dazu also noch irgend wo anders als nur im Rechner-BIOS verankert sein, zum Beispiel in der Firmware von Festplatte, Grafik- und Netzwerkkarte oder sämtlicher sonstiger Hardware mit eigener Firmware. Und davon gibt es mehr, als Sie auf den ersten Blick vermuten würden. Denn die meisten Geräte werden inzwischen über Microcontroller gesteuert, und die brauchen natürlich eine Firmware, um arbeiten zu können.

Auch zur dauerhaften Kompromittierung von Hardware gibt es bereits entsprechende Untersuchungen, zum Beispiel hat John Heasman schon auf der "Black Hat Europe 2006" die Implementierung und Erkennung eines BIOS-Rootkits über das "Advanced Configuration and Power Interface" (ACPI) beschrieben ("Implementing and Detecting An ACPI BIOS Rootkit", Präsentation als PDF), und auf der "Black Hat DC 2007" folgte unter dem Titel "Firmware Rootkits and the Threat to the Enterprise" ein Vortrag über die Implementierung und Erkennung eines PCI-Rootkits (Paper als PDF, eine frühere Version des Papers (PDF) wurde bereits im November 2006 veröffentlicht). Es gibt aber auch aktuelle Forschungsergebnisse, zum Beispiel von Jonathan Brossard, präsentiert auf der "Black Hat USA 2012". Der Titel seines Vortrags sagt wohl schon alles relevante aus: "Hardware Backdooring is practical". Das Firmware allgemein von Schadsoftware unterwandert sein kann, hat zum Beispiel Ruben Santamarta auf der "Black Hat USA 2012" gezeigt: "Here be Backdoors: A Journay into the Secrets of Industrial Firmware". Und Charlie Miller hat auf der "Black Hat USA 2011" die Manipulation der Firmware von Notebook-Akkus vorgeführt: "Battery Firmware Hacking" (wobei es da eher darum ging, den Akku und evtl. das Gerät in dem er steckt in Sondermüll zu verwandeln). Hier relevanter sind die Ergebnisse von Jeroen Domburg, der erfolgreich die Firmware einer Festplatte modifiziert hat. Seine Ergebnisse hat er auch auf der "OHM 2013" präsentiert: "Hard disks: More than just block devices" Eine entsprechend modifizierte Festplatte könnte durchaus das BIOS nach dem Flashen erneut mit Schadsoftware infizieren.

Fazit: Eine Infektion des BIOS und das Überstehen des Flashens des BIOS sind möglich.

Wobei es hier nur um die prinzipielle Möglichkeit geht. Die Umsetzung des Prinzips in eine Schadsoftware, die auf jedem beliebigen Rechner funktioniert, ist das entscheidende Problem. Denn es gibt nicht "das BIOS" oder "die Firmware", sondern immer eine an die jeweilige Hardware angepasste Variante. Ein Schädling, der jede beliebige Hardwarekonfiguration angreifen soll, muss dafür auf jede mögliche Firmware zurückgreifen können. Und das dürfte ein kaum zu lösendes Problem sein. Aber darauf komme ich später noch zurück.

Es wird ein Hypervisor geladen, das vorhandene System kann also heimlich virtualisiert werden.

Dieser Ansatz ist in der Theorie schon seit längerem bekannt: SubVirt und Blue Pill, zwei Rootkits die das angegriffene System virtualisieren, wurden bereits 2006 vorgestellt. Entsprechende Angriffe gab es bisher nicht "in the wild", aber das hat sich jetzt ja vielleicht geändert.

Fazit: Eine Virtualsierung des angegriffenen Systems ist möglich.

Nachdem das BIOS kompromittiert wurde kann der Rechner nicht mehr von externen Laufwerken booten, egal welche Einstellungen gemacht werden.

Das ist ebenso einfach zu erklären wie zu erreichen: Wenn das BIOS kompromittiert wurde, kann es die Einstellungen ganz einfach ignorieren und prinzipiell von der internen Platte booten. Ich spare mit die Suche nach Belegen dafür, denn das kann von jeden BIOS-Entwickler und insbesondere natürlich von einem, der das vorhandene BIOS manipulieren kann, auch einfach neu implementiert werden.

Fazit: Die Manipulation des Bootvorgangs ist möglich.

Schadsoftware kann sich also im BIOS einnisten, einen Hypervisor laden und das Booten von externen Laufwerken verhindern. Bisher wurde BadBIOS also nichts zugesprochen, was nicht auch machbar ist. In der nächsten Folge geht es mit dem Machbarkeitsprüfungen weiter, zuerst mit den Angriffen auf bzw. über USB-Geräte.

Carsten Eilers


Übersicht über alle Artikel zum Thema

BadBIOS - Ein neuer Superschädling?
Ist BadBIOS möglich? Teil 1: Die Infektion des BIOS
Ist BadBIOS möglich? Teil 2: USB-Manipulationen
Ist BadBIOS möglich? Teil 3: Angriffe auf mehrere Systeme und mehr
Ist BadBIOS möglich? Teil 4: Air-Gaps über Audiosignale überbrücken
Ist BadBIOS möglich? Teil 5: Stolperstein BIOS
Ist BadBIOS möglich? Teil 6: Stolperstein USB-Firmware und mehr

Trackbacks

entwickler.de am : PingBack

Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.