Lauschen verboten

Prof. Mira Mezini macht mit ihrer Forschung die Web-Kommunikation sicherer

22.09.2016 von

Wenn zwei Menschen oder Software-Anwendungen im Web miteinander kommunizieren, liest ­manchmal ein Dritter heimlich mit. Kryptographische Verfahren könnten dies verhindern, aber Software-Entwickler tun sich mit der ­Umsetzung schwer. Deshalb wollen TU-Forscher die Verschlüsselung automatisieren.

Prof. Dr.-Ing. Mira Mezini. Bild: Katrin Binner

Andrea möchte ihrem Freund Stefan eine Nachricht schicken. Damit niemand mitliest, vereinbart sie mit Stefan mittels Kommunikation über das Netz einen geheimen Code, den nur er und sie entschlüsseln können. Falls die Nachricht in falsche Hände gerät, besteht sie ohne den Schlüssel nur aus einer unsinnigen Zeichenfolge. Was Andrea und Stefan allerdings nicht ahnen: Ein Spion hat sich dazwischen geschaltet.

Der Code, auf den sich Andrea und Stefan geeinigt hatten, stammt in Wirklichkeit von diesem Spion. Er hat ihn den beiden Gesprächspartnern geschickt, indem er ihnen vorgaukelte, der jeweils andere zu sein. So kann er alle Nachrichten mitlesen und Andrea zum Beispiel um ein wichtiges Passwort bitten. Die fühlt sich sicher, weil sie denkt, sie schickt es ihrem Freund.

So ungefähr kann man sich eine Man-in-the-Middle-Attacke vorstellen, bei der ein Angreifer die Kommunikation im Internet manipuliert. Der Schlüssel oder Code, um den es geht, ist in der Informationstechnik Teil eines sogenannten kryptographischen Verfahrens. Es soll Daten schützen, die innerhalb einer Anwendung oder zwischen verschiedenen Anwendungen hin und her geschickt werden. Meist laufen Verschlüsselungsverfahren im Hintergrund ab, ohne dass wir sie als Nutzer bemerken. Wenn wir zum Beispiel einen Online-Shop besuchen, handeln unser Browser und der Online-Shop automatisch einen einzigartigen Schlüssel aus, mit dem die Daten, etwa die Bestellung oder Bankverbindung, mathematisch verfremdet werden. Ein Dritter könnte ohne Schlüssel nichts mit ihnen anfangen.

Schutz sensibler Daten

Kryptographie begegnet uns ständig: Bei der Nutzung von Apps, beim Versenden von E-Mails, bei der Kommunikation über Messenger-Dienste oder bei der internen Kommunikation in Unternehmen – immer dann, wenn sensible Daten im Spiel sind. Verschlüsselungsverfahren gewähren eine gewisse Sicherheit unter bestimmten Annahmen hinsichtlich der Fähigkeiten der potentiellen Angreifer, aber nur, falls die Entwickler der Verschlüsselungsverfahren diese korrekt implementiert und die Entwickler der Anwendungen diese korrekt in ihren Code integriert haben.

Und da liegen einige nicht vernachlässigbare Probleme: Die Einrichtung der Verfahren ist umständlich, und App- und Software-Entwickler sind keine Kryptographie-Experten. Sie machen Fehler. Allein in den Jahren 2013 bis 2015 sind 1769 Sicherheitsschwachstellen, die in der „National Vulnerability Database“, der nationalen Schwachstellen-Datenbank der USA, registriert wurden, auf solche Fehler zurückzuführen – damit waren in diesem Zeitraum Probleme mit der Integration von Verschlüsselungsverfahren in Anwendungen die vierthäufigste Quelle von registrierten Schwachstellen.

Das ist nicht verwunderlich, wenn man Studien betrachtet, die in den letzten Jahren während der wichtigsten wissenschaftlichen Konferenzen im Bereich der Cybersicherheit veröffentlicht wurden. Diese zeigen nämlich, dass die Integration eine wichtige Schwachstelle ist, insbesondere auch, weil die Nutzung kryptographischer Bibliotheken Wissen über zu viele Details erfordert, das Anwendungsprogrammierer oft nicht besitzen.

Die Entwickler müssen etwa dafür sorgen, dass einzelne Schritte eines Verschlüsselungsverfahrens in einer bestimmten Reihenfolge ausgeführt werden. Dafür gibt es, je nachdem, was geschützt werden soll, konkrete Empfehlungen. Entwickler haben aber oft nicht die Zeit, sich mit entsprechenden Handbüchern zu beschäftigen.

Eine weitere Fehlerquelle sind die sogenannten digitalen Zertifikate, welche die Gültigkeit eines Schlüssels bestätigen. Manchmal schalten Entwickler das Validierungsverfahren für die Zertifikate ihrer Software aus, um sie schneller testen zu können und vergessen anschließend, es wieder einzuschalten. „Beide Fehler geschehen häufig, auch bei seriösen Anbietern, und das sind nur zwei Beispiele unter vielen“, sagt Mira Mezini, Leiterin des Fachgebietes Softwaretechnik an der TU Darmstadt. Angreifer haben stets den Vorteil, dass sie nur eine Sicherheitslücke finden müssen, um Daten abzugreifen, während die Entwickler vor der gewaltigen Aufgabe stehen, alle denkbaren Lücken zu schließen.

Lesen Sie weiter in der hoch³FORSCHEN 3-2016: