WPA2 Hole 196 alebo o čo presne ide - Nethemba

BLOG

WPA2 Hole 196 alebo o čo presne ide

2010-08-01 23:30 Pavol Lupták

Bezpečnostní výskumníci z AirTight Security objavili zaujímavú bezpečnostnú zraniteľnosť týkajúcu sa WPA/WPA2 šifrovania bezdrôtových wifi sietí. Predtým ako sa pustím do trochu technickejších detailov, rád by som na začiatku zdôraznil:

  • nejde o prelomenie WPA2 v zmysle odhalenia privátneho kľúča, teda prienik zvonku do vnútra šifrovanej WPA2 siete
  • útok sa týka len WPA/WPA2 Enterprise (korporátne wifi prostredie), musí byť použitý EAP (nie PSK)
  • ide o tzv. “insider” útok zvnútra, útočník musí byť legitímne 802.1x autentifikovaný do šifrovanej WPA/WPA2 siete a musí používať rovnaké ESSID ako obeť

Až vtedy je možné realizovať MITM útok, teda kompletne odpočúvať a upravovať komunikáciu medzi legitimnými stanicami WPA/WPA2 siete a samotným AP.

Z hľadiska zneužitia sa to dá porovnať najskôr s ARP cache spoofing/poisoning útokom na linkovej vrstve, kedy útočník dokáže podvrhnúť na linkovej vrstve vlastnú “default” bránu a cez ňu smerovať klientov danej siete (do danej siete musí mať ale fyzický prístup, resp. prístup na linkovu vrstvu).

Najskôr si stručne vysvetlime ako vyzerá samotná autentifikácia medzi klientskou stanicou a AP v prípade WPA/WPA2:

 

EAP autenfikáciou (PEAP, EAP-TLS, EAP-TTLS, ..) získame (na strane stanice a AP) zdieľaný privátny kľúč PMK (Pairwise Master Key). Potom nasleduje tzv. “4-way handshake” (4-cestná výmena) medzi stanicou a AP z ktorej sa vygeneruje tzv. PTK kľúč (Pairwise Transient Key) – tento kľúč sa generuje tak, že sa pospájajú nasledujúce atribúty: PMK (získaný predtým z EAP), ANonce (náhodne čslo vygenerované AP), SNonce (náhodne číslo vygenerované stanicou), MAC adresa AP a MAC adresu samotnej stanice, z tohto všetkého sa vytvorí ešte kryptografický silný hash. Samotný PTK sa potom používa na šifrovanie samotnej unicastovej komunikácie (medzi stanicou a AP). To, že je MAC adresa stanice zahrnutá pri generovaní PTK zabezpečuje ochranu voči spofovaniu MAC adresy stanice.

Túto vlastnosť ale nemá GTK kľúč, ktorý sa používa na šifrovanie multicastovej a broadcastovej komunikácie (na hromadné oslovenie všetkých klientov, ktorí používajú daný ESSID), je to dokonca oficiálne uvedené priamo v špecifikácii štandardu IEEE 802.11 konkrétne na strane číslo 196 podľa ktorej sa daný útok volá:

RSNA defines two key hierarchies:
a) Pairwise key hierarchy, to protect unicast traffic
b) GTK, a hierarchy consisting of a single key to protect multicast and broadcast traffic
NOTE—Pairwise key support with TKIP or CCMP allows a receiving STA to detect MAC address spoofing
and data forgery. The RSNA architecture binds the transmit and receive addresses to the pairwise key. If an
attacker creates an MPDU with the spoofed TA, then the decapsulation procedure at the receiver will generate
an error.
GTKs do not have this property.

V praxi to znamená, že útočník môže vytvoriť vlastný GTK broadcast rámec s podvrhnutou (naspoofovanou) MAC adresou AP, poslať ho všetkým klientom a vydávať sa za pôvodné AP (pričom samotné wifi stanice to nespoznajú).

Záver: 

Ide v každom prípade o zaujímavý druh útoku na ktorý sa da prísť len detailným študovaním existujúcich štandardov, je ale obmedzený na korporátnu wifi sieť a interných útočníkov, ktorí do nej musia mať legitímny 802.1x prístup (obvykle takíto útočníci majú aj fyzický prístup k drôtovej sieti, kedy dokážu realizovať úspešný ARP cache spoofing/poisoning útok, na ktorý existujú už funkčné nástroje).