Gastbeitrag hakin9: WLAN Sicherheit - Angriffsvektoren gegen WEP, WPA und WPA2


26.06.2007

Mit der bevorstehenden Verabschiedung vom IEEE Standard 802.11n und dessen erhöhten Reichweite und Datenrate werden vermehrt Unternehmen die drahtlose Übertragungstechnik in bestehende Infrastrukturen implementieren. Hersteller bezeichnen im allgemeinen Wi-Fi Protected Access (WPA) und IEEE 802.11i (WPA2) als sicher. Der Autor zeigt in diesem Artikel als Einführung die Schwachstellen in der Authentizität, Vertraulichkeit und Integrität von Wired Equivalent Privacy (WEP) auf und widmet sich der Sicherheit von WPA und WPA2, beschreibt theoretische Ansätze und potentielle Schwachstellen.

Einführung
Im Vergleich zu kabelgebundenen Umgebungen legen drahtlose Netzwerke andere Anforderungen im Bezug auf die Sicherheit fest. Um Zugriff auf ein kabelgebundenes Netz zu erhalten, bedarf es dem physikalischen Zugriff auf zentrale Verbindungsstellen (Hubs und Switches), Netzwerkdosen oder durch splitting von Twisted Pear Kabeln.

Aufgrund der Gegebenheit von Funkwellen welche sich unkontrolliert horizontal und vertikal ausbreiten, kann der Sendebereich eines Access Points nur schwer durch Gebäudemauern eingefasst und von der Aussenwelt abgeschirmt werden. Während der Datenfluss in einem leitungsgebundenen Netzwerk vorgegeben ist, verbreiten sich elektromagnetische Wellen über die Gebäudemauern hinaus. Ein Angreifer muss sich also lediglich in den Abdeckungsbereich eines Funknetzes begeben, um potentiellen Zugriff auf Ressourcen und übertragene Informationen, dem Datenstrom zu erhalten.

Durch die besonderen Eigenschaften von Wireless Netzwerken und die potentiell vorhandenen Angriffsvektoren wurde in 802.11 als optionaler Teil die Gewährleistung von folgenden Sicherheitsaspekten definiert:

Sicherheitsanforderungen
Authentizität: Soll sicher stellen, dass die Identität der Senderstation und allenfalls des Empfängers verifiziert werden kann, bevor eine Kommunikation zwischen den Parteien zustande kommt. Integrität: Stellt sicher, dass die vom Sender übertragenen Informationen unverändert beim Empfänger eintreffen. Vertraulichkeit: Soll sicher stellen, dass nur der Sender und die Empfängerstation die übertragenen Informationen lesen können.

Um die Authentizität, Integrität und Vertraulichkeit von Informationen zu Schützen, wurde von der Wi-Fi Alliance Wired Equivalent Privacy (WEP) entworfen.

WEP soll durch sein Authentifizierungsverfahren Pre Shared Key (PSK), durch den Prüfsummenalgorithmus Cyclic Redundancy Check (CRC) und durch die Stromchiffre Rivest Cipher 4 (RC4) die besprochenen Sicherheitsaspekte erfüllen.

IEEE 802.11 Sicherheitsmechanismen
Der 1997 verabschiedete Standard IEEE 802.11 bietet nachfolgende zwei Sicherheitsmechanismen, welche in der Praxis keinen verlässlichen Schutz darstellen und mit etwas Know-How überwindbar sind.

Closed System
Im Gegensatz zum Basic Service Set Identifier (BSSID) welcher die MAC-Adresse des Access Point (AP) darstellt, kann der Service Set Identifier (SSID) beliebig gewählt werden, mit der Ausnahme dass die Zeichenkette nicht mehr als 32 Stellen besitzt. Somit stellt die SSID den Eingangspunkt zum drahtlosen Netzwerk durch das aus senden von Bacon Frames (BF) dar. Die logische Folgerung lautet also, dass jeder Client, welcher sich in Reichweite des Funknetzes befindet und mit einem WLAN Chipsatz ausgestattet ist, den Namen und somit den Eingangspunkt zum Netzwerk sieht. Dies kann unterbunden werden, indem man am Access Point das aussenden der SSID desaktiviert.

Bei dieser Einstellung, spricht man von einem Closed System, was aber nicht heisst, dass mit dem Verbergen und der Kenntnis der korrekten SSID durch die eingeweihten Personen die Authentizität sichergestellt werden kann. Ein Angreifer nutzt einen einfachen Workaround um dennoch die BSSID des WLAN mit einem Wireless Netzwerksniffer zu Gesicht zu bekommen.

