Reale Gefahr durch BadUSB

Hallo,

ich bin neu hier und habe mich hier bei Hackerboard.de in der Hoffnung angemeldet, dass hier jemand etwas zum Thema "BadUSB" sagen kann. Beim Lesen diverser Berichte bin ich über die folgende Aussage in einem Blog-Kommentar gestolpert, die ich nicht verstehe:

Hier liegt der Hasenkorn im Pfeffer begraben, oder so. Email, Browser usw. führen Software (modulo code-execution-Lücken, die aber dank Sandboxes und ALSR usw. immer rarer werden) nur mit dem Umweg über einen Festwertspeicher aus. Das nutzen Virenscanner, um sich da dazwischen zu setzen und Signaturen zu vergleichen. Der Trick mit der Tastatur macht quasi eine neue code-execution-Lücke auf die nicht von einer Sandbox oder anderen Countermeasures betroffen ist, und auch nicht wirklich einfach gefixt werden kann. Unsere Demo hat Code ausgeführt der vorher nie auf irgendeinem Speicher lag. Der Virenscanner hat den Code nie gesehen. Sonst wäre er nämlich eingeschritten (die Meterpreter-Binaries sind in quasi allen Signaturdatenbanken).
Um generisch dagegen vorzugehen müsste der Virenscanner anfangen, Prozessabbilder im Speicher zu scannen und/oder weitere Verhaltenscharacteristiken (Kamera einschalten etwa) auszuwerten. Das frisst dann a) die letzten 10 und nächsten 10 Jahre Prozessor-Performance-Steigerungen auf und hagelt b) Fehlalarme reihenweise bei irgendwelchen Kopierschützen/DRM-Mechanismen, etc. (Schönstes Beispiel: Skype – Ist selbstmodifizierend, mit verschlüsseltem Codesegment *und* greift auf die Kamera zu :)
?Hacker? im Fernsehen ? ? Die Katastrophe ist eine ganz andere - Alvars Blog

Ich hatte das mit dem BadUSB so verstanden, dass die Firmware vom Stick umprogrammiert wird und sich das Gerät anschließend als Tastatur ausgibt, dann via Tastatur eine Shell oder ähnliches öffnet und dann "irgendwie" die Schadsoftware herunterläd. In dem Kommentar hört es sich eher so an, als ob da eine Art DMA-Transfer-Angriff oder so zum Einsatz kommt.

Genau dieses "irgendwie" interessiert mich also im Zusammenhang mit der Aussage im Kommentar, dass der Virenscanner trotz bekannter Signaturen keine Chance hat, den Angriff zu bemerken! Kann sich hier jemand einen Reim darauf machen und erklären, wie genau da Schadcode am stets aktiven "Wächter" des Virenscanners vorbeigeschleust werden kann? Ich möchte jetzt nicht debattieren, wie wirkungsvoll AV-Software im Allgemeinen ist, sondern interessiere mich lediglich für die angeblich stattfindende Infektion TROTZ bekannter Signatur!

Dann fände ich es sehr interessant zu erfahren, wie viel man "draufhaben" muss, um so einen Angriff auf handelsübliche USB-Sticks durchzuführen?
In den Berichten ist von 3 großen Controller-Typen die Rede, die man auf heutigen USB-Sticks überwiegend findet. Dann sollte man neben Windows-Programmierung(WinAPI, .NET, wasauchimmer) vermutlich viel Erfahrung mit µC-Programmierung und Hardware haben und auch einiges über Re-Engeneering wissen(also Assembler bzw. Maschinencode verstehen). Das USB-Protokoll sollte wohl auch gut bekannt sein(Enumeration, Geräte-Klassen, Transfers, etc.). Mir scheint, dass die Hürde hier (zum Glück) erstmal recht hoch liegt und sogar erfahrene IT-Spezialisten nur mit enorm viel Aufwand einen Stick umprogrammieren können, aber gibt es (eventuell gegen Geld) Construction-Kits, die einem IT-technisch versierten Menschen erlauben, ohne tiefergehende Hacker-Kentnisse solch einen Angriff für bestimmte bzw. alle 3 Controller-Typen durchzuführen?

Es grüßt...
Franz
 
Evtl wäre für dich der Vortrag von der Black Hat interessant, denn da werden einige Szenarien gezeigt oder beschrieben.
Hier der link zum Video:
Klick
 
