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.
Ü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
Kommentar schreiben
Kommentare
Ansicht der Kommentare:
Linear | Verschachtelt