Abo
  • IT-Karriere:

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. Streit Service & Solution GmbH & Co. KG, Hausach bei Villingen-Schwenningen
  2. INNEO Solutions GmbH, Leipzig

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.



Anzeige
Hardware-Angebote
  1. 299,00€
  2. (u. a. Ryzen 5-2600X für 184,90€ oder Sapphire Radeon RX 570 Pulse für 149,00€)
  3. 399€ (Wert der Spiele rund 212€)

devman 14. Jun 2018

Immer wieder schön sowas zu lesen. Es ist was, was man nicht selbst so eben mal...


Folgen Sie uns
       


Speedport Pro - Test

Der Speedport Pro ist gerade im WLAN verglichen mit dem älteren Speedport Hybrid eine Verbesserung. Allerdings zeigt sich in unserem Test auch, dass die maximale Datenrate nicht steigt. Eher das Gegenteil ist der Fall.

Speedport Pro - Test Video aufrufen
Bug Bounty Hunter: Mit Hacker 101-Tutorials zum Millionär
Bug Bounty Hunter
Mit "Hacker 101"-Tutorials zum Millionär

Santiago Lopez hat sich als Junge selbst das Hacken beigebracht und spürt Sicherheitslücken in der Software von Unternehmen auf. Gerade hat er damit seine erste Million verdient. Im Interview mit Golem.de erzählt er von seinem Alltag.
Ein Interview von Maja Hoock

  1. White Hat Hacking In unter zwei Stunden in Universitätsnetzwerke gelangen

Strom-Boje Mittelrhein: Schwimmende Kraftwerke liefern Strom aus dem Rhein
Strom-Boje Mittelrhein
Schwimmende Kraftwerke liefern Strom aus dem Rhein

Ein Unternehmen aus Bingen will die Strömung des Rheins nutzen, um elektrischen Strom zu gewinnen. Es installiert 16 schwimmende Kraftwerke in der Nähe des bekannten Loreley-Felsens.

  1. Speicherung von Überschussstrom Wasserstoff soll bei Engpässen helfen
  2. Energiewende DLR-Forscher bauen Kohlekraftwerke zu Stromspeichern um
  3. Erneuerbare Energien Wellenkraft als Konzentrat

Kontist, N26, Holvi: Neue Banking-Apps machen gute Angebote für Freelancer
Kontist, N26, Holvi
Neue Banking-Apps machen gute Angebote für Freelancer

Ein mobiles und dazu noch kostenloses Geschäftskonto für Freiberufler versprechen Startups wie Kontist, N26 oder Holvi. Doch sind die Newcomer eine Alternative zu den Freelancer-Konten der großen Filialbanken? Ja, sind sie - mit einer kleinen Einschränkung.
Von Björn König


      •  /