MAC Filtering
Eine weitere bekannte Konfiguration auf Seiten des Access Point, stellt das MAC-Adressen Filtering dar. Der AP stellt dem Administrator eine Whitelist, in welche die MAC-Adressen der Clients eingetragen werden können, die auf das Netzwerk zugreifen dürfen zur Verfügung. Daneben besteht eine Blacklist, auf welche alle Stationen eingetragen werden, welchen den Zugriff untersagt ist. Auf den ersten Blick stellt das MAC-Filtering einen interessanten Ansatz dar. Mag der Aufwand für eine stets aktuelle MAC-Liste für ein privates WLAN Netz noch akzeptabel sein, so ist dieser in einem Unternehmen, mit vielen Endgeräte, Neuanschaffungen und mobilen Clients (Besucher, Kunden) nahezu unmöglich in akzeptabler Zeit zu meistern, wenn man den Aufwand und Ertrag der Lösung betrachtet. Ein Angreifer umgeht unsere Schutzmassnahme indem er eine Datenstrom-Analyse durchführt und sich beliebige Absender und Empfänger MAC-Adressen aus dem Ethernet-Frame notiert. Eine gewonnene MAC-Adresse unterstützt den Angreifer, indem er die ins Silizium gebrannte Adresse seiner Netzwerkkarte durch die gewonnene MAC-Adresse Softwaremässig verändert und sich somit unter gefälschter Identität am Wireless Netzwerk authentifizieren kann.

Wie aufgezeigt, löst in 802.11 auch eine MAC-Filterung neben einem Closed System (hidden SSID) die Problematik der Authentizität nicht.

Wired Equivalent Privacy
Der IEEE Standard 802.11 und dessen bekannte Erweiterungen a, b, g und n sehen keine Sicherheitsmassnahmen zum Schutz der Authentizität, Integrität, und Vertraulichkeit vor. Greifende Sicherheitsmechanismen sind somit optional und wurden in Wired Equivalent Privacy (WEP) beschrieben.

Authentifizierungsmechanismen
Die Authentizität wird in WEP durch zwei Ansätze - Open System Authentication und Shared Key Authentication (PSK) versucht gewährleistet zu werden.

Auch in der Anwendung von WEP selbst, gibt es optionale Teile, wie die Authentifizierung in diesem Falle. Nahezu alle Geräte auf dem Markt haben deshalb die nachfolgenden Modi Standardgemäss desaktiviert. Diese lassen sich durch die Unterstützung von WEP jedoch leicht aktivieren.

Open System Authentication
Bei der Open System Authentication wird jeder Authentication Request automatisch zugelassen. Es findet somit keine weitere Prüfung der Identität statt. Der Authentication Request kann wie folgt beschrieben werden:

Der AP sendet durch seine Existenz Bacon Frames aus, welche der Client empfängt und einen Authentication Request an den AP stellt, welcher diesen unmittelbar mit einer Authentication Success Nachricht beantwortet. Der Client ist nun authentifiziert.

Wie leicht zu erkennen ist, verdient diese Methode den Begriff „Authentifizierung“ nur schwer. Manche Hersteller welche die Open System Authentication empfehlen, implementieren zusätzlich ein Prüfungsverfahren gegen eine Liste von erlaubten MAC-Adressen (White List).

Die Open System Authentication ist eine zweischneidige Angelegenheit, da diese Methode keine „richtig“ Verifikation der Identität bereitstellt. Bietet dennoch einige sicherheitstechnische Vorteile gegenüber der zweiten Authentifizierungsmethode von WEP.

Shared Key Authentication
Die Shared Key Authentication ist eine mit WEP abgesicherte Authentifizierung. Zum Einsatz kommt das sogenannte Challenge / Response Verfahren welches die Kenntnis des geheimen Schlüssels (KBSS) voraussetzt.

Das eingesetzte Challenge / Response Verfahren basiert ebenfalls auf WEP, bringt also die gleichen Schwächen mit und setzt den gleichen geheimen Schlüssel wie nachfolgend zur Verschlüsselung der Informationen voraus. Der Ablauf im PSK-Modus kann wie folgt dargestellt werden:

Der AP sendet durch seine Existenz Bacon Frames aus, welche der Client empfängt und einen Authentication Request an den AP stellt. Dieser Request kann als Aufforderung zur Authentifikation verstanden werden. Der AP erzeugt eine Zufallszahl in variabler Länge, adäquat zur ausgehandelten Verschlüsselunglänge (40 bit oder 104 bit) und sendet diese im Klartext als Challenge (Herausforderung) an den Client. Der Client verschlüsselt die erhaltene Zufallszahl nun symmetrisch mittels RC4 und dem geheimen Schlüssel (KBSS). Danach sendet er den Chiffretext als Response dem AP zurück. Der AP entschlüsselt nun die erhaltene Response mit RC4 und der gespeicherten Kopie des geheimen Schlüssels. Er vergleicht die entschlüsselte Response mit der anfänglich generierten Challenge. Der Client ist erfolgreich authentifiziert wenn die beiden Zufallszahlen übereinstimmen.

Die zweite Authentifizierungsmethode stellt sich bei erster Betrachtung als sicher heraus. Betrachten wir jedoch Schritt 2 (Challenge) und Schritt 3 (Response) etwas genauer, fällt schnell auf, dass bei diesem Verfahren dieselbe Nachricht einem in Klartext und einmal verschlüsselt übertragen wird. Kryptografisch eine schweres Sicherheitsdefizit, was den ganzen Authentifizierungsvorgang durch die Schwächen von WEP zunichte macht.

Der Angreifer kann in unserem Fall einen Netzwerk-Sniffer einsetzen und unseren Authentifizierungs-Vorgang im PSK-Modus aufzeichnen. Durch die in WEP eingesetzte Stromchiffre RC4 welche zur Ver- und Entschlüsselung XOR (exklusiv-ODER-Verknüpfung) einsetzt, kann von der aufgezeichneten Challenge (Klartext) der korrekte Keystream berechnet werden. Challenge XOR Response (Chiffretext) ergibt den Keystream, welcher wiederum unseren geheimen Schlüssel in verschlüsselter Form enthält.

Mit dem erhaltenen Keystream (RC4 || IV + KBSS) kann der Angreifer sich nun selbst mittels dem PSK-Verfahren am AP authentifizieren. Er sendet einen Request, erhält die Challenge, welche der Angreifer nun mittels des Keystream verschlüsselt (Challenge XOR Keystream) und die Response (Chiffretext) zurück an den AP sendet. Dieser wiederum entschlüsselt die Response mit dem hinterlegten geheimen Schlüsselt und stellt einen Vergleich zwischen Challenge und Response auf. Erhalten beide die gleichen Zufallswerte, hat sich der Angreifer erfolgreich am AP authentifiziert.

Wie gesehen, kann auch das zweite, vermeintlich sichere Authentifizierungs-Verfahren Shared Key den Anforderungen, welche die Authentizität stellt nicht gerecht werden. WEP verwendet sowohl zur Authentifizierung wie auch zur Verschlüsselung den gleichen geheimen Schlüssel. Durch das mithören eines gesamten Authentifizierungsvorganges im Shared Key Modus, kann leicht der Keystream berechnet werden, welcher wiederum zur Verschlüsselung und Einschleusung von Nachrichten eingesetzt werden kann.

Es wird deshalb empfohlen, beim Einsatz von WEP dennoch auf die Open System Authentication zu setzen. Somit wird nicht bereits beim Authentifizierungsvorgang der geheime Schlüssel, welcher primär zur Verschlüsselung der Nutzdaten eingesetzt wird, entblösst.

Integritätsprüfung
Die Integrität von mit WEP verschlüsselten Informationen wird durch den Cyclic Redundancy Check (CRC) versucht sicherzustellen. Von denen sich im Klartext befindlichen Nutzdaten, welche zu verschlüsseln und zu übertragen sind, wird mit dem CRC-Algorithmus eine 32 bit lange Prüfsumme (Integrity Check Value [ICV]) erzeugt und an das Paket angehängt. Danach werden die Nutzdaten + Prüfsumme verschlüsselt und übertragen sowie vom Empfänger entschlüsselt. Als erstes wird nun die 32 bit lange Prüfsumme mittels CRC von den Nutzdaten bestimmt und mit der angehängten Prüfsumme verglichen. Stimmen die 32 bit Werte überein, wird davon ausgegangen, dass die übertragenen Informationen nicht manipuliert respektive beschädigt wurden. Das Packet wird angenommen und weiter verarbeitet. Sind die Prüfsummen nicht identisch, wird das Packet verworfen und eine Meldung wird an den Absender gesandt.

CRC ist für die Entdeckung von Fehlübertragungen ausgezeichnet. Nicht jedoch für eine Integritätsprüfung, da sich der CRC-Algorithmus linear verhält und gegen Modifikationen nicht gewappnet ist. So kann ein Angreifer die Nutzdaten manipulieren und mit etwas Feingefühl die CRC Prüfsumme adäquat anpassen. Der Empfänger hat dann keine Möglichkeit zu erkennen, ob die Nachricht manipuliert wurde.

