EN

Was ist ein SSL-BEAST-Angriff und wie funktioniert er?

In diesem Artikel:

Browser Exploit Against SSL/TLS (BEAST) ist ein Angriff, der eine Schwachstelle in Transport-Layer Security (TLS) 1.0 und älteren SSL-Protokollen ausnutzt, die den Cipher Block Chaining (CBC)-Modus zur Verschlüsselung verwenden. Er ermöglicht es Angreifern, HTTPS-Client-Server-Sitzungen abzufangen und zu entschlüsseln und Authentifizierungstoken zu erlangen. Dies geschieht durch die Kombination eines Man-in-the-Middle-Angriffs (MITM) mit einem Record-Splitting- und Selected Boundary-Angriff.

Die theoretische Schwachstelle wurde bereits 2002 von Phillip Rogaway beschrieben und 2011 von den Sicherheitsforschern Thai Duong und Juliano Rizzo in einem Proof of Concept demonstriert. Der BEAST-Angriff hat einige Ähnlichkeiten mit Protokollherabstufungsangriffen wie POODLE, da er ebenfalls einen MITM-Ansatz verwendet und Schwachstellen in CBC ausnutzt. 

Obwohl die Wahrscheinlichkeit dieses Angriffs sehr gering ist und er bestenfalls zum Auslesen kurzer Klartextstrings verwendet werden kann, reiht er sich in eine Reihe von Angriffen ein, die CBC-Schwachstellen ausnutzen. Darüber hinaus könnte er zusammen mit einem Downgrade-Angriff, wie z. B. in POODLE, verwendet werden, um einen Server zu zwingen, zu TLS 1.0 oder älter zurückzukehren.

BEAST-Sicherheitsbewertung

Security Assessment Prevent SSL BEAST

CVSS-Vektor: AV:N/AC:M/Au:N/C:P/I:N/A:N

Worin besteht die BEAST-Sicherheitslücke?

Ein Server, der TLS 1.0 mit Blockchiffren verwendet, ist durch BEAST verwundbar. Dies ist auf die inhärente Schwäche von CBC zurückzuführen, die es Angreifern ermöglicht, als Man-in-the-Middle zu agieren und die übrigen Angriffe auszuführen.

Damit BEAST möglich ist, müssen mehrere Bedingungen erfüllt sein:

  • Ein Angreifer muss in der Lage sein, die Netzwerkverbindung und die Sitzungen zwischen Client und Server zu überwachen oder zu „schnüffeln“.
  • Es muss eine verwundbare Version wie TLS 1.0 oder ein älteres SSL-Protokoll mit einer Blockchiffre verwendet werden (oder ein Downgrade muss möglich sein)
  • Ein Applet oder eine JavaScript-Injektion muss wahrscheinlich sein, die die Same-Origin-Policy einer Website außer Kraft setzt.

Aufgrund der besonderen Bedingungen, die für den Start von BEAST erforderlich sind, ist es unwahrscheinlich, dass er überhaupt gelingt. Es handelt sich daher nicht um einen besonders praktischen Angriff. Außerdem sind Webanwendungen aufgrund der Same-Origin-Policy in modernen Browsern inzwischen standardmäßig geschützt. Solange diese Richtlinie nicht irgendwie umgangen wird, z. B. durch serverseitige CORS-Header oder auf andere Weise, ist eine Injektion praktisch unmöglich. 

Dennoch ist es nicht völlig undenkbar, dass dieser Angriff ausgeführt werden könnte, insbesondere bei älteren Systemen, die sich beispielsweise in Unternehmens-Intranets befinden. Abgesehen davon ist es auch hilfreich, BEAST zu kennen, um zu verstehen, wie Angreifer einen mehrgleisigen Ansatz verfolgen können, und um die Notwendigkeit rechtzeitiger Patches und Maßnahmen zu unterstreichen.

Hier erfahren Sie, wie der BEAST-Angriff im Detail funktioniert.

What is the SSL/TLS BEAST Attack - Crashtest Security

Wie funktioniert der BEAST-Angriff?

