zurück zum Artikel

SSL-Zertifikate und "der gefährlichste Code der Welt"

Viele Programme, die Verschlüsselung nutzen, sind unsicher: Forscher der Universität von Texas und Austin und der Standford Universität fanden in vielen E-Commerce Web-Applikationen, bekannten Messaging-Diensten wie Trillian oder AIM und reihenweise in Cloud-Diensten unwirksame Verschlüsselung vor. Sie machen dafür vor allem die verwendeten Bibliotheken verantwortlich.

Secure Socket Layer – kurz SSL – ist der Defacto-Standard für sichere, verschlüsselte Internet-Verbindungen. Für dessen Sicherheit ist es jedoch von entscheidender Bedeutung, dass ein Programm die Identität der Gegenstelle, konkret also deren Zertifikat, überprüft. Und genau hier sehen die Forscher das Problem: "Die Überprüfung von Zertifikaten ist in vielen wichtigen Programmen und Bibliotheken komplett kaputt", lautet das Fazit ihrer Untersuchung The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software [1].

In Anwendungen, die nicht für Browser geschrieben werden, wird SSL in der Regel mit Hilfe von SSL-Bibliotheken wie JSSE, OpenSSL, und GnuTLS umgesetzt; manchmal kommen auch Transport-Bibliotheken wie cURL zum Einsatz. Doch die Schnittstellen dieser Bibliotheken sind schlecht designt und präsentieren eine verwirrende Vielzahl von Optionen und Einstellungen, die viele Entwickler offenbar überfordern, erklären die Forscher das Problem.

Das Forscherteam hat konkrete Man-in-the-Middle-Angriffe durchgeführt und Applikationen dabei drei Typen von gefälschten Zertifikaten vorgesetzt: ein selbstsigniertes Zertifikat, das auf den richtigen Namen ausgestellt war, ein selbstsigniertes Zertifikat auf einen willkürlichen Namen und ein Zertifikat, das zwar von einem Herausgeber signiert war, aber auf die Domain AllYourSSLAreBelongto.us ausgestellt war – also kaum das gewünschte Ziel der Verbindung repräsentieren konnte. Für alle drei Varianten fanden sie vertrauenselige Opfer, die die Zertifikate klaglos akzeptierten.

Die Fehler fanden sich in nahezu allen Arten von Anwendungen von Messaging-Clients wie Trillian und AIM bis hin zu kritischen Geschäftsanwendungen, die etwa auf PayPal-Bibliotheken und Amazon Flexible Payments Service (FPS) aufsetzen und darüber sensible Kundendaten transportieren. Die Android-Banking-App der Chase-Bank zeigte sich ebenfalls anfällig, bei iOS pfuschte Rackspace, eine App zur Verwaltung von Cloud-Ressourcen. Erst kürzlich kam eine Studie unabhängig zu dem Schluss, dass die Verschlüsselung vieler Android-Apps mangelhaft [2] ist.

Damit sich die Situation bessert, genügt es nach Ansicht der Forscher nicht, die Schuld den Entwicklern der Programme zuzuschieben. Sie nehmen vor allem die Autoren der Bibliotheken in die Pflicht, die einfachere und konsistentere Schnittstellen mit High-Level-Interfaces bereitstellen müssen. Außerdem fehle es derzeit an vernünftigen Testmöglichkeiten für Programme, die SSL-Funktionen nutzen. (kbe [3])


URL dieses Artikels:
http://www.heise.de/-1736699

Links in diesem Artikel:
[1] http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf
[2] https://www.heise.de/meldung/Verschluesselung-bei-vielen-Android-Apps-mangelhaft-1732351.html
[3] mailto:kbe@heise.de