39C3: Diverse LĂĽcken in GnuPG und anderen kryptografischen Werkzeugen
Sicherheitsforscher haben diverse sicherheitsrelevante Fehler in GnuPG und ähnlichen Programmen gefunden. Viele der Lücken sind (noch) nicht behoben.
(Bild: Anna Gundler / heise medien)
Auf dem 39. Chaos Communication Congress haben die Sicherheitsforscher Lexi Groves, aka 49016, und Liam Wachter eine ganze Reihe von Sicherheitslücken in verschiedenen Werkzeugen zur Verschlüsselung und zur Signierung von Daten demonstriert. Insgesamt 14 Lücken in vier verschiedenen Programmen fanden die Forscher. Alle entdeckten Probleme sind Implementierungsfehler, betreffen also nicht die grundsätzliche Sicherheit der genutzten Verfahren, sondern die konkrete – und eben fehlerhafte – Umsetzung im jeweiligen Werkzeug.
Im Fokus des Vortrags stand die populäre PGP-Implementierung GnuPG, deren Code eigentlich als gut abgehangen gilt. Dennoch fanden die Sicherheitsforscher zahlreiche unterschiedliche Lücken, einschließlich typischer Fehler beim Verarbeiten von C-Strings durch eingeschleuste Null-Bytes. Dadurch ließen sich unter anderem Signaturen fälschlich als gültig anzeigen oder man konnte signierten Daten Texte voranstellen, die von der Signatur weder erfasst noch als Modifikation entlarvt werden.
Die in GnuPG gefundenen Probleme decken ein breites Ursachenspektrum ab: Angreifer könnten eindeutig fehlerhaften Code ausnutzen, irreführenden Output provozieren, der Nutzer zu fatalem Verhalten verleitet. Ferner konnten sie ANSI-Sequenzen einschleusen, die zwar von GnuPG korrekt verarbeitet werden, im Terminal des Opfers aber zu quasi beliebigen Ausgaben führen. Letzteres kann man ausnutzen, um Nutzern bösartige Anweisungen zu erteilen, die nur scheinbar von GnuPG stammen, oder legitime Sicherheitsabfragen von GnuPG mit harmlosen Rückfragen zu überschreiben, damit Nutzer unabsichtlich gefährliche Aktionen absegnen.
Einige der entdeckten Problemtypen fanden die Sicherheitsforscher auch in anderen Werkzeugen, wie der neueren PGP-Implementierung Sequoia-PGP oder dem Signatur-Werkzeug Minisign. Im Verschlüsselungswerkzeug age entdeckten sie eine Möglichkeit, über das Plug-in-System beliebige, auf dem Rechner des Opfers vorhandene Programme auszuführen. Einen umfassenden Überblick über alle gefundenen Probleme liefern die Forscher auf der Website gpg.fail.
Videos by heise
Viele LĂĽcken noch offen
Einige der gefundenen Lücken sind in den aktuellen Versionen der betroffenen Programme behoben, bei vielen ist das jedoch nicht der Fall. Teilweise, weil Patches zwar übernommen wurden, aber noch keine neue Version mit ihnen veröffentlicht wurde, teilweise aber auch, weil die Programmautoren kein zu korrigierendes Problem in ihrem Werkzeug sehen.
Besonders positiv hoben die Forscher die Reaktion auf die LĂĽcke in age hervor: Nicht nur sei der Fehler in den verschiedenen age-Implementierungen gefixt, sondern auch die Spezifikation so aktualisiert worden, dass das Problem vermieden werden muss. Direkt auf dem Hackerkongress legte age-Entwickler Filippo Valsorda sogar noch nach: Er befand sich im Publikum des Vortrags und nutzte die obligatorische Fragerunde am Ende, um sich bei den Forschern fĂĽr ihre Arbeit zu bedanken, sowie ihnen eine improvisierte Bug Bounty in Form von Bargeld und Schokoriegeln zu ĂĽberreichen.
Zu den gefundenen Fehlern geben die Forscher auf ihrer Website auch Ratschläge, wie sie sich vermeiden lassen – sowohl aus Entwickler- als auch aus Anwendersicht. Allgemein sollten Nutzer auch harmlos wirkende Fehlermeldungen als gravierende Warnung wahrnehmen und Klartext-Signaturen (cleartext signatures) meiden – wie es auch die GnuPG-Manpage empfiehlt. Die Forscher regen außerdem an, die Anwendung von Kryptografiewerkzeugen auf der Kommandozeile insgesamt zu überdenken: Durch die erwähnten ANSI-Sequenzen können Nutzer in die Irre geführt werden, selbst wenn alle Werkzeuge fehlerfrei arbeiten.
(syt)