Libgcrypt: GnuPG-Zufallszahlen sind nicht ganz zufällig
Eine schwerwiegende Sicherheitslücke befindet sich offenbar seit 1998 im Code von GnuPG und der dazugehörigen Bibliothek Libgcrypt. Unter bestimmten Umständen lassen sich Zufallszahlen voraussagen, die genauen Auswirkungen sind allerdings unklar.

Offenbar schon seit 18 Jahren schlummert ein kritischer Fehler im Code von Libgcrypt, der Verschlüsselungsbibliothek von GnuPG. Felix Dörre und Vladimir Klebanov vom Karlsruher Institut für Technologie fanden heraus, dass sich unter bestimmten Umständen Zufallszahlen vorhersagen lassen. Welche Auswirkungen der Fehler genau hat, wird sich wohl erst durch detailliertere Analysen zeigen.
Angreifer können unter Umständen Zufallszahlen vorhersagen
Der Zufallszahlengenerator basiert auf einem Konzept, das der Kryptograph Peter Gutmann 1998 auf der Usenix-Konferenz präsentiert hatte. Erst jetzt stellt sich heraus, dass die Implementierung in Libgcrypt an einigen entscheidenden Stellen von Gutmanns Konzept abweicht. Kennt ein Angreifer 580 Bytes, die der Zufallszahlengenerator erzeugt hat, dann kann er daraus die nächsten 20 Bytes trivial berechnen. Ein Sicherheitsproblem wird das also, wenn ein Angreifer zunächst einige Zufallszahlen beobachten kann und anschließend weitere Zufallszahlen für geheime Werte genutzt werden.
Das klingt extrem schwerwiegend, immerhin wurden fast zwei Jahrzehnte lang Mails auf Basis dieses Codes verschlüsselt. Doch die praktischen Auswirkungen sind möglicherweise relativ gering.
DSA- und Elgamal-Schlüssel möglicherweise bedroht
Nach Einschätzung von GnuPG-Entwickler Werner Koch ist nicht davon auszugehen, dass die Generierung von RSA-Keys durch diesen Fehler geschwächt ist. Bei DSA- und Elgamal-Schlüsseln könnte es allerdings zu Problemen kommen, dafür sind jedoch weitere Untersuchungen nötig. In neueren GnuPG-Versionen werden üblicherweise nur noch RSA-Schlüssel erzeugt, DSA und Elgamal kamen jedoch in älteren Versionen standardmäßig zum Einsatz.
In der Ankündigung steht nichts darüber, ob der Bug Auswirkungen auf die Sicherheit von verschlüsselten oder signierten Nachrichten hat. Zumindest für verschlüsselte Mails werden Zufallszahlen genutzt, allerdings dürfte ein Angreifer normalerweise keine Möglichkeit haben, diese Zahlen zu sehen.
Bei Libgcrypt handelt es sich um eine generische kryptographische Bibliothek, die auch von anderen Programmen genutzt wird. Es könnte also sein, dass noch an anderer Stelle Sicherheitsprobleme durch diese Lücke auftauchen. In früheren Versionen hatte auch GnuTLS Libgcrypt genutzt, jüngere Versionen nutzen jedoch eine andere Bibliothek namens Nettle.
Behoben wurde das Problem in den Libgcrypt-Versionen 1.7.3, 1.6.6 und 1.5.6. Ältere GnuPG-Versionen aus dem Versionszweig 1.4 enthielten den Code für den Zufallszahlengenerator noch direkt, daher wurde auch hierfür eine neue Version - 1.4.21 - veröffentlicht. Der Fehler hat die Id CVE-2016-6313 erhalten.
Entdeckt wurde der Fehler mit einem Tool namens Entroposcope. Dörre und Klebanov wollen das Tool auf der Konferenz CCS 2016 im Oktober präsentieren. Laut einer Notiz auf Klebanovs Webseite fand das Tool auch eine Anomalie im Zufallszahlengenerator von OpenSSL, das Problem dort ist jedoch offenbar nicht ausnutzbar.
Auch kleines Problem in OpenSSL gefunden
Zufallszahlengeneratoren sind immer wieder eine Quelle für Fehler in kryptographischer Software. Katastrophal war ein Bug im Debian-Paket für OpenSSL im Jahr 2008. LibreSSL hatte am Anfang Probleme im Zusammenhang mit dem Forken von Prozessen unter Linux, die Diskussion darum führte anschließend dazu, dass Linux einen neuen Syscall für Zufallszahlen einführte. Viele Fachleute sind nach dieser Erfahrung der Ansicht, dass Zufallszahlengeneratoren in Userspace-Software generell problematisch seien und immer möglichst auf den Zufallszahlengenerator des Betriebssystems zurückgegriffen werden sollte.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Das ist falsch. Zwar wird viel Aufand hineingesteckt, Computer möglichst deterministisch...
Können es beliebige aufeinanderfolgen 580 Bytes sein oder funktioniert das nur an...
Das Problem was generell bei Software die mit Verschlüsselung und Schlüsselgenerierung zu...