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. Customer Support/IT-Support Online Dienste Plattformen (w/m/d)
    Dataport, Altenholz bei Kiel, Bremen, Halle (Saale), Hamburg, Magdeburg, Rostock
  2. Netzwerk Administrator (m/w/d)
    operational services GmbH & Co. KG, Wolfsburg, Berlin, München
Detailsuche

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

Golem Akademie
  1. Informationssicherheit in der Automobilindustrie nach VDA-ISA und TISAX® mit Zertifikat: Zwei-Tage-Workshop
    19./20.07.2022, Virtuell
  2. Azure und AWS Cloudnutzung absichern: virtueller Zwei-Tage-Workshop
    19./20.05.2022, virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


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...



Aktuell auf der Startseite von Golem.de
Sicherheitslücke
Die Schadsoftware, die auf ausgeschalteten iPhones aktiv ist

Forschern ist es gelungen, eine Schadsoftware auf ausgeschalteten iPhones mit vermeintlich leerem Akku auszuführen. Denn ganz aus sind diese nicht.

Sicherheitslücke: Die Schadsoftware, die auf ausgeschalteten iPhones aktiv ist
Artikel
  1. Umweltschutz: Leipziger Forscher entdecken Enzym für Plastikrecycling
    Umweltschutz
    Leipziger Forscher entdecken Enzym für Plastikrecycling

    Ein neu entdecktes Enzym soll das biologische Recycling von Kunststoff deutlich beschleunigen.

  2. Bundeswehr: Das Heer will sich nicht abhören lassen
    Bundeswehr
    Das Heer will sich nicht abhören lassen

    Um sicher zu kommunizieren, halten die Landstreitkräfte in NATO-Missionen angeblich ihre Panzer an und verabreden sich "von Turm zu Turm".
    Ein Bericht von Matthias Monroy

  3. Beschäftigte: Microsoft wird Prämien und Aktienoptionen stark erhöhen
    Beschäftigte
    Microsoft wird Prämien und Aktienoptionen stark erhöhen

    Microsoft muss, um seine Experten zu halten, deutlich mehr für Prämien und Aktienoptionen ausgeben. Meta hatte einigen das doppelte Gehalt geboten.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week: Bis zu 400€ Rabatt auf Gaming-Stühle • AOC G3 Gaming-Monitor 34" UWQHD 165 Hz günstig wie nie: 404€ • Xbox Series X bestellbar • MindStar (u.a. Gigabyte RTX 3090 24GB 1.699€) • LG OLED TV (2021) 65" 120 Hz 1.499€ statt 2.799€ [Werbung]
    •  /