Sicherheits-Checkliste

Vollständige Prüfliste für BLE-Sicherheitsanalysen

Lernziel

Nach dieser Seite kannst du ein BLE-Gerät systematisch anhand einer strukturierten Checkliste bewerten. Du weißt, welche Sicherheitsaspekte in jeder Kategorie geprüft werden müssen, welches Werkzeug du für jeden Prüfpunkt einsetzt und was ein Befund in der Praxis bedeutet.

Wofür brauche ich eine Checkliste?

Stell dir vor, du bist Pilot und bereitest eine Maschine zum Start vor. Du verlässt dich nicht auf dein Gedächtnis — du arbeitest eine Checkliste ab. Punkt für Punkt, ohne Abkürzungen. Fehlt ein Schritt, bleibt das Flugzeug am Boden.

Im Security-Assessment ist die Checkliste genauso wichtig. Ohne sie vergisst du im Eifer der Analyse leicht einen ganzen Prüfbereich — etwa ob das Gerät eine Bonded-Device-Whitelist verwendet, oder ob MAC-Adress-Randomisierung aktiv ist. Diese Checkliste deckt alle sicherheitsrelevanten Prüfpunkte eines BLE-Assessments ab und orientiert sich an den OWASP IoT Top 10 und ETSI EN 303 645 (dem europäischen Standard für Consumer-IoT-Sicherheit).

Risikostufen

Jeder Prüfpunkt hat eine Risikostufe: Kritisch bedeutet, dass ein Angreifer das Gerät oder die Daten vollständig kompromittieren kann. Hoch bedeutet erheblicher Schaden, aber mit Einschränkungen. Mittel bedeutet begrenzter Schaden oder erschwerter Angriff. Niedrig bedeutet geringes Risiko, aber dennoch dokumentierungswürdig.

Kategorie 1: Authentifizierung

Authentifizierung ist die Frage: Muss sich ein Gerät ausweisen, bevor es Befehle senden darf? Ein BLE-Gerät ohne Authentifizierung akzeptiert Befehle von jedem in Funkreichweite — so wie eine Haustür ohne Schloss.

Prüfmethode: Wireshark mit aktivem SMP-Filter (btsmp) und JADX für App-Layer-Prüfung.

Authentifizierung

0/4

Was bedeuten die Befunde?

Kein BLE-Pairing bedeutet: Jeder BLE-Client in Reichweite kann sich verbinden und Befehle senden. Das ist der häufigste und kritischste Befund bei Budget-IoT-Geräten — wie beim Smart-LED-Strip in dieser Analyse.

Kein MITM-Schutz (Just-Works-Pairing mit TK=0) bedeutet: Ein passiver Sniffer kann den Pairing-Handshake aufzeichnen und den Long-Term-Key offline berechnen.

Häufiger Befund: Kein Pairing

Viele billige Smart-Home-Geräte verzichten vollständig auf BLE-Pairing. In Wireshark erkennst du das daran, dass nach dem Verbindungsaufbau keinerlei SMP-Pakete erscheinen. Dokumentiere diesen Befund explizit — er entspricht OWASP IoT I1 (Weak, Guessable, or Hardcoded Passwords) und erhält typisch einen CVSS-Score von 8.1 (HIGH).

Kategorie 2: Verschlüsselung

Verschlüsselung ist die Frage: Kann jemand, der den Funkverkehr mithört, die Daten lesen? Es gibt zwei Ebenen: die Link-Layer-Verschlüsselung (automatisch durch BLE-Pairing) und die App-Layer-Verschlüsselung (manuell implementiert in der App).

Prüfmethode: Wireshark für Link-Layer, Shannon-Entropie-Analyse und JADX/Ghidra für App-Layer.

Verschlüsselung

0/4

Was bedeuten die Befunde?

App-Layer-Verschlüsselung mit AES-ECB (wie bei der LED-Brille) schützt vor zufälligem Replay, aber nicht vor einem Angreifer mit Schlüsselkenntnis. AES-ECB ohne Nonce bedeutet außerdem: Gleicher Klartext ergibt immer gleichen Geheimtext — strukturelle Muster bleiben sichtbar.

