Die Mercedes me App verschlüsselt Produktions-OAuth-Credentials mit XOR. Das ist kein Verschlüsselungsalgorithmus — es ist eine bitweise Operation, die in den 1960er-Jahren populär war. Wir haben sie an einem Nachmittag reversed.
XOR (Exclusive OR) ist eine bitweise Operation: plaintext ⊕ key = ciphertext. Das Problem: ciphertext ⊕ key = plaintext. Wenn der Schlüssel im selben Binary liegt wie der Ciphertext, ist die „Verschlüsselung“ wertlos.
Genau das ist bei der Mercedes me App der Fall: Schlüssel und verschlüsselte Daten liegen im selben APK-Binary. Jeder, der die App aus dem Google Play Store herunterädt, hat beides.
| Credential | Umgebung | Risiko |
|---|---|---|
| OAuth Client Secret | Produktion | Critical |
| API Gateway Token | Produktion | Critical |
| Vehicle API Credentials | Produktion | Critical |
Credential-Werte sind in diesem Bericht redaktiert. Die Methodik und betroffenen Kategorien werden offengelegt.
Vergleich mit echter Verschlüsselung:
| Eigenschaft | XOR | AES-256 |
|---|---|---|
| Schlüssellänge | Variabel, oft kurz | 256 Bit |
| Bekannte-Klartext-Angriff | Trivial | Nicht praktikabel |
| Schlüssel im Binary | Sofort extrahierbar | Erfordert HSM/TEE |
| Industriestandard | Nein (seit 1970er) | Ja (NIST, BSI) |
Statische Analyse der öffentlich verfügbaren APK. Der XOR-Schlüssel wurde durch Pattern-Analyse im dekompilierten Bytecode identifiziert. Kein Systemzugriff. ISO 29147.