Thunderspy

Version vom 28. Juli 2021, 18:04 Uhr von St202156 (Diskussion | Beiträge) (Woher kommt der Fehler?)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Thunderspy und andere DMA-artige Angriffe

Was ist Thunderspy?

Thunderspy ist ein Angriff auf die Firmware von Thunderbolt. Thunderbolt ist ein proprietäres Protokoll, entwickelt von Apple und Intel, zur Übertragung von Daten mit extrem kurzer Latenz und sehr hohem Durchsatz für Ein- und Ausgabegeräte oder Datenspeicher. Es basiert auf dem PCIe Protokoll und ist daher auch DMA kompatibel. Mithilfe des Thunderspy Angriffs kann ein externes Gerät via Thunderbolt auf Daten des PC zugreifen. Thunderspy ist dabei ein Angriff auf Seitenkanalebene. Das perfide an Thunderspy ist, dass es zwar physischen Zugang zum Gerät braucht, danach bleibt der Fehler aber unentdeckt. Dabei können bspw. Auch Daten aus dem RAM gelesen werden, um Festplattenpasswörter oder andere Programmdaten auszulesen. Gefunden wurde die Sicherheitslücke von Björn Ruytenberg von der TU Eindhoven, auf dessen Arbeiten sich dieser Artikel weitestgehend stützt. Seine Arbeit ist abrufbar unter https://thunderspy.io/.

Welche Sicherheitslücken gibt es?

In seiner Arbeit (thunderspy.io abgerufen am: 01.06.2021) stellt Björn Ruytenberg sieben verschiedene Sicherheitslücken fest: Unzureichende Firmware Verifikation: Zum einen nutzen Thundebolt-Hosts und Gerätecontroller aktualisierbare Firmwaren die in ihrem SPI (Serial Peripheral Interface) Flash gespeichert wird um Produktprobleme nach deren Freigabe zu beheben. Zu Überprüfung der Authentizität, wird die Signatur der Firmware mittels Intels öffentlichem Schlüssel verifiziert. Beim Bootvorgang, Anschließen des Thunderbolt-Geräts oder zu späteren Zeitpunkten, wird die Authentizität jedoch nicht überprüft, sodass es möglich ist unsignierte Firmware direkt auf den SPI Flash zu schreiben. Schwaches Geräteauthentifizierungsschema: Die für die Geräteauthentifizierung genutzten strings und numerischen IDs sind nicht kryptographisch noch anderweitig mit dem Thunderbolt PHY (Physisches Layer) verbunden. Nutzung nicht-authentifizierter Geräte-Metadaten: Thunderbolt-Controller speichern Geräte-Metadaten in einem Abschnitt der Firmware, namens Device ROM (DROM). Dieser wird nicht kryptografisch verifiziert und erlaubt somit in Kombination mit der mangelhaften Firmware-Authentifizierung der Erstellung falscher Thunderbolt-Geräteidentitäten. Abwärtskompatibilität: Durch die Abwärtskompatibilität von Thunderbolt 3 zu Thunderbolt 2 ist Thunderbolt 3 ebenfalls anfällig für Sicherheitsrisiken von Thunderbolt 2. Nutzung nicht-authentifizierter Controller-Konfigurationen: In UEFI (Unified Extensible Firmware Interface) können Benutzer eine andere Sicherheitsstufe als den Standardwert verwenden. Thunderbolt nutzt zwei verschiedene Zustandsautomaten. Einer wird für UEFI genutzt, der andere ist im Host. Die Authentizität der Firmware-Konfiguration wird nicht im Boot-Vorgang oder beim Fortfahren nach dem Schlafmodus verifiziert. Ebenfalls ist die Controller Firmware in der Lage den Status des UEFI Zustandsautomaten zu überschreiben. Dadurch wird der Thunderbolt Host Controller anfällig für nicht-authentifizierte Konfigurationen und Überschreibung. Mängel der SPI-Flash Schnittstelle: Thunderbolt Controller haben teils keine Fehlerbehandlung bei Hardware Fehlern im Umgang mit Flash-Geräten. Die Aktivierung des Flash-Schreibschutzes verhindert nicht Konfigurierung der Sicherheitsstufe in UEFI. Hardwarefehler können ebenso dazu führen, dass Firmware-Updates verhindert werden, ohne dass der Nutzer, dies über die Aktualisierung ausführende Anwendung bemerkt. MAC Systeme können die Boot Camp Software nutzen. Boot Camp wird genutzt um beispielsweise Windows neben einem MacOS auf einem Mac zu installieren. MAC UEFI schaltet Thunderbolt Security in diesem Fall aus und macht das System verwundbar für DMA (Direct Memory Access) Attacken.

