Verspätete Weihnachtsgeschenke gab es am Mittwoch auf dem 33. Chaos Communication Congress (33C3) in Hamburg. Die Hamburger Sicherheitsforscher Roland Schilling und Frieder Steinmetz haben die Android-App des Krypto-Messengerdiensts Threema einem "Reverse Engineering" unterzogen. Die in diesem Rahmen nachgebauten Komponenten hat das Duo nun auch als Softwarebibliothek auf Github veröffentlicht.

Es handle sich dabei um "akademischen Code" ohne Dokumentation, schränkte Schilling ein. Die im Rahmen von Arbeiten an der TU Hamburg-Harburg entstandene Sammlung sei aber "voll mit Threema kompatibel" und umfasse "fast alle Funktionen" der Ausgangsanwendung. Andere Hacker sollten trotzdem noch etwas warten, bevor sie mit dem Code produktiv arbeiteten. Ein paar Dinge müssten noch ausgebügelt werden, wobei externe Experten aber helfen könnten.

Forderung: Offenlegung des Threema-Codes

Schilling und Steinmetz haben den Messenger Threema einem "Reverse Engineering" unterzogen.

Letztlich verbindet das Team mit dem Schritt die Hoffnung, dass der Schweizer Anbieter den Quellcode selbst als Open Source herausgibt. "Sonst lässt sich nie echte Transparenz herstellen", kritisierte Schilling den Kurs der Threema-Entwickler. Bei proprietärem Code bestehe immer ein Restrisiko, dass Funktionen im ausgelieferten Produkt anders implementiert werden könnten als zuvor angedeutet.

Die ein oder andere offizielle Code-Prüfung hat Threema bereits überstanden. Die Schweizer IT-Sicherheitsfirma Cnlab kam zu dem Ergebnis, dass die Ende-zu-Ende-Verschlüsselung in den untersuchten Bereichen keine Schwächen aufweist. Steinmetz betonte, dass das Hamburger Duo die Sicherheit einzelner Funktionen wie etwa der für das Untertiteln ausgetauschter Bilder über den Einbau in die Exif-Kameradaten nicht untersucht hätten, sondern nur das Protokoll an sich. Schilling ergänzte, dass man auch keine Empfehlung für oder wider Threema ausspreche. Vielmehr gehe es um Anhaltspunkte, ob die Datenschutzerwartungen mit der Praxis der App übereinstimmten.

Bedingungen für authentisierte Verschlüsselung erfüllt

Der Messenger nutzt Steinmetz zufolge die "Salt" ausgesprochene Krypto-Bibliothek NaCl von Daniel J. Bernstein, die alle Bedingungen für eine authentisierte Verschlüsselung erfülle. Letztlich stelle die eingesetzte Lösung "Klarheit über Schlüssel und Authentizität her, wofür nur Nullen und Einsen ausgetauscht werden". Aufgebaut werde ein zweischichtiger Kanal beziehungsweise Tunnel für die Ende-zu-Ende abgesicherte Kommunikation, über das ein spezielles Paketformat ausgetauscht werde. Mit erweiterten zufällig generierten Bestandteilen versuche Threema auch, Verbindungs- und Standortdaten vor Angreifern zu verbergen.

Im Prinzip kämen drei Server zum Tragen, erläuterte Steinmetz. Ein Verzeichnisdienst stelle Kontakte her und biete eine spezielle Möglichkeit zu prüfen, ob das Gegenüber tatsächlich die Person ist, für die sie sich ausgibt. Für diesen ID-Prozess setzt Threema – wie mittlerweile auch WhatsApp – auf einen QR-Code, den man einmalig gegenseitig einscannt, wenn man einen Kommunikationspartner trifft. Von da an gilt der Kontakt als verifiziert. Neben dem eigentlichen Messaging-Server ist zudem ein Medien-Server eingebunden, auf dem Fotos oder Videos unter einer weiteren speziellen "Blob-ID" gespeichert und zugeordnet werden. Gruppenkonversationen funktionieren über ein ähnliches Prinzip unterschiedlicher Kennungen der Beteiligten.

Amazon Web Services als Hacker-Spielwiese

Parallel kündigte der Sicherheitstester Rich Jones nach einem Vortrag über Sicherheitslücken in den Amazons Web Services an, in Kürze einen "Infektionswerkzeugkasten" für den zugehörigen Lambda-Dienst auf Github bereitstellen zu wollen. Damit werde es möglich, die Cloud-Anwendung des US-Konzerns automatisiert in eine Spielwiese für Hacker umzuwandeln und darauf dauerhaft Malware zu installieren sowie Daten abzuziehen.

Mit Lambda lassen sich über Java, JavaScript mit Node.js und Python Funktionen installieren und ausführen. Lambda basiert dem Tüftler zufolge auf einer Linux-Installation, die nach einem "Standard Red Hat 6" aussehe. Die "Spaßkomponente" für Hacker beruhe dabei hauptsächlich auf einem fehlerhaft konfigurierten Identitäts- und Zugangsmanagement. Darüber ließen sich etwa temporäre Nutzer mit weitgehenden Berechtigungen anlegen. Mit ein wenig Ausprobieren und Wissen aus einer verletzten Schweigevereinbarung sei es gelungen, darauf gängige Hackerwerkzeuge wie nmap zu installieren.

Auch die besser abgesicherte "Virtual Private Cloud"-Lösung Amazons (VPC) sei zu knacken. Lambda habe Zugriff auf den Hosting-Dienst und darin eingebaute Schutzfunktionen, sodass diese im Prinzip ebenfalls zu überlisten seien. Der Umgang des Webdienstes mit gewissen Tags, Meta-Informationen sowie Upload- und Update-Funktionen erweise sich als hilfreich, um Schadcode auf lange Zeit unbemerkt einschleusen zu können. Mögliche Spuren ließen sich verwischen, da sich die einschlägige Speicherfunktion aushebeln lasse.

[Update 3.1.2017 10:57]:

Amazon legt Wert auf die Feststellung, dass Teile der beschriebenen Angriffe nur funktionierten, wenn AWS-Lambda-Kunden nicht den Security Best Practices für den Cloud-Dienst folgen. (akr)