Ist dem Blauzahn noch zu trauen?

Ein Fachartikel zur Vertrauensstellung von Bluetooth-Geräten von Expert IT Security Consultant Matthias Deeg und Senior IT Security Consultant Gerhard Klostermeier

Schon vor 200 Jahren war Kommunikation ein entscheidender Faktor. Das wusste auch der dänische Wikingerkönig Harald I. „Blauzahn“ Gormsson, dem es so gelang, ganze Völker zu vereinen. Zu spätem Ruhm kam er dann in den 1990er-Jahren, als man das Funkverfahren „Bluetooth“ nach ihm benannte. Mit Bluetooth wurde das Mobiltelefon lästige Kabel los. Heute kommunizieren zahllose Geräte drahtlos miteinander: Tastaturen, Mäuse und Kopfhörer verbinden sich ganz bequem und wie von Geisterhand. Einst entwickelt für Privatanwender, hält das Funkprotokoll aber auch zunehmend Einzug in Unternehmen, etwa in der Gebäudesteuerung oder der Fabrikautomation. Die Vernetzung mit Bluetooth verspricht viel: Zuverlässig soll sie sein (Ausfall einer Komponente beeinträchtigt Gesamtnetz kaum), skalierbar (mehrere Tausend Geräte im Verbund) und sicher (hohes Schutzniveau gegen Angriffe von außen). Ist der moderne Blauzahn also wirklich bequem und sicher?

Bluetooth-Sicherheit: Grundlagen

Bluetooth ist eine drahtlose Funktechnologie und dient dem Austausch von Daten über kurze Entfernungen. Das Bluetooth-Sicherheitsmodell beinhaltet fünf Elemente:

  1. Kopplung („Pairing“): Prozess der erstmaligen Verbindungsaufnahme zur Erzeugung eines oder mehrerer gemeinsamen/r Sicherheitsschlüssel/s
  2. Bindung („Bonding“): Vorgang der Speicherung der erzeugten Schlüssel, um ein vertrauenswürdiges Gerätepaar für nachfolgende Verbindungen zu bilden
  3. Geräteauthentifizierung („Device Authentication“): Überprüfung, dass die beiden Geräte dieselben Schlüssel nutzen
  4. Verschlüsselung („Encryption“): Sicherstellung der Nachrichtenvertraulichkeit
  5. Integrität („Intregrity“): Schutz vor Nachrichtenfälschungen

Um miteinander kommunizieren zu können, müssen die Geräte ein „Geheimnis“ teilen. Dieses Geheimnis (ein kryptografischer Schlüssel) wird im Zuge des Kopplungsprozesses generiert. Jedes gekoppelte („bonded“) Bluetooth-Gerät speichert lokal einen oder mehrere gemeinsame Sicherheitsschlüssel ab, um so zukünftige vertrauensvolle Verbindungen aufbauen zu können. Außer dem kryptografischen Schlüsselmaterial speichert jedes gekoppelte Gerät  noch die Bluetooth-Adresse (BD_ADDR) derjenigen Geräte, mit denen das Geheimnis geteilt wird.

Der Angriff

Während eines Forschungsprojekts stellte die SySS GmbH zwei interessante Punkte fest, die zusammengenommen Angriffe auf das Vertrauensverhältnis bei Bluetooth-Verbindungen ermöglichen:

  1. Das kryptografische Schlüsselmaterial von gekoppelten Bluetooth-Geräten lässt sich von einem Angreifer mit physischem Zugang extrahieren.
  2. Die meisten „Bluetooth Stacks“ moderner Betriebssysteme  (Protokolle in hierarchischer Ordnung, die mobile Funkverbindungen ermöglichen) – verbinden die speziellen Eigenschaften eines gekoppelten Bluetooth-Geräts und dessen Verbindungsinformationen nicht miteinander.

Bei einem Test mit Bluetooth-Tastaturen stellte sich heraus, dass die meisten Bluetooth Stacks nicht bemerken, wenn sich die Eigenschaften gekoppelter Geräte ändern. Mit einer selbst entwickelten Software („Bluetooth Keyboard Emulator“) ließ sich z. B. der Name, die Hersteller-ID oder die Seriennummer eines Geräts beliebig anpassen. Nur die Bluetooth-Adresse und der Link Key mussten dabei identisch bleiben.

Noch interessanter: Manche Bluetooth Stacks reagierten nicht einmal auf eine Veränderung der Geräteklasse oder von Funktionen. Was nun aber, wenn ein einmalig gekoppeltes und als vertrauensvoll akzeptiertes Gerät zu einem ganz anderen wird?

Folgendes Szenario für einen Hacker-Angriff lässt sich aus dem oben Dargestellten skizzieren:

  1. Ein Anwender kauft Bluetooth-Kopfhörer und koppelt sie mit Computer oder Smartphone.
  2. Der Angreifer bekommt physischen Zugang zu den Kopfhörern (Verlust, Entsorgung, Verkauf, Diebstahl).
  3. Der Angreifer liest die Verbindungsinformationen der Kopfhörer aus. Mit speziellen Adaptern lässt sich der SPI Serial Flash-Chip, der Bluetooth-Geräteadresse und Link Key speichert, extrahieren (In-Circuit Reading).
  4. Der Angreifer nutzt diese Daten, um eine gültige Verbindung zum Computer oder Smartphone des Anwenders mit einem emulierten Gerät herzustellen.
  5. Abhängig vom Bluetooth-Stack des Opfergeräts kann das emulierte Gerät sich als ein völlig anderes ausgeben, z. B. als Tastatur. Dies ermöglicht es dem Angreifer, bösartige Handlungen auf dem Opfergerät durchzuführen, um z. B. Zugang zu sensiblen Daten zu erlangen.

Der Test

Ein handelsüblicher Bluetooth-Kopfhörer – gekoppelt an verschiedene Clientsysteme mit unterschiedlichen Betriebssystemen (Android, iOS, Mac OS X) - diente als Testgerät für den geschilderten Aufbau. Der Angriff mit dem emulierten Bluetooth-Gerät war in drei von fünf Testfällen erfolgreich. Eine Verbindung mit der „nachgebildeten“ Bluetooth-Tastatur, die den extrahierten kryptografischen Schlüssel der Kopfhörer verwendete, wurde vom Client akzeptiert. Die Vertrauensstellung zum ursprünglichen Kopfhörer blieb – obwohl nun zur Tastatur gewandelt – ohne Probleme bestehen. Tasteneingaben des "Tastatur-Kofphörers" funktionierten tadellos und könnten von Angreifern entsprechend ausgenutzt werden.

Das Testergebnis zeigt deutlich: Auch Bluetooth-Geräte wie z. B. Kopfhörer, die auf den ersten Blick wenig schützenswert erscheinen, lassen sich für Angriffe auf „interessantere“ Bluetooth-Geräte – z. B. ein dienstliches Smartphone – einsetzen. Daher sollte die einmal etablierte Vertrauensstellung zwischen Bluetooth-Geräten regelmäßig auf den Prüfstand gestellt werden, damit der „harmlose“ Kopfhörer am Ende nicht doch zur "bösen" Tastatur wird.

Die ausführliche Darstellung dieses Forschungsprojekts finden Sie in unserem SySS-Fachartikel "Rikki don’t lose that Bluetooth device. Exploiting the Obvious: Bluetooth Trust Relationships".

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de | IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Direkter Kontakt

+49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN

+49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer