Marvin ist die Rückkehr einer 25 Jahre alten Sicherheitslücke, die RSA-Signatur- und Entschlüsselungsvorgänge ermöglicht
Während des ESORICS 2023 (European Symposium on Computer Security Research), das vom 25. bis 29. September in den Niederlanden stattfand, präsentierte ein Sicherheitsforscher von Red Hat den „Marvin-Angriff“, eine Angriffstechnik , die es ermöglicht, die Originaldaten zu bestimmen, indem die Verzögerungen während der Entschlüsselungsvorgänge auf Basis des RSA-Algorithmus gemessen werden.
Der Marvin-Angriff ist eine Variation der Bleichenbacher-Methode, die 1998 vorgeschlagen wurde , und setzt die Entwicklung der ROBOT- und New-CAT-Angriffe fort, die 2017 bzw. 2019 veröffentlicht wurden.
Der Marvin-Angriff ist die Rückkehr einer 25 Jahre alten Schwachstelle, die es einem Angreifer ermöglicht, RSA-Signatur- und Entschlüsselungsvorgänge durchzuführen, wobei er nur die Zeit des mit dem privaten Schlüssel durchgeführten Entschlüsselungsvorgangs beobachten kann.
Im Jahr 1998 entdeckte Daniel Bleichenbacher, dass von SSL-Servern bereitgestellte Fehlermeldungen für Fehler im PKCS #1 v1.5-Padding einen adaptiv gewählten Chiffretext-Angriff ermöglichten; Dieser Angriff bricht die Vertraulichkeit von TLS vollständig, wenn es mit RSA-Verschlüsselung verwendet wird. Im Jahr 2018 zeigten Hanno Böck, Juraj Somorovsky und Craig Young 19 Jahre später, dass viele Internetserver immer noch anfällig für geringfügige Variationen des ursprünglichen Angriffs waren.
Im Prinzip besteht die Methode darin, dass ein Angreifer anhand unterschiedlicher Serverreaktionen und Ausführungszeiten die korrekten und fehlerhaften Oracle-Blöcke, die gemäß dem PKCS #1 v1.5-Standard hinzugefügt wurden, trennen kann, um die verschlüsselten Daten entlang der Blockgrenzen auszurichten. Durch Manipulation von Informationen über die Genauigkeit der Padding-Blöcke kann ein Angreifer mittels Brute-Force-Angriff einen gültigen Chiffretext erzeugen.
In diesem Fall wird der private Schlüssel durch den Angriff nicht direkt wiederhergestellt; er ermöglicht lediglich die Entschlüsselung des Chiffretextes oder die Erzeugung einer gefälschten signierten Nachricht. Für einen erfolgreichen Angriff muss eine sehr große Menge an Testnachrichten zur Entschlüsselung versendet werden.
Ein Angriff auf TLS-Server mit RSA-basierter Verschlüsselung ermöglicht es Angreifern, abgefangenen Datenverkehr passiv zu speichern und anschließend zu entschlüsseln . Bei Servern mit PFS ist ein solcher Angriff deutlich schwieriger, und sein Erfolg hängt von der Ausführungsgeschwindigkeit ab.
Darüber hinaus ermöglicht das Verfahren die Erzeugung einer fiktiven digitalen Signatur , die den Inhalt von ServerKeyExchange-Nachrichten in TLS 1.2 oder CertificateVerify-Nachrichten in TLS 1.3 überprüft, die während der Schlüsselaustauschphase übertragen werden und für MITM-Angriffe verwendet werden können, um die TLS-Verbindung zwischen Client und Server abzufangen.
Es wird darauf hingewiesen, dass der Unterschied zur Marvin-Methode im Wesentlichen in der verbesserten Technologie zur Trennung korrekter und inkorrekter inkrementeller Daten , dem Filtern von Fehlalarmen, der genaueren Bestimmung von Berechnungsverzögerungen und der Nutzung zusätzlicher Drittanbieterkanäle während der Messung liegt.
In der Praxis ermöglicht die vorgeschlagene Methode die Entschlüsselung des Datenverkehrs oder die Generierung digitaler Signaturen, ohne den privaten RSA-Schlüssel zu kennen. Um die Anwendbarkeit des Angriffs zu testen, wurden ein spezielles Skript zur Überprüfung von TLS-Servern und Tools zur Identifizierung von Problemen in Bibliotheken veröffentlicht.
Das Problem betrifft mehrere Protokollimplementierungen, die RSA und PKCS verwenden . Obwohl moderne kryptografische Bibliotheken einen gewissen Schutz gegen Angriffe basierend auf der Bleichenbacher-Methode bieten, zeigte die Studie, dass diese Bibliotheken Schwachstellen aufweisen und keine konsistente Verarbeitungszeit für Pakete mit korrektem und inkorrektem Padding gewährleisten. Beispielsweise ist Marvins Implementierung des GnuTLS-Angriffs nicht an den Code gebunden, der die RSA-bezogenen Berechnungen direkt durchführt, sondern verwendet unterschiedliche Ausführungszeiten für den Code, der entscheidet, ob eine bestimmte Fehlermeldung angezeigt werden soll.
Der Autor der Studie ist außerdem der Ansicht, dass die Klasse der betrachteten Schwachstellen nicht auf RSA beschränkt ist und viele andere kryptografische Algorithmen betreffen kann, die für Ganzzahlberechnungen auf Standardbibliotheken angewiesen sind.
Um die Möglichkeit der Durchführung des Marvin-Angriffs in der Praxis zu bestätigen, demonstrierte der Forscher die Anwendbarkeit der Methode auf Anwendungen, die auf den Bibliotheken M2Crypto und Pyca/Kryptographie basieren, bei denen ein paar Stunden ausreichten, um die Verschlüsselung zu kompromittieren, indem er ein Experiment an einem durchführte durchschnittlicher Laptop.
Sollten Sie mehr erfahren wollen, finden Sie die Details unter folgendem Link.