Abo
  • IT-Karriere:

Kernel-Treiber: Fuzzing deckt USB-Sicherheitslücken auf

Sicherheitslücken in USB-Treibern können eine einfache Möglichkeit darstellen, um Systeme zu übernehmen. Mittels Fuzzing-Technologien fanden zwei Sicherheitsforscher zahlreiche potenzielle Lücken in Linux-Treibern.

Artikel veröffentlicht am , Hanno Böck
USB-Treiber als Einfallstor für Angreifer sind ein unterschätztes Problem.
USB-Treiber als Einfallstor für Angreifer sind ein unterschätztes Problem. (Bild: Andreas Frank, Wikimedia Commons, CC by-sa 2.0)

USB-Geräte als mögliche Einfallstore für Angriffe sind eigentlich keine Neuheit. Die beiden Sicherheitsforscher Sergej Schumilo und Ralf Spenneberg wiesen in ihrem Vortrag auf der Black Hat Europe darauf hin, dass bereits 2005 in einem Vortrag, ebenfalls auf einer Black Hat-Konferenz, vor entsprechenden Lücken gewarnt worden war. Trotzdem ist das Problem offenbar gravierend: Mit Hilfe von Fuzzing-Technologien fanden Schumilo und Spenneberg zahlreiche Bugs in Linux-Kernel-Treibern für USB-Geräte.

Zufälligen Eingabedaten

Stellenmarkt
  1. Beuth Hochschule für Technik Berlin, Berlin
  2. Groz-Beckert KG, Albstadt

Die Idee des Fuzzings ist eigentlich simpel: Man versucht, möglichst viele fehlerhafte, zufällige Eingabedaten für ein System, das man testen möchte, zu generieren. Stürzen das untersuchte Programm oder das System dabei ab, handelt es sich mit hoher Wahrscheinlichkeit um ein Sicherheitsproblem. Wie kritisch das Problem ist, muss jedoch im einzelnen untersucht werden.

Schumilo und Spenneberg haben mit Hilfe von QEMU und KVM versucht, die Treiber eines virtualisierten Linux-Systems zu testen. Im Vergleich zu echten Systemen hat die Virtualisierung den Vorteil, dass man deutlich schneller testen kann. Fuzzing ist meist nur erfolgreich, wenn man sehr viele mögliche Eingabedaten schicken kann. Zwei Strategien kamen hierbei zum Einsatz: Bei der ersten Methode wurde das System jeweils in seinen Ursprungszustand zurückgesetzt und ein erneuter Test-Payload an den virtuellen USB-Port gesendet. Bei der zweiten Methode wurden mehrere Payloads hintereinander gesendet - so lange, bis entweder das System abstürzte oder Speicherzugriffsfehler in Anwendungsprozessen auf dem System auftraten. Die zweite Methode war dabei deutlich schneller.

Getestet wurden 150 parallel laufende virtuelle Systeme, damit gelang es, etwa 77 Payloads pro Sekunde zu testen. Die Methode war damit deutlich schneller als bisherige Versuche, USB-Treiber zu fuzzen. Insgesamt fanden Schumilo und Spenneberg etwa 4.000 Payloads, die zu Abstürzen führten. Viele davon sind vermutlich Duplikate, die dieselben Bugs betreffen. Anhand der Ausgabe der Kernel-Abstürze schätzten die Forscher, dass es sich um etwa 20 bis 50 unterschiedliche Bugs handelt. Eine genauere Analyse der Payloads steht noch aus, die Fehler wurden somit bisher auch nicht an die Kernelentwickler gemeldet.

Vermutlich noch viel mehr Probleme

Die beteiligten Forscher gehen davon aus, dass sie bisher nur an der Oberfläche des Problems gekratzt haben. Vermutlich ließen sich mit ähnlichen Methoden viele weitere Fehler finden. Der Quellcode des verwendeten Fuzzing-Frameworks soll in Kürze auf Github veröffentlicht werden. Als nächstes wollen sie versuchen, ihre Methode auch unter Windows einzusetzen. Das Problem sei hierbei, dass es schwieriger sei, automatisiert zu erkennen, ob und warum unter Windows das System abgestürzt ist. Unter Linux lasse sich das einfach am Konsolenoutput ablesen.

Sicherheitslücken in USB-Treibern können dazu führen, dass man durch simples Anschließen eines manipulierten USB-Geräts Zugriff auf ein System erlangt. Da die Treiber im Kernelspace laufen, haben diese üblicherweise gleich die maximalen Rechte auf einem System. Vorstellbar ist etwa, entsprechende Geräte an einen kurze Zeit unbewachten Laptop mit gesperrtem Bildschirm anzuschließen oder jemandem einen USB-Stick zu geben.

Im Sommer gab es einen Vortrag auf der Black Hat in Las Vegas, der unter dem Stichwort Bad USB für einige Aufmerksamkeit sorgte. Die dort verwendeten Methoden basierten jedoch nicht auf Fehlern in Treibern, sondern auf grundsätzlichen Designproblemen von USB.



Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de
  2. 119,90€
  3. ab 194,90€

neocron 17. Okt 2014

sehr gut ... mein rechner geht teils schon aus, wenn ich den stecker versuche blind...

blizzy 17. Okt 2014

Die Duplikate rauszufinden kann man sich ja sparen. Man greift sich ein paar der...


Folgen Sie uns
       


Cinebench R20 auf Threadripper 2950X ausprobiert

Cinebench R20 soll mit bis zu 256 Threads umgehen können.

Cinebench R20 auf Threadripper 2950X ausprobiert Video aufrufen
Adblock Plus: Adblock-Filterregeln können Code ausführen
Adblock Plus
Adblock-Filterregeln können Code ausführen

Unter bestimmten Voraussetzungen können Filterregeln für Adblocker mit einer neuen Funktion Javascript-Code in Webseiten einfügen. Adblock Plus will reagieren und die entsprechende Funktion wieder entfernen. Ublock Origin ist nicht betroffen.
Von Hanno Böck

  1. Urheberrecht Axel-Springer-Verlag klagt erneut gegen Adblocker
  2. Whitelisting erlaubt Kartellamt hält Adblocker-Nutzung für "nachvollziehbar"
  3. Firefox Klar Mozilla testet offenbar Adblocker

Jobporträt: Wenn die Software für den Anwalt kurzen Prozess macht
Jobporträt
Wenn die Software für den Anwalt kurzen Prozess macht

IT-Anwalt Christian Solmecke arbeitet an einer eigenen Jura-Software, die sogar automatisch auf Urheberrechtsabmahnungen antworten kann. Dass er sich damit seiner eigenen Arbeit beraubt, glaubt er nicht. Denn die KI des Programms braucht noch Betreuung.
Von Maja Hoock

  1. Struktrurwandel IT soll jetzt die Kohle nach Cottbus bringen
  2. IT-Jobporträt Spieleprogrammierer "Ich habe mehr Code gelöscht als geschrieben"
  3. Recruiting Wenn die KI passende Mitarbeiter findet

Online-Banking: In 150 Tagen verlieren die TAN-Zettel ihre Gültigkeit
Online-Banking
In 150 Tagen verlieren die TAN-Zettel ihre Gültigkeit

Zum 14. September 2019 wird ein wichtiger Teil der Zahlungsdiensterichtlinie 2 für die meisten Girokonto-Kunden mit Online-Zugang umgesetzt. Die meist als indizierte TAN-Liste ausgegebenen Transaktionsnummern können dann nicht mehr genutzt werden.
Von Andreas Sebayang

  1. Banking-App Comdirect empfiehlt, Sicherheitswarnung zu ignorieren

    •  /