Die Nutzung der USB-Schnittstellen ist weit verbreitet und bedenkenlos werden Speichermedien (USB-Sticks oder USB-Festplatten), Kameras, Smartphones, Drucker und andere Peripheriegeräte an Computer angeschlossen. Zunehmend wird die USB Schnittstelle auch zum Aufladen von Geräten genutzt, die eigentlich keine Funktion in Zusammenhang mit dem Computer erfüllen.
Sogenannte BadUSB Devices müssen kaum Sicherheitshürden überwinden und auch keine 0-day Exploits einsetzen. Sie können die vielfältigen technischen Features neu kombinieren, um unschöne Dinge anzustellen. USB-Geräte (z.B. USB-Sticks von Fremden) können neben der sichtbaren Funktion (z.B. als Speichermedium) weitere verdeckte Funktionen enthalten, die man nicht bemerkt. Sie können sich heimlich als USB-Tastatur ausgeben und Kommandos senden oder sich als Netzwerkkarten ausgeben und den Datenverkehr umleiten.
- Auf der Blackhat 2014 haben K. Nohl und J. Lell von SRLabs im Vortrag BadUSB - On Accessories that Turn Evil gezeigt, wie der Internettraffic für bestimmte Webseiten umgeleitet wird, ohne das der User etwas merkt. Wenn man es einmal ausprobieren möchte, kann man sich das Script BadAndroid-v0.1.zip von SRLabs herunterladen. Das Archiv enthält eine README und ein Script, welches man auf ein gerootetes Android Smartphone kopiert und dort startet. Dann schließt man das Smartphone an einen Computer an (Windows oder Linux) und…
-
Im Nov. 2016 hat Samy Kamkar mit PoisonTap ein weiteres BadUSB Device vorgestellt. Wenn der Angreifer physischen Zugang zu einem Computer oder Laptop mit aktiviertem Passwortschutz hat (z.B. Bildschirmschoner) und auf dem Rechner noch ein Browser geöffnet ist, dann kann PoisonTab mit kleinen Tricks die Online Accounts (E-Mail, Twitter, Facebook...) des Targets übernehmen, die mit diesem Browser genutzt wurden. Der Angreifer muss nur PoisonTab am USB Port anschließen und ein bisschen warten.
Ein besonderes Risiko sind USB-Sticks oder USB-Festplatten, die man bedenkenlos an unterschiedlichen Computern in verschiedenen Netzen nutzt.
- Ein Beispiel aus der Praxis: Vor einigen Jahren war ich für ein paar Monate als IT-Administrator für eine Firma tätig. Dort habe ich einmal eine Woche lang jeden Tag den gleichen Virus gejagt. Am Abend war das Firmennetzwerk sauber, am nächsten Morgen war der Virus wieder da. Eine Sekretärin hatte am Abend Dokumente mit nach Hause genommen und am Morgen mit dem verseuchten USB-Stick den Virus von ihrem schlampig gewarteten Computer zuhause wieder ins Firmennetzwerk eingeschleppt.
- Einige spektakuläre Beispiele aus den Medien zeigen, dass es im Cyberwar üblich ist, Malware auf USB-Stick in schwer zugängliche Netzwerke zu transportieren. Dabei kann der USB-Stick extra präpariert werden oder man greift den schlecht gesicherten Rechner eines "Targets" zuhause an und hofft, dass der Trojaner vom "Wirt" mit einem USB-Stick in das gesicherte Netzwerk getragen wird.
- 2008 wurde ein niedlicher USB-Stick auf einer US-Militärbasis in Nahost platziert. Eine Knallcharge steckte den Stick in den Computer und infizierte das gesamte Kommunikationssystem des US-Militärs (klassifizierte und nichtklassifizierte Netzwerke) mit dem russischen Trojaner "agent.bz". Es dauerte 14 Monate und kostete mehrere Mio. Dollar, die Netzwerke zu säubern.
- "Stuxnet" wurde von einem Mossad-Agenten mit einem USB-Stick in die Uranaufbereitungsanlagen im Iran gebracht.
- "Regin" ist ein hochentwickelter Spionage-Trojaner der NSA. Dieser Trojaner konnte 2014 ins Bundeskanzleramt gelangen und dann dort seine Aufgaben ausführen, weil eine Mitarbeiterin dienstliche Dokumente zuhause auf dem infizierten PC bearbeitete und mit dem USB-Stick ins Bundeskanzleramt brachte.
Bei
Firewire (IEEE 1394) und
Thunderbolt Schnittstellen ist das Risiko noch größer. Im Gegensatz zu USB wird bei diesen Schnittstellen keine Master-Slave Kommunikation genutzt. Über Firewire und Thunderbolt haben angeschlossene Geräte via DMA (Direct Memory Access) vollen Zugriff auf den Hauptspeicher des PC und können z.B. eine Kopie auslesen.
- 2008 wurde demonstriert, wie man den Windows Login mit einem Firewire Gerät umgehen kann. Microsoft sah keinen Handlungsbedarf, da die Funktionalität der Firewire Spezifikation entspricht. Es ist also kein Bug sondern ein Feature.
- Gegen Aples I/O-Technik Thunderbolt gab es von Anfang an Sicherheitsbedenken. Dokumente von HBGary belegen, dass US-Behörden schon 2011 ein Framework nutzen, um Trojaner via Thunderbolt auf PCs und Laptops zu installieren.
- Die Datenverschlüsselung kann umgangen werden (für alle Produkte), da der Key aus dem Hauptspeicher ausgelesen werden kann. Geheimdienste nutzen passende Tools routiniert, wenn sie physischen Zugriff auf den Zielrechner haben.
Hinweise zur Verbesserung der Sicherheit
- Ein USB-Stick, der an einen unbekannten Computer angeschlossen wurde, oder ein USB-Stick von Dritten ist immer als potentiell verseucht zu betrachten. Man kann das Risiko verringern, wenn man eine Live-DVD nutzt.
- Um Daten von USB-Sticks zu bearbeiten oder Fotos von der Digicam auf einer USB-Festplatte zu archivieren, kann man eine Live-DVD nutzen.
- Insbesondere sollte man eine Live-DVD nutzen, wenn man Daten aus der Firma zuhause bearbeiten und wieder mit in die Firma nehmen will.
- Zum Aufladen von Geräten kann man USB-Ladegeräte nutzen. Man muss nicht alles, was wie ein USB-Stecker aussieht, in den Computer einführen. Das BSI warnt sogar davor, E-Zigaretten via USB-Anschluss am Computer aufzuladen und rät ebenfalls zu einem USB-Ladegerät.
- USBGuard für Linux reglementiert die Nutzung von USB-Geräten. Es dürfen nur USB-Geräte genutzt werden, die in einer Whiteliste freigegeben wurden. Alle anderen USB-Spielzeuge werden blockiert. USBGuard ist in aktuellen Linux Distributionen wie Debian 9.0 (stretch) und Ubuntu ab 16.10 enthalten.
- Es gibt zahlreiche Freeware Tools, um USB-Schnittstellen unter Windows zu sperren. (z.B. den USB-Blocker von securityXploded.com)
- Wenn man Firewire nicht nutzt, sollte man die Firewire Schnittstellen deaktivieren.
- Für Windows stellt MS einen Support Artikel bereit: Blockieren des SBP-2-Treibers und der Thunderbolt-Controller, um Bedrohungen für BitLocker zu reduzieren.
-
Unter Linux kann man prüfen, ob das System Firewire Schnittstellen beim Booten findet:
> lspci | grep -i Firewire
Wenn der Rechner Firewire Schnittstellen hat, dann kann man die Kernelmodule für diese Schnittstellen sperren. Man speichert eine Datei "firewire.conf" mit folgendem Inhalt im Verzeichnis "/etc/modprobe.d/" :
blacklist firewire-ohci
blacklist firewire-sbp2
Danach führt man folgende Kommandos aus:
> sudo depmod -ae
> sudo update-initramfs -u