Bluetooth Low Energy - Pairing, GATT und mehr

Bluetooth Low Energy

Pairing, GATT und mehr

Eleanore Young
von Eleanore Young
am 18. Mai 2017
Lesezeit: 6 Minuten

In unserem letzten Artikel zu Bluetooth beobachteten wir, wie sich Bluetooth Low Energy Geräte gegenüber anderen Geräten melden. Wir fanden heraus, dass diese Nachrichten (sog. Advertising Data) zum Teil Gerätenamen, Herstellernamen und Informationen über die vom Gerät angebotenen Dienste enthalten. Wir erwähnten jedoch zusätzlich, dass zu einer grossen Zahl an Bluetooth Low Energy Geräten Verbindungen ohne vorheriges Pairing aufgebaut werden können. Um die Signifikanz dieser Aussage zu erläutern, müssen wir erst die Hintergründe des Pairings und die Möglichkeiten eines Verbindungsaufbaus erkunden.

Pairing

Das Pairing bezeichnet einen Prozess, der zwischen zwei Geräten ein gegenseitiges Vertrauensverhältnis aufbaut. Verbindungen zu Bluetooth Geräten ohne vorheriges Pairing aufzubauen ist gewöhnlich nicht möglich. Der Bluetooth Pairing Prozess erfordert üblicherweise, dass die zwei Teilnehmerinnen des Pairings eine Nummer vergleichen, die auf beiden Geräten dieselbe sein muss. Das Ziel ist hierbei, dass die Nutzerinnen den Pairingvorgang bestätigen, ehe er stattfinden kann. Diese Nummer is heutzutage meist eine sechsstellige Zufallszahl, aber es ist Herstellern auch möglich, z.B. stets eine 0000 zu verwenden.

Im Hintergrund führen beide Bluetooth Geräte einen kryptographischen Austausch durch, der einen verschlüsselten Kommunikationskanal ermöglicht. Nach dem Pairing ist der Inhalt der Übertragung grundsätzlich nicht mehr sichtbar für andere, es sei denn, der Pairingprozess wurde aufgenommen. Für mehr Information über Bluetooth Pairing, empfehle ich Memo über Pairing Sicherheit, publiziert vom Bluetooth Konsortium.

Da der Bluetooth Pairingvorgang kryptographische Algorithmen erfordert und da diese meist per Definition Rechenaufwendig sind, sind viele Bluetooth Low Energy Geräte nicht leistungsfähig genug, um Verschlüsselung durchzuführen. Aus diesem Grund findet Kommunikation zwischen Bluetooth Low Energy Geräten oft im Klartext statt, und Verbindungen sind in vielen Fällen ohne Pairing möglich.

Connecting und GATT

Nach dem Verbindungsaufbau mit einem Bluetooth Low Energy Gerät, stellt dieses eine Auswahl von Generic Attribute Profile Services (GATT) zur Verfügung. Jeder Service ist durch eine eineindeutige Nummer (UUID) gekennzeichnet und umfasst mehrere GATT Characteristics. Jedes Characteristic ist wiederum durch eine UUID, mehrere Flags wie z.B. read oder write und durch ein Datenwert (Byte Array) definiert. Das Bluetooth Konsortium spezifiziert selbst eine grosse Zahl an Services und Characteristics, aber es ist Herstellern auch möglich, eigene zu definieren. Sowohl das Bluetooth Konsortium wie auch die BlueZ Repository dokumentieren bekannte Services und Characteristics. Ein Beispiel stellt der Device Information Service dar, der durch das Bluetooth Konsortium definiert wurde und insgesamt 8 Characteristics umfasst. Der Service ist ohne Sicherhheitseinschränkungen erreichbar (read-only):

Am konkreten Beispiel eines iPhone, enthält der Device Information Service nur zwei Characteristics; Manufacturer Name String und Model Number String. So erkennen wir, dass es von Apple Inc. erstellt wurde und das Model iPhone8,1 bezeichnet (die Nummern beziehen sich höchstwahrscheinlich auf die iOS Version).

Wir erkennen jedoch, dass der Service viel weniger Characteristics enthält, als erwartet. Dies ist zentral, denn Hersteller können sich entscheiden, weniger Informationen preiszugeben, auch wenn die Definition des Services mehr vorsieht. Aber hey, sie können sich auch entscheiden, alle Informationen zu liefern; wie wir im Falle eines Zebra Technologies Drucker sehen: Wir erhalten hier sowohl den Modellbezeichner ZD410, die volle (!) Seriennummer des Geräts, die Firmwareversion V77.19.17Z, die Hardwareversion ZD41022-D0EM00EZ, die Softwareversion 3.2 und sogar eine Plug-and-Play ID. Diese Informationen können für spätere strategische Angriffe auf diese Geräte entscheidende Vorteile schaffen. Und aufgrund der Schreibberechtigung auf einige Characteristics ist es sogar denkbar, dass über die GATT Hierarchie das Verhalten von Geräten beeinflusst werden kann.

Analyse mit BTLE Sniffer Software

Wie vergleichen sich diese Erkenntnisse mit Geräten um uns? Der Sniffer aus dem letzten Artikel über Bluetooth wurde angepasst, um sich nun mit entdeckten Geräten zu verbinden und deren GATT Hierarchie aufzunehmen. Leider kann der Sniffer zur Zeit die Werte von GATT Attributes nicht korrekt aufnehmen; dies wird aber in absehbarer Zeit noch hinzugefügt. Issues und Pull Requests sind sehr willkommen!

Der Sniffer wurde verwendet, um Bluetooth Low Energy Devices während einer Viertelstunde an einem stark frequentierten Ort aufzunehmen. Aus insgesamt 356 entdeckten Geräten hatten 157 davon öffentliche Gerätenamen und 187 Geräte boten insgesamt 31 einzigartige Dienste an (12 davon bekannt).

Während viele der Bluetooth Low Energy Geräte einer unklaren Infrastrukturfunktion zuzuweisen waren, fanden wir nur wenige Smartphones, dafür sehr viele IoT Geräte; insbesondere Smart Watches und Fitness Monitors. Geräte, die häufig über deren Namen identifiziert werden konnten waren: Alta, Fitbit, Garmin, und Microsoft Smart Watches, Bose und Jabra Kopfhörer, wie auch Estimote iBeacon Geräte, Apple TV und Apple Pencil. Einige Geräte waren mutmasslich nach ihren Besitzern benannt. Die meisten Geräte boten im Schnitt drei Services an. Der Device Information service war hierbei auf fast allen Geräten vorhanden. Einige besonders auffällige Services waren: B&O Play A/S, Heart Rate, Anhu Huami Information Technology Co., Bose Corporation, GoPro, Inc., und Kontakt Micro-Location Sp. z o.o..

Mit der Ausnahme des Heart Rate Services, waren alle der vorhergenannten Dienste von Herstellern definiert. Aufgrund der Tatsache, dass diese Dienste fast nie dokumentiert sind, bleibt es offen zur Spekulation, welche Funktion diese Dienste wohl einnehmen. Wenn wir jedoch sehen, was wir beim Zebra Technologies Drucker herausfinden konnten, ist es naheliegend, dass auch in solchen Diensten Interessantes verborgen liegt. Vielleicht ist es sogar möglich, die Gerätefunktionen zu beeinflussen.

Über die Autorin

Eleanore Young

Eleanore Young hat ihren Master in Elektrotechnik und Informationstechnologie im Jahr 2014 an der ETH Zürich abgeschlossen. Zu ihren Fachgebieten gehören Rechnerarchitekturen, Betriebssysteme sowie angewandte Forschung.

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Crypto-Malware

Crypto-Malware

Ahmet Hrnjadovic

TIBER-EU Framework

TIBER-EU Framework

Dominik Altermatt

Vertrauen und KI

Vertrauen und KI

Marisa Tschopp

Datenverschlüsselung in der Cloud

Datenverschlüsselung in der Cloud

Tomaso Vasella

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