Linux via USB zu kapern
Ein Fehler in einem USB-Treiber im Linux-Kernel kann fatale Folgen haben. Ein speziell präpariertes USB-Device könnte den Rechner etwa mit Spionage-Software infizieren.
Rafael Dominguez Vega von MRW InfoSecurity berichtet über einen Programmierfehler im Caiaq-USB-Treiber, über den ein USB-Gerät ein Linux-System kapern könnte.
Der Fehler besteht darin, dass der Gerätenamen ohne Längenprüfung via strcpy()
in einen Speicherbereich mit einer Länge von 80 Bytes kopiert wird. Somit kann ein spezielles Gerät mit einem längeren Gerätenamen über die Grenzen dieses Puffers hinaus schreiben und damit Code einschleusen und ausführen. Da der Treiber in den meisten Linux-Distributionen enthalten ist und automatisch geladen wird, müsste ein Angreifer lediglich das Gerät an einen USB-Port des Linux-Systems anstecken, um dort eigenen Code im Kernel-Modus auszuführen.
MRW hat anscheinend sogar ein solches USB-Device zusammengebastelt und lästert in einem Tweet über "Linux plug&pwn". Der Spott trifft das Open-Source-System nicht ganz zu Unrecht – sind doch Pufferüberläufe auf Grund von strcpy()
eigentlich ein Problem aus dem letzten Jahrtausend. So hat etwa Microsoft die Funktion bereits vor einigen Jahren auf die Liste der geächteten Funktionsaufrufe gesetzt; mit der Folge, dass Entwickler keinen Code mehr einchecken können, der die inkriminierte Funktion verwendet. Dass dieser Funktionsaufruf in einem Linux-Kernel-Treiber erst am 14.2.2011 durch das sicherere strlcpy() mit Längenprüfung ersetzt wurde, spricht nicht gerade für deren Qualität.
Doch um eine derartige Schwachstelle auszunutzen, benötigt man direkten Zugang zum Zielgerät. Trotz dieser Einschränkung sind sie offenbar sehr begehrt. So entwickelte etwa die amerikanische Sicherheitsfirma HBgary unter dem Codenamen Task B ein ganzes Framework für das Ausspionieren und Kompromittieren von Computern über Ports wie USB oder Firewire. Hauptabnehmer war der Rüstungskonzern General Dynamics, der wiederum US-Militär und -Geheimdienste in seiner Kundeliste führt. Anvisierter Preis: etwa 400.000 US-Dollar.
Ein GD-Angestellter erklärt in einer E-Mail zwei zentrale Einsatzszenarien: Ein Mann lässt sein gesperrtes Notebook kurzzeitig unbeaufsichtigt, was die Möglichkeit eröffnet, kurz ein Gerät anzustecken und wieder abzuziehen. Beim zweiten Szenario, wird das Zusatzgerät heimlich an den ausgeschalteten PC angesteckt, bleibt dort beim Einschalten hoffentlich unbemerkt und wird nach getaner Arbeit wieder abgeholt. In beiden Szenarien wird auch eine Festplattenkomplettverschlüsselung ausgetrickst, da der Zugriff in eingeschaltetem Zustand erfolgt, wo das System alle Dateien transparent entschlüsselt. (ju)