Eine Forschergruppe der University of California, San Diego, hat die Möglichkeit demonstriert, geschlossene Host-RSA-SSH-Server-Schlüssel anhand einer passiven Analyse des SSH-Verkehrs zu rekonstruieren. Der Angriff kann auf Server durchgeführt werden, die aufgrund von Umständen oder den Handlungen des Angreifers während der Berechnung der digitalen Signatur beim Aufbau der SSH-Verbindung Ausfälle erleiden. Diese Ausfälle können sowohl softwarebezogen (falsche Ausführung mathematischer Operationen, Speicherbeschädigung) als auch hardwarebezogen (Fehler im NVRAM und DRAM oder Ausfälle bei Stromunterbrechungen) sein.
Eine Möglichkeit, Ausfälle zu provozieren, sind RowHammer-Angriffe, die unter anderem ermöglichen, den Inhalt einzelner Speicherbits durch intensives zyklisches Lesen von Daten aus benachbarten Speichereinheiten zu verfälschen, entweder aus der Ferne oder beim Verarbeiten von JavaScript-Code im Browser. Eine weitere Möglichkeit, Ausfälle zu verursachen, besteht in der Ausnutzung von Schwachstellen, die zu Pufferüberläufen und der Beschädigung von Daten mit Schlüsseln im Speicher führen.
Eine veröffentlichte Studie zeigt, dass bei der Verwendung digitaler Signaturen auf Basis des RSA-Algorithmus im SSH-Protokoll Angriffe zur Rekonstruktion der RSA-Schlüssel über Lattice-Methoden (Fault Attack) anwendbar sind, wenn während des Signaturberechnungsprozesses Software- oder Hardwarefehler auftreten. Der Kern der Methode besteht darin, dass man durch den Vergleich korrekter und fehlerhafter RSA-Digital-Signaturen den größten gemeinsamen Teiler aus einem der beiden Primzahlen bestimmen kann, die bei der Schlüsselerstellung verwendet wurden.
Die Verschlüsselung von RSA basiert auf der Operation der Exponentiation modulo einer großen Zahl. Der öffentliche Schlüssel enthält den Modul und den Exponenten. Der Modul wird aus zwei zufälligen Primzahlen gebildet, die nur dem Inhaber des privaten Schlüssels bekannt sind. Angriffe können auf RSA-Implementierungen angewendet werden, die die Chinesische Restklassentheorie und deterministische Padding-Schemata wie PKCS#1 v1.5 verwenden.
Für einen Angriff genügt es, legitime Verbindungen zu einem SSH-Server passiv zu überwachen, bis im Datenverkehr eine fehlerhafte digitale Signatur entdeckt wird, die als Informationsquelle für die Wiederherstellung des privaten RSA-Schlüssels verwendet werden kann. Nach der Wiederherstellung des hostseitigen RSA-Schlüssels kann der Angreifer bei einem MITM-Angriff unbemerkt Anfragen an einen gefälschten Host umleiten, der sich als kompromittierter SSH-Server ausgibt, und die übermittelten Daten abfangen. der Server von Daten.
Bei der Analyse einer Sammlung abgefangener Netzwerkdaten, die etwa 5,2 Milliarden Datensätze umfasst, die mit der Nutzung des SSH-Protokolls verbunden sind, haben Forscher etwa 3,2 Milliarden offene Host-Schlüssel und digitale Signaturen identifiziert, die während der Aushandlung von SSH-Sitzungen verwendet wurden. Davon wurden 1,2 Milliarden (39,1 %) mit dem RSA-Algorithmus erstellt. In 593.671 Fällen (0,048 %) war die RSA-Signatur beschädigt und konnte nicht verifiziert werden. Bei 4.962 fehlerhaften Signaturen konnte die Lattice-Faktorisierungsmethode angewendet werden, um den privaten Schlüssel aus dem bekannten öffentlichen Schlüssel zu bestimmen, was schließlich die Rekonstruktion von 189 einzigartigen RSA-Schlüsselpaaren ermöglichte (in vielen Fällen wurden die gleichen Schlüssel und fehlerhaften Geräte zur Generierung verschiedener beschädigter Signaturen verwendet). Die Rekonstruktion der Schlüssel benötigte etwa 26 Stunden CPU-Zeit.

Das Problem betrifft nur spezifische Implementierungen des SSH-Protokolls, die hauptsächlich in eingebetteten Geräten verwendet werden. Beispiele für Geräte mit problematischen SSH-Implementierungen sind Produkte von Zyxel, Cisco, Mocana und Hillstone Networks. OpenSSH ist von diesem Problem nicht betroffen, da es zur Generierung von Schlüsseln die OpenSSL- (oder LibreSSL-) Bibliothek verwendet, die seit 2001 Schutz gegen Angriffe auf der Basis von Fehlanalyse bietet. Darüber hinaus wurde in OpenSSH das digitale Signaturschema ssh-rsa (basierend auf sha1) seit 2020 als veraltet erklärt und in Version 8.8 deaktiviert (die Unterstützung für die Schemen rsa-sha2-256 und rsa-sha2-512 bleibt erhalten). Potenziell könnte der Angriff auch auf das IPsec-Protokoll anwendbar sein, aber den Forschern lagen nicht genügend experimentelle Daten vor, um einen solchen Angriff in der Praxis zu bestätigen.
Quelle: opennet.ru
