Poodle

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Poodle (Abkürzung für engl. Padding Oracle On Downgraded Legacy Encryption) ist eine schwerwiegende Sicherheitslücke in verschiedenen Internet-Protokollen, wodurch über verschlüsselte Verbindungen private Daten von Clients und Servern ausgelesen werden können.

Die Sicherheitslücken werden in CVE-2014-3566 und CVE-2014-8730 beschrieben.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Das von Netscape entwickelte Protokoll SSL 3.0 (RFC 6101) wurde 1999 von TLS 1.0 (RFC 2246) sowie später von TLS 1.1 (RFC 4346) und TLS 1.2 (RFC 5246) abgelöst. Neuere Browser verbinden sich bei misslungenen TLS-Verbindungen erneut mit einer älteren TLS-Version. Fehlerhafte Implementierungen beantworten Verbindungsversuche mit neueren TLS-Versionen nicht. Angreifer können Verbindungen mit TLS ablehnen, um Verbindungen mit SSL 3.0 zu erzwingen (englisch: Protocol Downgrade Attack bzw. SSL 3.0 fallback).

Der Poodle-Angriff missbraucht das Padding-Verfahren (aus dem Englischen “to pad”, “auffüllen”). Hierunter versteht man Fülldaten, mit denen man einen Datenbestand vergrößert. Bei symmetrischen Blockchiffren dient Padding dazu, einen Klartext an eine feste Blocklänge anzupassen. Die Betriebsart Cipher Block Chaining Mode (CBC) erfordert hierbei als Eingabe einen Klartext, dessen Länge ein Vielfaches der Blocklänge ist. Vor dem Verschlüsseln eines Klartextblocks wird dieser mit dem im vorhergehenden Schritt erzeugten Geheimtextblock per XOR (exklusives Oder) verknüpft.

Mit JavaScript-Code in einer beliebigen im Browser geladenen Website kann ein Angreifer verschlüsselt übertragene Daten (z.B. HTTP-Session-Cookies) dechiffrieren, indem diese Byte für Byte mehrfach modifiziert an den Server gesendet werden. Sowohl das Einfügen des bösartigen JavaScript-Codes als auch das Abfangen der verschlüsselten Daten kann dabei durch einen Man-in-the-middle-Angriff erfolgen.

Die Sicherheitslücke war bereits seit 1999 – dem Jahr der Einführung von TLS 1.0 – anwendbar.

Gegenmaßnahmen[Bearbeiten | Quelltext bearbeiten]

Da durch Man-in-the-middle-Angriffe vielfältige Internet-Dienste gefährdet sind, ist die Abschaltung der SSL-Version 3.0 auf allen Servern als auch in allen Client-Anwendungen notwendig. Falls dies aus Kompatibilitätsgründen nicht möglich ist, empfehlen die Entdecker der Sicherheitslücke, die Cipher Suite TLS_FALLBACK_SCSV zu unterstützen. Diese verhindert das Erzwingen von SSL-3.0-Verbindungen. Zugleich wird ein Rückfall von TLS 1.2 auf eine TLS-1.1- oder TLS-1.0-Verbindung verhindert.[1]

Auch manche TLS-Implementierungen akzeptieren beliebige Auffüll-Bytes. Das ist laut der TLS-Spezifikation erlaubt, da das Prüfen der Auffüll-Bytes optional ist. Als sicher gelten daher nur Verfahren, die AES im Galois/Counter-Modus (GCM) nutzen (ab TLS 1.2).

Web-Browser[Bearbeiten | Quelltext bearbeiten]

  • Version 34 des Mozilla Firefox-Browsers deaktiviert SSL 3.0. In älteren Firefox-Versionen (sowie in Mozilla Thunderbird und SeaMonkey) muss über about:config die Einstellung security.tls.version.min auf den Wert „1“ gesetzt werden.
  • In Google Chrome und Chromium wird SSL 3.0 manuell auf der Kommandozeile mit dem Parameter -ssl-version-min=tls1 abgeschaltet. Ab Version 40 kann Chrome ohne diese Parameter-Eingabe abgesichert betrieben werden.
  • Im Internet Explorer muss unter „Internetoptionen“ → „Erweitert“ → „Sicherheit“ der Haken bei „SSL 3 verwenden“ entfernt werden. Beim mit Windows XP ausgelieferten Browser Internet Explorer 6 muss das Nachfolge-Protokoll TLS 1.0 an gleicher Stelle aktiviert werden.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Bodo Möller: This POODLE bites. exploiting the SSL 3.0 fallback. 14. Oktober 2014, abgerufen am 13. November 2014 (englisch).