Original-URL des Artikels: https://www.golem.de/news/sigspoof-signaturen-faelschen-mit-gnupg-1806-134940.html    Veröffentlicht: 13.06.2018 19:49    Kurz-URL: https://glm.io/134940

SigSpoof

Signaturen fälschen mit GnuPG

In bestimmten Situationen lässt sich die Signaturprüfung von GnuPG in den Plugins für Thunderbird und Apple Mail austricksen. Der Grund: Über ungefilterte Ausgaben lassen sich Statusmeldungen des Kommandozeilentools fälschen. Doch der Angriff funktioniert nur unter sehr speziellen Bedingungen.

Eine Sicherheitslücke im Zusammenspiel von GnuPG und bestimmten Mailplugins erlaubt es unter bestimmten Umständen, die Signaturprüfung auszutricksen. Der Grund: Auf GnuPG aufbauende Tools und Mailplugins parsen die Ausgabe des Kommandozeilentools - und in die lassen sich unter Umständen gültig aussehende Statusnachrichten einschleusen. Entdeckt wurde die SigSpoof getaufte Lücke von Marcus Brinkmann, dem Entwickler des GnuPG-Forks NeoPG, und Kai Michaelis.

Der Hintergrund des Ganzen ist eine eher ungewöhnliche Designentscheidung bei GnuPG. Die gesamte Funktionalität wird nicht über eine API bereitgestellt, sondern ausschließlich über ein Kommandozeilentool. Wenn externe Programme wie beispielsweise Plugins für Mailclients GnuPG nutzen, rufen sie das Kommandozeilentool mit einem entsprechenden Parameter auf, der zur Ausgabe von Statusmessages führt. Diese sind erkennbar durch einen vorangestellten String "[GNUPG:]".

Ungefilterte Dateinamen erlauben Einfügen von Statusmessages

Neben diesen maschinenlesbaren Statusmessages gibt GnuPG für den Nutzer lesbare Statusmitteilungen aus, die an einem vorangestellten "gpg:" erkennbar sind. Und hier gibt es eine Möglichkeit, maschinenlesbare Statusmessages einzufügen. Im OpenPGP-Datenformat lässt sich ein Dateiname angeben, der von GnuPG unter bestimmten Umständen ungefiltert ausgegeben wurde und auch Zeilenumbrüche enthalten kann.

Damit ist es möglich, einen Dateinamen zu konstruieren, der eine gültige Statusmessage enthält. Ein Angreifer kann nun eine Nachricht erzeugen, die verschlüsselt ist und keine Signatur enthält. Als Dateinamen enthält sie jedoch Statusnachrichten, die eine Signatur suggerieren.

Damit der Angriff funktioniert, müssen jedoch zwei Voraussetzungen erfüllt sein: Beim Parameter für die Statusnachrichten wird ein Dateidescriptor übergeben. Nur wenn hier "2" (der Standard-Dateidescriptor für die Fehlerausgabe) angegeben wird, werden die zwei Arten von Statusnachrichten vermischt. Außerdem wird der Dateiname nur ausgegeben, wenn GnuPG im "Verbose"-Modus läuft.

Ersteres ist bei den beiden populärsten GnuPG-basierten Mailplugins - Enigmail für Thunderbird und GPGTools für Apple Mail - der Fall. Ob die "Verbose"-Nachrichten ausgegeben werden hängt von der lokalen Konfiguration von GnuPG ab. Standardmäßig ist das nicht der Fall, allerdings finden sich im Netz einige Anleitungen und Beispielkonfigurationen, die das Aktivieren dieser Option empfehlen.

In Enigmail auch Angriffe über User-IDs möglich

Eine weitere, ähnlich gelagerte Lücke betrifft ausschließlich Enigmail. Hier lassen sich mittels User-IDs aus Public Keys Statusmessages generieren. Wenn ein Angreifer sein Opfer dazu bringen kann, einen bestimmten manipulierten Schlüssel zu importieren, kann er damit ebenso Nachrichten erzeugen, die so aussehen, als hätten sie eine gültige Signatur von einem beliebigen Schlüssel.

Nutzer von GnuPG und darauf basierenden Verschlüsselungslösungen sollten entsprechende Updates schnell einspielen. Für GnuPG selbst wurde bereits letzte Woche die Version 2.2.8 veröffentlicht, welche die Ausgabe von mehrzeiligen Dateinamen verhindert. In Enigmail wurden die Bugs in Version 2.0.7 behoben, für das Apple-Mail-Plugin GPGTools schließt ein Update auf Version 2018.3 die Lücke.

Nachtrag vom 14. Juni 2018, 9:47 Uhr

Wir haben nachträglich im letzten Absatz aktuelle Informationen zum GPGTools-Update hinzugefügt.  (hab)


Verwandte Artikel:
PGP/SMIME: Die wichtigsten Fakten zu Efail   
(22.05.2018, https://glm.io/134493 )
PGP/SMIME: Thunderbird-Update notwendig, um E-Fail zu verhindern   
(19.05.2018, https://glm.io/134472 )
eFail: Was tun ohne E-Mail-Sicherheit?   
(15.05.2018, https://glm.io/134386 )
PGP/SMIME: Angreifer können sich entschlüsselte E-Mails schicken lassen   
(14.05.2018, https://glm.io/134370 )
Project Capillary: Google verschlüsselt Pushbenachrichtigungen Ende-zu-Ende   
(07.06.2018, https://glm.io/134808 )

© 1997–2020 Golem.de, https://www.golem.de/