Skip to content

USB-Sicherheit 2016: USB Type C wird sicherer, und Windows auch

Diesmal geht es um zwei positive Meldungen zur USB-Sicherheit. Erstens: Die Firmware von USB-Type-C-Geräten kann bei Bedarf signiert werden, was die Sicherheit erhöhen kann. Und im Gegenzug die Möglichkeiten der Benutzer, mit ihren Geräten tun und lassen zu können, was sie wollen, einschränken könnte. Und zweitens: Seit dem März gibt es in Windows eine USB-Schwachstelle weniger.

USB Type C wird sicher(er)

Die "USB Type-C Authentication Specification" (ein Teil der USB 3.1 Specification) erlaubt es Geräten mit Type-C-Anschluss, sich gegenüber dem USB-Host mit einer digitalen Signatur ihrer Firmware auszuweisen. Der Host bzw. meist der darauf laufende Treiber kann durch Prüfung der Signatur sicher stellen, dass nur bestimmte Geräte verwendet werden.

Die Einführung der Spezifikation führt drei Beispiele für die Nutzung der Signaturen auf:

  1. Ein Hersteller, der Schäden durch mangelhafte Ladegeräte befürchtet, kann dafür sorgen, dass nur nach dem Standard "USB Power Delivery (USB PD)" zertifizierte Ladegeräte verwendet werden können.
  2. Ein Benutzer, der Bedenken vor der Nutzung öffentlicher Ladestationen hat, kann sein Smartphone so konfigurieren, dass es nur dem Standard "USB Power Delivery (USB PD)" zertifizierte Ladegeräte akzeptiert.
  3. Ein Unternehmen, dass keine unbekannten USB-Massenspeicher an seinen Rechnern angeschlossen sehen möchte, kann festlegen, dass die Rechner nur USB-Massenspeicher akzeptieren, die von der IT-Abteilung des Unternehmens geprüft und signiert wurden.

Im Fall von 1. und 2. ist auch ein eingeschränkter Schutz vor Angriffen mit präparierten Ladegeräten gegeben: Die Kriminellen müssen sich eine gültige Signatur für die Firmware ihres bösartigen Ladegeräts beschaffen, damit der Angriff erfolgreich ist. Was aber keine unüberwindliche Hürde sein dürfte.

Und die Beschränkung auf zugelassene USB-Massenspeicher im 3. Fall schützt natürlich nicht vor Angriffen von USB-Würmern und anderer Schadsoftware, die auf ein zugelassenes Gerät gelangt ist. Es ist aber zumindest nicht mehr möglich, dass die Benutzer gefundene USB-Sticks anschließen und darüber die Rechner mit Schadsoftware infiziert werden. Es gibt allerdings bereits mehrere Softwarelösungen, die die Nutzung von USB-Geräten auf freigegebene Geräte einschränken. Ob wir da wirklich noch einen Standard brauchen?

Das einzige, vor dem die Signatur sonst noch schützt, sind BadUSB-Angriffe, bei denen die Firmware eines eigentlich harmlosen USB-Geräts manipuliert wird. Das würde die Signatur ungültig machen und auffallen. Es sei denn, der Angreifer findet eine Möglichkeit, eine neue Signatur zu erstellen. Was ich nicht ausschließen möchte, es gibt schließlich immer wieder Schadsoftware mit gültigen Signaturen. Warum sollte das bei USB-Geräten anders sein?

Das Ganze hat auch einen großen Haken: Viele Hersteller werden zumindest versuchen, die Gelegenheit zu nutzen und die Verwendung anderer als der eigenen Ladegeräte etc. zu verhindern. Dagegen muss man natürlich was tun. Am einfachsten dürfte es sein, über eine EU-Regelung zu verlangen, dass die Benutzer diese Funktion ausschalten können. Aber die Hersteller werden sicher genug Lobbyisten bezahlen, die den Politikern erklären, warum das auf keinen Fall passieren darf. Von daher erwarte ich von dieser Spezifikation eher wenig Gutes. Die Sicherheit wird etwas steigen, die Wahlmöglichkeiten der Benutzer im Gegenzug aber stark eingeschränkt werden.

Mal wieder eine USB-Schwachstelle in Windows...

Am 8. März 2016 hat Microsoft das Security Bulletin MS16-033 veröffentlicht, in dem es nur um eine einzige Schwachstelle geht: CVE-2016-0133. Die befindet sich im "USB Mass Storage Class" Treiber und hat es in sich: Beim Anschluss eines präparierten USB-Massenspeichers kommt es zu einem Überlauf im Kernel-Speicher, über den Code mit Kernel-Rechten ausgeführt werden kann. Weshalb Microsoft die Schwachstelle auch als "USB Mass Storage Elevation of Privilege Vulnerability" bezeichnet. Ausgelöst wird sie, wenn Windows bei der Prüfung, um was für ein USB-Gerät es sich handelt, auf einen präparierten USB Configuration Descriptor stößt.

Das Bulletin und Update werden nur als "wichtig" eingestuft, weil die Schwachstelle nur von einem Angreifer mit Zugang zum Rechner ausgenutzt werden kann. Das kann sich aber schnell als Irrtum herausstellen: Andy Davis von der NCC Group hat auf der Black Hat Asia 2014 gezeigt, dass sich USB-Schwachstellen unter Umständen auf Windows-Systemen auch aus der Ferne ausnutzen lassen. Dazu müssen allerdings RDP und die RemoteFX USB Redirection eingeschaltet sein. Ein am RDP-Client angeschlossenes bösartiges USB-Gerät greift dann statt des Clients den RDP-Server an.

Andy Davis war auch der Entdecker dieser Schwachstelle, und er stuft das Risiko in seinem Advisory als hoch ein.

Nur mal als Vergleich: Bei der von Stuxnet ausgenutzten LNK-Schwachstelle war es nötig, dass der Benutzer einen präparierten Ordner auf dem USB-Massenspeicher öffnete. Bei dieser Schwachstelle reicht es aus, dass der USB-Massenspeicher an den Rechner angeschlossen wird. Der Benutzer muss nicht auf den Massenspeicher zugreifen. Ein Krimineller kann also einen präparierten USB-Stick in einem unbeobachteten Moment in einen Rechner stecken und den darüber kompromittieren. Was sicher sehr oft möglich ist. Überlegen Sie mal, wie oft Sie unbeobachtet oder sogar allein in einem Raum mit einem fremden Rechner sind - bei der Bank, bei Behörden, beim Arzt, ... .

Auch in der nächsten Folge geht es weiter um USB-Schwachstellen.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : USB-Sicherheit 2015: Ein 0-Day-Exploit für Windows - auf USB-Sticks

Vorschau anzeigen
Die letzte Schwachstelle, die ich im Rahmen dieser kleinen Serie zu Schwachstellen in und Angriffen auf bzw. über USB vorstellen möchte, habe ich bereits hier im Blog behandelt. Es geht um die "Mount Manager Elevation of Privilege Vulnera