Poodle beißt Load Balancer: Lückenhafte Internet-Verschlüsselung mit TLS/SSL

Eine ganze Reihe der meist besuchten Webseiten im Netz nutzt vorgeschaltete Load-Balancer von zwei Firmen, die verwundbar für den Poodle-Angriff sind. Dieser betrifft nämlich nicht, wie zuerst gedacht, ausschließlich SSLv3.

In Pocket speichern vorlesen Druckansicht 43 Kommentare lesen
Poodle-Angriff
Lesezeit: 3 Min.
Von
  • Fabian A. Scherschel

Der Poodle-Angriff betrifft nicht nur SSLv3. Auch Versionen des Nachfolgers TLS bis 1.2 sind angreifbar, wenn ein Hersteller deren Spezifikation nicht korrekt umsetzt.

Wie Googles Krypto-Spezialist Adam Langley aufdeckte, sind eine Reihe größerer Webseiten trotz TLS 1.x anfällig für den Poodle-Angriff (CVE-2014-8730). Grund ist die Tatsache, dass unter anderem Load-Balancer der Firmen F5 und A10 Networks beim Umsetzen bestimmter Checks schlampen – und die sind bei großen, viel besuchten Webseiten weit verbreitet. Beide Firmen arbeiten daran, die von Langley und anderen Sicherheitsforschern entdeckte Lücke zu stopfen; F5 hat bereits Patches zur Verfügung gestellt.

Der Poodle-Angriff nutzt die Daten, mit denen ein Datensatz auf ein Vielfaches der Blockgröße erweitert wird, also das sogenannte Padding, zum Knacken der Verschlüsselung. Diese Padding-Daten sind bei SSLv3 beliebig während TLS eigentlich recht genau definiert, wie das Auffüllen zu erfolgen hat. Manche Hersteller missachteten diese Vorschriften jedoch und überprüfen insbesondere nicht, ob das Padding TLS-konform erfolgt. Sie nutzten einfach weiter ihre Padding-Funktionen aus SSLv3 – und sind damit genau wie dieses für die Poodle-Angriffe anfällig.

Das Problem betrifft – wie auch schon Beast und Lucky13 – wieder die Verschlüsselung im CBC-Modus. Ursache ist jedoch gar nicht CBC sondern eine falsche Design-Entscheidung, die in den Anfängen von SSL getroffen wurde. Damals hat man entschieden, dass man erst den Hash-Wert über die zu schützenden Daten bildet, den an die Daten dranhängt und das Ganze dann verschlüsselt (MAC-then-encrypt). Damit bleiben die hinteren Bytes, mit denen das Ganze dann auf einen vollen Block aufgefüllt wird, jedoch ungeschützt.

Ein Angreifer kann diese Padding-Daten beliebig manipulieren und damit austesten, ob die Entschlüsselung noch klappt. Das hilft ihm, bestimmte Teile der Nachricht zu erraten. Genau beschrieben ist der Poodle-Angriff im heisec-Artikel Poodle: So funktioniert der Angriff auf die Verschlüsselung. Dieses Mac-then-encrypt-Problem betrifft alle TLS-Versionen bis einschließlich TLS 1.2. Grundsätzlich korrigiert wird dieses Design-Problem erst mit Cipher Suiten, die AES im Galois Counter Mode (GCM) benutzen. Dabei werden Integritätssicherung via MAC und Verschlüsselung kombiniert; AES/GCM gehört zum Umfang von TLSv1.2.

Bei dem aktuellen Poodle-Angriff spielt die TLS-Version jedoch keine Rolle. Die betroffenen Load Balancer lassen sich auch dann attackieren, wenn sie TLS 1.2 mit CBC-Cipher-Suiten einsetzen. Da ein Angreifer kein Downgrade der Protokollversion erzwingen muss, ist der Angriff sogar einfacher als zuvor. Ob der eigene Server angreifbar ist, kann man mit dem SSL-Server-Test der SSL Labs herausfinden. Dessen Entwickler Ivan Ristic gab bekannt, dass nach seinen Erkenntnissen momentan ungefähr zehn Prozent aller Server angreifbar seien, die HTTPS-Verbindungen anbieten. Er erklärt auch, dass man lediglich 4096 manipulierte HTTPS-Anfragen benötigt, um den neuen Poodle-Angriff durchzuführen. Anders als bei manch anderen Angriffen, die völlig unrealistische Voraussetzungen erfordern, ist dies durchaus auch in der Praxis möglich. (fab)