Wired Equivalent Privacy

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

Wired Equivalent Privacy (WEP, engl. „Verdrahteten (Systemen) entsprechende Privatsphäre“) ist das ehemalige Standard-Verschlüsselungsprotokoll für WLAN. Es sollte sowohl den Zugang zum Netz regeln als auch die Vertraulichkeit und Integrität der Daten sicherstellen. Aufgrund verschiedener Schwachstellen gilt das Verfahren als unsicher. Die Berechnung des Schlüssels aus einigen Minuten an aufgezeichneten Daten dauert normalerweise nur wenige Sekunden. Daher sollten WLAN-Installationen die sicherere WPA2-Verschlüsselung verwenden.

Funktionsweise[Bearbeiten]

Generell handelt es sich um eine einfache XOR-Verknüpfung des Bitstroms der Nutzdaten mit einem aus dem RC4-Algorithmus generierten, pseudozufälligen Bitstrom.

Ein Ciphertext wird übertragen

Das WEP-Protokoll verwendet den RC4-Algorithmus als Pseudozufallszahlengenerator (PRNG) bei der Erzeugung eines Keystreams, der einen Schlüssel und einen Initialisierungsvektor als Eingabe erhält. Für jede zu schützende Nachricht M wird ein neuer 24 Bit langer Initialisierungsvektor IV gebildet und mit einem Schlüssel K verknüpft, der allen Stationen im Basic Service Set bekannt ist. Das Ergebnis dient als Eingabe für den RC4-Algorithmus, welcher daraus einen Keystream erzeugt. Zusätzlich wird mittels Zyklischer Redundanzprüfung (ZRP, engl. CRC) ein vermeintlich sicherer „Integritätsprüfwert“ (Integrity Check Value – ICV) berechnet und an die Nachricht M angehängt (||). Die resultierende Nachricht (M||ICV) wird mit dem Keystream (RC4(IV||K)) des RC4-Algorithmus XOR-verknüpft und der Initialisierungsvektor IV wird dem resultierenden Ciphertext vorangestellt. Die unteren Abbildungen verdeutlichen Verschlüsselung und Entschlüsselung.[1]

WEP-Verschlüsselung
WEP-Entschlüsselung

Bei der Authentifizierung unterscheidet man zwei Verfahren:

Open System Authentication[Bearbeiten]

Die Open System Authentication ist die Standard-Authentifizierung.

  • Ist der Accesspoint für keine Verschlüsselung konfiguriert, findet praktisch keine Authentifizierung statt und jeder Client kann sich mit dem WLAN verbinden.
  • Ist der Accesspoint für Verschlüsselung konfiguriert (in diesem Fall WEP):
    • logisch: Der WEP-Schlüssel dient gleichzeitig zur Authentifizierung: Jeder Client mit korrektem WEP-Schlüssel bekommt Zugang zum Netz.
    • technisch: Es findet ein Austausch von Authentifizierungsnachrichten statt und der Client wird authentifiziert. Stimmen WEP-Key auf Accesspoint und Client überein, ist Kommunikation möglich. Stimmen diese nicht überein, ist der Client zwar authentifiziert, kann jedoch keine Daten mit dem Netz austauschen.

Die Implementation der Authentifizierung mittels Schlüssel ist ein Herstellerfeature und ist nicht im Standard beschrieben.

Shared Key Authentication[Bearbeiten]

Die Shared Key Authentication ist die vermeintlich sichere Variante. Die Authentifizierung erfolgt dabei über die Challenge-Response-Authentifizierung mit einem geheimen Schlüssel.

Authentifizierungsverfahren


Allerdings basiert das Challenge-Response-Verfahren auch auf WEP und weist dieselbe Schwäche auf. Durch den Einsatz von Shared-Key Authentication wird der geheime Schlüssel entblößt, wie im nächsten Abschnitt gezeigt wird. Höchst ratsam ist es daher, auf die Shared-Key-Authentication zu verzichten und die Open Authentication einzusetzen. Auf Verschlüsselung sollte dennoch nie verzichtet werden. Auch mit Open Authentication kann ein verbundener Netzwerkteilnehmer nur mit Kenntnis des WEP-Schlüssels eine Kommunikation mit dem Access Point aufbauen.

Die vier Nachrichten der WEP-Authentifizierung stellen die Zugriffsberechtigung des Client sicher.

Angriff auf die Authentifikation[Bearbeiten]

Wie schon erwähnt, trägt die Shared-Key-Authentifikation nicht zum Schutz bei, sondern gibt im Gegenteil ungewollt Informationen preis. Da wir es hier mit einer Challenge-Response-Authentifizierung zu tun haben, spielt sich das ganze folgendermaßen ab:

  • Der Server schickt dem Client die Challenge1, bspw. eine Zufallszahl.
  • Der Client verschlüsselt diese Zahl wie oben angegeben und schickt das WEP-Paket (IV1 + Ciphertext1) zurück an den Server
  • Trudy, die Angreiferin (von engl. intruder), kann also die drei Informationen (Challenge1, IV1 und Ciphertext1) erlauschen. Sie errechnet nun mittels XOR Challenge1 \oplus Ciphertext1 = Challenge1 \oplus (Challenge1 \oplus Keystream1) = Keystream1

Trudy hat nun Keystream1 und IV1, was sich als gültige Kombination erweist. Sie kann nun selbst versuchen, sich authentifizieren zu lassen. Eine Challenge2 vom Server beantwortet sie nun einfach mit dem WEP-Paket, bestehend aus IV1 + Ciphertext2, wobei sich Letzterer ergibt aus Challenge2 \oplus Keystream1. Dies schickt sie an den Server und wird erfolgreich authentifiziert.

Das WEP-Datenpaket[Bearbeiten]

WEP-Datenpaket

Ein WEP-Datenpaket besteht aus:

  • den eigentlichen Nutzdaten,
  • einer 32-Bit-Prüfsumme dieser Nutzdaten (Integrity Check Value, ICV, mittels Zyklischer Redundanzprüfung) und
  • einem unverschlüsselten 24-Bit-Initialisierungsvektor (IV), der den WEP-Schlüssel zum Gesamtschlüssel mit 64 Bit, 128 Bit oder 256 Bit macht.
WEP-Gesamtpaket

Das eigentliche WEP-Datenpaket besteht aus den Daten und der 32 Bit langen Prüfbitfolge. Dieses wird mit der IV-WEP-Schlüsselkombination verschlüsselt, und dem Ganzen wird der Initialisierungsvektor vorangestellt.

Aus dem IV kann der Empfänger schließlich zusammen mit dem RC4-Schlüssel wieder den Klartext der Nachricht berechnen.

Schwachstellen[Bearbeiten]

Es existieren viele gut funktionierende Angriffe auf WEP-gesicherte Netze. Wenn ein WEP-gesichertes WLAN jedoch keine Teilnehmer hat, das heißt, wenn sich niemals jemand an diesem Netzwerk angemeldet hat, dann ist die Wahrscheinlichkeit sehr gering, den Schlüssel schnell zu berechnen bzw. ihn überhaupt zu berechnen. Die meisten Angriffe nutzen die Schwachstelle des mit 24 Bit sehr kurzen Initialisierungsvektor IV bei der RC4-Verschlüsselung aus.[2] Diese Angriffsmethode wird in allgemeinen Bezug auch als Related-Key-Attack bezeichnet.

