Verschlüsselung: GPG muss endlich weg

Das Team von GnuPG missachtet grundlegende Sicherheitspraktiken und reagiert bei Hinweisen obendrein pampig. Zum Glück gibt es Ersatz.

Ein IMHO von veröffentlicht am
Die Sicherheit von GnuPG ist immer wieder Kritik ausgesetzt.
Die Sicherheit von GnuPG ist immer wieder Kritik ausgesetzt. (Bild: darkday, flickr.com/CC-BY 2.0)

Das Software-Projekt GnuPG ist als freies und sehr weit verbreitetes Programm zum Verschlüsseln und Signieren von Dateien einer der zentralen Bausteine der sicheren Kommunikation übers Internet und bei der Entwicklung vielfältiger Open-Source-Software. Ein aktueller Fehler in GnuPG zeigt aber erneut, dass das eigentlich auf Sicherheit fokussierte Projekte normalerweise übliche und vor allem grundlegende Security-Praktiken völlig missachtet und schlicht nicht mehr eingesetzt werden sollte.

Stellenmarkt
  1. DevOps Engineer (m/f/d) for Embedded Software Integration
    Elektrobit Automotive GmbH, Erlangen
  2. KIS-Betreuer iMedOne (m/w/d)
    Helios IT Service GmbH, Leipzig
Detailsuche

Was ist passiert? Tavis Ormandy, ein IT-Sicherheitsforscher von Googles Project Zero, hat einen Heap-Overflow in der GnuPG-Kryptobibliothek Libgcrypt gefunden. Der in der Sprache C typische Fehler ist laut Ormandy relativ leicht ausnutzbar. Dazu reicht es aus, Daten zu entschlüsseln. Eine Verifikation der Daten oder eine Überprüfung der Daten finde dabei nicht statt, heißt es in dem Bug-Report.

Wirklich irritierend dabei ist aber, dass Ormandy den Fehler beim routinemäßigen Testen fand. Zudem ist der Fehler mit Hilfe des Address Sanitizer (Asan) auffindbar, sofern speziell manipulierte Daten genutzt werden, die nicht dem üblichen und erwartbaren Format entsprechen. Asan ist als Teil des Compilers umgesetzt und explizit dafür entwickelt worden, derartige Speicherfehler in Software zu finden, die in C geschrieben ist.

GnuPG-Team reagiert skandalös

Dass der Fehler aber erst nach der Veröffentlichung der Software in einer stabilen Version durch einen externen Forscher auffiel, ist nicht der eigentliche Skandal. Fehler sind menschlich und passieren. Skandalös ist die Reaktion der GnuPG-Entwickler auf den Vorschlag, ihre Software künftig systematisch mit Hilfe von Asan und einem CI-System zu testen. Das ist zwar inzwischen eine extrem weit verbreitete Praxis in der Industrie, geschieht bisher bei GnuPG aber offenbar nicht.

Golem Akademie
  1. Scrum Product Owner: Vorbereitung auf den PSPO I (Scrum.org): virtueller Zwei-Tage-Workshop
    3.–4. März 2022, virtuell
  2. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
    6.–10. Dezember 2021, Virtuell
Weitere IT-Trainings

Die entsprechende Forderung, ein System für das Continuous-Integration-Testing (CI) umzusetzen, wurde im Bugtracker durch den Hauptentwickler Werner Koch direkt pampig abmoderiert und der dazugehörige Bug als hinfällig markiert. Konkret wird in dem Bugreport aufgezeigt, dass sich ein weiterer Fehler durch systematisches Testen mit Hilfe von Asan hätte finden lassen. Derartig trivial zu entdeckende Fehler dürften mittlerweile eigentlich nie in einer stabilen Version einer in C geschriebene Software auftauchen, schon gar nicht in einer so extrem sicherheitsrelevanten wie GnuPG.

Hinzu kommt, dass die aktuelle Version von Libgcrypt, die den von Ormandy gemeldeten Fehler behebt, wiederum auf einigen Intel-Systemen nicht kompiliert werden kann. Darauf weist der Google-Angestellte Filippo Valsorda auf Twitter hin, der ebenfalls kryptografische Software entwickelt. Valsorda pflegt darüber hinaus aber auch Homebrew-Pakete für MacOS, weshalb ihm der Fehler beim Bauen der Pakete direkt aufgefallen ist. Auch das hätte ein CI-System eigentlich finden können und eine solche Veröffentlichung direkt verhindern müssen.

Schlechter Code erzwingt Ersatz für GnuPG

Die Diskussionen um diese einzelne Sicherheitslücke ist dabei aber exemplarisch für den Zustand von GnuPG. Der auf Security spezialisierte Entwickler Thomas Ptacek schreibt etwa, dass dies die extrem schlechte Code-Qualität von GnuPG zeige und der Gesamtzustand der Software wohl noch viel schlimmer sei als gedacht, wenn derart einfache Fehler durch simples Testen gefunden werden könnten. Für ein eigentlich extrem wichtiges Projekt wie GnuPG müsste diese Beschreibung ein Super-GAU sein.

Nur wirklich neu sind alle diese Erkenntnisse und Diskussionen eben nicht. In der Security-Community sind der schlechte Zustand von GnuPG und mögliche Alternativen dazu seit Jahren immer wieder ein Thema. Das fängt bereits bei der extrem komplizierten Nutzung des Codes durch andere Projekte an. So hat sich allein deshalb das Team von Thunderbird dazu entschieden, auf GnuPG zu verzichten und für die E-Mail-Verschlüsselung mit RNP auf eine andere Implementierung zurückzugreifen.

Hacking & Security: Das umfassende Handbuch. 2. aktualisierte Auflage des IT-Standardwerks (Deutsch) Gebundene Ausgabe

Ebenso wird GnuPG oft dafür dafür kritisiert, das die Vielzahl an Optionen im Code und dessen schiere Größe ein zu großes Potenzial für Fehler biete, vor allem wenn man nur die Basisfunktionalität wie eben das Signieren und Verschlüsseln von Dateien betrachtet. Genau deshalb gibt es auch schon seit Jahren Alternativen dazu.

So hat etwa das OpenBSD-Team bereits vor rund sieben Jahren mit Signify ein kleines und einfaches Werkzeug zum Signieren von Paketen entwickelt, das eben nichts anderes macht. Einen ähnlichen Ansatz verfolgt auch der Entwickler Valsorda mit einer Reihe von Mitstreitern in dem Projekt Age. Das kleine Werkzeug zum Verschlüsseln von Dateien nutzt nicht nur moderne Kryptografie, sondern bietet explizit auch keinerlei Optionen zur Konfiguration, was den Code klein halten soll. Beide Programme eint außerdem, dass sie nicht kompatibel zu GPG sein wollen, was die Umsetzung deutlich vereinfacht.

Es wird Zeit, dass auch der Rest der Software-Industrie und Open-Source-Community endlich diesen Weg geht und GnuPG abschafft. Linux-Distributionen und andere Software-Projekte sollten zum Signieren ihres Codes auf Signify wechseln und zum sicheren Verschlüsseln von Dateien auf Werkzeuge wie Age setzen. Auch E-Mail-Verschlüsselung kann auf GnuPG verzichten, wie Thunderbird zeigt. Darüber hinaus sind moderne Crypto-Messenger wie eben Signal oder auch das föderierte Matrix-System in Bezug auf Praktikabilität und Verbreitung der E-Mail-Verschlüsselung bei Weitem überlegen. GnuPG braucht niemand mehr.

IMHO ist der Kommentar von Golem.de. IMHO = In My Humble Opinion (Meiner bescheidenen Meinung nach).

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


jotoho 11. Feb 2021

Ich bin nicht auf dem neuesten Stand, aber vor einigen Monaten gab es auf der OpenPGP...

jochen-01 09. Feb 2021

@schily Hatte ich mit dir vor vielen Jahren schon mal (cdrecord). Ich muss sagen, dass...

PSmith 09. Feb 2021

Verstehe nicht ganz, warum oder ob das themenbezogen relevant ist... Das sehe ich...

sambache 06. Feb 2021

Ja, Millionen von Fliegen können nicht irren ;-)

Keep The Focus 03. Feb 2021

ok, wo ist jetzt das Problem? Selbst ne Webapp ist mit Rust ein Kinderspiel, aber bewerf...



Aktuell auf der Startseite von Golem.de
Giga Factory Berlin
Warum Tesla auf über eine Milliarde Euro verzichten musste

Tesla kann die Milliarde Euro Förderung für die Akkufabrik Grünheide nicht beantragen - weil es sonst zu Verzögerungen beim Einsatz neuer Technik käme.

Giga Factory Berlin: Warum Tesla auf über eine Milliarde Euro verzichten musste
Artikel
  1. Nachhaltigkeit: Kawasaki plant E-Motorräder und Wasserstoff-Verbrenner
    Nachhaltigkeit
    Kawasaki plant E-Motorräder und Wasserstoff-Verbrenner

    Kawasaki will elektrische Antriebe für seine Fahrzeuge entwickeln, 2022 sollen drei Elektromotorräder erscheinen.

  2. Doppelbildschirm: Kickstarterprojekt Slide brauchte 6 Jahre bis zum Erfolg
    Doppelbildschirm
    Kickstarterprojekt Slide brauchte 6 Jahre bis zum Erfolg

    Das Kickstarter-Projekt Slidenjoy kann nach 6 Jahren seinen Doppelbildschirm Slide für Notebooks ausliefern.

  3. Elektroauto: Tesla stellt Model Y in China auf AMD-Ryzen um
    Elektroauto
    Tesla stellt Model Y in China auf AMD-Ryzen um

    Tesla hat in China damit begonnen, den Ryzen von AMD in das Model Y zu verbauen. Käufer berichten von einem viel flüssigerem Scrolling.

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 • Black Friday Wochenende • WD Blue SN550 2 TB ab 149€ • LG UltraGear 34GP950G-B 999€ • SanDisk Ultra 3D 500 GB M.2 44€ • Boxsets (u. a. Game of Thrones Blu-ray 79,97€) • Samsung Galaxy S21 128GB 777€ • Premium-Laptops • Cooler Master V850 Platinum 189,90€ • Astro Gaming Headsets [Werbung]
    •  /