BadUSB – eine Vorab-Einordnung

Eine kleine Sammlung an Fakten und ähnlichen Arbeiten

Seit zwei Tagen machen Schlagzeilen wie „The Security of USB is fundamentally broken“ die Runde. Der Hintergrund: Für die diesjährige Blackhat wurde von Forschern ein Talk unter dem Titel „Turning USB peripherals into BadUSB“ eingereicht. Mit modifizierter Firmware versucht das präparierte USB-Gerät, den Rechner anzugreifen. Solche Ideen sind nicht gänzlich neu, ich versuche mal, Hintergründe und bekannte Fakten über den kommenden Talk zusammenzutragen.

Der USB-Bus ist als generische Anschlußmöglichkeit für verschiedenste Gerätearten gedacht. Geräte melden sich mit einer ID (bestehend aus Vendor-ID und Product-ID) und geben sich als eine bestimmte Geräteklasse zu erkennen. Die Idee dahinter: Hinter den Geräteklassen verbergen sich bestimmte Standard-Verhaltenseweisen, so daß solche Geräte auch ohne einen bestimmten Gerätetreiber funktionieren können. Die populärsten Klassen dürften HIDs (also z.B. Tastatur oder Maus) und Audio (externe Soundkarten) sein. Ein möglicherweise vorhandener spezieller Gerätetreiber kann anhand der ID zugeordnet und aktiviert werden.

Das läßt natürlich viele Möglichkeiten für kreativen Unsinn zu. Beispielsweise muß ein USB-Tastatur-Gerät nicht zwingend Tasten haben: Viele Barcode-Scanner melden sich als Tastatur, aber genauso kann man ein Nerv-USB-Gerät bauen, welches gelegentliche Tastendrücke oder Mauswackler simuliert.

Für das Teensy USB-Board gibt es vorgefertigte Angriffs-Skripte, welche nach dem Einstecken an einem Windows-Rechner eine Folge von Tastendrücken simulieren und so beispielsweise Schadsoftware herunterladen und ausführen.

Einen noch universelleren Ansatz verfolgt der Facedancer: Wer Kontrolle über das gesprochene USB-Protokoll hat, kann sich als beliebiges Gerät bzw. eine beliebige Kette von Geräten ausgeben. Ein Angreifer kann so beispielsweise eine Folge von USB-IDs durchprobieren, in der Hoffnung, daß sich auf dem Rechner ein entsprechender Treiber befindet - und dann gezielt Sicherheitslücken in diesem Treiber angreifen.

All die genannten Möglichkeiten benötigen bisher separate, spezielle Hardware. Der Teensy läßt sich wie ein herkömmlicher USB-Stick verkleiden, der Rest ist deutlich klobiger.

Auf dem 30c3 gab es einen Vortrag, über manipulierte SD-Karten: Den Referenten war es gelungen, die Firmware des Controllers der SD-Card auszutauschen. SD-Cards bieten zwar nicht die Vielfalt von USB, aber selbst mit einem Speichergerät lassen sich verschiedene Angriffe durchführen: Beispielsweise können so verschiedene Dateisystem-Treiber angegriffen werden, oder es können darauf gespeicherte Binaries autmatisch mit Schadsoftware ergänzt werden.

Nach den Infos, die in diesem Vorab-Gespräch mit den Blackhat-Sprechern zu erfahren war, gehe ich von einer Mischung der obigen Ansätze aus: Ähnlich wie in dem SD-Karten-Vortrag ist es den Forschern gelungen, die Firmware eines USB-Sticks neu zu programmieren. Damit sähe der USB-Stick unverändert aus, würde sich beim Einstecken aber nicht mehr wie ein USB-Massenspeicher verhalten, sondern hätte die Möglichkeiten des Teensy-Boards bzw. könnte Angriffe wie mit dem Facedancer durchführen.

Zwar wird es vermutlich auch beim Herstellen von USB-Hardware so sein, daß die Bauteile löwenanteilsmäßig von einer kleinen Zahl von Herstellern kommt. In einem Kommentar zu einer der Meldungen liest man, daß aber wohl längst nicht alle umprogrammierbar sind. Und das Programmieren selbst erfordert angeblich einiges an Know-How, es wird die Zukunft zeigen, wie leicht entsprechende Geräte auf dem Markt zu finden sind und wie schnell „Kochrezepte“ zum Umprogrammieren die Runde machen.

Mein Zwischenfazit: Es ist eine neue neue Spielart eines bekannten Spiels. Die Neuerung dürfte sein, daß Massenhardware entsprechend verwendet werden kann und es nicht mehr nötig ist, Kleingeräte zu tarnen oder (für potente Angreifer) entsprechende Hardware herstellen zu lassen. Für den Benutzer gilt nach wie vor: Fremde Hardware (der stereotype auf dem Parkplatz gefundene USB-Stick) hat nichts an den entsprechenden Anschlüssen des eigenen Rechners zu suchen.

Edit: Inzwischen ist ein Videomitschnitt online, ich habe hier eine Zusammenfassung geschrieben.

Bild: (CC) by-nc-sa Martin Kenny