Viele aktive Angriffe setzen seitens des Angreifers modifizierte Treiber voraus, da diese Reinjection beherrschen müssen. Anfangs unterstützen viele Treiber nicht einmal das passive Lauschen auf einem oder gar mehreren Kanälen, was durch den Monitor Mode erreicht werden kann. Jedoch ist passives Lauschen nur eine Grundvoraussetzung. Angenommen, ein AP hat viele Clients, die viele Daten produzieren, dann könnte man einfach alles aufzeichnen und versuchen, mit den gewonnenen Daten den WEP-Schlüssel zu berechnen. Falls die Datenmenge noch nicht ausreicht, so kann man oft diesen Datenstrom verwenden, um daraus ARP Requests zu extrahieren, die man für die Reinjection benötigt. Das Flooding seitens des Angreifers mittels ARP Requests führt - richtig durchgeführt - zu vielen ARP Replies, die dann zum Brechen des WEP-Schlüssels verwendet werden können. Reinjection ist treiberseitig recht kompliziert, da die Frames, die man in das WLAN bringt, im richtigen Timing gesendet werden müssen. Weiter ist zu beachten, dass ein Access Point nach einer gewissen Zeit eine erneute Authentifikation seitens des Clients voraussetzt. Wenn der Client sich nicht wieder am Netz anmeldet, dann werden alle gesendeten Daten am Access Point verworfen und in Kismet ist beispielsweise suspicious client zu lesen.

CRC32 als Message Authentication Code (MAC)[Bearbeiten]

Die CRC32-Funktion ist streng linear, denn CRC32(A XOR B)=CRC32(A) XOR CRC32(B).[3] Daher ist diese Funktion als Message Authentication Code ungeeignet, denn es ist auch ohne den eigentlich dafür benötigten geheimen Schlüssels möglich, die Bits zu berechnen, die sich in der Prüfsumme ändern müssen, wenn man den Geheimtext ändern will. Durch diese Schwäche kann man den Payload des Paketes nach Belieben modifizieren, da man nach der Modifikation nur noch den MAC, also den neuen CRC32 Wert, berechnen muss.

Der obige Modifikationsschritt sieht in etwa so aus:

Verschlüsselte Nachricht m                        c=CRC32(m)
00100101001110010100101010101010100101...         10101010 10111101 10101101 10100000

