Eine Gruppe von Forschern der UniversitĂ€t Kalifornien in San Diego hat demonstriert, dass es möglich ist, die privaten Host-RSA-SchlĂŒssel eines SSH-Servers durch passive Analyse des SSH-Verkehrs wiederherzustellen. Der Angriff kann auf Server durchgefĂŒhrt werden, bei denen aufgrund von UmstĂ€nden oder Aktionen des Angreifers wĂ€hrend der Berechnung der digitalen Signatur beim Aufbau einer SSH-Verbindung Fehler auftreten. Fehler können sowohl softwareseitig (falsche AusfĂŒhrung mathematischer Operationen, SpeicherbeschĂ€digung) als auch hardwareseitig (Fehler bei der Arbeit mit NVRAM und DRAM oder AbstĂŒrze bei StromausfĂ€llen) sein.
Eine Möglichkeit, Fehler zu provozieren, sind RowHammer-Angriffe, die unter anderem es ermöglichen, remote oder wĂ€hrend der Verarbeitung von JavaScript-Code im Browser die Inhalte bestimmter Bits im Speicher durch intensives zyklisches Lesen von Daten aus benachbarten Speicherseiten zu verzerren. Eine weitere Möglichkeit, Fehler auszulösen, könnte die Ausnutzung von Schwachstellen sein, die zu PufferĂŒberlĂ€ufen fĂŒhren und Daten mit SchlĂŒsseln im Speicher beschĂ€digen.
In der veröffentlichten Studie wurde gezeigt, dass bei der Verwendung von digitalen Signaturen auf Basis des RSA-Algorithmus im SSH die Parameter der digitalen Signatur Angriffen zur Wiederherstellung der privaten RSA-SchlĂŒssel mittels Lattice-Methode (Fault Attack) ausgesetzt sind, sofern wĂ€hrend des Signaturberechnungsprozesses software- oder hardwarebedingte Fehler auftreten. Das Prinzip der Methode besteht darin, dass durch den Vergleich der korrekten und fehlerhaften RSA-Digital-Signaturen der gröĂte gemeinsame Teiler fĂŒr eine der Primzahlen, die zur SchlĂŒsselerzeugung verwendet wurden, bestimmt werden kann.
Die RSA-VerschlĂŒsselung basiert auf der Modulo-Potenzierung einer groĂen Zahl. Der öffentliche SchlĂŒssel enthĂ€lt Modul und Exponent. Das Modul wird aus zwei zufĂ€lligen Primzahlen gebildet, die nur dem Besitzer des privaten SchlĂŒssels bekannt sind. Der Angriff kann gegen RSA-Implementierungen angewendet werden, die den Chinesischen Restesatz und deterministische FĂŒllmethoden wie PKCS#1 v1.5 verwenden.
FĂŒr einen Angriff reicht es aus, passive Ăberwachungen legitimer Verbindungen zu einem SSH-Server durchzufĂŒhren, um im Datenverkehr eine fehlerhafte digitale Signatur zu identifizieren, die als Informationsquelle verwendet werden kann, um den privaten RSA-SchlĂŒssel zu rekonstruieren. Nach der Rekonstruktion des Host-RSA-SchlĂŒssels kann der Angreifer im Rahmen eines MITM-Angriffs unbemerkt Anfragen an einen falschen Host umleiten, der sich als kompromittierter SSH-Server ausgibt und den Datenverkehr abfĂ€ngt, der an diesen gesendet wird. Server von Daten.
Durch die Analyse einer Sammlung abgefangener Netzwerkdaten, die ungefĂ€hr 5,2 Milliarden Aufzeichnungen zum Einsatz des SSH-Protokolls umfasst, entdeckten die Forscher etwa 3,2 Milliarden offene Host-SchlĂŒssel und digitale Signaturen, die wĂ€hrend der SSH-Sitzungsvereinbarung verwendet wurden. Davon wurden 1,2 Milliarden (39,1 %) mit dem RSA-Algorithmus generiert. In 593671 FĂ€llen (0,048 %) war die RSA-Signatur fehlerhaft und bestand den Verifikationsprozess nicht. FĂŒr 4962 fehlerhafte 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 dieselben SchlĂŒssel und fehlerhaften GerĂ€te zur Generierung verschiedener fehlerhafter Signaturen verwendet). Die Rekonstruktion der SchlĂŒssel dauerte etwa 26 Stunden an Prozessorzeit.

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 dem Problem nicht betroffen, da es zur Generierung von SchlĂŒsseln die OpenSSL-Bibliothek (oder LibreSSL) verwendet, die seit 2001 einen Schutz gegen Angriffe auf Grundlage von Fehleranalysen (Fault Attack) bietet. DarĂŒber hinaus wurde in OpenSSH das Schema fĂŒr digitale Signaturen ssh-rsa (basierend auf sha1) seit 2020 als veraltet erklĂ€rt und in Version 8.8 deaktiviert (die UnterstĂŒtzung fĂŒr die Schemata rsa-sha2-256 und rsa-sha2-512 bleibt erhalten). Potenziell könnte der Angriff auch fĂŒr das IPsec-Protokoll anwendbar sein, aber den Forschern fehlten ausreichend experimentelle Daten, um einen solchen Angriff in der Praxis zu bestĂ€tigen.
Quelle: opennet.ru
