Skip to content

BEAST - Ein neuer Angriff auf SSL und TLS 1.0

Ein neuer Angriff auf eine seit 2001 bekannte Schwachstelle in allen SSL-Versionen und der TLS-Version 1.0 erlaubt es Angreifern im gleichen Netz, über HTTPS übertragene Cookies auszuspähen. Juliano Rizzo und Thai Duong haben dazu auf der Sicherheitskonferenz ekoparty das Tool "BEAST" (Browser Exploit Against SSL/TLS) vorgestellt, das einen neuen, schnellen "block-wise chosen-plaintext"-Angriff implementiert.

Angriff über den Webbrowser

Bei einem "block-wise chosen-plaintext"-Angriff kann der Angreifer blockweise Klartexte seiner Wahl verschlüsseln lassen. Aus dem ihm bekannten Klartext und dem beobachteten Schlüsseltext lässt sich dann auf die verwendete Entropie schließen. Dadurch reduziert sich der Aufwand zum Brechen der Verschlüsselung gewaltig. Gregory V. Bard hat sowohl die Schwachstelle in SSL (PDF) als auch einen Angriff darauf (PDF) bereits 2004 und 2006 beschrieben, außerdem gibt es eine Zusammenstellung der Schwachstellen in SSL und TLS 1.0 z.B. von Bodo Möller.

Bisher wurden weder der BEAST-Code noch das Paper dazu veröffentlicht. Es gibt lediglich ein Video der Live-Demo des Angriffs und eine Vorversion des Papers in Mozillas Bugzilla.

BEAST besteht aus zwei Teilen: JavaScript-Code oder Java-Applets, die im Browser des Opfers eingeschleust werden und präparierte Daten in die verschlüsselte Verbindung einschleusen, und einem Sniffer, der die z.B. über WLAN übertragenen Daten belauscht. Was genau dabei passiert, ist bisher relativ unklar. Inoffizielle Beschreibungen gibt es z.B. im Opera Security Blog, im Tor Blog und auf ImperialViolet.

Der Angriff, allgemein

Blockchiffren wie z.B. DES oder AES werden in verschiedenen Betriebsarten betrieben. In diesem Fall wird die Betriebsart "Cipher-Block Chaining" (CBC) angegriffen, die mit AES eingesetzt wird. Bei dieser "Blockchiffre mit Blockverkettung" wird vor dem Verschlüsseln jedes außer des ersten Blocks der Schlüsseltext des vorhergehenden Blocks zum Klartext modular addiert und beim Entschlüsseln entsprechend subtrahiert. Dadurch wird verhindert, dass ein Angreifer erkennt, wenn zwei identische Klartextblöcke verschlüsselt werden. Da es für den ersten Block keinen vorhergehenden Schlüsseltext gibt, kann ein Angreifer erkennen, ob zwei Klartexte mit den gleichen Blöcken beginnen. Um dies zu verhindern, wird der Zwischenspeicher mit einem zufälligen Wert initialisiert. Beim "block-wise chosen-plaintext"-Angriff wird durch das Einfügen präparierter Klartext-Blöcke auf den Klartext anderer Blöcke geschlossen. Konkret hat BEAST es dabei auf Session-Cookies abgesehen, die bei jedem Request automatisch an den Webserver geschickt werden. Indem der Reihe nach entsprechende Klartext-Blöcke eingefügt werden, kann nach und nach Zeichen für Zeichen des Cookies ermittelt werden (Opera Security Blog, Tor Blog und ImperialViolet).

Für einen Angriff müssen also eine Reihe von Voraussetzungen erfüllt sein:

  • Der Angreifer muss die Netzwerkverbindung des Opfers beobachten können, z.B. in einem offene WLAN.
  • Der Angreifer muss seinen Code in den Browser des Opfers einschleusen können.
  • Der eingeschleuste Code des Angreifers muss HTTPS-Requests abschicken können.
  • Nach dem Belauschen des erzeugten Requests müssen an diesen Request weitere Daten angehängt werden können.

