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. Mitarbeiter für Konzeption und Qualitätssicherung (m/w/d)
    ADG Apotheken-Dienstleistungsgesellschaft mbH, Regensburg
  2. Softwareentwickler (w/m/d)
    Analytik Jena GmbH, Ilmenau
Detailsuche

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.

Golem Akademie
  1. Kubernetes Dive-in-Workshop: virtueller Zwei-Tage-Workshop
    16.–17. November 2021, Virtuell
  2. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    15.–19. November 2021, virtuell
Weitere IT-Trainings

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


Aktuell auf der Startseite von Golem.de
Pixel 6 und 6 Pro im Test
Google hat es endlich geschafft

Das Pixel 6 und Pixel 6 Pro werden endlich Googles Rang als Android-Macher gerecht: Die Smartphones bieten starke Hardware und sinnvolle Software.
Ein Test von Tobias Költzsch

Pixel 6 und 6 Pro im Test: Google hat es endlich geschafft
Artikel
  1. Apple-Software-Updates: iOS 15.1, iPadOS 15.1, WatchOS 8.1 und TVOS 15.1 verfügbar
    Apple-Software-Updates
    iOS 15.1, iPadOS 15.1, WatchOS 8.1 und TVOS 15.1 verfügbar

    Die ersten größeren Aktualisierungen für iPhone, iPad, Apple Watch und Apple TV sind da. iPhone-13-Nutzer profitieren besonders.

  2. Desktop-Betriebssystem: Apple MacOS Monterey mit neuem Safari und Fokus-Funktion
    Desktop-Betriebssystem
    Apple MacOS Monterey mit neuem Safari und Fokus-Funktion

    Apple hat die finale Version seines Mac-Betriebssystems MacOS Monterey veröffentlicht. Dabei sind ein neuer Safari-Browser und eine Konzentrationsfunktion.

  3. 20 Jahre Windows XP: Der letzte XP-Fan
    20 Jahre Windows XP
    Der letzte XP-Fan

    Windows XP wird 20 Jahre alt - und nur wenige nutzen es noch täglich. Golem.de hat einen dieser Anwender besucht.
    Ein Interview von Martin Wolf

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Bosch Professional günstiger • Punkte sammeln bei MM für Club-Mitglieder: 1.000 Punkte geschenkt • Alternate (u. a. Apacer 1TB SATA 86,90€ & Team Group 1TB PCIe 4.0 159,90€) • Echo Show 8 (1. Gen.) 64,99€ • Halloween Sale bei Gamesplanet • Smart Home von Eufy günstiger [Werbung]
    •  /