Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03635.jsonl.gz/1615

Programmiersprache Go
Ralph Meier
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.
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.
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.
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.
Unsere Spezialisten kontaktieren Sie gern!
Ralph Meier
Rocco Gagliardi
Ahmet Hrnjadovic
Mark Zeman
Unsere Spezialisten kontaktieren Sie gern!
Weitere Artikel im Archiv