Sicherheitsanalyse des WEP Protokolls im IEEE 802.11
Transcrição
Sicherheitsanalyse des WEP Protokolls im IEEE 802.11
Fachbereich Informatik Mathematik Naturwissenschaften Multimedia Grundkurs II Sicherheitsanalyse des WEP Protokolls im IEEE 802.11 05MIB Christoph Bullmann Thomas Erfurth Leipzig, den 20. September 2006 Diese Arbeit wurde mit LATEX gesetzt. Diese Arbeit wird unter der folgenden Creative-Commons-Lizenz veröffentlicht: http://creativecommons.org/licenses/by-nc-sa/2.0/de/ 2 Inhaltsverzeichnis 1 Einleitung 4 2 Wired Equivalent Privacy 6 2.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Schwächen in der Architektur . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Passwörter, SNAP Header und IVC . . . . . . . . . . . . . . . . . 9 2.3.3 Initialisierungs-Vektor . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.4 IV Kollisionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Praktische Untersuchungen 12 3.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 Datenbeschaffung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Wörterbuchattacke/Brute-Force . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 WEP-Schlüsselberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.5 Gefahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4 Zusammenfassung 18 3 1 Einleitung WLAN1 erfreuen sich immer größerer Beliebtheit bei Heimanwendern. Viele ISP2 liefern wireless-fähige Router standardmäßig, bei Abschluß eines Internet-Vertrages, an ihre Kunden aus. Auch bei eBay ist die, für den Aufbau eines WLAN benötigte Hardware, zu moderaten Preisen zu bekommen. Die Inbetriebnahme aktueller Hardware ist, Dank mitgelieferter Dokumentationen und benutzerfreundlicher Software mit Einrichtungsassistenten, auch für den Heimanwender kein Problem. Oft sind WLAN-Einstellungen schon vorkonfiguriert, so dass nur noch Internetzugangsdaten eingetragen werden müssen, um sein drahtloses Heimnetzwerk mit der “großen weiten Internetwelt“ zu verbinden. Getreu dem Motto never change a running system werden einmal konfigurierte WLAN selten geändert. Das bei nicht vorhandenen, ungenügenden oder veralteten Sicherheitsvorkehrungen große Gefahren entstehen können ist dabei vielen Anwendern nicht bewusst. Es existieren mehrere Möglichkeiten, um sich gegen unbefugte Zugriffe von außen zu schützen. Im Mittelpunkt dieser Arbeit steht die älteste dieser Möglichkeiten, die Verschlüsselung der WLAN-Pakete mittels WEP. Die Verwendung von WEP ist aus heutiger Sicht nicht zu empfehlen, da mehrere Schwachstellen, wie unsichere Passwörter, SNAP Header und IVC (Kapitel 2.3.2), schwache Initialisierungs-Vektoren (Kapitel 2.3.3) und die Problematik der IV Kollisionen (Kapitel 2.3.4), in diesem nachgewiesen wurden. Trotz des Alters und der bekannten Schwachstellen wird WEP immer noch in vielen privaten Netzwerken eingesetzt. Im folgenden werden Funktionsweise und Schwächen des WEPs theoretisch erörtert (Kapitel 2) und im zweiten Teil (Kapitel 3) praktisch ausgenutzt. In Kapitel 3.2 werden ausführlich die Möglichkeiten der aktiven (paket injection) und passiven Datenbeschaffung beschrieben. Mehrere Arten der Passwortbeschaffung, wie die Wörterbuchattacke, die sogar in wenigen Sekunden zum Erfolg führen kann (Kapitel 3.3), und die Schlüsselberechnung (Kapitel 3.4) werden aufgezeigt und die daraus resultierenden Gefahren (Kapitel 3.5) exemplarisch beschrieben. Es wird eindeutig gezeigt, dass die WEP Verschlüsselung ohne Spezialhardware umgangen werden kann und 1 2 Wireless Local Area Network Internet Service Provider 4 somit keine Sicherheit für den Anwender bietet. Es sei darauf hingewiesen, dass das Einbrechen in fremde Netzwerke nach §202a StGB (Ausspähen von Daten) eine Straftat darstellt. (1) Wer unbefugt Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, sich oder einem anderen verschafft, wird mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft. (2) Daten im Sinne des Absatzes 1 sind nur solche, die elektronisch, magnetisch oder sonst nicht unmittelbar wahrnehmbar gespeichert sind oder übermittelt werden. 5 2 Wired Equivalent Privacy 2.1 Einführung Der wohl bekannteste Verschlüsselungsmechanismus des WLAN - das Wired Equivalent Privacy (WEP) - war bereits in der Urausgabe des IEEE 802.11 WLAN-Standards von 1997 enthalten. Dessen Aufgabe war es, wie der Name schon sagt, den gleichen Schutz wie ein kabelgebundenes Netzwerk zu bieten. Dabei wurde nicht auf einen starken kryptografischen Schutz geachtet. Die Schlüssellänge des WEP-Protokolls wurde im Standard ursprünglich auf 40 Bit1 begrenzt, was auf die Exportrestriktionen der USA, betreffend starker Kryptografie, zurückzuführen ist. Dadurch waren amerikanische Geheimdienste (z.B. NSA) jederzeit in der Lage, den WEP Schlüssel in ausreichend kurzer Zeit zu “knacken“. Mit den heutigen Rechnern ist es sogar dem Heimanwender möglich alle 240 Schlüsselkombinationen per Brute Force innerhalb einiger Stunden bis Tagen durchzuprobieren. Seit der Aufhebung dieser Exportrestriktionen vor einigen Jahren duften nun auch längere Schlüssel eingesetzt werden. Damals einigte sich die Industrie darauf, einen 104 Bit2 langen Schlüssel einzusetzten, da es mit den damaligen Rechnern und Methoden sehr lange3 gedauert hätte, diesen zu knacken. Dieser 104 Bit Schlüssel wurde dann erstmals im IEEE 802.11g WLAN-Standard festgehalten. Gemäß diesem Standard können in der WEP Verschlüsselung auch bis zu 4 unterschiedliche Schlüssel eingesetzt werden, was einen enormen Mehrwert an Sicherheit bietet. In der Praxis wird jedoch meistens nur ein einziger WEP Schlüssel verwendet.[1,2] 1 40 Bit Schlüssel + 24 Bit IV = 64 Bit Verschlüsselung 104 Bit Schlüssel + 24 Bit IV = 128 Bit Verschlüsselung 3 einige Wochen bis Monate 2 6 2.2 Funktionsweise Die zu verschlüsselnden Daten setzen sich im Wesentlichen aus 3 Feldern zusammen (siehe Abbildung 2.1). Den zu sendenen Daten selbst ist der SNAP4 -Header vorangesetzt. Dieses Protokoll kommt von der 2ten OSI-Schicht5 her und stellt im wesentlichen 3 Funktionalitäten zur Verfügung: Datenübertragung, Verbindungssteuerung und rudimentäre QoS6 -Anwendungsmöglichkeiten. Für alle IP- und ARP7 -Pakete beginnt der SNAP Header mit dem gleichen Wert: 0xAAAA03000000. Desweiteren ist den Daten ein ICV8 -Feld angehängt, welches eine CRC329 -Prüfsumme enthält, die über den SNAP-Header und den Daten berechnet wird. Mit dieser Prüfsumme ist es dem Empfänger nach der Übertragung möglich zu überprüfen, ob die Daten korrekt übertragen wurden. Abbildung 2.1: Funktionsweise des Wired Equivalent Privacy (WEP) 4 Subnetwork Access Protocol Sicherungsschicht 6 Quality of Service - Qualitätsgarantien 7 Internet Protocol und Address Resolution Protocol 8 ICV - Integrity Check Value 9 cyclic redundancy check - zyklische Redundanzprüfung 5 7 Um die Daten zu verschlüsseln wird zum einen der WEP-Schlüssel (WEP Key) und zum anderen ein Initialisierungs-Vektor (IV) benötigt. Der WEP-Schlüssel muss sowohl dem Sender, als auch dem Empfänger bekannt sein. Dieser Schlüssel, welcher im Router bzw. beim Clienten gespeichert ist, ist meist eine direkte Abbildung eines 5 bzw. 13 stelligen Passwortes auf seine ASCII-Werte (40 bzw. 104 Bit). Der Initialisierungs-Vektor besteht aus 24 zufälligen Bits, die für jedes Datenpaket neu erzeugt werden. Der RC410 -Generator ist in der Lage einen beliebig langen pseudozufälligen Bitstrom (auch Schlüsselstrom) zu erzeugen (sog. Initialisierung). Dieser wird nun mit dem WEPSchlüssel und dem Initialisierungs-Vektor geladen (zusammen 64 bzw. 128 Bit) und erzeugt einen Bitstrom, der genauso lang ist wie die zu verschlüsselnden Daten. Durch ein bitweises XOR-Verknüpfen (auch Exklusiv-Oder) des Schlüsselstroms und der Daten entsteht dann das verschlüsselte Datenpaket. Zusammen mit dem Initialisierungs-Vektor und der Key-ID wird so das fertige WLAN-Paket zusammengesetzt. Die Key-ID gibt an, welcher WEP-Schlüssel verwendet worden ist, da standardmäßig bis zu 4 verschiedene WEP-Schlüssel verwendet werden können. Der zufällig erzeugte Initialisierungs-Vektor sorgt dafür, dass gleiche Datenpakete nach dem Verschlüsseln verschieden aussehen. Der Empfänger, der nun auch den Initialisierungs-Vektor kennt, muss mit Hilfe des RC4-Generator den selben Bitstrom erzeugen und kann dann, wiederum durch bitweises XOR-Verknüpfen der verschlüsselten Daten mit dem erzeugten Bitstrom, die ursprünglichen Daten zurückerhalten. Anschließend wird mittels der CRC32-Prüfsumme überprüft ob alle Daten korrekt übertragen wurden. [1,2] 2.3 Schwächen in der Architektur 2.3.1 Einleitung Wie bereits erwähnt wurde das WEP nicht entwickelt, um einen starken kryptografischen Schutz zu gewährleisten. Aus diesem Grund lassen sich auch die in Kapitel 2.3.2 bis 2.3.4 besprochenen Sicherheitsmängel finden. Diese waren keinesfalls von Anfang an 10 Ron’s Code 4 Stream-Cipher2, entwickelt für die Firma RSA Security 8 bekannt, sondern wurden erst im Laufe der Jahre mit der zunehmenden Verbreitung von drahtlosen Netzwerken, vor allem unter den Heimanwendern, und mit der immer stärker werdenen Rechenleistung, bekannt. Eine große Rolle in der “Erforschung“ des WEP-Protokolls spielt auch die immer stärker werdende Popularität des Notebooks. Es wurde mehr und mehr interessanter, unterwegs11 Netzwerke zu “knacken“. Im folgenden werden die Schwächen des WEP und 3 verschiedene Herangehensweisen und Methoden, diese auszunutzen, erläutert. 2.3.2 Passwörter, SNAP Header und IVC Eine Schwäche, die nicht nur WEP betrifft, ist das Problem der unsicheren Passwörter. In den meisten Fällen wird der WEP-Schlüssel aus einer direkten Abbildung der ASCIIZeichen des Passworts gebildet. Dazu kommt, dass meist ein exakt 5 (40 Bit) bzw. exakt 13 (104 Bit) stelliges Passwort gefordert wird. Dies schränkt den genutzen Schlüsselraum stark ein, denn es werden nicht alle 256 Kombinationen (1 Byte entspricht 28 = 256 Möglichkeiten) ausgeschöpft, da ein Großteil der Anwender nur Zeichen, die sich mittels Tastatur eingeben lassen verwenden. Dies erleichert das Durchprobieren“ möglicher ” Passwörter erheblich. Die direkte Eingabe als Hexdezimalschlüssel ist also zu empfehlen. Zwei Eigenheiten des WEP erlauben es außerdem schnell festzustellen, ob beim Durchprobieren das richtige Passwort gefunden wurde. Mit Hilfe der mitgesendeten ICVPrüfsumme kann man nach dem Entschlüsseln mit dem vermeintlichen Passwort, überprüfen, ob dieses korrekt ist. Ist dies der Fall, kann mit sehr hoher Wahrscheinlichkeit angenommen werden, dass der richtige Schlüssel gefunden wurde. Da jedoch für jedes getestete Passwort das gesamte WLAN-Paket entschlüsselt werden muss, um die Prüfsumme berechnen zu können, wäre sehr viel Rechenleistung für den Angriff notwendig. Hier lässt sich eine zweite Eigenschaft des WEP nutzen, bei der sich dieser Aufwand bei den meisten falschen Passwörtern sparen lässt. Wie bereits erwähnt, wird bei einem WLANPaket der SNAP-Header mitgeschickt, dessen erste sechs Bytes bei der Übertragung von IP- und ARP-Paketen die immer gleichen HEX-Werte AAAA03000000 besitzen. Da heut’ zu Tage der Großteil der Pakete in Heimnetzwerken IP- und ARP-Pakete sind, kann beim Ausprobieren eines WEP-Schlüssels zuerst nur das erste Byte entschlüsselt, und auf den Wert AA hin überprüft werden. Ist dies der Fall12 , ist ein möglicher Kandidat 11 12 auch WarDriving - systematische Suche nach Wireless LAN’s mit Hilfe eines Autos Dies tritt statistisch gesehen ca alle 256 Passwortkombinationen auf 9 gefunden, der nun durch schrittweises Entschlüsseln der nächsten Bytes und bei Übereinstimmung schließlich bis zum Berechnen der gesamten ICV-Prüfsumme weiter getestet werden kann. Sobald aber ein SNAP-Byte nicht übereinstimmt, kann der Test sofort abgebrochen und zum nächsten Passwort übergegangen werden. Diese Tatsache macht die Verfahren zur Entschlüsselung wesentlich schneller. Auf der Basis dieser Schwächen lässt sich sehr erfolgversprechend eine Wörterbuch-Attacke anwenden, mit dem wesentlichen Vorteil, dass zur Attake theoretisch nur ein einziges Datenpaket benötigt wird. [3,4] 2.3.3 Initialisierungs-Vektor 2001 wurde eine weitere Schwäche des WEP bekannt, die für viel Aufsehen sorgte. Es wurde herausgefunden, dass der RC4-Generator nur ungenügend initialisiert. Wenn der Initialisierungs-Vektor, der wie gesagt zufällig erzeugt wird, ein gewisses Muster aufweist13 , ist es möglich von den verschlüsselten Daten Rückschlüsse auf den geheimen WEP-Schlüssel zu ziehen. Das liegt daran, dass der Initialisierungs-Vektor zuerst in den RC4 Generator geladen wird, und dieser Initialisierungs-Vektor, da er unverschlüsselt mitgesendet werden muss, bekannt ist. Mit Hilfe dieser schwachen Vektoren, können einzelne Bytes des WEP-Keys abgeschätzt werden. Die Wahrscheinlichkeit einer korrekten Schätzung liegt dabei bei ca. 5%. Je mehr Pakete mit schwachen Vektoren jedoch zur Verfügung stehen, desto besser können die Schlüsselbytes geschätzt werden. Um einen beliebigen 104 Bit langen WEP-Schlüssel knacken zu können, müssen etwa 5 bis 10 Mio. Pakete abgefangen werden, was mehrere Stunden bis einige Tage dauern kann. [3,4] 2.3.4 IV Kollisionen Ein weiterer Unsicherheitsfaktor ist die Tatsache, dass sowohl die RC4-Verschlüsselung als auch die Entschlüsselung “einfache“ XOR-Operationen sind. Dadurch sind, mit ein paar mathematischen Kenntnissen, Manipulationen möglich, die es bei einer Initialisierungs-Vektor-Kollision (IV-Kollision) sogar erlauben eigene Informationen in das Netzwerk zu senden. Eine IV-Kollision findet statt, wenn ein WLAN-Paket ein zweites mal mit dem selben Initialisierungs-Vektor verschlüsselt wird. Da der 24 Bit Vektor nur“ 224 (ca. 16,7 Mio.) verschiedene Permutationen ermöglicht, ist es bei zufällig er” zeugten Initialierungs-Vektoren bereits nach 5000 von 16,7 Mio. möglicher Vektoren 13 IV’s mit dieser Eigenschaft werden als schwache Vektoren bezeichnet 10 wahrscheinlicher, dass sich eine Bitfolge wiederholt14 , als dass eine neue erzeugt wird. In der Praxis werden die Initialierungs-Vektoren meistens noch immer zufällig erzeugt. [2] 14 ähnlich dem Geburtenpardoxon, welches besagt, dass es in einer Gruppe von 23 Personen wahrscheinlicher ist, dass 2 dieser Personen am selben Datum, als dass alle an anderen Tagen, Geburtstag haben 11 3 Praktische Untersuchungen 3.1 Einleitung Im diesem Textabschnitt werden die, im Theorie-Teil erklärten, Schwächen der WEPVerschlüsselung praktisch ausgenutzt. Ziel dieses Abschnitts ist die Erkenntnis der allgemeinen Unsicherheit des WEP-Protokolls und die Empfehlung der Verwendung von alternativen Verschlüsselungsmechanismen1 sein. Hierzu wird im Folgenden auf mehrere Arten demonstriert, wie ein WEP-Schlüssel “geknackt“ werden kann. [5,6] Die Versuche fanden auf einem IBM-Notebook, ausgestattet mit einer Atheros-Chipsatz WLAN-Karte, in Verbindung mit einem SOHO2 -Router der Firma Siemens statt. Der Router erhielt die SSID3 AccessPoint und wurde mit einem 64 Bit langem WEP-Passwort konfiguriert. Das Testbetriebssystem war Gentoo-Linux, auf welchem die madwifi-ng WLAN-Treiber in der Version 0.1443.20060207 kompiliert wurden. Diese Treiber unterstützen eine Technik namens paket injection, auf welche in Kapitel 3.2 noch genauer eingegangen wird. Bei der verwendeten Software handelt es sich ausschließlich um OpenSource Projekte. Folgende Programme fanden Verwendung: aircrack: Programmsammlung welche airodump, aireplay, aircrack und airdecap beinhaltet aircrack-ng: Next-Generation Version der aircrack Programmsammlung wepattack: WEP-Passwort Cracker hping2: Programm zum Generieren und Verschicken von beliebigen TCP/IP Paketen ethereal: umfangreiches Programm für die Netzwerkprotokollanalyse 1 für Heimanwender ist WPA-PSK zu empfehlen Small Office/Home 3 Service Set Identifier - Netzwerkname 2 12 Eine denkbare Alternative für das Mitschneiden von Datenpaketen ist das Sniffer-Tool kismet. Sämtliche hier beschriebenen Attacken wurden auf eigener Hardware durchgeführt, die dabei ausgespähten Daten wurden dabei von den Autoren selbst generiert. Fremde Daten wurden weder ausespäht noch manipuliert. Für die exakte Reproduzierbarkeit der beschrieben Attacken können die Autoren keine Garantie übernehmen. 3.2 Datenbeschaffung Am Anfang eines Angriffes steht die Beschaffung von verwertbaren Datenpaketen. Um ”frei umherfliegende” Wireless-LAN-Pakete aufzufangen, muss die Netzwerkkarte den monitor mode 4 unterstützen. Dieser erlaubt das rein passive Belauschen von 802.11x Netzwerken. Die Initialisierung unter den aktuellen madwifi-Treibern erfolgt mit der folgenden Eingabe. root@test ~/ # wlanconfig ath0 create wlandev wifi0 mode monitor Bei der Datenbeschaffung können zwei verschiedene Vorgehensweisen unterschieden werden. Für eine Wörterbuch- bzw. Brute-Force-Attacke wird lediglich ein WEP-verschlüsseltes Paket benötigt. Dabei ist darauf zu achten, dass das Sniffer Programm das komplette Wireless-LAN-Frame speichert5 . Der verwendete Test-Router wurde auf Kanal 4 eingestellt und die Netzwerkschnittstelle des angreifenden Computers auf ath0. Mit dem folgenden Kommando wird das Mitschneiden und Speichern des Datenverkehrs in die Datei datadump gestartet. Das Aufzeichnen kann unmittelbar nach Empfang eines Datenpaketes gestoppt werden. root@test ~/ # airodump ath0 datadump 4 Das Aufzeichnen für die zweite Methode, das Berechnen des WEP-Schlüssels mittels schwacher Initialisierungs-Vektoren, benötigt eine große Anzahl von Paketen. Um das Dumpfile nicht unnötig groß werden zu lassen, wird airodump mit der Option 1 gestartet, welche bewirkt, dass nur Pakete mit schwachen Initialisierungs-Vektoren in das Dumpfile gespeichert werden. 4 5 auch Promiscious Mode frühere Versionen von Kismet verwarfen das ICV Feld, welches die CRC32-Prüfsumme enthält und machten somit das verifizieren eines getesteten Passwortes unmöglich 13 root@test ~/ # airodump ath0 datadump 4 1 Dazu werden je nach Schlüssellänge und Beschaffenheit des Passwortes zwischen 300000 und 1000000 Pakete benötigt. Diese können bei hoher Netzauslastung innerhalb weniger Minuten gesammelt werden, bzw. können bei keinen aktiven Hosts auch keine Pakete gesammelt werden. Da im Versuchsfall kein realer Client an dem Router angemeldet war, wurde künstlicher Netzwerkverkehr mit dem Tool hping2 simuliert. Damit wurde in ca. 20 Minuten ein Dumpfile erzeugt, welches rund 300000 Pakete enthielt, was zum Berechen des 64 Bit langen Schlüssels ausreichte. Das bisherige Mitschneiden von Daten erfolgte rein passiv und ist somit nicht nachweisbar. Sollte die Netzauslastung zu gering sein, um in endlicher Zeit auf die benötigte Anzahl an Wireless-Frames zu speichern, kann mit Hilfe von packet injection künstlicher Netzwerkverkehr generiert werden. Diese Methode ist aktiv und kann deshalb nachvollzogen werden. Es sei erwähnt, dass auch hier Methoden der Spurenverwischung existieren. Paket injection basiert auf dem Einschleusen gültiger ARP-Pakete, welche immer und immer wieder an den Router gesendet werden. Dieser antwortet mit verschlüsselten Paketen, und liefert somit neue Pakete mit möglicherweise schwachen InitialisierungsVektoren. Um den Router und das Angreifer-System auf ihre Zusammenarbeit hin zu üeberprüfen, wird eine Fake-Authentifizierung versucht. Dabei gibt die Option -e die SSID des Access Points, -a die MAC6 -Adresse des Routers und -h die MAC-Adresse des Angreifers7 an. root@test ~/ # aireplay-ng -1 0 -e Access_Point -a 00:01:E3:0E:EB:41 -h 00:01:02:03:04:05 ath0 Dies wird mit einer positiven Meldung abgeschlossen. Nun kann mit der eigentlichen ARP-Replay-Attacke begonnen werden. Dabei wartet das Programm auf den Empfang eines verwendbaren ARP-Paketes, um dieses dann für die Stimulation von Netzwerkverkehr zu nutzen. Im Regelfall passiert nach dem Start des Programms ersteinmal nichts. Dies liegt daran, dass ARP-Pakete hauptsächlich bei erfolgreicher Authentifizierung von 6 7 Media Access Control 00:01:02:03:04:05 ist in diesem Fall offensichtlich gefälscht 14 Clients verschickt werden, um die ARP-Cache Tabelle8 des Routers zu aktualisieren. Authentifiziert sich nun ein Client am Router, wird das dabei versendete ARP Paket automatisch bemerkt und mit der Generierung von künstlichem Netzwerk-Verkehr begonnen. Zu erwähnen ist, dass der generierte Verkehr zwischen dem Angreifer-System und dem Router während der Aufzeichnung mit airodump unter der gefälschten MACAdresse erscheint. Wenn genügend Initialisierungs-Vektoren gesammelt wurden, kann die Aufzeichnung abgebrochen und mit dem Cracken des WEP-Passwortes begonnen werden. 3.3 Wörterbuchattacke/Brute-Force Bei einer Wörterbuch- bzw. Brute-Force-Attacke wird ein verschlüsseltes WLAN-Paket mit unterschiedlichsten Passwörtern versucht zu entschlüsseln. Die Verifizierung erfolgt mittels des ICV-Feldes. Die Grundlagen für die Funktionsweise der folgenden Programme wurden in Kapitel 2.3 erörtert. Um die Funktionsweise der Wörterbuchattacke nachzuvollziehen, wurde von den Verfassern eine Datei wordlist.txt aus dem Internet geladen, welche mehrere tausend Wörter enthielt. Unter Verwendung dieser Wordlist und einem sehr kleinen Dumpfile9 wurde versucht das Passwort zu bestimmen. root@test ~/ # wepattack -n64 -w wordlist.txt -f datadump.cap Dieser Versuch endete ohne Erfolg. Der Grund dafür war das Nichtvorhandensein des Passwortes in der wordlist.txt und somit auch vollkommen korrekt. Daraufhin wurde das Passwort an die Datei angehängt und die Attacke ein weiteres mal gestartet. Dies führte zu dem erwünschten Erfolg, dem entschlüsselten WEP-Passwort. root@test ~/ # echo ’MMGK2’ >> wordlist.txt root@test ~/ # wepattack -n64 -w wordlist.txt -f datadump.cap WepKey: 4D 4D 47 4B 32 (MMGK2) 8 9 bildet die MAC-Adressen auf IP-Nummern ab das Dumpfile enhielt weniger als 100 Datenpakete und war damit für die Berechnung viel zu klein 15 Wepattack unterstützt die Anbindung des Brute-Force Tools John the Ripper 10 , mit welchem unterschiedlichste Passwörter generiert, bzw. alle möglichen Passwörter zusammengestellt werden und an wepattack übergeben werden können. Das Entschlüsseln ist mit Hilfe solcher Tools, im Bezug auf einen 64 Bit WEP-Schlüssel nur eine reine Zeitfrage, und wurde deshalb nicht näher betrachtet. 3.4 WEP-Schlüsselberechnung Die Berechnung des WEP-Schlüssels kann mit aircrack vorgenommen werden. Dabei müssen die Optionen -b für die MAC-Adresse des Routers und der Dateiname des Dumpfiles zwingend übergeben werden. Die Angaben -n64 für die Schlüssellänge und -a1 für den WEP-Modus sind optional, beschleunigen aber, falls bekannt, die Berechnung erheblich. root@test ~/ # aircrack -n64 -a1 -b 00:01:E3:0E:EB:41 datadump.ivs Dies liefert bei genügenden Initialisierungs-Vektoren die Meldung, dass der Schlüssel gefunden wurde. KEY FOUND! [ 4D:4D:47:4B:32 ] (MMGK2) 3.5 Gefahren Der Besitz des entschlüsselten WEP-Passwortes gibt etwaigen Angreifern eine Vielzahl an Möglichkeiten. Diese reichen vom heimlichen Mitbenutzen des Internetzuganges, über das Ausspähen privater Daten, bis hin zum Ausnutzen des Systems als anonymisierende Zwischenstelle um weitere illegale Attacken auf Internet-Server auszuführen. In jedem Fall hat der Betreiber des Routers als erster den Schaden bzw. die Kosten. Heimliche Mitsurfer können bei volumen-basierten Flatrates schnell enorme Unkosten verursachen. Private Daten wie Passwörter, Adressen, sogar Kreditkartendaten können auf vielfältige Weise missbraucht werden. Das Schlimmste in den Augen der Autoren stellt jedoch die 10 http://www.openwall.com/john/ 16 Gefahr dar, dass jemand in die Lage versetzt wird, völlig anonym illegalen Aktivitäten nachgehen zu können und seine Spuren dabei nicht einmal verwischen muss, da der Verdacht als erstes auf den Betreiber des Routers fallen würde. Da WLAN-Endgeräte heutzutage in immer mehr Privathaushalten Platz finden, stellt dies eine nicht zu unterschätzende Bedrohung dar. Zum Ausspähen privater Daten wird im folgenden ein kleines einfaches Beispiel gegeben. Grundlage dafür bildet ein Dumpfile, von welchem die Autoren wissen, dass es einen Mitschnitt eines FTP11 -Verbindungsaufbaus enthält. Dieses verschlüsselte Dumpfile kann nachträglich mit dem nun bekannten WEP-Passwort entschlüsselt und analysiert werden. Die verschlüsselte Datei ether.cap wurde mit ethereal aufgezeichnet. Zum Entschlüsseln wird das Tool airdecap verwendet. Der Schlüssel wird als Hex-String übergeben. root@test ~/ # airdecap -w 4D4D474B32 ether.cap Betrachtet man nun das entschlüsselte Dumpfile in ethereal, kann über Filter FTP schnell die Stelle ausfindig gemacht werden, an der das Passwort im Klartext übertragen wurde. Mit Hilfe dieses Passwortes kann die komplette Kontrolle über die zugehörige Homepage übernommen werden. 11 File Transfer Protocoll 17 4 Zusammenfassung Nach intensiver Betrachtung des WEP-Protokolls kann von dessen Verwendung nur abgeraten werden. Es wurde gezeigt, dass mit Hilfe handelsüblicher Hardware und freier Software das WEP umgangen werden kann. Mehrere Möglichkeiten, wie die Wörterbuchattacke oder die WEP Schlüsselberechnung, erlauben potentiellen Angreifern das Eindringen in fremde Funknetzwerke sowie deren volle Nutzung. Es sei erwähnt, dass diverse Programme auch für Mircosoft Windows basierte Beriebssysteme existieren, wodurch sich die Zahl potentieller Angreifer drastisch erhöht, da keine Linux/UNIX Kenntnisse von Nöten sind. Auch immer leistungsfähigere Prozessoren erleichtern die hier vorgestellen Verfahren, da Brute-Force Angriffe schon in kurzer Zeit zum Erfolg führen können. Die Verwendung von 128 Bit langen Schlüsseln stellt keine nennenswerte Steigerung der Sicherheit dar. Als Alternative für den Privatanwender bietet sich die Verwendung von WPA-PSK1 an. Dies hat, im Gegensatz zu WPA2 basierter Authentifizierung, zu WEP vergleichbare Hardwareanforderungen und ist somit auf den gängigen SOHO-Routern mittels Firmwareupdate aktivierbar. Da bei WPA-PSK das Passwort vorher festgelegt wird, besteht auch hier die Möglichkeit eines Brute-Force Angriffes. Dabei muss der initialisierende Handshake zwischen Client und Router mitgeschnitten werden. In jedem Fall muss man sich also im Klaren darüber sein, dass das verwendete Passwort selbst einen wesentlichen Aspekt der Sicherheit des Netzwerkes darstellt. [7] Dennoch ist WPA klar zu bevorzugen und wird das WEP innerhalb der nächsten Jahre ablösen. In den neusten WLAN Geräten wird WPA bereits als Standardeinstellung vorgegeben. WEP wird zukünftig nur noch aus Kompatibilitätsgründen verfügbar sein. Desweiteren hoffen die Autoren, dass es selbstverständlich wird, sich vor unbefugten Zugriffen zu schützen, da illegale Fremdeinwirkung als erstes auf den Betreiber des WLAN-Routers bzw. ISP-Kunden zurückfällt. Wer möchte sich schon eines Verbrechens beschuldigen lassen, welches von Unbekannten begangen wurde, nur weil versäumt wurde ein sicheres Passwort2 unter einem aktuellen Sicherheitsstandard einzurichten? 1 2 WiFi Potected Access - Pre Shared Key http://www.iusmentis.com/security/passphrasefaq/ 18 Literaturverzeichnis [1] Christian Barnes: Die Hacker Bibel für Wireless LANs, mitp, 1. Auflage 2002, ISBN:3-82660930-1 [2] Dominik Blunk und Alain Giradet: WLAN War Driving, Diplomarbeit, Züricher Hochschule Winterthur, Oktober 2002 [3] Prof. Dr. Andreas Steffen: Sicherheit von Wireless LAN - Attacken und Schutzmassnahmen, Bulletin SEV/VSE 11/2004, Seite 25-30, www.electrosuisse.ch [4] Markus Oeste: WLAN-Sicherheit,Studienarbeit in Verläßliche verteilte Systeme, RWTH Aachen, Wintersemester 2005/2006 [5] Mark Vogelsberger: Funk-Loch, Linux Magazin Ausgabe 12/2003, Seite 36-43, ISSN:1432-640X [6] http://www.wardriving-forum.de (Stand April 2006) [7] Lars Richter: Untersuchung und Bewertung von Netzzugangssteuerungen auf Basis des Standards 802.1x (Port Based Network Access Control), Diplomarbeit, TU Chemnitz, 2. Januar 2005 19 Abbildungsverzeichnis 2.1 Funktionsweise des Wired Equivalent Privacy (WEP) . . . . . . . . . . . 20 7