BEAST beruht auf der vorhersehbaren Art und Weise, wie Initialisierungsvektoren als Teil des Verschlüsselungsprozesses im CBC-Modus erzeugt werden. Aufgrund der Vorhersehbarkeit dieses Prozesses und der festen Größe von Chiffren (d. h. Blöcken) können Angreifer die Grenzen von Chiffrenblöcken manipulieren (der Teil des BEAST-Angriffs, der sich auf die gewählten Grenzen bezieht) und den Klartext langsam enthüllen, ohne ihn durch den Erhalt des Schlüssels entschlüsseln zu müssen. 

Um dieses Verfahren zu verstehen, ist eine kurze Erklärung der Funktionsweise von Blockchiffren erforderlich.

TLS, Blockchiffren und Initialisierungsvektoren

TLS verwendet Chiffriersuiten mit symmetrischer Verschlüsselung und vor allem Blockchiffren. Symmetrische Verschlüsselung bedeutet, dass derselbe Schlüssel zum Ver- und Entschlüsseln von Informationen verwendet wird. Um jedoch besser geschützt zu sein, wird während des Aushandlungsprozesses zwischen Browser und Server zunächst ein asymmetrischer Verschlüsselungsmechanismus verwendet, um den gemeinsamen Schlüssel zu ermitteln. Nachdem der gemeinsame Schlüssel ausgehandelt wurde, erfolgt die Verschlüsselung auf symmetrische Weise, was schneller ist.

Blockchiffren werden so genannt, weil sie Daten in Blöcken fester Länge (8 Byte, um genau zu sein) verschlüsseln. Bei der Verschlüsselung von Informationen, die kürzer als die gesamte Blocklänge sind, wird die verbleibende Länge mit einem zufälligen Datenblock aufgefüllt. Gängige Typen von Blockchiffren sind DES, AES und 3DES. 

Um die Entschlüsselung von Daten komplexer und sicherer zu machen, verwendet CBC einen so genannten Initialisierungsvektor (IV). Ohne einen Initialisierungsvektor würden dieselben Daten nach der Verschlüsselung immer denselben Chiffretextblock ergeben, was sie einem Klartextangriff aussetzen würde. Um Zufälligkeit in die Gleichung einzuführen, wird der erste Block verschlüsselter Daten mit einem IV (Zufallsdaten) kombiniert, der dann mit dem ausgehandelten Schlüssel verschlüsselt wird und einen Chiffretextblock erzeugt.

Danach verwendet jeder nachfolgende Block den Chiffretext des vorherigen Blocks als sein IV. Dann wird er mit dem Klartext der Nachricht durch eine so genannte XOR-Verknüpfung kombiniert (eine logische Operation zur Verkettung der Blöcke, daher der Name Cipher Block Chaining). Das Ganze wird dann mit dem ausgehandelten Schlüssel verschlüsselt. 

Diese Blockverkettung wird verwendet, anstatt für jede Nachricht einen zufälligen IV zu generieren, aber sie macht jede nachfolgende IV vorhersehbar und bekannt, da sie die Chiffriertextausgabe des vorherigen Blocks ist. Außerdem ist XOR eine umkehrbare Operation, die ein weiteres Element der Verwundbarkeit einführt. Diese Vorhersagbarkeit ist die Grundlage von BEAST.

Durchführung eines BEAST-Angriffs

Angenommen, ein Angreifer kann den Nachrichtenaustausch zwischen dem Client und dem Server „abhören“. Zusätzlich wird angenommen, dass der Server TLS 1.0 oder SSL verwendet und dass der Angreifer in der Lage ist, einen Benutzer dazu zu bringen, ein JavaScript oder ein Applet über eine bösartige Website auszuführen. 

Dies würde dazu führen, dass der Angreifer Datenblöcke in die Sitzung injiziert. Sie hätten sowohl den IV einer Nachricht als auch deren XOR mit dem Klartextblock, den sie injizieren wollen. Diese könnten sie dann an den Server senden und die Antwort des Servers beobachten – d. h. sie würden einen Man-in-the-Middle-Angriff starten und einen so genannten Record-Splitting-Angriff durchführen. Auf diese Weise können sie sich Zugang zu Informationen verschaffen, die zwischen Webservern und Browsern ausgetauscht werden, wie z. B. Passwörter, Kreditkartennummern und mehr.

