Linux-Kernel mit USB-Geräten angreifbar

Nachrichten

Eine Speicherverletzung im Linux-Kern kann dazu führen, dass Schadcode ausgeführt wird. 12 Bugs konnte der ChromeOS-Entwickler Kees Cook im Linux-Kernel ausmachen. Als Angriffsszenario sind hier HIDs (Human Interface Devices) im Vordergrund. Wird von einem Benutzer ein USB-Gerät an den USB-Port angeschlossen, so kommunizieren Gerät und System in regelmäßigen Abständen miteinander. Dabei werden Ereignisse (wie beispielsweise ein Tastenanschlag auf einer Tastatur) übertragen.

Eine Übertragung hat eine Größe von 256 Einträgen; sogenannte Report-Ids. Sendet das Endgerät also mehr als 255 von diesen Einträgen, kommt es zu einer Speicherverletzung. Über diese Ausnahmesituation könnte Schadcode in das betroffene System eingeschleust und ausgeführt werden. Kees Cook deckte diesen Fehler auf, als er mit dem Facedancer-Entwicklungsboard arbeitete. Diese kleine Schaltplatine führt ein Python-Script mit USB-Befehlen aus und sendet es an das angeschlossene System. Nicht nur mit dieser Platine lässt sich ein theoretischer Angriff ausmalen, auch andere Entwicklungsboards wie beispielsweise der Teensy-Mikrocontroller eignen sich dafür. Ein theoretischer Angriff wäre eine vorinstallierte Software auf dem USB-Stick, der dann in den Computer des Opfers gesteckt wird. Unmittelbar danach, beginnt der Rechner mit der Peripherie zu kommunizieren. Wird nun der Speicher des Kernels überschritten, so können Befehle die einen Root-Zugriff verschaffen ausgeführt werden.

 

Die verschiedenen Distributoren prüfen derzeit, ob ihr System betroffen ist. Debian (wheezy) und Red Hat (Fedora 19, Enterprise Linux 6) sind betroffen. Unter Hochdruck wird bei diesen Distributoren an der Behebung gearbeitet. Ob Ubuntu von dem Problem betroffen ist, ist noch unklar. Es könnte allerdings sehr gut möglich sein, denn Ubuntu basiert zu Teilen auf Debian.

-

Vorheriger Artikel Nächster Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA eingeben * Das Zeitlimit ist erschöpft. Bitte CAPTCHA neu laden.