Verflixte Primzahlen: Eine subtile Hintertür im Diffie-Hellman-Schlüsselaustausch
Benutzt der Diffie-Hellman-Schlüsselaustausch an der richtigen Stelle die falschen Primzahlen, kann ein Angreifer unter Umständen an die geheimen Schlüssel kommen. Das würde ihm erlauben, etwa SSL-Verbindungen aufzubrechen.
Ein Sicherheitsforscher hat eine Möglichkeit präsentiert, wie ein bösartiger Entwickler den Schlüsselaustausch der Diffie-Hellman-Methode subtil sabotieren und so an die geheimen Schlüssel kommen könnte. Dazu müsste er eine Implementation von Diffie-Hellman so manipulieren, dass einer der Parameter die zugrundeliegende Krypto so schwächt, dass er als Man-in-the-Middle die entsprechenden Berechnungen knacken kann. Auf die Idee kam er dadurch, dass Anfang des Jahres ein Bug im Open-Source-Tool socat entdeckt wurde, der etwas ähnliches bewirkt.
Nobody But Us
Ob es sich bei der Schwächung von socat um einen einfachen Bug oder eine Hintertür handelt, ist nicht bekannt. Der Entwickler, der den Patch einreichte, scheint nicht mehr auffindbar zu sein. Der Vorfall brachte David Wong von der Sicherheitsfirma NCC allerdings auf die Idee, man könne eine ähnliche Änderung in einer Krypto-Software in eine NOBUS-Hintertür verwandeln. NOBUS steht für „nobody but us“, also eine exklusive Hintertür, die nur Eingeweihten verwenden können. Von der Backdoor, die Ende 2015 in Netzwerkgeräten von Juniper entdeckt worden war, nimmt man an, dass es eine solche NOBUS-Hintertür war.
Bei socat war der Modulo, der eine Primzahl sein muss, damit die durchgeführten Rechenoperationen kryptografisch sicher sind, keine Primzahl. Diese eine, sehr wichtige Zahl war von einem Entwickler ausgetauscht worden, der nun verschwunden ist – was eine Manipulation durch Geheimdienste zumindest denkbar macht. In seinem Paper präsentiert Wong mehrere Methoden, wie man Primzahlen-Gruppen, die in Implementationen von Diffie-Hellman verwendet werden, so schwächen kann, dass ein Man-in-the-Middle-Angreifer mit genügend Rechenpower die Rechnungen mit bekannten Algorithmen fast in Echtzeit lösen kann. So käme er an die geheimen Schlüssel und könnte dann etwa SSL/TLS-Verbindungen belauschen.
Gute und schlechte Primzahlen
Dass manche Primzahlen sicherer sind als andere, ist bekannt. Anfang des Jahres patchten die OpenSSL-Entwickler eine Sicherheitslücke, die dazu führen konnte, dass die Kryptobibliothek ungeeignete Primzahlen verwendet und sich so angreifbar macht. Wong malt sich nun ein hypothetisches Szenario aus, in dem ein bösartiger Entwickler eine solche Änderung an einer Diffie-Hellman-Implementierung nutzt – etwa wenn die Entwickler die Länge der eingesetzten Schlüssel aus Sicherheitsgründen vergrößern wollen – um eine der beschriebenen schwachen Primzahlen einzuschleusen.
Er bemängelt hier hauptsächlich, dass nur sehr wenige Spezialisten wissen, welcher Teufel wo im Detail der Krypto-Berechnungen stecken kann. Außerdem überprüfen die meisten Diffie-Hellman-Implementationen nicht, wie gut geeignet die eingesetzten Primzahlen wirklich sind. Selbst bei Open-Source-Software, die jeder checken kann, würden diese Faktoren dazu führen, dass ein Einbau einer subtilen NOBUS-Hintertür möglich wird.
Gut, dass wir drüber gesprochen haben
Immerhin hat Wong bei ausführlichen Test keine solche Hintertür nach den von ihm geschilderten Methoden finden können. Von 4.522.263 in Frage kommenden Diffie-Hellman-Handshakes, die der Forscher im öffentlichen Netz beobachten konnte, erfüllten nur 30 ansatzweise die Kriterien, die er darlegt. Und auch diese hätten auf seiner Hardware nicht in unter fünf Stunden geknackt werden können – ein Prozess, der bei einem realen Angriff quasi in Echtzeit erfolgen muss. Der Forscher hat die Administratoren der entsprechenden Server trotzdem über das Problem informiert. Zwar sei sein Paper ein eher fiktiver Ansatz, gibt Wong zu: Da wir das Problem nun kennen, könne man sich jetzt aber besser dagegen verteidigen.
Quelle: http://heise.de/-3289764