Der USB-Stick gehört vermeintlich zu der weniger spannenden Hardware – ein simpler Datenträger, der zu vielfältigen Zwecken eingesetzt werden kann und quasi unter jeder Hardware-Umgebung gleich funktioniert. Dass dies nicht so ist, erklärte der Sicherheitsspezialist und Pwnie-Gewinner Travis Goodspeed auf dem 29. Chaos Communication Congress (29C3) in Hamburg.

"Man denkt beim USB-Stick an ein Block Device, aber in Wahrheit ist es ein Computer, der über ein Netzwerk mit dem Host spricht", sagt Goodspeed. "Das Gerät kann alle Daten senden, die es will." Wenn man einmal diese Perspektive angenommen habe, könne man völlig neue Anwendungsmöglichkeiten finden. So seien Treiber für USB-Geräte oft nicht sehr gut programmiert und böten viele Zugriffsmöglichkeiten. Auch lassen sich Dateien verändern, während ein USB-Stick angeschlossen ist

So konnte der Sicherheitsforscher Collin Mulliner sich dieses falsche Vertrauen in USB-Sticks zu Nutze machen, um auf einem SmartTV von Samsung eine nicht zugelassene Erweiterung zu installieren und so vollen Zugang auf das System zu bekommen (PDF-Datei). Denn der Fernseher überprüft zunächst, ob sich auf dem USB-Stick zugelassene Erweiterungen befinden. Während dieser Prüfung zeigte Mulliner dem Fernseher ein vermeintlich zugelassenes Plug-in. Beim eigentlichen Installationsvorgang schob er dem System jedoch völlig andere andere Datei unter und bekam so einen Telnet-Zugang zum System. Damit konnte er die Firmware beliebig verändern und so zum Beispiel die Aufnahmefunktion von Pay-TV-Sendern freischalten.

Dieser Hack ist jedoch erst der Anfang. Goodspeed hat ein Board namens Facedancer entwickelt, mit dem sich jedes beliebige USB-Device emulieren lässt. "Hierbei handelt es sich um ein Entwicklungstool", stellt Goodspeed klar. So kann man beispielsweise vortäuschen, dass sich ein Smartphone mit dem Computer verbunden hat, und ein Firmware-Update initiieren. Aus den so abgefangenen Daten kann man dann herausfinden, wie genau der Update-Prozess funktioniert und sich ein Firmware-Image zur weiteren Analyse abspeichern. Indem man mit dem Board die Kommunikation eines Computers untersucht, kann man USB-Geräte bauen, die gezielt Schwachstellen der Hostcomputer ausnutzen.

Über die Emulation eines USB-Sticks ergeben sich jedoch neue Möglichkeiten. Mittels Fingerprinting kann der USB-Stick schnell herausfinden, welches Gerät mit ihm sprechen will. Beispielsweise greifen Windows-PCs gleich neun Mal auf den MBR des USB-Sticks zu, Linux-Distributionen sind über ihren Automounter unterscheidbar. Ein solches Verhaltensmuster kann der USB-Stick registrieren und demgemäß die Daten ausspielen, die der Eigentümer preisgeben will. "Wenn der MBR neun Mal gelesen wird, handelt es sich höchstwahrscheinlich nicht um meinen Laptop", sagt Goodspeed. So kann ein entsprechend programmierter USB-Stick einem Windows-PC einen anderen Inhalt anzeigen als einem Linux-Rechner.

Auch die Intention des Zugreifenden kann Goodspeed analysieren. So schreiben Windows-PCs standardmäßig bei der Erkennung eines USB-Sticks das Zugriffsdatum auf den Datenträger. Verzichtet der PC jedoch darauf, versucht wahrscheinlich jemand den USB-Stick forensisch zu kopieren – dass ein Datenträger nicht verändert werden darf, gehört zur obersten Regeln bei der Beweissicherung. Goodspeed kann seinen USB-Stick so programmieren, dass er sich selbst zerstört, sobald jemand eine forensische Kopie erstellen will. "Solange ein Forensiker nicht weiß, dass er einen speziellen USB-Stick vor sich hat, habt ihr gewonnen", sagt Goodspeed. (hos)