Du kanske undrar varför vi skriver om Wi-Fi Protected Setup, mer känt som WPS, överhuvudtaget.
Vi beskrev redan farorna med den redan under de döende dagarna av 2011.
För drygt tre år sedan sa vi faktiskt: ”inaktivera WPS-stödet.”
För att sammanfatta: WPS uppfanns för att göra det enklare att få en säker Wi-Fi-anslutning via din hemrouter.
I vanliga fall gör du ungefär så här:
- Koppla in en kabel mellan datorn och den nya routern.
- Logga in på administrationskonsolen, vanligtvis via en serie GUI-skärmar i webbläsaren.
- Sätt ett anständigt administrativt lösenord för nästa inloggning.
- Slå på Wi-Fi med WPA2.
- Skriv in ett anständigt Wi-Fi-lösenord. (Vi rekommenderar minst 14 välblandade tecken.)
När du eller dina vänner vill hoppa upp på nätet är det sedan bara att slå på Wi-Fi på din bärbara dator eller telefon, välja rätt routernätverk och skriva in WPA2-lösenordet. (Lösenordet kallas PSK, en förkortning för pre-shared key, eftersom det är vad det är.)
De flesta bärbara datorer och mobila enheter erbjuder vanligtvis att komma ihåg det lösenordet för senare, så du behöver bara skriva in det knasiga och komplicerade PSK en gång på varje enhet.
Men det är tydligen inte tillräckligt enkelt och snabbt.
Det skulle vara mycket enklare, verkar det, om dina vänner bara behövde skriva in en speciell 8-siffrig kod som du läser upp för dem.
Sedan skulle routern på ett säkert sätt överföra den mycket mer komplexa PSK-koden till dem, så att deras dator kunde komma ihåg den utan att de någonsin behövde skriva in den.
Tyvärr är det trots allt mycket enklare att skriva 866319 på tangentbordet på en mobiltelefon än att skriva tISa14cPWD, även om man bara behöver skriva in den en gång.
→ Larmbågarna borde ringa i ditt huvud vid det här laget. En åttasiffrig PIN-kod är också mycket lättare att gissa än en 14-teckig lösenfras. Så WPS är lite som att förvara nyckeln till ditt högsäkra företagsskåp på 10 000 dollar i en låda på 9,99 dollar i den översta lådan på skrivbordet.
Det första problemet med WPS
Det första problemet med WPS visade sig vara det kryptografiska protokoll genom vilket en klient och en router övertygar varandra om att de känner till den 8-siffriga PIN-koden.
För det första är den åttonde siffran i PIN-koden en kontrollsiffra som beräknas utifrån de sju första siffrorna, så PIN-koden är i praktiken bara sju siffror lång.
För det andra bevisar du att du känner till PIN-koden i två steg (M4 och M6 ovan), som var och en bevisar att du känner till halva PIN-koden.
För det tredje avslutas protokollet omedelbart om du gör ett misstag efter M4, där du verifierar den första halvan av PIN-koden.
Med andra ord, när du väl har försökt 12340000 och misslyckats, vet du omedelbart att varje PIN-kod från 12340000 till 12349999 är felaktig.
Du behöver inte 100 000 000 000 gissningar för att prova alla möjliga PIN-koder (108, antalet olika 8-siffriga nummer).
Du behöver 10 000 gissningar (104) för att låsa in de fyra första siffrorna i PIN-koden, plus 1 000 gissningar (103) för att slutföra jobbet med de tre variabla siffrorna i den andra halvan.
Det gör en brute force-attack bara 0,01 % så tidskrävande som man kan förvänta sig, givet 8 siffror i PIN-koden.
Det andra problemet
Det som är värre är att den schweiziska forskaren Dominique Bongard har funnit en defekt i många routerars implementeringar av M3 i protokollet ovan.
Förkortat förklarat, i steg M3 ovan krypterar routern den faktiska PIN-koden med hjälp av en stark algoritm (AES) med hemliga nycklar som består av två slumpmässigt valda tal, och skickar dig resultatet.
På så sätt har routern åtagit sig att bevisa att den känner till PIN-koden, men på ett sätt som du inte kan verifiera förrän senare.
Det är först när du har bevisat för routern att du känner till PIN-koden som routern kommer att berätta dessa slumptal för dig, så att du kan dekryptera M3 och försäkra dig om att routern också kände till PIN-koden från början.
Det är lite som en auktion med förseglade bud, där routerns bud är låst före ditt, men på ett sätt som gör att du inte kan se det för att bestämma ditt bud.
Men vad vår schweiziska forskare upptäckte var att många routrar inte förseglade sina bud särskilt väl, utan använde ”slumpmässiga” nummer som du kunde gissa dig till, eller i vissa fall beräkna själv.
Med andra ord kunde man vid steg M3 helt enkelt misslyckas med protokollet och börja knäcka krypteringen av datapaketet M3.
Det skulle avslöja PIN-koden direkt, ingen gissning krävs.
Och ännu fler problem
Det visar sig att det finns andra hål i vissa WPS-implementationer också.
Dessa har att göra med hur routern ”känner till” PIN-koden i första hand.
I vanliga fall skrivs PIN-koden ut på ett klistermärke under routern, så att angriparna måste få fysisk tillgång till routern först för att få virtuell tillgång via WPS-PIN-koden.
Förvisso är det lika bra eller bättre att ha fysisk tillgång än att ha virtuell tillgång ändå.
→ Angriparna skulle inte ens behöva bry sig om Wi-Fi: de skulle kunna koppla in sig direkt i en trådbunden port och göra en hård återställning när de väl är inne i skåpet under trappan där du förvarar din router.
Men hur vet routern vad som står på klistermärket?
Som en forskare känd som Craig rapporterade på webbplatsen /dev/ttyS0 ”embedded device hacking” förra året, beräknade vissa D-Link-routrar PIN-koden direkt från routerns MAC-adress.
En MAC-adress är den maskinvaruidentifierare som bränns in i den fasta programvaran på ditt nätverkskort; den är endast avsedd för att numrera varje nätverkskort unikt, inte för att ha något kryptografiskt eller säkerhetsrelaterat syfte.
Förvisso innehåller varje Wi-Fi-paket som du sänder, även om innehållet är krypterat, MAC-numret för ditt nätverkskort, plus MAC-numret för den enhet som du skickar paketet till.
Så vem som helst som kan sniffa ens ett enda paket från en sårbar D-Link-router kan få tag på dess MAC-adress och utifrån den beräkna WPS-PIN-koden.
Belkin är också sårbart
Det visar sig att D-Link inte är den enda.
Många Belkin-routrar gör något mycket liknande, upptäckte Craig nyligen, även om de försöker vara lite mer diskreta.
Dessa sårbara routrar rullar in en del av MAC-adressen och en del av routerns eget serienummer i den sifferkryptering som genererar WPS-nyckeln.
Likt WPS-PIN-koden skrivs serienumret vanligtvis ut på undersidan av routern, vilket innebär att det borde vara hemligt, åtminstone för en fjärrangripare.
Bortsett från att Craig upptäckte att berörda Belkin-routrar inte håller serienumret hemligt.
Om du skickar rätt sorts sondpaket till en sårbar router får du tillbaka ett svar som råkar innehålla serienumret.
Sondpaketen är oautentiserade (vilket innebär att vem som helst kan fråga) och okrypterade (vilket innebär att vem som helst kan läsa svaren).
Inte hemliga hemligheter
Med andra ord använder Belkin, liksom D-Link, ibland icke hemlig information för att beräkna en hemlig kryptografisk nyckel.
Och ännu värre, vem som helst som befinner sig i närheten av din router kan utan misstanke be routern att lämna ut den icke hemliga informationen.
Det är som att berätta för världen vad din nya valp heter på Twitter och sedan använda det som ditt lösenord.
Vad ska man göra?
Släck WPS på din router. (Om det inte finns något alternativ för att göra det, eller om du stänger av det men det fortsätter att fungera ändå, använd en annan router.)
– Försök inte uppfinna din egen kryptografi.
– Försök inte uppfinna din egen slumptalsgenerator.
– ”Säkerställ” inte nyckeln till ditt kassaskåp i skrivbordslådan.
– Överväg att använda Sophos UTM som en säker router. (Sophos Wi-Fi-produkter har inte stöd för WPS. Problemet är löst.)
Sophos UTM Home Edition
Vill du ha en säker router för din nätverksgateway hemma?
Prova vår prisbelönta UTM.
Hemutgåvan innehåller alla Sophos UTM-funktioner: e-postscanning, webbfiltrering, en VPN, säkerhet för webbapplikationer och allt du behöver för att hålla upp till 50 enheter i ditt hemnätverk säkra, 100 % gratis för hemmabruk.
Om du bor i ett delat hus eller om du har barn som du måste se upp för på nätet kan detta vara precis den produkt du behöver.
Ännu bättre är att du får 12 gratis licenser för Sophos Anti-Virus för Windows som du kan installera och hantera i hela hushållet, direkt från UTM:s webbkonsol.
Förståelse för brandväggar och säkra gateways
Lyssna på vår Sophos Techknow-podcast, Firewalls Demystified
(Fungerar inte ljudspelaren ovan? Ladda ner, eller lyssna på Soundcloud.)