Hardcodierte Schlüssel sind der kritischste Befund: Sie können mit JADX oder Ghidra aus der APK extrahiert werden, ohne Root-Zugriff und ohne physischen Gerätekontakt. Ein einmal kompromittierter Schlüssel gefährdet alle weltweit verkauften Geräte dieses Modells.

Shannon-Entropie als Screening-Werkzeug

Bevor du JADX oder Ghidra bemühst, kannst du mit dem EntropyCalculator im Referenzteil eine schnelle Einschätzung vornehmen: Entropy unter 6 bits/byte = wahrscheinlich Klartext. Entropy über 7,5 bits/byte = wahrscheinlich verschlüsselt oder komprimiert. Wichtig: Dieser Test ist bei kurzen Payloads (unter 32 Bytes) statistisch nicht belastbar — nutze ihn nur als ersten Hinweis, nicht als Beweis.

Kategorie 3: Integrität und Replay-Schutz

Integrität ist die Frage: Kann ein Angreifer aufgezeichnete Befehle einfach wiederholen? Ohne Replay-Schutz genügt es, einen gültigen Befehl einmal zu sehen — und ihn beliebig oft wieder abzuschicken.

Prüfmethode: Aufgezeichnete PCAP-Pakete via blatann erneut senden und Gerätereaktion beobachten.

Integrität und Replay-Schutz

0/4

Was bedeuten die Befunde?

Fehlt der Replay-Schutz, kann ein Angreifer beliebige Befehle mit einem einzigen vorherigen Mitschnitt ausführen. Beim Smart-LED-Strip konnte jeder der 69 aufgezeichneten Klartextbefehle direkt wiederholt werden — ohne Schlüssel, ohne Protokollkenntnis.

Replay trotz Verschlüsselung

Auch ein verschlüsseltes System kann anfällig für Replay-Angriffe sein, wenn es keinen Nonce oder Sequenzzähler verwendet. AES-ECB ohne Nonce ist ein Paradebeispiel: Der Angreifer muss den Klartext gar nicht kennen — er schickt einfach das aufgezeichnete verschlüsselte Paket erneut. Das Gerät entschlüsselt es und führt den Befehl aus.

Kategorie 4: Schlüsselmaterial und Datenschutz

Diese Kategorie prüft, wie mit kryptographischen Schlüsseln umgegangen wird — von der Erzeugung bis zur Speicherung.

Prüfmethode: JADX für Java-Schlüsselverwaltung, Ghidra für native Bibliotheken, Android Keystore API prüfen.

Schlüsselmaterial und Datenschutz

0/6

Was bedeuten die Befunde?

Hardcodierte Schlüssel in nativen Bibliotheken (.so-Dateien) sind die schwerwiegendste Schwachstelle in dieser Analyse. Sie betreffen alle je verkauften Geräte des Modells — ein globaler Schlüssel für Millionen von Geräten.

Sensible Daten in Advertising-Paketen sind besonders problematisch bei Health-Geräten: Körpergewicht und Impedanz der Lebenlang-Waage liegen für jeden passiven Empfänger in 30 Metern Umgebung lesbar vor — ohne Verbindungsaufbau, ohne Pairing, ohne jede Interaktion.

Android Keystore als Best Practice

Ordnungsgemäße Apps speichern BLE-Sitzungsschlüssel im Android Keystore oder nutzen ein Hardware-Sicherheitsmodul (HSM). In JADX erkennst du das an KeyStore.getInstance("AndroidKeyStore") und KeyGenerator.getInstance("AES", "AndroidKeyStore"). Fehlen diese Aufrufe und findest stattdessen new SecretKeySpec(hardcodedBytes, "AES"), ist das ein klares Warnsignal.

Kategorie 5: Compliance und Offenlegung

Diese Kategorie prüft nicht die technische Sicherheit des Geräts, sondern den organisatorischen Umgang damit.