Ursprünglich bestand beim BEAST-Angriff das Problem darin, dass nur das Erraten eines ganzen Blocks von Chiffretext möglich schien. Aber leider ist das Erraten eines ganzen Datenblocks, selbst eines 8-Bit-Blocks, eine schwierige Aufgabe, die bis zu 2568 Versuche erfordern kann. Dies machte BEAST zu einem theoretischen Angriff, der nicht durchführbar, wenn nicht gar unmöglich schien.

Doch wie Thai Duong und Juliano Rizzo 2011 entdeckten, war ein anderer Ansatz möglich. Anstatt zu versuchen, den gesamten Block zu erraten, ging das Duo so vor. Sie verschoben die Grenzen des Chiffrierblocks und isolierten nur ein Byte. Dadurch ist das Erraten eines Bytes wesentlich leichter zu bewerkstelligen, da es die maximalen Versuche, eine einzelne Ziffer einer Zahl zu erraten, beispielsweise auf 10.Byte begrenzt, wobei die Grenzen nach jedem erfolgreichen Erraten verschoben werden. Dies ist der gewählte Teil des Angriffs.

Ist es wahrscheinlich, dass Sie von der BEAST-Sicherheitslücke betroffen sind?

Angesichts der vielen Bedingungen, die erfüllt sein müssen, um einen BEAST-Angriff auszuführen, werden Sie wahrscheinlich nicht auf diese Weise angegriffen. Wenn es den Angreifern jedoch gelingt, sich so zu positionieren, dass sie alle Voraussetzungen erfüllen, haben sie viel mehr Möglichkeiten, Ihr System und Ihre Benutzerdaten zu kompromittieren. 

Da BEAST Schwachstellen ausnutzt, die bei anderen Angriffen verwendet werden, ist es dennoch wichtig, Maßnahmen zu ergreifen, um eine Gefährdung zu vermeiden. Wenn Ihr Server beispielsweise TLS 1.0 oder eine andere Version von SSL unterstützt, gibt es eine ganze Reihe von Sicherheitslücken. Im folgenden Abschnitt finden Sie kurze Informationen zur Verhinderung eines möglichen BEAST-Angriffs.

Präventionsleitfaden für SSL/TLS-Schwachstellen

Leitfaden

Erfahren Sie, wie Sie verschiedene Arten von SSL/TLS-Schwachstellen erkennen und verhindern können.

Mehr erfahren

Wie kann man den BEAST-Angriff verhindern?

Ursprünglich wurde empfohlen, zur RC4-Stromchiffre zu wechseln, um die mit CBC verbundenen Schwachstellen in TLS schnell zu verhindern. Im Jahr 2013 wurde jedoch festgestellt, dass die RC4-Chiffre in vielerlei Hinsicht unsicher ist. Daher wurde zwei Jahre später ihre Verwendung in TLS-Implementierungen verboten.

Die einfachste und effizienteste Methode zur Verhinderung eines BEAST-Angriffs besteht derzeit darin, die Unterstützung für TLS 1.0 und 1.1 sowie für SSL auf Ihrem Server zu deaktivieren und abzuschalten. Dies schützt Sie auch vor anderen Sicherheitslücken, die Schwachstellen in SSL und früheren Versionen von TLS ausnutzen, wie z. B. POODLE oder DROWN.

Wie Sie ältere Versionen von SSL und TLS deaktivieren können, erfahren Sie auf unserer Seite zur Konfiguration von Secure TLS.

Erhalten Sie jetzt kostenlos einen schnellen Sicherheitsbericht für Ihre Website

Wir analysieren derzeit https://example.com
Wir scannen derzeit https://example.com
Status des Scans: In Bearbeitung
Scan target: http://example.com/laskdlaksd/12lklkasldkasada.a
Datum: 06/12/2022
Crashtest Security Suite prüft auf:
Information disclosure Known vulnerabilities SSL misconfiguration Open ports
Scanauftrag ausfüllen
Bitte geben Sie Ihre Daten ein, um die schnelle Sicherheitsüberprüfung zu erhalten.
Ein Sicherheitsspezialist analysiert gerade Ihren Scan-Bericht.
Bitte geben Sie Ihre Telefon-/Handynummer an, damit wir Ihre Identität überprüfen können:
Vielen Dank.
Wir haben Ihren Antrag erhalten.
Sobald Ihr Sicherheitsaudit fertig ist, werden wir Sie benachrichtigen.