Woher kommt der Fehler?

Heutzutage streben wir nach immer schnellerer Anbindung. Mehr Bandbreite, weniger Latenz. Dafür bedarf es neuer Protokolle. Eines dieser Protokolle ist Direct Memory Access (DMA). Direct Memory Access ermöglicht es, dass Geräte direkt auf den Datenspeicher zugreifen können, ohne auf Zwischenschritte angewiesen zu sein über PCH und CPU. Die Daten fließen direkt vom Datenspeicher zum Thunderboltgerät.

Abb1.png

Abbildung 1 Unterschied zwischen programmiertem IO und DMA IO - CC-BY 4.0 Björn Ruytenberg Genau diese Abkürzung des Weges, also dass das Endgerät direkt auf den Speicher zugreifen darf, macht sich Thunderspy zunutze. Durch geschickte Manipulation der Firmware wird es so möglich mit einem als USB 3 getarnten Thunderboltgerät direkt auf den Arbeitsspeicher der Maschine zuzugreifen und diesen so auszulesen.

Abb2.png

Abbildung 2 Darstellung des direkten Datenzugriffs von Thunderbolt zu RAM - CC-BY 4.0 Björn Ruytenberg Auf diesem Wege können von PC im gesperrten oder Standbyzustand noch Daten abgesaugt werden. Das DMA Protokoll kann nicht vom UEFI geprüft werden, sodass BIOS Passwörter es nicht stoppen können, ebenso können Secure Boot und Boot Guard maliziöse Thunderboltfirmware nicht erkennen und starten normal durch. Selbst die Festplattenverschlüsselung ist an der Stelle unnütz, da das Passwort dafür im RAM abgelegt wird (zumindest häufig) und daher auslesbar wird und wir darüber hinaus einfach den RAM nach Daten durchsuchen können, da dieser selbst mit Anwendungen, wie TRESOR, nur schwierig zu verschlüsseln geht.

Wie kann der Fehler ausgenutzt werden?

Es bestehen im Wesentlichen vier Kategorien von Attacken, die die beschriebenen Schwachpunkte adressieren: • Klonen der Identität eines autorisierten Thunderbolt 3 Gerätes zu einem beliebigen Gerät über das der Angreifer Kontrolle hat • Nicht-authentifiziertes Überschreiben der Security Level Konfiguration • Überschreiben der Security Level und blockieren zukünftiger Firmware Updates • Erwerben von DMA auf Apple MAC Systemen auf denen Windows und Linux installiert ist Im Wesentlichen werden für die Durchführung der Angriffe ein SPI Programmer um auf den SPI flash des Thunderbolt Controllers zuzugreifen, ein Thunderbolt 3 fähiges System des Angreifers, Skripte um die Thunderbolt 3 Controller Firmware zu patchen und ein das System des Opfers, welches mit einem Thunderbolt 3 Interface ausgestattet ist und gegebenenfalls bereits an ein autorisiertes Thunderbolt 3 Gerät angeschlossen ist. Gegebenenfalls ist noch Werkzeug vonnöten um Zugang zum SPI Flash von Thunderbolt Geräten zu bekommen. Die meisten Angriffe führen bei Erfolg zu DMA und sind daher schwerwiegende Sicherheitslücken.

Gegenmaßnahmen

Intel empfiehlt die Installation von Kernel DMA Protection (kDMAp), welche jedoch nur verfügbar ist für Systeme, die nach 2019 verkauft wurden. KDMAp begrenzt die Speicherregionen, auf welchen angeschlossene Thunderboltgeräte zugreifen können. Ruytenberg empfiehlt das Ausschalten von allen Thunderbolt Host Controllern in UEFI (BIOS). Das Security Level sollte auf Level 3 gesetzt werden um PCIe tunneling auszuschalten, sodass eine der Einstellungen DP-only, USB-only oder mixed USB/DisplayPort Modus aktiv ist. Zudem ist Nutzern geraten keine Windows oder Linux Distribution mittels Boot Camp auf einem Apple Mac System zu installieren.