• IT-Karriere:
  • Services:

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. Institut für angewandte Gesundheitsforschung Berlin, Berlin
  2. Vodafone GmbH, Düsseldorf

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)
  2. 96,51€

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
       


Oneplus 8 Pro - Test

Das Oneplus 8 Pro hat eine Vierfachkamera, einen hochauflösenden Bildschirm mit hoher Bildrate und lässt sich endlich auch drahtlos laden - wir haben uns das Smartphone genau angeschaut.

Oneplus 8 Pro - Test Video aufrufen
Indiegames-Rundschau: Stadtbaukasten trifft Tentakelmonster
Indiegames-Rundschau
Stadtbaukasten trifft Tentakelmonster

Traumstädte bauen in Townscaper, Menschen fressen in Carrion und Bilderbuchgrusel in Creaks: Die neuen Indiegames bieten viel Abwechslung.
Von Rainer Sigl

  1. Indiegames-Rundschau Licht aus, Horror an
  2. Indiegames-Neuheiten Der Saturnmond als galaktische Baustelle
  3. Indiegames-Rundschau Dunkle Seelen im Heavy-Metal-Rausch

Campus Networks: Wenn das 5G-Netz nicht jeden reinlässt
Campus Networks
Wenn das 5G-Netz nicht jeden reinlässt

Über private 4G- und 5G-Netze gibt es meist nur Buzzwords. Wir wollten von einer Telekom-Expertin wissen, was die Campusnetze wirklich können und was noch nicht.
Von Achim Sawall

  1. Funkstrahlung Bürgermeister in Oberbayern greifen 5G der Telekom an
  2. IRT Öffentlich-rechtlicher Rundfunk schließt Forschungszentrum
  3. Deutsche Telekom 5G im UMTS-Spektrum für die Hälfte der Bevölkerung

Programmiersprache Go: Schlanke Syntax, schneller Compiler
Programmiersprache Go
Schlanke Syntax, schneller Compiler

Die objektorientierte Programmiersprache Go eignet sich vor allem zum Schreiben von Netzwerk- und Cloud-Diensten.
Von Tim Schürmann


      •  /