Abo
  • Services:

Kryptographie: Der Debian-Bug im OpenSSL-Zufallszahlengenerator

Einer der schwerwiegendsten Fehler in der Geschichte der Kryptographie beschäftigte vor zehn Jahren Nutzer der Debian-Distribution. Wenn man danach sucht, findet man noch heute vereinzelt verwundbare Schlüssel.

Artikel von Hanno Böck veröffentlicht am
An einigen Stellen findet man immer noch alte kryptographische Schlüssel, die sich dank eines zehn Jahre alten Debian-Bugs knacken lassen.
An einigen Stellen findet man immer noch alte kryptographische Schlüssel, die sich dank eines zehn Jahre alten Debian-Bugs knacken lassen. (Bild: Bubo/Wikimedia Commons/CC-BY-SA 3.0)

Es war ein GAU in Sachen Verschlüsselung: 2008 entdeckte der Debian-Entwickler Luciano Bello einen Bug, der für einen Zeitraum von zwei Jahren dazu führte, dass der Zufallszahlengenerator von OpenSSL praktisch unbrauchbar wurde. Bis heute finden sich vereinzelt verwundbare private Schlüssel im praktischen Einsatz.

Stellenmarkt
  1. Gentherm GmbH, Odelzhausen
  2. Bosch Gruppe, Hildesheim

Grund für den Fehler war ein Patch, mit dem eigentlich ein Problem behoben werden sollte. Der originale OpenSSL-Code nutzte für den Zufallszahlengenerator uninitialisierten Speicher. Die Debian-Entwickler störten sich daran, dass das Debugging-Tool Valgrind hierzu eine Warnung ausgab und wollten dieses Problem ausschalten.

Zufallszahlengenerator hatte nur noch 32.768 Möglichkeiten

An sich sprach auch nichts dagegen, doch der Patch enthielt einen gravierenden Fehler. Dieser führte dazu, dass fortan nur noch wenige Daten in den internen Status des Zufallszahlengenerators gelangten. Die einzige Quelle von zufälligen Daten war fortan die Prozess-ID der jeweils laufenden Softwareinstanz. Unter Linux kann die Prozess-ID Werte zwischen 1 und 32.768 annehmen - es gibt also nur eine relativ begrenzte Zahl an Möglichkeiten.

Die größten Auswirkungen hatte der Fehler auf die Erzeugung von kryptographischen Schlüsseln. Er unterschied sich je nach Architektur, Version und Konfiguration des jeweiligen Systems, doch insgesamt gab es für jede Schlüsselgröße nun nur noch einige Hunderttausend mögliche Varianten. Die Folge: Wer mit OpenSSL einen privaten Schlüssel für ein Serverzertifikat erzeugte, musste damit rechnen, dass ein Angreifer schlicht alle möglichen Schlüsselvarianten erzeugte und somit ebenso in den Besitz des privaten Schlüssels kam.

Nicht nur OpenSSL war davon betroffen, auch andere kryptographische Software, die OpenSSL nutzt, erzeugte knackbare Schlüssel, darunter OpenSSH und OpenVPN.

Die Schlüsselerzeugung war dabei nur das offensichtlichste Problem, auch Software, die kryptographische Verbindungen herstellt - etwa ein Webserver -, konnte durch den Bug angegriffen werden. Allerdings gestalteten sich solche Angriffe etwas komplizierter, da der genaue Status des Zufallszahlengenerators nur schwer vorhersehbar ist, wie eine damals veröffentlichte wissenschaftliche Abhandlung erläutert.

Immer noch verwundbare Keys im Einsatz

Obwohl das Ganze schon zehn Jahre her ist, sind vereinzelt immer noch verwundbare private Schlüssel zu finden. 2015 fand der Softwareentwickler Ben Cox bei Github zahlreiche öffentliche SSH-Schlüssel von Entwicklern mit dem alten Debian-Bug. Damit hätte man einige prominente Code-Repositories manipulieren können, etwa das von Python.

Bei TLS-Zertifikaten für Webseiten sollte es theoretisch unmöglich sein, solche verwundbaren Schlüssel zu verwenden. Alle Zertifikate, die damals gültig waren, sind längst abgelaufen. Die Baseline Requirements, ein Regelwerk, auf das sich Zertifizierungsstellen und Browserhersteller geeinigt haben, sieht vor, dass bei der Zertifikatsausstellung geprüft wird, ob ein bekannter kompromittierter Schlüssel verwendet wird. Der Debian-OpenSSL-Bug wird dabei explizit als Beispiel erwähnt.

