Kwetsbaarheid in wps-specificatie ontdekt

Beveiligingsonderzoeker Stefan Viehböck heeft een gevaarlijk beveiligingsgat ontdekt in de wps-specificatie waardoor kwaadwillenden zich via een brute force-methode toegang tot een access point kunnen verschaffen.

Met wps is het mogelijk om met een druk op de knop van het access point en het apparaat dat toegang wil hebben, deze twee met elkaar te verbinden. Ook kan verbinding gemaakt worden met het access point door een pin-code bij de client in te voeren. Juist bij het authorisatieproces van deze pin-code schuilt volgens Viehböck de ontdekte kwetsbaarheid. Het zou gaan om een ontwerpfout van de wps-specificatie. Het CERT heeft naar aanleiding van de kwetsbaarheid een Vulnerability Note uitgevaardigd.

In de paper, die Viehböck geschreven heeft over de wps-kwetsbaarheid, staat dat het probleem schuilt in het EAP-NACK-bericht dat het access point naar de client stuurt. Uit dit bericht is namelijk af te leiden of de eerste helft van de pin-code correct is. Doordat het laatste digit van de pin-code een checksum is van eerste zeven cijfers van de pin-code, blijkt dat maximaal maar 11.000 pogingen nodig zijn om via de brute force-methode de correcte pin-code te vinden.

Alle belangrijke leveranciers van routers en acces points als Cisco/Linksys, Netgear, D-Link, Belkin en Zyxel leveren wps-compatibele apparaten en een groot deel ervan heeft wps standaard geactiveerd. Zolang er geen limieten gesteld worden aan het aantal inlogpogingen heeft een kwaadwillende maximaal vier uur nodig om alle pin-combinaties te proberen.

Door gebruik te maken van een zogeheten lock-down na een aantal mislukte inlogpogingen met pin-codes, duurt het langer voordat de kwetsbaarheid uitgebuit kan worden. Vooral het verhogen van de lock-down-tijd maakt het de aanvaller moeilijker. Zo zou een lock-down na vijf mislukte pogingen en een lock-down-tijd van zestig minuten er voor zorgen dat pas na maximaal 92 dagen een pin-code gekraakt is. De beste beveiliging volgens Viehböck is het deactiveren van de wps-functionaliteit van access points.

Door Pieter Molenaar

28-12-2011 • 18:08

72 Linkedin

Reacties (72)

72
70
34
4
0
12
Wijzig sortering
Misschien is een kleine nuance op zijn plaats, als ik het document van Viehbock doorlees interpreteer ik dat WPS alleen te kraken valt zodra het AP is uitgerust met een vast opgegeven PIN. Zodoende kan elke nieuwe client zich met 1 en dezelfde PIN aanmelden op dat station.

As the External Registrar option does not require any kind of authentication apart from providing the PIN, it is potentially vulnerable to brute force attacks.

Zodra gebruik gemaakt wordt van de methode met de knop indrukken of het genereren van een dynamische PIN uit de webinterface van het AP lijkt van onveiligheid geen sprake. Je moet hiervoor fysiek toegang hebben tot het apparaat of al toegang tot het netwerk hebben. Het betreft bij deze methodes een tijdelijke dynamische PIN die na enkele minuten weer "verdwijnt".

Als ik in mijn eigen 2 FRITZ!Box routers kijk worden de verschillen tussen deze 3 methodes scherp duidelijk. Standaard staat keuze 1, de push-button methode aan, keuze 2 is dynamisch via web interface(internal registrar), keuze 3 is een vast ingestelde PIN(external registrar).

