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.

Artikel veröffentlicht am , Hanno Böck
Nach Efail die nächste Sicherheitslücke in GnuPG - diesmal lassen sich Signaturen fälschen.
Nach Efail die nächste Sicherheitslücke in GnuPG - diesmal lassen sich Signaturen fälschen. (Bild: Markus Brinkmann)

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.

Stellenmarkt
  1. Service Administrator IT-Support (m/w/d)
    BUCS IT GmbH, Wuppertal
  2. Data Scientist (m/w/d)
    Zühlke Engineering GmbH, Hannover, Frankfurt am Main, Hamburg, München, Stuttgart
Detailsuche

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.

Golem Akademie
  1. Microsoft 365 Security Workshop
    27.-29. Oktober 2021, online
  2. CEH Certified Ethical Hacker v11
    8.-12. November 2021, online
  3. Linux-Systeme absichern und härten
    8.-10. November 2021, online
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Kooperation
Amazon Kreditkarte mit Landesbank Berlin wird eingestellt

Während der ADAC seine Kunden bereits informiert hat, schweigt Amazon Deutschland noch zum Ende der Kooperation mit der Landesbank Berlin.

Kooperation: Amazon Kreditkarte mit Landesbank Berlin wird eingestellt
Artikel
  1. Linux: Vom einfachen Speicherfehler zur Systemübernahme
    Linux
    Vom einfachen Speicherfehler zur Systemübernahme

    Ein häufig vorkommender Fehler in C-Code hat einen Google-Entwickler motiviert, über Gegenmaßnahmen nachzudenken.

  2. Social-Media-Plattform: Paypal will Pinterest kaufen
    Social-Media-Plattform
    Paypal will Pinterest kaufen

    Der Zahlungsabwickler Paypal soll bereit sein, 45 Milliarden US-Dollar für den Betreiber digitaler Pinnwände zu bezahlen.

  3. Pixel 6 (Pro): Googles Tensor-SoC ist eine wilde Mischung
    Pixel 6 (Pro)
    Googles Tensor-SoC ist eine wilde Mischung

    Viel Samsung, wenig Google: Der Chip kombiniert extreme Computational Photography mit einem kuriosen Design zugunsten der Akkulaufzeit.
    Eine Analyse von Marc Sauter

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week Finale: Bis 33% auf Digitus-Monitorhalterungen & bis 36 Prozent auf EVGA-Netzteile • Samsung-Monitore (u. a. 24" FHD 144Hz 169€) • Bosch Professional zu Bestpreisen • Sandisk Ultra 3D 500GB 47,99€ • Google Pixel 6 vorbestellbar ab 649€ + Bose Headphones als Geschenk [Werbung]
    •  /