Trotzdem tauchen immer noch Zertifikate auf, die von dem Bug betroffen sind. Im vergangenen Jahr gelang es dem Autor dieses Artikels, ein Testzertifikat mit verwundbarem Schlüssel bei Let's Encrypt zu erstellen. Let's Encrypt hat inzwischen einen Check eingebaut, der eine solche Zertifikatsausstellung verhindert.

Auch fanden sich in den Daten der Certificate-Transparency-Logs zwei von der Zertifizierungsstelle Certum ausgestellte Zertifikate, deren Schlüssel mit einem verwundbaren Debian-System erzeugt wurden, ebenso Zertifikate der inzwischen nicht mehr von Browsern akzeptierten Zertifizierungsstellen Startcom und Wosign. Bei der Recherche zu diesem Artikel fand sich zudem ein weiteres Zertifikat, ausgestellt von der Zertifizierungsstelle Quo Vadis.

Der Debian-OpenSSL-Bug ist wohl eine der gravierendsten Sicherheitslücken in der Geschichte der Kryptographie. Entscheidend für die Langlebigkeit ist vor allem, dass nicht nur die Verschlüsselung, sondern die erzeugten privaten Schlüssel von der Lücke betroffen waren. Sucht man nach vergleichbaren Bugs, dann fällt einem am ehesten die ROCA-Sicherheitslücke in Infineon-Chips ein. Die führte im vergangenen Jahr dazu, dass unzählige Personalausweise, Krypto-Chipkarten und Produkte wie Yubikeys knackbare Schlüssel erzeugten.



Anzeige
Blu-ray-Angebote

/mecki78 28. Mai 2018

Wenn OpenSSL in der Lage ist in kurzer Zeit viele gute Zufallswerte zu erzeugen, warum...

My1 28. Mai 2018

4 millionen is auch nix in dem bereich.


Folgen Sie uns
       


Assassin's Creed Odyssey - Test

Wir hätten nicht gedacht, dass wir erneut so gerne so viel Zeit in Ubisofts Antike verbringen.

Assassin's Creed Odyssey - Test Video aufrufen
NGT Cargo: Der Güterzug der Zukunft fährt 400 km/h
NGT Cargo
Der Güterzug der Zukunft fährt 400 km/h

Güterzüge sind lange, laute Gebilde, die langsam durch die Lande zuckeln. Das soll sich ändern: Das DLR hat ein Konzept für einen automatisiert fahrenden Hochgeschwindigkeitsgüterzug entwickelt, der schneller ist als der schnellste ICE.
Ein Bericht von Werner Pluta


    Serverless Computing: Mehr Zeit für den Code
    Serverless Computing
    Mehr Zeit für den Code

    Weniger Verwaltungsaufwand und mehr Automatisierung: Viele Entwickler bauen auf fertige Komponenten aus der Cloud, um die eigenen Anwendungen aufzubauen. Beim Serverless Computing verschwinden die benötigten Server unter einer dicken Abstraktionsschicht, was mehr Zeit für den eigenen Code lässt.
    Von Valentin Höbel

    1. Kubernetes Cloud Discovery inventarisiert vergessene Cloud-Native-Apps
    2. T-Systems Deutsche Telekom will Cloud-Firmen kaufen
    3. Trotz hoher Gewinne Wieder Stellenabbau bei Microsoft

    Wet Dreams Don't Dry im Test: Leisure Suit Larry im Land der Hipster
    Wet Dreams Don't Dry im Test
    Leisure Suit Larry im Land der Hipster

    Der Möchtegernfrauenheld Larry Laffer kommt zurück aus der Gruft: In einem neuen Adventure namens Wet Dreams Don't Dry reist er direkt aus den 80ern ins Jahr 2018 - und landet in der Welt von Smartphone und Tinder.
    Ein Test von Peter Steinlechner

    1. Life is Strange 2 im Test Interaktiver Road-Movie-Mystery-Thriller
    2. Adventure Leisure Suit Larry landet im 21. Jahrhundert

      •  /