Hiermee lijkt WPS dus niet per definitie slecht ontworpen te zijn, echter wel in combinatie met een vaste PIN met een zeer beperkt aantal mogelijke combinaties waarbij geen authenticatie wordt uitgevoerd (fysiek of op netwerk)
Deze kwetsbaarheid is vijf jaar geleden beschreven in de WPS 1.0h specificatie - en ook de bescherming (vaste pin helemaal uitzetten, of blokkeren na een aantal mislukte pogingen) is beschreven. Blijkbaar hebben niet alle fabrikanten de spec goed gelezen, of goed begrepen.
Uhm, alle commando `s kunnen toch gebruteforced worden, Zoals bij alle door mensen gecreëerde programmatuur...
ja en nee, - als het gebruteforced wordt maar in de practijk zou het een redelijke supercomputer (eentje uit de top 100) nog steeds 92 jaar in plaats van dagen kosten, kun je zeggen dat brutforcen op dit moment onmogelijk is, de kans dat je 92jaar on-ontdekt blijft, en de beveiliging niet wordt geupdate is nihil. duurt zo'n poging max 92uur op een klein aantal pcs (een stuk of 5) - of zelfs 100, (of in het geval van een bank 10k (botnetje?)... is dat toch heel anders.

bijna niets is echt onmogelijk, maar de meeste dingen zijn behoorlijk onwaarschijnlijk, net zoals niets echt zeker is... (wetenschappelijke term is dan ook vaak: aan zekerheid grenzende waarschijnlijkheid... )
Anoniem: 437752
@i-chat28 december 2011 18:32
... maar in de practijk zou het een redelijke supercomputer (eentje uit de top 100) nog steeds 92 jaar in plaats van dagen kosten
Voor 11.000 pogingen heb je toch geen 92 jaar voor nodig?
Nee dat klopt, dat is nu juist het punt van dit onderzoek.

Als je een wachtwoord van een onbekend aantal tekens of een voldoende hoeveelheid tekens zonder slimme technieken (zoals woordenboeken of social engineering) zou willen brute-forcen, kan dat jaren duren omdat je miljarden combinaties mogelijk allemaal langs moet gaan.

In het geval van WPS zou dat ook zo zijn, ware het niet dat je een enorm deel van de mogelijke wachtwoorden af kunt strepen omdat je af kunt leiden wat de eerste helft van het wachtwoord is. Daardoor blijven er inderdaad maar 11.000 mogelijke wachtwoorden over en kun je die dus in een spreekwoordelijke vloek en een zucht kraken.
Je kan niet afleiden wat het eerste deel van het wachtwoord is, maar omdat het wachtwoord in 2 gedeeltes naar het AP wordt gestuurd en je een foutmelding krijgt als het eerste deel niet juist is, kan je dus in 2 stappen gaan raden.
Oftewel: je hoeft geen 10^8 (100.000.000) pogingen te doen, maar slechts 10^4 + 10^4 (20.000). En omdat het laatste cijfer een checksum is hoef je er dus maar 10^4+10^3 (11.000) te doen.
Wie bedacht heeft dat je een wachtwoord in 2 keer kan verzenden en checken... :?
ik zet WPS altijd al uit op mijn routers (en degene die ik installeer bij m'n klanten)...
blijkt nu dat dit een goede zet is geweest!!!

ik deed dat altijd omdat je anders bij het aanmelden met een windows client altijd die WPS schermen krijgt ipv de vraag naar een WPA2 code...

beetje geluk bij het ongemak in dit geval :)

en jah, ik gebruik altijd wachtwoorden in de trend van
'Familie xxx die op dit xxx woont heeft een wachtwoordXXX"

dat mogen ze dan eens bruteforcen het is een ganse zin met hoofdletters, getallen (huisnummer) én een normaal wachtwoord ... bij sommige merken kan ik echter wel geen spaties gebruiken of is het vakje beperkt tot x tekens en moet ik dus wat afkorten... maar nooit gebruik ik een wpa2 key van minder 16 tekens
Ik heb überhaupt nooit het nut van dat WPS gezien.
Nu zelfs helemaal omdat het bij dat paswoord gewoon precies hetzelfde is als normaal via een PKI aanmelden op je access point.
Maar zelfs zonder dat wachtwoord is voor mij de toegevoegde waarde van dat WPS volledig onduidelijk. Het enige wat je (zonder WPS) hoeft te doen is op je computer verbinden met het juiste netwerk en de juiste code inkloppen. Dat is al zo eenvoudig dat WPS dat niet nog makkelijker kan maken.
Per definitie geldt dat je dingen die je niet gebruikt uit moet zetten, aangezien ze potentieel fouten kunnen bevatten die ervoor zorgen dat je minder performance hebt (misschien draait er wel een extra service die weer resources vraagt) of dus een beveiligingsprobleem kunnen bevatten.
Voor mij is dergelijke preventie een essentieel onderdeel van computergebruik.
En het blijkt dat die richtlijn dus weer zijn vruchten heeft afgeworpen.
Ènige waar het handig voor is: als je tijdelijk iemand op je netwerk wilt laten zonder dat je je wachtwoord geeft, maar dan alsnog heeft het geen nut.
mijn Hexa core heeft die 11k pogingen binnen 1 uur met gemak, 11k is echt weinig hoor.. pc's tegenwoording hebben zo 5x het hele woordeboek doorheen gezocht in 2 seconden.. en dat zijn ook like 2000 woorden ofzo...

(natuurlijka afgezien van de lockdown tijd)

[Reactie gewijzigd door Themperror op 29 december 2011 01:00]

Het 'doorrekenen' van de mogelijkheden zal vrij vlot gaan. Zeker aangezien het waarschijnlijk een lijst opeenvolgende data is.

Voor het versturen van het password en het ontvangen van het antwoord is echter ook tijd nodig. Ik ben niet bekend met het systeem, maar er zal ook wel iets als een handshake zijn, welke ook tijd kost.

Ook weet ik niet of je direct de volledige bandbreedte kan gebruiken. Ik meen dat je slechts een beperkte hoeveelheid toegewezen krijgt totdat de authenticatie gelukt is. (of is dit merk/type afhankelijk?)
woordenboek is slecht voorbeeld, deze hebben meestal een index waardoor je binair kan zoeken...
Google kan miljarden websites in een aantal milliseconden doorzoeken. Dus je voorbeeld is niet goed. Zoals pbruins84 al zei: geoptimaliseerde databases hebben indexes waardoor je efficiënt kan zoeken. Google gaat echt niet eerst die miljarden websites af om te kijken of de site aan jouw zoekopdracht voldoet. Bij bruteforce moet je wel degelijk alle mogelijkheden afgaan (tot je de goede hebt natuurlijk), wat veel langer zal duren dan zoeken in een geoptimaliseerde database.
google doet daar zeker geen paar miliseconden over, eens per week draaien die hun zoek machine, wat zeker wel een paar uur duurt. De database die die creert kunnen ze dan doorzoeken met hun zoek machine.
Lezen lijkt ook een vak. Er wordt nergens gemeld dat er een top 100 supercomputer nodig is om in 92 jaar een wachtwoord te kraken. Er staat dat als er een lockdown na X pogingen van een uur ingesteld word de kraaktijd verhoogd word van 4 uur !! naar 92 dagen. Die 4 uur is niet op een supercomputer maar gewoon op een gemiddelde computer omdat er maar 11.000 codes nagelopen hoeven worden.
Lezen lijkt inderdaad een vak. :) Bovenstaande post ging in op de vraag of deze doorbraak wel toegevoegde waarde had, aangezien brute force ook gewoon op onkwetsbare netwerken zou werken. M.a.w. die 11.000 wordt niet genoemd in combinatie met die 92 jaar, i.e. 92 jaar zou het (bijvoorbeeld) duren als dit veiligheidsprobleem niet zou bestaan.
Anoniem: 201824
@pelleke28 december 2011 23:11
Het over 92 jaar hebben i.p.v. de 92 dagen uit het artikel is ook verwarrend. Zo schrijft men ook geen boeken, tenzij het de bedoeling is. Ik neem aan dat het niet de bedoeling was van iemand om een ander te verwarren. Lezen is een vak, maar schrijven ook.
Als je na elke 5 pogingen een 60 minuten timeout krijgt voordat je de volgende 5 poging mag doen, is brute-forcen vrij zinloos. 11.000 pogingen kost je dan dug 92 dagen.

Nog beter zou zijn om na elke poging gewoon de te wachten tijd et verdubbelen, dan gaat het echt hard. En laten we wel wezen, als je na 10 pogingen nog de code niet goed hebt, weet je hem waarschijnlijk toch geheel niet.
Beter blijft het om WPS helemaal uit te schakelen en een veiliger systeem te gebruiken.

Als je een wachttijd in wilt voeren na een x-aantal pogingen, kun je niet betrouwbaar nagaan waar die pogingen precies vandaan kwamen. Het is immers mogelijk om MAC-adressen te spoofen.

Tenzij je die wachttijd ongeacht van wie de poging vandaan komt invoert, maar dan is het mogelijk voor 'kwaadwillenden' je netwerk te blokkeren als je met een nieuw apparaat het netwerk op wilt.
Dat is echter niet helemaal goed te organiseren.

Als je het hele apparaat zou blokkeren voor 60 minuten voor alle clients, kan iedereen je netwerk onklaar maken voor een uur. Als alternatief zou je die loginpogingen per mac-adres kunnen bijhouden, maar een beetje goeie hacker (lees: kwaadwillende) heeft een adapter die kan mac-spoofen. Dat schiet dus alsnog niet op.

//Edit, ik zie dat ik Larsie naapraat. :P

Wat is er toch mis met het knopje op de modem dat de MAC filter gedurende 30 seconden uitschakelt en alle nieuwe logins ter plekke toevoegt? Heb je geen WPS nodig (alleen gewoon een geldige WPA2 key.) Dat is ook nauwelijks werk.

[Reactie gewijzigd door pelleke op 28 december 2011 20:32]

Als je het hele apparaat zou blokkeren voor 60 minuten voor alle clients, kan iedereen je netwerk onklaar maken voor een uur.
Dat gebeurt dus niet met een lockdown. Die lockdown geldt alleen voor een nieuwe authenticatie, niet voor de clients die al geauthenticeerd zijn.
Als je bij je buurman wilt inbreken lijkt me ook 92 dagen niet onverkomelijk.

Ik heb ooit tijdens mijn studie mijn 'smart' elektra-meter onder handen genomen (zo'n Ampy ding met een IR poort), en daar heb ik toen ook een laptop 4 maanden op losgelaten voordat het wachtwoord goed was.

Aangezien je vervolgens arbitrair de logs (en meterstanden) kan aanpassen is dat toch echt niet 'veilig'. Maar ja, er zullen niet veel mensen zijn die dat doen, dus zal extra beveiligen niet rendabel zijn. Zou me niet eens wat verbazen als ContiNuon/Liander overal hetzelfde wachtwoord gebruikt.
Dat kan best lucratief zijn, als je gewoon consistent 20/30% onder je normale stroomverbruik rapporteert ;) In de eerste instantie langzaam afbouwen door "bezuinigingen" en dan 30% onder je verbruik gaan zitten.

Zou in ons huishouden al bijna 600 euro/jaar schelen.
Ik zeg DOEN :+) haha. Nee das dikke fraude en jaag je de rest van de bevolking op kosten.
niet de rest van de bevolking, alleen de andere klanten van dezelfde energie maatschappij :+
Juist, maar het gaat hier over het feit dat er maar 11000 pogingen nodig zijn, maximaal, doordat je kan "kijken" wat de eerste helft van de pincode is.
Zonder dit zou het dus een heel stuk langer duren vooraleer je het gekraakt hebt.
Pijnlijk dat een specificatie die enkel gemaakt is om meer gebruikers gebruik te laten van beveiliging op hun draadloos netwerk zo'n bug bevat. Voor het bruteforcen van een WPA2-PSK key heb je een heel stuk meer tijd nodig. Is er eigenlijk een proof-of-concept beschikbaar?
Als je de CERT melding uit het artikel had gelezen, dan had je gezien dat men zelfs een lijst heeft van welke merken kwetsbaar zijn. Dat is dus een 'beschulding' welke je moet kunnen aantonen. De enigste oplossing momenteel is om WPS uit te schakelen. Daarnaast geeft US-CERT alleen waarschuwingen uit bij direct gevaar.

Het CERT document beschrijft zeer goed waarom WPS kwetsbaar is. Uiteraard heeft Viehböck een proof-of-concept. Maar omdat de kwestbaarheid zo 'simpel' is kan iedereen welke verstand heeft van low-level netwerk programming zo'n tool schrijven.

Vervelender is het dat als WPS aanstaat, de lengte van jouw WPA2 helemaal niet meer belangrijk is. Immers als men de pincode heef geraden, geeft het access point automatisch alle gegevens, inclusief WPA2 key, door aan de client. Je moet niet vergeten dat toegang tot een access point vaak inhoud dat men toegang heeft tot het complete bedrijfs netwerk. En interne netwerken zijn helaas vaak slecht beveiligd.. Daarom komt het CERT nu al met deze waarschuwing zonder dat er al een oplossing is. Een virus zoals Duqu is dan wel erg eenvoudig bij bedrijven binnen te smokkelen.

De kwetsbaarheid zelf is erg simpel op te lossen, door gewoon na elke poging een nieuwe pincode te genereren. De foutmelding geeft dan alleen aan dat slechts de eerste helft van de vorige pincode goed was. Het geeft dan geen aanwijzingen over de nieuwe pincode. Is zeer eenvoudig via een firmware update van het access point op te lossen..
Ik ben volledig voor het onderzoek naar lekken in software en apparatuur. Zolang een lek niet bekend is zullen leveranciers er niet zo snel zelf iets aan doen.

Maar in dit geval is dit enorm slecht. Hoe goed zijn bedoelingen ook zijn geweest, hiermee heeft hij ervoor gezorgd dat de komende 5 jaar vrijwel alle router toegankelijk zijn voor kwaadwillenden. Het duurt niet lang en je hebt weer tooltjes op internet die iedere malloot kan gebruiken.

Normale gebruikers weten niet eens hoe ze op de webinterface van hun router moeten komen, laat staan hoe ze WPS uit moeten zetten. En dan hebben we het nog niet eens over de gebruikers die niet eens weten hoe ze gebruik kunnen maken van de router zonder de WPS-knop.

Net nu eindelijk vrijwel alle routers standaard met WPA(2) aangezet geleverd worden en de onbeveiligde netwerken vrijwel verdwenen zijn, krijgen we dit weer.

Typisch voorbeeld van een "Pandora's box".
Nee, als hij dit niet naar buiten had gebracht had iemand anders er wel achter gekomen en het misschien stil gehouden. Je kan hopen van niet natuurlijk maar dit soort fundamentele fouten moeten gewoon openbaar gemaakt worden.

Het is nu aan de leveranciers van routers met WPS-functionaliteit zaak om (via winkels) zoveel mogelijk informatie hierover te verspreiden. En desnoods WPS uitschakelen dmv firmware upgrades.
Wat hij bedoelt is dat er op dit moment nu allemaal mensen met laptops open in hun auto staan geparkeerd in Grote steden om in de netwerken te komen.

Tenminste als ik zo'n persoon was had ik gelijk een programma of script geschreven die meerdere WPS verbindingen kan bruteforcen tegelijk. Het stikt namelijk van de wireless routers in de randstad.
Uiteraard, en juist daarom is het zaak dat leveranciers en fabrikanten hier snel op reageren. :)

Er is natuurlijk altijd een kritisch moment tussen het moment waarop zoiets bekend wordt gemaakt en er wat aan gedaan wordt. Maar als het niet aan de grote klok gehangen zou worden heb je kans dat er ook misbruik van gemaakt kan worden.
hiermee heeft hij ervoor gezorgd dat de komende 5 jaar vrijwel alle router toegankelijk zijn voor kwaadwillenden.
Nee hoor. Mijn router heeft geen wireless. Ik had er trouwens wel eentje - en Experia box. Maar die gaat 1 a 2x uit/aan per dag om totaal onbekende reden. Als je aan 't online pokeren bent, is dat funest... ;).

Wireless is wat mij betreft inherent vele malen onveiliger dan wired. Niet dat er wired niks mis kan gaan - maar als je wireless ernaast zet, verliest wireless het gewoon dik.
Mijn haren gaan bij WPS zoiezo al overeind staan. Ik maak een apparaat waarmee je draadloos je netwerk op kan. Vervolgens weten veel huis tuin & keuken gebruikers niet hoe dit werkt, niets ten nadele van deze personen. En vervolgens maak ik een handig "WPS-tooltje" om makkelijker toegang te krijgen................

Net zoiets als het slot uit je voordeur halen omdat de deur dan "makkelijker" open gaat,........................... 8)7
Exact. Nu is het fysiek beschikbaar maken van een connectie opzich niet zo'n slecht idee; dat is alleen theoretisch onveilig.
Maar degene die bedacht heeft dat je een gewone, eenvoudige pin in kunt toetsen om verbinding te maken, mogen ze wat mij betreft opknopen aan de hoogste boom. Dat verzin je toch niet? Je superveilige WPA2 verbinding is dan een wassen neus; we zijn dan terug bij af, net toen het eindelijk tot mensen door begon te dringen dat ze een veilige encryptie als WPA of beter nog WPA2 moesten gebruiken. Nu -denkt- iedereen dus veilig te zijn (Want ja, ze hebben een WPA2 verbinding), maar uiteindelijk is het een simpele pincode die ook nog eens extreem makkelijk te raden valt. Weliswaar is de stand der dingen beter dan met WEP, wat binnen een paar minuten gekraakt kan worden, maar dat maakt het niet minder idioot dat men tot deze techniek overgegaan is.
ja, maar hier kan het wel zeer snel als er maximaal 11 000 pogingen nodig zijn
Je kan gelukkig wel WPS zonder PIN gebruiken, dan is het best handig en veilig.
Ik las brute force en eerst dat ik dacht, je kan het kraken binnen de 5 maand ofzo.
Maar niets is minder waar, 4h is echt wel weinig imo ...

Dit noem ik nog is een echte 'zwakbaarheid'
"Zo zou een lock-down na vijf mislukte pogingen en een lock-down-tijd van zestig minuten er voor zorgen dat pas na maximaal 92 dagen een pin-code gekraakt is. "
Het kan ook in 3 minuten, want het woordje 'maximaal' mist..
minimaal ?:) Want maximaal staat er gewoon ;)

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee