Skip to content

Gefährliche Peripherie: Firewire

Gefährliche Peripheriegeräte habe ich erstmals in About Security #4 erwähnt. Veröffentlichungstermin: 6 Mai 2005. In den seitdem vergangenen knapp 6 1/2 Jahren ist viel passiert, die Gefahr durch bösartige bzw. manipulierte Peripheriegeräte ist geblieben.

Direkter Speicherzugriff dank Firewire

Firewire/IEEE1394 erlaubt Clients den direkten Zugriff auf den Speicher des Hosts (Direct Memory Access, DMA). Das von Firewire-Massenspeichern genutzte Serial Bus Protocol 2 (SBP-2) nutzt die DMA-Fähigkeit zur Minimierung der benötigten Interrupts, indem der Initiator seinen Request direkt in einen bestimmten Speicherbereich des Targets schreibt. Dabei wird i.A. auch die Adresse eines Speicherbereichs des Initiators übertragen, in den die angeforderten Daten geschrieben werden sollen. In vielen Implementierungen der OHCI-Spezifikation (Open Host Controller Interface) erfolgt die Zuordnung der Speicherbereiche auf Hardwareebene, dabei werden meist sämtliche Beschränkungen des Betriebssystems umgangen. Ein bösartiges Gerät kann dann beliebige Speicherbereiche lesen und schreiben.

Jedes Feature lässt sich missbrauchen

So eine Möglichkeit lädt natürlich zum Missbrauch ein. Maximillian Dornseif stellte erstmals im November und Dezember 2004 einen Angriff über Firewire vor und veröffentlichte entsprechende Tools. Eine weitere Präsentation folgte im Mai 2005.

Über Firewire können z.B. vertrauliche Daten gelesen, die eigenen Benutzerrechte erhöht oder beliebiger Code eingeschleust werden. Ein Angreifer, der Zugang zu einem Firewire-Port hat, kann damit die vollständige Kontrolle über das jeweilige Gerät erlangen. Ein entsprechendes Security Advisory wurde auf Bugtraq veröffentlicht, der "Schwachstelle" wurde die CVE-ID CVE-2004-1038 zugewiesen.

Schutzfunktionen: Theoretisch gut, praktisch mangelhaft

OHCI sieht auch Schutzfunktionen vor, die über Filter den Zugriff generell verhindern oder dem Betriebssystem des Hosts die Kontrolle übertragen. Diese waren jedoch teilweise nicht implementiert, schwierig zu konfigurieren oder arbeiteten fehlerhaft. Gefährdet sind alle Geräte, die die entsprechenden Funktionen zur Verfügung stellen und bei denen keine Schutzfunktion aktiviert ist. 2004 war unter Mac OS X und FreeBSD das Lesen und Schreiben und unter Linux das Lesen von Daten möglich. Das Schreiben unter Linux sowie das Lesen und Schreiben unter Windows waren nicht möglich.

Weiter gehts...

2008 veröffentlichte Adam Boileau dann ein Tool, mit dem man sich durch das Anschließen eines entsprechend präparierten Firewire-Geräts (genauer: Eines Linux-Rechners, auf dem das Tool läuft) Zugriff auf einen laufenden Windows-Rechner verschaffen kann. Das Tool wurde bereits 2006 auf einer Konferenz präsentiert und ändert den Code für die Passwortprüfung des Bildschirmschoners des damals aktuellen Windows XP SP2 (Präsentation als PDF). Windows Schutzfunktion für Firewire/OHCI wird dabei umgangen, indem der Angreifer sich als Gerät ausgibt, das DMA-Zugriff benötigt: Ein iPod.

Ebenfalls 2008 wurde von SEC Consult 2008 ein ähnlicher Angriff gegen das dann aktuelle Windows Vista beschrieben (PDF), aber keine entsprechenden Tools oder Proof-of-Concepts veröffentlicht.

2007 und 2008 beschrieb David R. Piegdon Angriffe über Firewire und veröffentlichte entsprechende Tools ("hacking in physically addressable memory", Februar 2007 und "FireWire Hacking", Easterhegg 2008), mit denen sich z.B. SSH-Schlüssel ausspähen lassen.

Im September 2010 veröffentlichte Freddie Witherden ein Paper (Download als PDF) und dazugehörige Tools zur forensischen Analyse des Hauptspeichers über Firewire, mit der sich ggf. auch ein aktivierter Passwortschutz umgehen lässt.

Im Januar 2011 wurde von Passware in einer Pressemitteilung angekündigt, dass mit der neuen Programmversion "Passware Kit Forensic v11" unter Mac OS X Passwörter über Firewire gelesen werden können.

Die tatsächliche Gefahr

Ein Angriff über Firewire ist nur dann möglich, wenn sich im Speicher des Rechners Daten befinden, er also läuft. Dabei ist es egal, ob er sich im normalen Betrieb befindet und durch ein Passwort geschützt ist oder ob er sich im Ruhezustand befindet. Ist der Zugriff über Firewire/DMA möglich, kann von einem entsprechend präparierten Firewire-Gerät aus auf den Speicher zugegriffen werden. Ob der Angreifer dann "nur" Daten ausspäht oder auch eigenen Code einschleust, liegt in seinem eigenen Ermessen.

Der obige Absatz enthält bereits die zwei entscheidenden Einschränkungen: Zum einen muss der Rechner laufen - ist er ausgeschaltet, befindet sich nichts im Speicher, das sich lesen oder manipulieren ließe. Zum anderen muss der Zugriff über Firewire und DMA möglich sein. Ist kein entsprechender Treiber geladen oder enthält der Treiber entsprechende Schutzfunktionen, ist ebenfalls kein Zugriff möglich. Ggf. kommen dabei auch noch Schwachstellen ins Spiel, die trotz vorhandener Schutzfunktion einen Zugriff erlauben. Aktuell hat Apple eine entsprechende Schwachstelle in Mac OS X behoben:

"Kernel
Available for: OS X Lion v10.7 and v10.7.1, OS X Lion Server v10.7 and v10.7.1
Impact: A person with physical access may be able to access the user's password
Description: A logic error in the kernel's DMA protection permitted firewire DMA at loginwindow, boot, and shutdown, although not at screen lock. This update addresses the issue by preventing firewire DMA at all states where the user is not logged in.
CVE-ID
CVE-2011-3215 : Passware, Inc."

Damit dürfte sich dann auch die Presseerklärung von Passware erledigt haben.

Wer ganz sicher gehen will, kann natürlich vorhandene, aber nicht benötigte Firewire-Anschlüsse physikalisch zerstören oder unzugänglich machen. Normalerweise reicht es aber aus, den Rechner auszuschalten, wenn er sich unbeaufsichtigt in einer nicht vertrauenswürdigen Umgebung befindet. I.A. dürfte er dort nämlich viel wahrscheinlicher gestohlen werden, als das sich jemand die Mühe macht, ihn vor Ort über Firewire anzugreifen.

In der nächsten Folge geht es um weitere gefährliche Peripheriegeräte, dann um die mit USB-Anschluss.

Carsten Eilers


Übersicht über alle Artikel zum Thema

Gefährliche Peripherie: Firewire
Gefährliche Peripherie: USB
Gefährliche Peripherie: USB - Stick weg, Daten weg
Gefährliche Peripherie: USB - Weitere Angriffe und Gegenmaßnahmen
Gefährliche Peripherie: Drucker und Co.
Gefährliche Peripherie: Thunderbolt
Gefährliche Peripherie: USB - Bösartige Ladegeräte
Gefährliche Peripherie: USB - Zweckentfremdete Anschlüsse und mehr
BadUSB - Ein Angriff, der dringend ernst genommen werden sollte

Trackbacks

Keine Trackbacks