Juliano Rizzo und Thai Duong konnten diese Voraussetzungen nach einigen Vorarbeiten erfüllen. Mit BEAST ist es möglich, auch die beim Einschleusen des Codes in den Browser bereits vorhandenen Cookies auszuspähen. Der eingeschleuste Code selbst hat keinen Zugriff darauf, da sie als HTTP-only markiert sind. Demonstriert wurde das Tool dann am Beispiel von PayPal. Nicht, weil diese Website eine Schwachstelle enthält, sondern gerade weil dort eigentlich alles richtig gemacht wird. Trotzdem kann der Session-Cookie von BEAST ausgespäht werden - und das in unter 3 Minuten. Und dabei geht es nicht um das einfache Lesen irgend welcher Daten im Browser, der Cookie wird aus den verschlüsselt übertragenen Daten extrahiert.

Gegenmaßnahmen problematisch

Die einfachste Gegenmaßnahmen bestünde darin, auf den Einsatz von SSL und TLS 1.0 zu verzichten. In TLS 1.1 wird der Angriff durch den Einsatz individueller Initialisierungsvektoren verhindert. Leider ist das weder auf Client- noch auf Server-Seite so einfach, da sehr viele Webserver noch auf diese alten Versionen setzen und auch manche Browser Probleme mit neueren Versionen haben.

Auch bei der Implementierung von alternativen Lösungen, zum Beispiel dem Einfügen leerer Blöcke, gibt es immer wieder Kompatibilitätsprobleme mit einigen Websites, wie z.B. Opera und Google für ihre Lösungen festgestellt haben. Die Firefox-Entwickler überlegen, an den Symptomen herum zu doktoren und das Java-Plugin zu blockieren. Das behebt natürlich nicht das eigentliche Problem, lediglich der von BEAST genutzter Angriffsvektor wird blockiert. Microsoft arbeitet an einem Update und hat vorerst ein Security Advisory veröffentlicht, in dem verschiedene Workarounds vorgeschlagen werden, z.B. die Priorisierung des RC4-Algorithmus und das Aktivieren von TLS 1.1 und/oder 1.2. Für letzteres stehen Fix it-Tools bereit.

Auch PhoneFactor schlägt vor, dass die Server RC4-SHA statt AES oder Triple-DES als Ciphersuite verwenden. Dann wird die CBC-Betriebsart nicht verwendet, und der Angriff läuft ins Leere. Ein Whitepaper beschreibt die nötigen Anpassungen.

Eine Übersicht der möglichen Gegenmaßnahmen sowie von Informationen über den Angriff hat Thierry Zoller zusammengestellt, die Browserhersteller diskutieren mögliche Lösungen im Eintrag in Mozillas Bugzilla.

Ein generelles Problem aller Gegenmaßnahmen, egal ob auf Client- oder Server-Seite, ist die Vielzahl vorhandener Protokollversionen und Konfigurationsoptionen. Bei jeder Änderung am vorhandenen Status besteht die Gefahr, Teile der Browser oder Websites nicht mehr zu unterstützen. Und das Risiko wollen natürlich weder Browserhersteller noch Website-Betreiber eingehen.

Wie gross ist die Gefahr?

Wie schon erwähnt, handelt es sich nicht um eine neue Schwachstelle, sondern "nur" um einen neuen Angriff auf eine seit langem bekannte (und eigentlich längst behobene) Schwachstelle. Nur wurde so ein Angriff bisher als nicht durchführbar angesehen, so dass ein Update auf TLS 1.1 oder höher nicht für notwendig gehalten wurde. Das ist nun anders. Die Gefahr eines erfolgreichen Angriffs ist m.E. gering. Ein Angreifer, der Code in den Browser des Opfers einschleusen kann, kann anderweitig mehr Schaden anrichten. BEAST ist nur dann interessant, wenn ein bereits vorhandener Cookie ausgespäht werden soll, und nur dann durchführbar, wenn die Voraussetzungen erfüllt sind. Bisher gab es nur eine Demonstration unter (mehr oder weniger) Laborbedingungen, Angriffe "in the wild" sind (natürlich) noch nicht beobachtet worden. Dafür ist der Angriff auch noch zu neu und es ist zu wenig darüber bekannt. Juliano Rizzo und Thai Duong haben auch einige Zeit gebraucht, um ihren Angriff zu entwickeln. Trotzdem sollten natürlich Gegenmaßnahmen ergriffen werden. Ab besten wäre es, alle Server würden mindestens auf TLS 1.1 "upgraden" - und alle Webbrowser würden diesen Standard dann auch unterstützen. Bis es soweit ist, muss man sich mit Notlösungen behelfen, z.B. dem Einsatz von RC4 statt AES/Triple-DES im CBC-Modus.

