MD5/SHA1: Sloth-Angriffe nutzen alte Hash-Algorithmen aus
Neue Angriffe gegen TLS: Krypto-Forscher präsentieren mit Sloth mehrere Schwächen in TLS-Implementierungen und im Protokoll selbst. Am kritischsten ist ein Angriff auf Client-Authentifizierungen mit RSA und MD5.

Mehrere Schwächen im TLS-Protokoll, die durch die Nutzung alter Hashfunktionen verursacht werden, haben Karthikeyan Bhargavan und Gaetan Leurent vom Forschungsprojekt Prosecco veröffentlicht. Die Angriffe basieren auf der Nutzung der inzwischen als überholt geltenden Hash-Algorithmen MD5 und SHA1, sowie auf Hashes, die in Protokollen abgeschnitten verwendet werden. Der Angriff trägt den Namen Sloth, die Abkürzung steht für Security Losses from Obsolete and truncated Transcript Hashes. Übersetzt bedeutet Sloth Faulheit oder auch Faultier, ein Verweis darauf, dass die Kryptografie-Community zu langsam dabei sei, veraltete Algorithmen aus ihren Protokollen zu entfernen.
Man-in-the-Middle-Angriff auf Client-Authentifizierung
- MD5/SHA1: Sloth-Angriffe nutzen alte Hash-Algorithmen aus
- SHA1-Kollisionen beherbergen weitere Angriffe
Der relevanteste Angriff betrifft die Authentifizierung mit Clientzertifikaten in TLS 1.2. Möglich ist dieser Angriff, wenn ein Nutzer sich mit einem Zertifikat beim Server des Angreifers anmeldet. Der Server kann sich dann, genügend Rechenpower vorausgesetzt, gegenüber einem anderen Server mit dem Clientzertifikat des Nutzers anmelden, falls der Client das RSA-Signaturverfahren mit MD5 unterstützt.
Interessant dabei ist, dass die älteren Protokollversionen TLS 1.0 und 1.1 von diesem Problem nicht betroffen sind. Diese alten Protokolle nutzten eine Kombination aus MD5 und SHA1 für die Clientsignaturen. In Version 1.2 wurde dies ersetzt durch einen Mechanismus, bei dem der Algorithmus zwischen Server und Client ausgehandelt wird. Dabei sind auch MD5 und SHA1 zulässig. Bemerkenswert ist, dass TLS 1.2 diese alten Algorithmen überhaupt unterstützt, denn diese Version wurde 2008 veröffentlicht, mehrere Jahre nachdem die Sicherheit von MD5 und SHA1 durch zahlreiche Angriffe untergraben worden war.
Neben diesem Problem mit dem Protokoll selbst ist eine weitere Tatsache bemerkenswert: Die Forscher fanden zahlreiche TLS-Implementierungen, die beim Handshake angaben, Signaturen mit MD5 nicht zu unterstützen, doch wenn ein Server diese trotzdem sendete, wurden sie akzeptiert. Das betraf unter anderem OpenSSL in älteren Versionen (vor 1.0.1f), NSS (vor 3.21) und GnuTLS (vor 3.3.15). Die Java-TLS-Implementierung JSSE unterstützte RSA-MD5 direkt und gab das auch so an. Einen Proof-of-Concept-Angriff haben die Forscher gegen eine Kombination aus einem Java-Client und einem Java-Server durchgeführt. Dafür kam eine optimierte Version des Tools Hashclash zum Einsatz.
Angriff gegen Channel-Binding und serverseitige MD5-Signaturen
Ein weiterer Angriff betrifft sogenannte Channel-Binding-Verfahren. Channel Binding wird genutzt, um bei Authentifizierungsverfahren zu verhindern, dass ein Server die Authentifizierung eines Nutzers verwenden kann, um sich selbst bei einem anderen Server anzumelden. Es kommt in den Protokollen Fido, Token Binding und Scram zum Einsatz. Scram wird unter anderem im XMPP/Jabber-Protokoll genutzt. Diese Protokolle verwenden einen Wert aus dem TLS-Handshake, der als tls-unique bezeichnet wird. Dieser Wert wird mit Hilfe eines HMAC-Verfahrens mit dem SHA256-Hash-Algorithmus generiert, allerdings wird dieser Hash auf 96 Bit gekürzt. Dadurch wird der Angriff möglich.
Aufgrund des Protokolldesigns der bisherigen TLS-Versionen ist ein Angriff auf die Serversignaturen im Handshake nicht so einfach möglich. Allerdings fanden die Forscher auch hier eine Möglichkeit, die zumindest die Robustheit des Protokolls in Zweifel zieht. Dafür müssen sie jedoch zunächst eine sehr große Zahl an Signaturen des Servers aufzeichnen. Um einen Angriff mit der Komplexität von 2^64 durchzuführen, müssten dafür 2^64 Signaturen des Servers aufgezeichnet werden. Werden weniger Signaturen aufgezeichnet, so wird der Angriff entsprechend schwerer. In der Praxis durchführen lässt sich dieser Angriff wohl nicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
SHA1-Kollisionen beherbergen weitere Angriffe |
- 1
- 2
es geht um die entdeckungen der sicherheitslücken und nicht um entdeckte sicherheitslücken.