Het principe van WPS is heel simpel. Nadat je het accesspoint hebt aangesloten op het thuisnetwerk, hoef je op de apparaten die toegang willen enkel verbinding maken. WPS doet de rest:
Bij elk apparaat wat aan het draadloze netwerk verbonden moet worden, voer je de 8-cijferige WPS PIN in, en klaar. Simpel toch?
Maar wat is het dan het gevaar? Het ontwerp van het WPS protocol zelf. Normaal gesproken zou je denken dat je met een pincode van 8 cijfers 10^8 (10x10x10x10x10x10x10x10) = 100.000.000 mogelijke combinaties zou hebben. Echter, door een ontwerpfout (of feature?) is het mogelijk om te zien of de eerste 4 cijfers van de pincode goed geraden zijn, ook al zijn de laatste 4 onjuist. Dit verkleint het aantal benodigde pogingen om de coden te raden tot 10^4 + 10^4 (10x10x10x10 + 10x10x10x10) = 20.000. Een aantal van een factoor 5000 kleiner! Daarnaast is het zo dat het 8ste getal altijd een checksum is van de eerste 7, wat het maximaal aantal poginen op 11.000 zet, in plaats van 100.000.000.
Nadat dit bekend werd, heeft het niet lang geduurd voor een tool was om dit te exploiten. Een linuxtool met de naam "reaver-wps". Maar hoe werkt het? Hier een kleine demo.
Na de installatie van reaver, is het eerst nodig te kijken welke netwerken er zijn. Daarvoor moet eerst de netwerk adapter in de zogenaamde "monitor mode" geplaatst worden:
Hierna is het mogelijk om het luchtruim af te scannen voor WiFi netwerken:
(Gecensureerd wegens privacy redenen)
Hier is ons netwerk (WPS Crack Demo) te zien, net een WPA2 encryptie. In combinatie met de ingestelde 64bit sleutel zou dit op de "ouderwetse" manier weken, maanden of zelfs jaren duren voor de sleutel achterhaald is. Maar niet met WPS. We zetten de aanval in met reaver:
En zo pruttelt reaver rustig door tot hij eerst de eerste helft, en daarna de tweede helft van de pincode gevonden heeft. Afhankelijk van het type accesspoint, de afstand, en geluk, kan het enkele minuten tot uren duren voordat de sleutel gevonden is. Dit is echter een stuk beter dan de maanden die het zou duren op de oude manier. Een ander voordeel is dat er voor dit soort aanval geen gebruikers actief hoeven te zijn op het accesspoint, en dat het cracken zo goed als geen CPU kracht van de aanvalscomputer vereist.
Als de pincode gevonden is, zal de router ons netjes de 64bit WPA2 sleutel vertellen:
(Hier duurde het slechts 61 seconden, omdat alle omstandigheden ideaal waren)
Dit laat zien dat het met het vinden van deze kwetsbaarheid belachelijk makkelijk is om op elk accesspoint met WPS in te breken. Zelfs MAC filtering of een verborgen SSID zijn maar een kleine hindernis, een MAC adres is immers zo gespoofed, en verborgen netwerken zijn niet echt *verborgen*. Een leuk feitje is dat 90 tot 99% van de consumenten routers en accesspoints deze functie standaard aan hebben staan.
Dus, wil je een echt veilig netwerk, schakel WPS dan uit, en zorg voor een goede, en vooral lange sleutel, samen met WPA2-AES encryptie.
*** DISCLAIMER: Dit blog is geschreven om educatieve redenen. Doe dit *nooit* zonder toestemming van de eigenaar van het netwerk. ***