Abo
  • IT-Karriere:

Bleichenbacher-Angriff: TLS-Probleme in Java

In der TLS-Bibliothek von Java wurde ein Problem gefunden, welches unter Umständen das Entschlüsseln von Verbindungen erlaubt. Es handelt sich dabei um die Wiederbelebung eines Angriffs, der bereits seit 1998 bekannt ist.

Artikel veröffentlicht am , Hanno Böck
Das Padding von RSA schafft Probleme.
Das Padding von RSA schafft Probleme. (Bild: Chris Meyer)

Der Sicherheitsforscher Chris Meyer hat mehrere Probleme in JSSE entdeckt, der Verschlüsselungsbibliothek von Java. Meyer ist es gelungen, ein uraltes und längst bekanntes Problem der RSA-Verschlüsselung erneut auszunutzen: Die sogenannte "Million Message Attack", die Daniel Bleichenbacher 1998 erstmals beschrieben hat. Oracle hat ein Update von Java veröffentlicht, welches das Problem behebt.

Stellenmarkt
  1. Netze BW GmbH, Stuttgart, Karlsruhe
  2. Lidl Dienstleistung GmbH & Co. KG, Neckarsulm

Das Vorgehen von Bleichenbacher: Eine mit dem RSA-Schlüssel eines Servers verschlüsselte Nachricht wird gezielt mit Fehlern versehen und in vielen Variationen an einen Server gesendet. Die Antworten der Fehlerbehandlung des Servers lassen Rückschlüsse auf den verschlüsselten Inhalt zu. Um sich vor diesem Angriff zu schützen, müssen Server gewährleisten, dass die Fehlermeldungen keine Informationen über die Art des Entschlüsselungsfehlers enthalten. Auch die Geschwindigkeit der Antwort darf keine Rückschlüsse auf den Nachrichteninhalt zulassen.

Meyer entdeckte nun, dass Java bei bestimmten Fehlern in der Codierung von RSA-verschlüsselten Nachrichten eine andere Fehlermeldung schickte als gewöhnlich. Damit ließ sich die Bleichenbacher-Attacke wiederholen. Bereits 2012 gab es eine Forschungsarbeit, die eine beschleunigte Version des originalen Bleichenbacher-Angriffs entwickelt hatte. Diese Verfahren konnte Meyer ausnutzen und brauchte für seinen Angriff weit weniger als eine Million Versuche. Nach circa 70.000 Serverantworten gelang es, eine mit einem 4096-Bit-RSA-Schlüssel verschlüsselte Nachricht zu entschlüsseln.

Für TLS-Verbindungen bedeutet das, dass ein Angreifer damit das sogenannte Pre-Master Secret herausfinden kann. Daraus wird der Sitzungsschlüssel für eine TLS-Verbindung erzeugt. Wird kein Forward Secrecy eingesetzt, lässt sich damit ein vorher belauschter Datenverkehr mitlesen.

Doch selbst wenn JSSE nur noch eine Fehlermeldung schickt, ist das Problem nicht völlig aus der Welt. Denn nach wie vor besteht ein Timing-Problem, da der Dekodierungsfehler eine Java-Exception auslöst. Diese benötigt so viel Rechenzeit, dass ein Angreifer aufgrund der Antwortzeit erfahren kann, ob ein solcher Dekodierungsfehler aufgetreten ist.

Meyer weist darauf hin, dass offenbar OpenSSL bis vor kurzem ein ähnliches Problem hatte. Ein entsprechender Patch, der dieses Problem behebt, wurde im Juni vergangenen Jahres in den Code von OpenSSL eingepflegt.

Der Bleichenbacher-Angriff macht sich die besonders einfache Struktur der RSA-Verschlüsselung nach dem alten Standard PKCS #1 1.5 zunutze. Zwar gibt es schon länger den neueren Standard PKCS #1 2.1, der die verbesserten RSA-Modi OAEP (für Verschlüsselung) und PSS (für Signaturen) unterstützt, doch TLS und die meisten anderen Anwendungen setzen weiterhin auf den alten Standard. Meyer warnt jedoch davor, OAEP als Allheilmittel zu betrachten. Manche Probleme von RSA würden damit zwar verhindert, doch Meyer verweist auf eine Forschungsarbeit von James Manger aus dem Jahr 2001, in der ein ähnliches Problem in OAEP beschrieben wird. Meyer untersuchte daraufhin den OAEP-Code von JSSE und stellte fest, dass sich ein solcher Fehler eingeschlichen hatte und vermutlich ein ähnlicher Angriff möglich wäre, wenn TLS bereits OAEP unterstützen würde.

Die Fehler in JSSE hat Chris Meyer im Rahmen seiner Dissertation mit dem Titel 20 Years of SSL/TLS Research entdeckt. Alle beschriebenen Fehler in JSSE wurden von Oracle behoben, allerdings erklärt Meyer, dass er noch weitere Probleme entdeckt habe, an deren Behebung gearbeitet werde und zu denen er in Kürze weitere Details veröffentlichen werde.



Anzeige
Top-Angebote
  1. 79,00€
  2. 999,00€ + Versand
  3. (u. a. GTA 5 12,49€, GTA Online Cash Card 1,79€)
  4. (aktuell u. a. Dell-Notebook 519€, Dell USB-DVD-Brenner 34,99€)

TrudleR 19. Apr 2014

+1 Die Infos aus dem Startthread reichen wirklich aus, um den Sachkundemangel festzustellen.

redmord 19. Apr 2014

Einfach auf Windows Phone umsteigen... *SCNR*


Folgen Sie uns
       


Sony Xperia 1 - Test

Das Xperia 1 eignet sich dank seines breiten OLED-Displays hervorragend zum Filmeschauen. Im Test zeigt Sonys neues Smartphone aber noch weitere Stärken.

Sony Xperia 1 - Test Video aufrufen
Google Maps in Berlin: Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird
Google Maps in Berlin
Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird

Kartendienste sind für Touristen wie auch Ortskundige längst eine willkommene Hilfe. Doch manchmal gibt es größere Fehler. In Berlin werden beispielsweise einige Kleinprofil-Linien falsch gerendert. Dabei werden betriebliche Besonderheiten dargestellt.
Von Andreas Sebayang

  1. Maps Duckduckgo mit Kartendienst von Apple
  2. Google Maps zeigt Bikesharing in Berlin, Hamburg, Wien und Zürich
  3. Kartendienst Qwant startet Tracking-freie Alternative zu Google Maps

FPM-Sicherheitslücke: Daten exfiltrieren mit Facebooks HHVM
FPM-Sicherheitslücke
Daten exfiltrieren mit Facebooks HHVM

Server für den sogenannten FastCGI Process Manager (FPM) können, wenn sie übers Internet erreichbar sind, unbefugten Zugriff auf Dateien eines Systems geben. Das betrifft vor allem HHVM von Facebook, bei PHP sind die Risiken geringer.
Eine Exklusivmeldung von Hanno Böck

  1. HHVM Facebooks PHP-Alternative erscheint ohne PHP

Raumfahrt: Galileo-Satellitennavigation ist vollständig ausgefallen
Raumfahrt
Galileo-Satellitennavigation ist vollständig ausgefallen

Seit Donnerstag senden die Satelliten des Galileo-Systems keine Daten mehr an die Navigationssysteme. SAR-Notfallbenachrichtigungen sollen aber noch funktionieren. Offenbar ist ein Systemfehler in einer Bodenstation die Ursache. Nach fünf Tagen wurde die Störung behoben.


      •  /