Compliance und Offenlegung

0/6

90-Tage-Frist für Responsible Disclosure

Der de-facto-Standard für Responsible Disclosure (koordinierte Schwachstellenoffenlegung nach ISO/IEC 29147) sieht eine private Meldung an den Hersteller mit einer Frist von 90 Tagen vor. Danach ist eine koordinierte öffentliche Offenlegung zulässig. Reagiert der Hersteller nicht oder ist kein Security-Kontakt auffindbar, kann das CERT-Bund (BSI) bei der Weiterleitung helfen.

Wie dokumentierst du deine Befunde?

Jeder Prüfpunkt, der ein Sicherheitsproblem aufdeckt, muss strukturiert dokumentiert werden. Ein guter Befundbericht enthält für jeden Fund:

Pflichtfelder pro Befund:

  • Befunds-ID: Eindeutige Kennung, z. B. VULN-2026-001
  • Titel: Kurze, präzise Beschreibung (max. 80 Zeichen)
  • Kategorie: Authentifizierung / Verschlüsselung / Integrität / Schlüsselmaterial / Compliance
  • CVSS-3.1-Vektor: Vollständiger Vektor und Score, z. B. AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N → 8.1 HIGH
  • Technische Beschreibung: Was wurde gefunden, wie wurde es gefunden (Werkzeug, Methode)
  • Reproduzierbarkeit: Schritte, um den Befund zu reproduzieren
  • OWASP-IoT-Mapping: Welchem I1–I10-Punkt entspricht der Befund
  • Gegenmaßnahme: Was der Hersteller tun sollte

Beispiel-Befund (LED-Strip):

VULN-2026-002: Fehlende BLE-Authentifizierung im Smart-LED-Strip

CVSS-3.1: AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N → 6.5 MEDIUM
          (Alternativ mit AC:H für Angreifer ohne Vorerfahrung: 4.2 MEDIUM)

Beschreibung:
Das Smart-LED-Strip akzeptiert GATT-Write-Requests von beliebigen
BLE-Clients ohne Pairing, Authentifizierung oder Autorisierungsprüfung.
In einer 45-sekündigen Wireshark-Session wurden 69 GATT-Write-Requests
(btatt.opcode == 0x12) erfasst — alle im Klartext, ohne SMP-Handshake.

Reproduktion:
1. blatann-Skript ausführen (Phase 5 PoC-Template)
2. Verbindung zur MAC-Adresse des Strips aufbauen
3. Farbbefehl senden: 7e 07 05 03 ff 00 00 10 ef
4. Strip reagiert — keine Authentifizierung erforderlich

OWASP IoT I1: Weak, Guessable, or Hardcoded Passwords

Gegenmaßnahme:
BLE-Pairing mit Passkey-Methode implementieren. GATT-Server so konfigurieren,
dass Write-Operationen nur für gebondete Geräte zulässig sind.

CVSS-Rechner für eigene Bewertungen

Im Referenzteil findest du einen interaktiven CVSS-3.1-Rechner. Gib den Vektor ein und erhalte sofort Score und Risikostufe. Für BLE-Schwachstellen ist der Ausgangspunkt meist AV:A (Adjacent), PR:N (keine Rechte erforderlich) und UI:N (keine Benutzerinteraktion).

Reale Befunde aus der Analyse: Kurzübersicht

Die drei untersuchten Geräte liefern konkrete Beispiele für jeden Prüfbereich:

LED-Brille (Sonhomay)

KategorieBefundCVSS
AuthentifizierungKein BLE-Pairing — direkte Verbindung ohne Credentials8.1 H
VerschlüsselungAES-ECB mit hardcodiertem 16-Byte-Schlüssel7.5 H
IntegritätKein Nonce, kein Sequenzzähler — Replay möglich nach Schlüsselextraktion6.5 M
SchlüsselmaterialSchlüssel in libencrypt.so, .rodata-Section, Ghidra-extrahierbarKRITISCH

Smart-LED-Strip

