Zum Hauptinhalt springen

Testmethodik

Eine strukturierte Testmethodik ist essentiell für reproduzierbare und vollständige Sicherheitsanalysen.

Framework-Grundlagen

Diese Methodik basiert auf etablierten Standards:

StandardOrganisationFokus
OWASP ISTG v1.0OWASPIoT Security Testing
NIST SP 800-213NISTIoT Device Security
BSI TR-03148BSISmart Home Security
ETSI EN 303 645ETSIConsumer IoT Security

Der 5-Phasen-Prozess

Phase 1: Passive Reconnaissance

Ziel: Informationen sammeln ohne aktive Interaktion mit dem Gerät.

Aktivitäten

AktivitätToolDauerOutput
BLE Scanningblatann, hcitool10 minGeräteliste, MAC, RSSI
Advertising-AnalyseWireshark, Python30 minAD Types, Manufacturer Data
Traffic CapturenRF Sniffer1-2 hPCAP mit App-Traffic
Umgebungsanalyse-15 minAndere BLE-Geräte

Scan-Checkliste

## Phase 1 Checkliste

### Geräteinformationen
- [ ] MAC-Adresse notiert
- [ ] Gerätename (Local Name) erfasst
- [ ] TX Power Level
- [ ] Advertising-Intervall gemessen
- [ ] Advertising-Typ identifiziert

### Advertising-Daten
- [ ] Service UUIDs extrahiert
- [ ] Manufacturer Data analysiert
- [ ] Flags dokumentiert
- [ ] Sensible Daten im Advertising? (Privacy-Leak)

### Traffic Capture
- [ ] App-Start aufgezeichnet
- [ ] Verbindungsaufbau erfasst
- [ ] Alle App-Funktionen durchgespielt
- [ ] Disconnect aufgezeichnet

Erwartete Ergebnisse

Nach Phase 1 solltest du haben:

  1. Geräte-Steckbrief mit allen Advertising-Informationen
  2. PCAP-Datei mit vollständiger Kommunikation
  3. Erste Schwachstellen-Hypothesen (z.B. Privacy-Leaks)

Phase 2: Aktive Analyse

Ziel: Direkte Interaktion mit dem Gerät zur GATT-Analyse.

Aktivitäten

AktivitätToolDauerOutput
GATT Enumerationblatann, gatttool30 minService/Char-Liste
Characteristic Testingblatann1-2 hFunktionsanalyse
Security Level Testinggatttool30 minZugriffsmatrix
Fuzzing (optional)Custom Scripts2-4 hCrash-Reports

GATT Enumeration Workflow

Security Level Matrix

Teste jeden Security Level für jede Characteristic:

CharacteristicLevel 1Level 2Level 3Ergebnis
0x0012 (Cmd)Keine Auth!
0x0015 (Data)Keine Auth!
0x001b (Notify)Keine Auth!

Phase 3: App-Analyse

Ziel: Protokoll und Verschlüsselung aus der Companion-App extrahieren.

Aktivitäten

AktivitätToolDauerOutput
APK ExtractionADB15 minAPK-Datei
DecompilationJADX30 minJava-Quellcode
UUID Extractiongrep, JADX30 minUUID-Liste
Crypto AnalysisJADX, Ghidra2-4 hKeys, Algorithmen
Native AnalysisGhidra2-6 hNative Keys

APK-Analyse Workflow

Suchmuster für JADX

// UUIDs finden
"0000fff0"
"UUID.fromString"
"getService"
"getCharacteristic"

// Verschlüsselung finden
"encrypt"
"decrypt"
"AES"
"key"
"SecretKey"
"Cipher"

// Native Libraries
"System.loadLibrary"
"native"

Phase 4: Exploitation

Ziel: Schwachstellen mit Proof-of-Concept validieren.

Aktivitäten

AktivitätToolDauerOutput
PoC DevelopmentPython/blatann2-4 hFunktionierender PoC
Replay Attack TestWireshark + blatann1 hReplay-Validierung
Auth Bypass Testblatann1 hBypass-Validierung
Key ValidationPyCryptodome1 hEntschlüsselung

PoC-Struktur

#!/usr/bin/env python3
"""
PoC für [Vulnerability Name]
Target: [Gerätename]
CVE: [falls vorhanden]

DISCLAIMER: Nur für autorisierte Tests!
"""

import sys
from blatann import BleDevice

# === KONFIGURATION ===
TARGET_MAC = "AA:BB:CC:DD:EE:FF"
SERVICE_UUID = "0000fff0-..."
CHAR_UUID = "0000fff3-..."