Eine Tastatur zu simulieren und Eingaben "einzuschleusen" ist nicht ("nicht" bedeutet ca. 10$) schwer.

Bei BadUSB ging es dagegen darum, dass (angeblich) Malware die Firmware unterschiedlicher Geräte bafallen, sich "untfernbar" festsetzt und über vorhandene Schittstellen, z.B. Wifi oder Soundaus- und eingabe, verbreitet haben soll. Denoch sollen die Geräte korrekt funktioniert haben, was eine Erkennung selbst für einen Fachmann (oder eine Fachfrau) fast unmöglich macht. Da die Malware nun in der Firmware residiert, ist sie auch für jedes Software(!)-Schutzprogramm unsichtbar, da sie sich, wenn man den Computer als einfaches Layer-System (Hardware - Firmware - BIOS - OS - Applikationen) betrachtet, "unter" dem Kontext des Virenscanners befindet und ihn damit steuern bzw. ihm beliebige Informationen liefern könnte. Der Software-Virenscanner kann die Malware also nicht erkennen, ganz im Gegensatz beispielsweise zu TPMs, die zwar inzwischen überall eingebaut sind, aber nicht für diesen Zweck genutzt werden, weil zu unflexibel und starr.
Die Angriffsmethoden z.B. auf das Betriebssystem reichen nun vom simplen Abgreifen von Tastatureingaben, über das Ändern beliebiger Dateien auf der Festplatte, bis hin zur Simulation von Hardwarefunktionen. Mit so simplen Angriffen, wie sie vom Teensy oder Rubber Ducky implementiert werden, hat das wenig zu tun.
 
Der Blog-Kommentar ist Käse.

Allein schon diese Aussage:
"Email, Browser usw. führen Software [...] nur mit dem Umweg über einen Festwertspeicher aus."

(1) Eine Email führt nichts aus... es ist eine Email - Inhalt.
(2) Ein Browser ist Software... und führt keine Software aus.
(3) Software, die die CPU ausführt, liegt im RAM, also in beschreibbarem Speicher und nicht im ROM (Festwertspeicher).

Der Satz macht hinten und vorne keinen Sinn.

Bei BadUSB ging es dagegen darum, dass (angeblich) Malware die Firmware unterschiedlicher Geräte bafallen, sich "untfernbar" festsetzt und über vorhandene Schittstellen, z.B. Wifi oder Soundaus- und eingabe, verbreitet haben soll.

Nö, was du beschreibst war BadBIOS und viele der ursprünglichen claims wurden da debunked. Manche Konzeptionen waren halt prinzipiell möglich - das war es aber auch schon.

BadUSB hingegen macht sich einfach die Möglichkeit von USB zu Nutze sich als beliebiges Gerät anmelden zu können. Also ein scheinbar harmloser USB Stick emuliert eine Tastatur und macht selbsttätig Eingaben.
Oder es wird eine Netzwerkkarte emuliert über die man den Verkehr mitschneiden oder umleiten kann.
Zusätzlich kam dann noch die Möglichkeit dazu, dass man die Firmware mancher fremder USB-Geräte überschreiben konnte und somit einen Infektionsweg hat (vgl. Nohl et. al., 2014) . Also der Tastatur-Emulator, der durch Eingaben den Computer infiziert, wird eben nun fortan auf jedes USB-Gerät geschrieben dessen Firmware sich überschreiben lässt und somit vervielfältigt sich der Tastatur-Emulator.

Ich sehe das nicht wirklich als Sicherheitslücke, sondern einfach als physical property von Arbeitsumgebungen, die man berücksichtigen sollte.

Eine simulierte Tastatur über einen USB-Stick ähnelt der Situation, dass sich jemand unbemerkt an deinen Computer schleicht und dort was eintippt um dich zu infizieren.
Denn: Wenn du den USB-Stick einsteckst und es werden auf einmal Eingaben gemacht (Konsole/Browser öffnet sich z.B.), dann merkt man das ja wohl irgendwie...
Wenn man dagegen die Arbeitsstation sperrt, dann wird damit sowohl der infizierte Stick als auch derjenige gestoppt, der sich da mal kurz heranschleicht.
Denn magisch die Passwortabfrage zu umgehen, kann BadUSB auch nicht.

(Der Blog-Eintrag selbst beschreibt das schon richtig. Der Kommentar dagegen ist Blödsinn.)
 
Zurück
Oben