In der nächsten Folge geht es um einen neuen Angriff auf DSL-Router und Kabelmodems.

Carsten Eilers


Übersicht über alle Artikel zum Thema

WEP, WPA, WPA2 - WLAN-Schutz, aber richtig!
"Hole196" - Eine neue Schwachstelle in WPA2
DNS-Rebinding - Ein altbekannter Angriff kompromittiert Router
Von außen durch den Client in den Router
Ciscos "WPA Migration Mode" öffnet den Weg ins WLAN
NAT-Pinning, Angriffe auf Cisco-WLANs und ein Tool
Angriffe auf den WLAN-Client
BEAST - Ein neuer Angriff auf SSL und TLS 1.0
Konfigurationsänderungen am Router per UPnP - aus dem Internet
WLAN-Sicherheit - Stand der Dinge
WPS-Schwachstelle gefährdet WLANs

Trackbacks

Dipl.-Inform. Carsten Eilers am : Präsentationen und Links zu meinen #wtc11-Vorträgen sind online

Vorschau anzeigen
Ich habe soeben die Präsentationen zu meinen Vorträgen auf der WebTech Conference hochgeladen. Sie finden Sie auf www.ceilers-it.de/konferenzen/ sowie auch hier: Client Security im Web 2.0 und mit HTML5 Beschreibung: Schwachstel

Dipl.-Inform. Carsten Eilers am : Neues zur Sicherheit von Webservern und -anwendungen, Teil 2

Vorschau anzeigen
Weiter geht es mit Informationen über interessante Vorträge zum Thema "Websecurity" auf den verschiedenen Sicherheitskonferenzen 2011. Den Anfang machen Vorträge rund um SSL: Moxie Marlinspike: SSL And The Future Of Authenticity

Dipl.-Inform. Carsten Eilers am : SSL - Der nächste Nagel im Sarg?

Vorschau anzeigen
Es gibt mal wieder schlechte Nachrichten über SSL. Diesmal wurde mal keine Zertifizierungsstelle gehackt, stattdessen haben Forscher festgestellt, dass die Prüfung von Zertifikaten in anderer Software als Webbrowsern ziemlich mangelhaft

Dipl.-Inform. Carsten Eilers am : SSL/TLS - Stand der Dinge

Vorschau anzeigen
Wie sieht es aktuell eigentlich mit der Sicherheit von SSL/TLS aus? Seit dem letzten Artikel zum Thema ist einige Zeit vergangen, und es gibt ein paar neue Entwicklungen. RC4-Algorithmus wird zum Problem Der aktuellste Angriff wurde Anfang M&a

www.adlerweb.info am : PingBack

Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.

Dipl.-Inform. Carsten Eilers am : Poodle - SSLv3 gefährdet Ihre Daten!

Vorschau anzeigen
SSL und sein Nachfolger TLS dienen dazu, Daten sicher zwischen zwei Rechnern zu übertragen. Die häufigsten Einsatzzwecke sind der sicher Zugriff auf Websites über HTTPS und die sichere Übertragung von E-Mails zwischen Client und

Dipl.-Inform. Carsten Eilers am : Drucksache: windows.developer Magazin 4.2015 - Azures Sicherheit - ein Update

Vorschau anzeigen
Im windows.developer 4.15 ist ein Artikel über die Sicherheit von Azure erschienen. Es handelt sich um ein Update für den Artikel im windows.developer 2.2014 zum gleichen Thema. Das ist jetzt etwas mehr als ein Jahr her, und in der

Dipl.-Inform. Carsten Eilers am : Neues eBook: "Websecurity - Jahresrückblick 2014"

Vorschau anzeigen
"Websecurity - Jahresrückblick 2014" ist als eBook bei entwickler.press erschienen. Im ersten Kapitel dreht sich alles um die Angriffe auf und Schwachstellne in SSL und TLS, im zweiten Kapitel geht es um die weiteren prominenten Angri

Dipl.-Inform. Carsten Eilers am : Drucksache: Windows Developer 10.15 - Wie sicher ist C# 6.0?

Vorschau anzeigen
Im windows.developer 10.15 ist ein Artikel zur Sicherheit von C# 6.0 erschienen. C# 6 ist da. Ebenso Visual Studio 2015 und .NET 4.6. Und auch wenn C#6 keine sicherheitsrelevanten Änderungen enthält gibt es Neuigkeiten rund um die S

entwickler.de am : PingBack

Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.