Verschlüsselung: GnuPG verschärft Integritäts-Checks
Als Folge der Efail-Probleme erzwingt GnuPG 2.2.8 jetzt die Verwendung von Prüfcodes. Außerdem beseitigt das Update ein neu entdecktes Sicherheitsproblem.
Der Verfasser einer verschlüsselten E-Mail kann den Namen der enthaltenen Dateien recht frei festlegen. GnuPG versäumte es, die ausreichend zu checken; so konnte ein Angreifer unter anderem Zeilenumbrüche und Steuerzeichen einbetten, die GnuPG dann mit seinen Statusmeldungen mit ausgab. Auf diesem Weg konnte ein Angreifer einem Programm etwa eine erfolgreiche Signaturprüfung vorgaukeln.
Diesen Fehler hatte Marcus Brinkmann entdeckt (CVE-2018-12020). Die soeben veröffentlichte Version GnuPG Version 2.2.8 macht damit Schluss. Das Kommandozeilen-Programm GnuPG wird von vielen Programmen für Krypto-Operationen mit PGP genutzt. Es ist sozusagen das Backend, das den OpenPGP-Standard etwa für E-Mail-Programme wie Thunderbird mit Enigmail umsetzt. Die Veröffentlichung von Efail dokumentierte, dass an dieser Schnittstelle viele Fehler auftreten, was bereits zu einer Reihe von Updates führte.
Bessere Integritätsprüfung
Als Konsequenz aus Efail verschärft GnuPG jetzt den Umgang mit den Modification Detection Codes (MDC). Die sollen sicherstellen, dass eine Nachricht unterwegs nicht verändert wurde. Allerdings erzeugte das Fehlen von MDCs bei früheren GnuPG-Versionen nur Warnungen, die viele Programme beziehungsweise Anwender ignorierten. Außerdem gab es, wenn alte Schlüssel zum Einsatz kamen, einen automatischen Fallback auf Verschlüsselung ohne MDC, was unter Umständen Downgrade-Angriffe ermöglicht.
Ab GnuPG 2.2.8 ist damit Schluss: "Entschlüsselung von Nachrichten ohne MDC führt nun zu einem harten Fehler" und "MDC wird jetzt immer genutzt" erklärt der Entwickler Werner Koch die Lehren aus Efail in seiner Ankündigung der neuen GnuPG-Version. Für Endanwender kann das bedeuten, dass sie zukünftig öfter mal eine Fehlermeldung etwa beim Öffnen einer verschlüsselten Mail bekommen, die sie bisher problemlos lesen konnten. Das muss dann kein Angriff sein; es kann zum Beispiel passieren, wenn alte Schlüssel im Spiel sind. (ju)