KategorieBefundCVSS
AuthentifizierungKein BLE-Pairing, keine App-Layer-Auth8.1 H
VerschlüsselungKeine — alle 69 Steuerbefehle im Klartext8.3 H
IntegritätDirekte Klartextwiederholung ohne jede Schranke6.5 M
SchlüsselmaterialKein Schlüssel vorhanden — globaler Klartext-AngriffKRITISCH

Körperwaage (Lebenlang)

KategorieBefundCVSS
AuthentifizierungKeine GATT-Verbindung erforderlich — passives Scannen genügt7.5 H
VerschlüsselungGesundheitsdaten unverschlüsselt im Advertisement-Kanal7.5 H
DatenschutzDSGVO Artikel 9: Körpergewicht + Impedanz für jeden lesbarKRITISCH
SchlüsselmaterialKein Schlüsselkonzept vorhanden

CVSS-Kontext für BLE

Für BLE-Schwachstellen ist der Attack Vector typischerweise Adjacent (AV:A) — der Angreifer muss sich physisch in Reichweite (ca. 20–30 m) befinden. Das senkt den CVSS-Score im Vergleich zu Netzwerkangriffen (AV:N), macht die Schwachstellen aber nicht weniger real: In Büros, Cafés oder öffentlichen Verkehrsmitteln ist BLE-Reichweite alltäglich.

Prüfreihenfolge: Effizient durch die Kategorien

Die Kategorien bauen auf den Phasenergebnissen auf. Diese Reihenfolge ist effizient:

  1. Authentifizierung zuerst (Phase 2-Ergebnis): Kein Pairing gefunden? Das ist sofort ein HIGH-Befund und beeinflusst alle weiteren Kategorien.
  2. Verschlüsselung (Phase 1 + 2): Link-Layer klar durch Wireshark, App-Layer durch JADX.
  3. Schlüsselmaterial (Phase 3): Ghidra-Analyse der nativen Bibliotheken — hier stecken die kritischsten Befunde.
  4. Integrität / Replay (Phase 5): Aktiver Test mit dem PoC aus Phase 5 — Befehle wiederholen und Reaktion beobachten.
  5. Compliance (nach Abschluss): Disclosure-Prozess einleiten, CVSS-Scores konsolidieren.

Befundbericht: Schnell-Übersicht

Trage deine Ergebnisse in diese Übersicht ein, um den Status eines Assessment-Ziels auf einen Blick zu sehen:

KategoriePrüfpunkteBestandenOffenKritisch
Authentifizierung4
Verschlüsselung4
Integrität / Replay4
Schlüsselmaterial6
Compliance6
Gesamt24

Kritische Befunde sofort melden

Jeder kritische Befund (CVSS 9.0+) sollte sofort gesondert dokumentiert und priorisiert behandelt werden — insbesondere wenn das betroffene Produkt aktiv im Markt ist und viele Nutzer betrifft. Warte nicht bis zum Abschlussbericht.

Zusammenfassung

  • Die Checkliste strukturiert ein BLE-Assessment in fünf Kategorien: Authentifizierung, Verschlüsselung, Integrität, Schlüsselmaterial und Compliance.
  • Jeder Prüfpunkt ist einem Werkzeug (Wireshark, JADX, Ghidra, blatann), einer Risikostufe und einer OWASP-IoT-Nummer zugeordnet.
  • Kein Pairing ist der häufigste Befund bei Budget-IoT-Geräten und erhält CVSS 8.1 (HIGH).
  • Hardcodierte Schlüssel in nativen Bibliotheken sind der kritischste Befund — sie kompromittieren alle Geräte eines Modells weltweit.
  • Sensible Daten in Advertising-Paketen sind besonders bei Health-Geräten ein DSGVO-relevanter Befund.
  • Die Compliance-Kategorie erinnert daran, dass Responsible Disclosure eine ethische Pflicht ist — nicht nur eine Best Practice.

Welcher Befund hat die höchste Auswirkung auf die Sicherheit aller weltweit verkauften Geräte eines Modells?