Zum Hauptinhalt springen

Fallstudien

Diese Fallstudien dokumentieren reale Sicherheitsanalysen von BLE IoT-Geräten. Alle Analysen wurden an eigenen Geräten durchgeführt.

Übersicht

Zusammenfassung

GerätSchwachstelleCVSSImpact
LED BrilleHardcoded AES Key + Column-Major Transformation9.8 CriticalVollständige Gerätesteuerung ohne App
LED StripsXOR mit hardcodiertem Key9.8 CriticalJedes Gerät in Reichweite steuerbar
Smart WaageGewicht im Advertising unverschlüsselt5.3 MediumPrivacy-Verletzung (10m Radius)

Gemeinsame Probleme

Alle analysierten Geräte teilen ähnliche Schwachstellen:

1. Keine BLE-Level-Authentifizierung

✗ Kein Pairing erforderlich
✗ Keine Security Level auf Characteristics
✗ Jeder kann sich verbinden und schreiben

2. Schwache oder keine Verschlüsselung

Gerät"Verschlüsselung"Problem
LED BrilleAES-128 ECBKey hardcoded, ECB-Mode unsicher
LED StripsXORTrivial zu brechen, Key hardcoded
Smart WaageKeineKlartext im Advertising

3. Hardcoded Credentials

// LED Brille - aus libAES.so extrahiert
unsigned char key[16] = {0x34, 0x52, 0x2a, 0x5b, ...};

// LED Strips - aus EncryptUtil.java
private static byte[] key = {89, 76, 90, 75, 53, 49, ...};

Lessons Learned

Für Entwickler

ProblemLösung
Hardcoded KeysDevice-spezifische Keys aus Pairing ableiten
Schwache CryptoAES-GCM oder ChaCha20-Poly1305 verwenden
Keine AuthBLE Security Level 3+ erzwingen
Privacy LeaksKeine sensiblen Daten im Advertising

Für Sicherheitsforscher

  1. Immer die App dekompilieren - Keys sind oft dort versteckt
  2. Native Libraries nicht vergessen - Ghidra für .so-Dateien
  3. Advertising analysieren - Privacy-Leaks sind häufig
  4. Wireshark-Capture früh machen - Hilft beim Protokoll-Verständnis

Detaillierte Analysen

Wähle eine Fallstudie für die vollständige Dokumentation:

FallstudieBeschreibung
🕶️ LED BrilleAES-128 mit proprietärer Column-Major Transformation
💡 LED StripsXOR-basiertes Protokoll mit Counter
⚖️ Smart WaagePrivacy-Leak durch Manufacturer Data

Praxis

Die PoC-Scripts für alle Fallstudien findest du im Downloads-Bereich.