# === EXTRAHIERTE KEYS ===
ENCRYPTION_KEY = bytes.fromhex("...")

def exploit():
"""Hauptfunktion des Exploits"""
# 1. Verbinden
# 2. Service finden
# 3. Payload senden
# 4. Ergebnis verifizieren
pass

if __name__ == "__main__":
exploit()

Validierungskriterien

Ein PoC ist erfolgreich wenn:

  • Gerät reagiert wie erwartet
  • Verhalten identisch zur Original-App
  • Reproduzierbar (mindestens 3x getestet)
  • Minimal (keine unnötigen Features)
  • Dokumentiert

Phase 5: Reporting

Ziel: Professionelle Dokumentation und verantwortungsvolle Offenlegung.

Aktivitäten

AktivitätToolDauerOutput
Vulnerability AssessmentCVSS Calculator30 minSeverity Ratings
Report WritingLaTeX/Markdown2-4 hAssessment Report
PoC Documentation-1 hCode + Anleitung
Responsible DisclosureE-MailongoingVendor-Kommunikation

Report-Struktur

1. Executive Summary
- Kritische Findings
- Gesamtrisiko
- Empfehlungen

2. Scope & Methodology
- Getestete Geräte/Apps
- Verwendete Tools
- Testumgebung

3. Findings
- V-001: [Name]
- CVSS Score
- Beschreibung
- Impact
- PoC Reference
- Remediation

4. Attack Scenarios
- Realistische Angriffsszenarien

5. Recommendations
- Priorisierte Maßnahmen

6. Appendix
- PoC Code
- Raw Data
- Screenshots

OWASP ISTG Mapping

ISTG CategoryUnsere PhaseTests
ISTG-FW-*Phase 3Firmware/App-Analyse
ISTG-DES-*Phase 1, 2Design-Schwächen
ISTG-WRLS-AUTH*Phase 2, 4Authentifizierung
ISTG-WRLS-CRYPT*Phase 3, 4Verschlüsselung
ISTG-WRLS-SCRT*Phase 3Hardcoded Secrets
ISTG-WRLS-INPV*Phase 4Input Validation

Zeitplanung

Minimal (schnelle Einschätzung)

PhaseAktivitätenZeit
Phase 1Scan + Quick Capture2 h
Phase 2GATT Enumeration1 h
Phase 3JADX Quick Look2 h
Phase 4Einfacher PoC3 h
Phase 5Kurzer Report2 h
Gesamt10 h

Standard (vollständige Analyse)

PhaseAktivitätenZeit
Phase 1Vollständige Reconnaissance4 h
Phase 2Alle Characteristics3 h
Phase 3JADX + Ghidra6 h
Phase 4Vollständiger PoC5 h
Phase 5Ausführlicher Report4 h
Gesamt22 h

Umfassend (Deep Dive)

PhaseAktivitätenZeit
Phase 1+ Langzeit-Monitoring8 h
Phase 2+ Fuzzing6 h
Phase 3+ Frida Dynamic Analysis10 h
Phase 4+ Multiple Attack Vectors8 h
Phase 5+ Präsentation6 h
Gesamt38 h

Checkliste pro Gerät

## BLE Security Assessment Checkliste

### Gerät: [Name]
### Datum: [YYYY-MM-DD]
### Analyst: [Name]

### Phase 1: Passive Reconnaissance
- [ ] BLE Scan durchgeführt
- [ ] Advertising-Daten dokumentiert
- [ ] Traffic Capture erstellt
- [ ] Privacy-Leaks geprüft

### Phase 2: Aktive Analyse
- [ ] GATT vollständig enumeriert
- [ ] Alle Characteristics getestet
- [ ] Security Levels geprüft
- [ ] Pairing-Verhalten dokumentiert

### Phase 3: App-Analyse
- [ ] APK extrahiert
- [ ] Code dekompiliert
- [ ] UUIDs extrahiert
- [ ] Verschlüsselung analysiert
- [ ] Native Libraries untersucht

### Phase 4: Exploitation
- [ ] PoC entwickelt
- [ ] Replay-Angriffe getestet
- [ ] Auth-Bypass versucht
- [ ] Alle Findings validiert

### Phase 5: Reporting
- [ ] CVSS Scores berechnet
- [ ] Report geschrieben
- [ ] PoC dokumentiert
- [ ] Disclosure geplant

Nächster Schritt

Beginne mit dem Hardware-Setup.