Modifikationsvektor m'                            c'=CRC32(m')
00000000000000000000000000000000001000...         00000001 10101010 10100000 10100100

Im letzten Schritt berechnet man die neue Nachricht m_neu und den dazugehörigen MAC c_neu:

m_neu = m XOR m'
c_neu = CRC32(m) XOR CRC32(m')

Um eine gefälschte Nachricht zu erstellen und um diese dann zu versenden, müssen nun die Datenfelder m und CRC32(m) im original Datenpaket (engl. Frame) durch die neu errechneten Werte m_neu und c_neu ersetzt werden. Nach dem Ersetzen kann das modifizierte Paket dann erneut versendet werden.

Auf diese Art kann man alle Pakete ändern. Wenn man jedoch wissen will, ob die Modifikation erfolgreich war, sollte man ein Paket wählen, das bei der Gegenstelle dann wieder zu einer Antwort führt.

Wenn das Quellpaket z. B. ein Ping-Request war, so könnte man z. B. testen, auf welche Modifikationen im Paket man eine Antwort bekommt. Interessante zustandslose Pakete wären: ARP-Request sowie Ping.

Brechen des Schlüssels[Bearbeiten]

Es ist möglich, einen genutzten WEP-Schlüssel und damit die gesamte WEP-Verschlüsselung zu brechen. Es gibt für verschiedene Systeme Zubehör, das durch Mithören einer ausreichenden Menge des Datenverkehrs den verwendeten WEP-Schlüssel berechnen kann, zum Beispiel Aircrack oder Airsnort. Dieser Angriff basiert darauf, möglichst viele Pakete mit gleichem, schwachem Initialisierungsvektor zu haben. So ist es heute bereits möglich, eine WEP-Verschlüsselung in unter einer Minute zu knacken.[4]

In den letzten Jahren wurden die Angriffsmöglichkeiten immer weiter verbessert und ausgeweitet. So ist es beispielsweise möglich, wenn auch nur eine der übermittelten Nachrichten auch im Klartext bekannt ist, beliebige Inhalte (korrekt verschlüsselt) in das WLAN einzuspeisen. Des Weiteren gibt es eine Technik, einzelne, mitgehörte Datenpakete zu entschlüsseln, indem sie mehrmals leicht modifiziert wieder in das WLAN eingespielt werden. Dieser so genannte KoreK-Angriff verwendet nicht wie bisher Datenpakete mit gleichem Initialisierungvektor, sondern mit unterschiedlichen, wodurch der Angriff viel effektiver wird.[5]

Außerdem kommen neben den passiven Angriffen auch aktive Angriffe zum Einsatz. So kann man Antworten des Access-Points forcieren, um innerhalb kürzester Zeit (~1 min) ausreichend Daten für einen erfolgreichen passiven Angriff zu sammeln. Dazu werden ARP-Pakete anhand bestimmter Signaturen gezielt abgefangen und – ohne ihren entschlüsselten Inhalt zu kennen – wieder verschlüsselt in das WLAN eingespeist.

Sicherheitsmaßnahmen[Bearbeiten]

An erster Stelle sollte der Verzicht auf WEP zugunsten von WPA2 stehen. Dieses Ziel lässt sich in vielen Fällen bereits durch ein Treiber- oder Firmwareupdate erreichen. Lässt sich der Einsatz von WEP nicht vermeiden, sollten zumindest die grundlegenden Sicherheitsmaßnahmen ergriffen werden, die dem Abschnitt Grundlegende Sicherheitsmaßnahmen des Hauptartikels Wireless Local Area Network entnommen werden können.

Alle diese Sicherheitsmaßnahmen dürfen aber nicht darüber hinwegtäuschen, dass diese letztlich keinen wirklichen Schutz beim Einsatz von WEP bedeuten. Ein Angriff auf die WEP-Verschlüsselung ist trotz all dieser Vorkehrungen mit den richtigen technischen Voraussetzungen innerhalb von ca. einer Minute mit großer Sicherheit erfolgreich.

Wirkungsvoll – aber mit Mehraufwand und evtl. Mehrkosten verbunden – ist die Verwendung von VPN-Technologie wie z.B. IPsec, PPTP oder OpenVPN, um die ungesicherte oder mit WEP (WEP64 oder WEP128) nur schwach gesicherte WLAN-Verbindung zu überbrücken. Ein relativ geringer Mehraufwand entsteht für die Konfiguration eines Zielrechners, mit dem man sicher kommunizieren möchte, so dass dieser eine VPN-Verbindung akzeptiert. Größerer Aufwand und eventuelle Mehrkosten entstehen bei der Einrichtung eines VPN-Gateways und der Einbindung und Verwaltung der Netzwerkteilnehmer, die sicher kommunizieren sollen.

Einsatz[Bearbeiten]

Aufgrund der Schwachstellen empfehlen Netzwerktechniker, den Verkehr über den Access Point mit einer zusätzlichen Verschlüsselung abzusichern. In der Praxis wird dies häufig durch ein VPN gelöst. Als Nachfolger für das unsichere WEP gilt WPA bzw. dessen Verbesserung WPA2 als IEEE-802.11i-Standard.

Bei der Absicherung durch ein VPN wird wahlweise nur die Nutzlast oder das gesamte Datenpaket verschlüsselt. Da WEP dann keinerlei zusätzlichen Sicherheitsgewinn mehr bringt, kann es nach dem KISS-Prinzip abgeschaltet werden, um mögliche Fehlerquellen zu minimieren. Eine andere Meinung ist, dass man WEP nutzen sollte, um die OSI-Schicht 2 wenigstens minimal abzusichern.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Seminar Net Security – Sicherheit im WLAN von Jörg Hedrich (PDF; 831 kB)
  2. Scott Fluhrer, Itsik Mantin, Adi Shamir: Weaknesses in the Key Scheduling Algorithm of RC4 (PDF; 297 kB)
  3. Flaws in WEP (Version vom 18. März 2007 im Internet Archive)
  4. heise Online WEP-Verschlüsselung von WLANs in unter einer Minute geknackt
  5.  Rafik Chaabouni: Break WEP Faster with Statistical Analysis. Juni 2006, Kapitel 4 (Semesterarbeit an der EPFL, http://lasecwww.epfl.ch/pub/lasec/doc/cha06.pdf).