Dies zeigt auf, dass selbst die Integrität von Informationen mittels WEP nicht sichergestellt werden können.

Vertraulichkeit
Um die Vertraulichkeit garantieren zu versuchen, werden die Informationen mittels WEP verschlüsselt. WEP basiert im allgemeinen auf dem symmetrischen Stromchiffrat RC4 welches den Klartext paketweise mit Hilfe eines geheimen Schlüssel (KBSS) von definierter Länge (40 bit oder 104 bit) und einem Initialisierungsvektor (IV) in Chiffratdaten umwandelt.

Geheimer Schlüssel
Der geheime Schlüssel besteht aus wahlweise 40 bit oder 104 bit und muss allen Parteien, welche am Wireless LAN teilnehmen wollen bekannt sein. Der Schlüssel wird also auf dem Access Point und den Clients hinterlegt. Somit wird für das ganze drahtlose Netzwerk ein Schlüssel (Shared Key) verwendet. Ein 40 bit Schlüssel besteht aus 10 hexadezimalen Zeichen, ein 104 bit Schlüssel aus 26 hexadezimalen Zeichen. In der Praxis werden oft sogenannte Passphrase Key-Generatoren eingesetzt, welche es erlauben, eine ASCII Zeichenfolge einzugeben und daraus einen Hex-Schlüssel in 10 oder 26 Zeichen zu erhalten. Diese Möglichkeit stellt sich als sehr praktisch in der Anwendung heraus, sollte jedoch nicht eingesetzt werden. Viele pseudo- Schlüsselgeneratoren weisen Schwächen auf, bei denen die Schlüssellänge von 40 bit potentiell auf 21 bit (Newsham Attacke) verkürzt wird, und einen Brute-Force Angriff erfolgreich ausgehen lassen.

Initialisierungsvektor
der Initialisierungsvektor (IV) hat eine Länge von 24 bit und bildet zusammen mit dem Schlüssel den RC4 Seed. Daraus resultiert sich auch die stets angepriesenen Verschlüsselungen von 64 bit und 128 bit, wobei der IV korrekterweise nicht dazugerechnet werden darf. Der IV ist in WEP nicht an eine Anweisung gebunden, sollte sich jedoch zwischen jedem zu verschlüsselnden Datenpaket ändern um nicht stets einen identischen Keystream zu erhalten.

RC4 Pseudo Random Number Generator Um den angesprochenen Keystream zu erhalten, wird der RC4 Seed (bestehend aus KBSS und IV) mit Hilfe des RC4 Pseudo Random Number Generator (PRNG) erzeugt. Hier ist es ganz wichtig, dass ein Keystream nicht zweimal verwendet wird, da ansonsten mittels XOR-Verknüpfung auf Informationen geschlossen werden kann.

Der erzeugte Keystream aus KBSS und IV dient als Eingabe für die XOR-Verknüpfung mit dem Klartext.

Stromchiffrat
Synonym zum Keystream wird mittels CRC eine 32 bit lange Prüfsumme der Nutzdaten erzeugt und als ICV an die Daten angehängt. Die resultierte Nachricht (M + ICV) wird mit dem Keystream (RC4 [IV + KBSS]) XOR-Verknüpft und der IV wird den resultierenden Chiffratdaten im Klartext vorangestellt. Übermittelt wird im Endeffekt (IV + C).

Entschlüsselung
Der Empfänger nutzt den geheimen Schlüssel sowie dem Chiffrat angefügten IV im Klartext welchen den RC4 Seed bilden. Mittels des RC4 Pseudo Random Number Generator (PRNG) wird aus dem RC4 Seed wiederum der Keystream. Das Chiffrat wird mit dem Keystream XOR-Verknüpft und als Ergebnis erhält man den Klartext + ICV. Mittels CRC wird der ICV vom Klartext gebildet und mit dem angehängten ICV verglichen. Sind die Werte identisch, wird das Packet angenommen ansonsten verworfen.




Kommentare

Bitte beachten Sie unsere Informationen zum Datenschutz.

blog comments powered by Disqus

Weitere Artikel zum Thema

alle Artikel zum Thema

Autor

  • Yannick von Arx

Yannick von Arx arbeitet für das Telekommunikations-Unternehmen Swisscom AG in der Schweiz. Er besitzt international anerkannte IT-Zertifikate u.a. als Help Desk Specialist, Support Professional und Technical Coordinator.




Unsere Experten


alle Experten

Premium Lösungen

Marktübersicht

Premium Services

Dienstleisterübersicht