Reverse Engineering: Sicherheitsforscher öffnen Threema-Blackbox

Wie funktioniert der verschlüsselte Messenger Threema? Diese Frage ließ sich bislang mangels Quelltext nicht beantworten. Die Sicherheitsforscher Roland Schilling and Frieder Steinmetz haben das Protokoll des Messengers per Reverse Engineering analysiert und ihre Ergebnisse auf der Sicherheitskonferenz Chaos Communication Congress in Hamburg präsentiert(öffnet im neuen Fenster) .
.jpg)
Vor der Präsentation der eigentlichen Ergebnisse gab es eine auch für Einsteiger nachvollziehbare Erklärung der Grundlagen von verschlüsseltem Nachrichtenaustausch. Denn mit ihrer Forschung wollen die beiden nicht unbedingt kritische Sicherheitslücke finden, sondern vor allem zum Verständnis sicherer Kommunikation beitragen.
Verschlüsselung mit Salt
Threema nutzt die Crypto-Bibliothek NaCl (gesprochen Salt, Networking and Cryptography library), die von Daniel J. Bernstein (DJB), Tanja Lange und Peter Schwabe entwickelt wurde. Die Bibliothek nutzt ECDH (Elliptic Curve Diffie-Hellman) für den Schlüsselaustausch und Salsa20 zur Verschlüsselung der Nachrichten. Außerdem wird mit Poly1305 ein Message Authentication Code (Mac) erzeugt.
Die einzelnen Botschaften enthalten einen kurzen Header mit Informationen über Sender und Empfänger, der Message ID, der Zeit und dem öffentlichen Threema-Nickname und eine Nonce. Diese Informationen sind naturgemäß nicht verschlüsselt. Danach folgt der Ciphertext, der um ein Padding ergänzt wird. Damit bekommen auch kurze Nachrichten wie Tipp-Benachrichtigungen eine einmalige Länge und können nicht einfach erkannt werden.
Nachrichten mit Bildern oder Audiodateien sind grundsätzlich ähnlich aufgebaut. Dabei werden die eigentlichen Bilder auf einem Medienserver von Threema verschlüsselt gespeichert. Der Empfänger bekommt dann eine Nachricht mit der Blob-ID der verschlüsselten Nachricht und dem Private Key.
Die beiden Sicherheitsforscher haben eine Re-Implementierung der Threema-Api programmiert und auf Github gestellt(öffnet im neuen Fenster) . Der bislang undokumentierte Code soll vor allem zur näheren Beschäftigung mit dem Thema anregen, könnte aber auch zur Entwicklung von Threema-Bots genutzt werden. Nach wie vor hoffen die Sicherheitsforscher, dass Threema selbst den Quellcode und nicht nur ein Security Whitepaper [ PDF(öffnet im neuen Fenster) ] eines Tages veröffentlicht.



