Idag har de flesta av oss trådlöst nätverk hemma, det är väldigt bekvämt att slippa alla kablar och vi är mer mobila med surfplattor, telefoner och bärbara som vi inte vill ha kablar till hela tiden.

Vi vill ligga i sängen eller på soffan och surfa eller kolla på film, det har blivit en del av vår vardag

När vi beställer bredband idag får vi ofta ett modem med inbyggd router-funktion och med WiFi aktiverat, och det är oerhört enkelt att koppla in sina enheter idag.

 

Wi-Fi har mognat

Marknaden och användarna har mognat en del, borta är den tiden när man kunde hitta oskyddade nätverk i alla hus och den osäkra WEP autentiseringen är snart ett minne blott.

 

För att vi skall få en inblick i det hela skall jag ta en liten snabb genomkörare av historiken bakom att knäcka trådlösa nätverk, men först lite allmän bakgrundskunskap.

 

Att knäcka Wi-Fi

Som vi vet så bygger all trådlös datatrafik på radiovågor och dessa sänds ut på olika frekvenser eller som det heter i Wi-Fi, kanaler. Alla vi som har vart i ett Wi-Fi tätt område har fått problem med detta ibland, om för många nätverk sänder på samma frekvens, men idag har många accesspunkter automatisk kanalbyte för att hitta den minst trafikerade frekvensen.

Då tekniken bygger på radiovågor kan vem som helst med en radiomottagare sniffa eller ”lyssna av” trafiken som sänds där.

Vi kan fånga upp alla enheter via MAC adresser och isolera nätverk via accesspunkter eller bssid och på så sätt isolera den trafiken vi vill lyssna av, eller fånga upp och denna information kan användas för att läsa av din trafik, och på sikt, knäcka ditt nätverk.

WEP

WEP var nog den första generationens autentisering för Wi-Fi och den hade en brist i sin kryptering som gjorde det relativt enkelt att få fram din nyckel.

WEP har en relativt kort IV (initsierings vektor) endast 24-bitar och har man fångat upp 2 st IV kan man sen beräkna fram nyckelordet.

I stora drag gick attacken ut på att lura nätverket att kasta ur sig tillräckligt många IV för att samma IV skall användas 2 ggr och då du har ett begränsat antal kombinationer (24-bitar ger c:a 16 miljoner kombinationer) , och detta gjorde man igenom att skapa ett stort antal falska autentiseringar mot accesspunkten och spara trafiken i en s.k cap fil.

Denna fil kunde man senare använda för att beräkna fram nyckeln rätt enkelt.

FBI gjorde en demo där de knäckte ett WEP skyddat när på c:a 3 minuter.

Ända sättet att skydda sig var i princip att tunnla all sin trafik igenom ssh eller ipsec.

WPA / WPA2

Idag har WEP nästan gått i graven och vi använder nästa uteslutande WPA eller WPA2 som kommer i 2 olika implementationer, wpa-psk och wpa-802.1x.

wpa-802.1x är framtaget för företagsmiljöer och är rätt svårt att sätta upp, skall jag vara riktigt ärlig tror jag inte att jag någonsin kommit i kontakt med ett wpa-802.1x någon gång, så jag vågar inte uttala mig om säkerheten där.

Wpa-psk däremot är den vanligaste autentiseringen idag, psk står för ”private shared key”.

Detta bygger på ett lösenord som måste vara mellan 8 och 64 tecken, och wpa-psk anses vara säkert.

Dock har det kommit fram 2 st problem och jag skall lista båda, jag börjar med den sårbaraste delen.

WPS

Wps som står för ”Wi-Fi Protected Setup” togs fram 2007 för att förenkla för hemmaanvändare att koppla in sina trådlösa enheter, dessa metoder är ansluta via knapp, ansluta med pin-kod eller via fysisk nära kontakt.

Enligt standards skall alla routrar som stödjer WPS även stödja anslutning via pin-kod och det är just denna som är sårbar.

Pin koden är 8-siffrig varav den sista är en kontrollsiffra som beräknas på de övriga 7 siffrorna. Detta ger 10⁷ kombinationer = 10 000 000 stycken.

Dock verifieras koden med 4 tecken i taget, vilket förenklar det hela avsevärt.

Den första delen (första 4 siffrorna) ger 10⁴ = 10.000 möjligheter och den andra 10³ = 1.000 (kom ihåg att sista siffran bara är en kontrollsiffra) och detta ger 11.000 kombinationer, något som en dator kan testa på några timmar.

Vissa tillverkare har tagit detta till sig och byggt in vissa säkerhetsfunktioner, som t.ex automatisk nedstängning av pin-koden efter ett visst antal försök inom en viss tid.

På andra routrar kan man inte ens inaktivera pin-koden och nätverket är helt öppet för attack.

En lockdown eller nedstängning av tjänsten kan avskräcka de klantigaste attackerna, men en erfaren systemknäckare gör alltid sin hemläxa innan och tar reda på vilken router han arbetar emot och söker information om vilka hinder han kan möta på vägen.
Igenom att mixtra med pauser mellan attacker och antal sekunder man får vänta mellan att routern slutat svara kan man förhindra att systemet går i baklås.

En erfaren cracker kan enkelt ta reda på vilket fabrikat er router är igenom dess unika hårdvaruadress, eller MAC – adress som det heter.

Brute force mot lösenordet

Denna teknik kräver en lösenordslista och att vi har lösenord mellan 8 till 64 tecken långa ger oss oerhört många kombinationer och ett bra lösenord kan ta en räknemaskin flera år att knäcka.

Osäkerheten här ligger i att ett till synes säkert lösenord är extremt lättgissat för en lösenordsgenerator samt att de flesta av oss är för lata eller saknar kunskapen för att skapa egna lösenord, utan använder det förkonfigurerade som kommer med routern vi får av vår internetleverantör (som i och för sig redan har sårbarheten med WPS aktiverat som standard).

Det lösenordet vi får av vår internetleverantör brukar vara på 8 tecken och alfanumeriska tecken, endast gemener och från engelska alfabetet, vilket vilket bör ge 26+10 tecken på 8 ”bitar” vilket ger 36⁸ kombinationer.

För de som gör egna lösenord så brukar de ofta vara vanliga ordboksord som ”sommaren” eller personnamn, namnet på hunden, katten, båten ja vanliga saker som ofta finns med tidigt i de flesta lösenordslistorna.

Vidare, blandar man gemener och versaler så har vi idag bra verktyg som tar fram variationer på de ord vi matar in i lösenordslistan så att ”SoMMarEn123” kommer att genereras i vilket fall som helst.

Sen har vi de som försöker med vanliga utbyten av tecken, ”13374Ax0R” (leetHAXOR) och jag kan lova att även dessa genereras tidigt av de verktygen som finns idag.

Hur går en brute force till mot WPA/WPA2?

Först skall ni veta att detta är sista utvägen ofta för att ta sig in då det kan ta betydligt längre tid än en WPS attack.

Tekniken är enkel och görs i ett par enkla steg.

  1. Först lyssnar vi av trafiken och letar efter ett lämpligt offer, dvs en router med stark signal.

  2. Vi isolerar vår avlyssning på denna router (via MAC adress eller bssid) och letar reda på vilka klienter som är kopplade till denna router.

  3. Nästa steg går ut på att fånga upp en ”handskakning” som sker vid autentiseringen, denna handskakning används för att kryptera lösenordet och är nödvändigt om vi skall kunna attackera routern.
    Antingen kan vi vänta på att en klient skall koppla upp sig eller, otålig som man är så tvingar man en klient att ge ifrån sig en autentisering, dvs, man skickar eller injicerar en signal som kopplar bort klienten, som sedan automatiskt kopplar upp sig igen, varvid vi kan fånga upp ”handskakningen” och kan börja vår attack. Detta går så fort att klienten/användaren/offret inte har en chans att märka att detta händer.

  4. Ta fram en kraftig lösenordslista, det finns många halvbra ute på Internet, sedan är det bara att sätta ihop, köra igenom lösenordsgeneratorer för att ta fram variationer, sedan rensa listan på slask (dubbletter, lösenord på färre än 8 tecken eller fler än 64 tecken) och sen är det bara att köra på nästa steg.
    Innan man skapar sin lista kan det vara bra att veta lite om sitt offer.
    Ex. Om offret har den goda smaken att byta bort från det lösenordet som den fått av sin leverantör, som iofs är ovanligt, är det smart att ta reda på vilket språk de talar, husdjur? Barn? Make/maka? Deras namn? Sedan lägger man de mest troliga termerna tidigt i listan, allt detta går rätt snabbt om man är familjär med kommandoraden och dess verktyg i *NIX system.

  5. Här kan man gå flera vägar, beroende på situation.
    Om man inte kan ha en enhet nära sitt offer kan man förkryptera nycklarna på en mycket stark räknemaskin för att sedan bara komma tillbaks med sina färdigkrypterade lösenordssvar som då bara tar några minuter att gå igenom 1000 tals lösenord.
    Sitter man nära sitt offer kan man testa sitt svar medans man avkodar.
    Vissa föredrar att betala någon som sitter på en superdator och jättekraftiga lösenordslistor att beräkna färdiga svar, efter att de skickat in handskakningen.
    I vilket fall som helst, har du ett svagt lösenord så är det knäckt på ett par veckor.

Dessa är inte de ända attacktyperna

Det finns även andra tekniker att ta sig in, varav vissa går ut på att manipulera användarna via samtal eller att lura av dem lösenorden igenom att simulera ett fel, som t.ex onda tvillingen (evil twin) där du lurar in en användare på en "falsk" webbsida som lurar av dem lösenordet på wi fi.
Jag komer inte att gå närmare in på detaljer, men googla så kommer ni att finna :-)

Hur kan man skydda sig?

Vi skall diskutera lite om hur man kan skydda sig, men innan måste jag slå hål på ett par myter som jag springer på lite då och då.

Läst några tips som ges ut på nätet och ja hittade en artikel av binero skriven 2012en artikel av binero skriven 2012 som tar upp de vanligaste myterna som jag ny tänkte slå hål på. (obs, läs deras artikel först om ni ej förstår vad jag syftar på)

  1. Använd kryptering (de syftar på wpa/2 framför wep)
    Denna är jag beredd att hålla med om, dock används wep idag väldigt sällan, och kommer nästan aldrig förkonfigurerat på nya routrar.

  2. Gör ditt nätverk osynligt
    Här syftar de på att dölja sitt bssid.
    Detta gör det bara svårare för dig som användare att ansluta, en systemknäckare kommer att hitta dig i alla fall och isolera dig via din MAC adress.

  3. Begränsa tillgången till din MAC adress
    De syftar på att man kan begränsa via hårdvaruadressen vilka som kan ansluta till nätverket.
    Detta avskräcker dock bara de nyaste amatörerna, man kan s.k spoofa sin mac adress, dvs, man kan maskera eller byta sin hårdvaruadress till en som har access till nätverket, när man väl är inne är det en enkel sak att ta sig in i routern och lägga till sin egna hårdvara (dock spoofat med en påhittad adress) i listan på tillåtna klienter.

  4. Aktivera din brandvägg
    Detta är ett bra tips, dock skyddar det inte mot någon som vill knäcka din router.

Till Bineros försvar kan jag säga att artikeln har ett år på nacken och att den kan skydda mot en lat nybörjare, men en nybörjare med lite tålamod och som kan tänka lite själv och läsa instruktioner kommer att komma förbi dessa hinder på ett par timmar.

(Notera att jag endast tog med Bineros post för att de samlat de vanligaste myterna på en och samma sida, Binero gör nog ett bra jobb på det de skall göra, att administrera och tillhandahålla webbservrar.)

Så.. Vad kan man göra?

Inaktivera pin / WPS

Till att börja med skall ni inaktivera pin på WPS, och kan man inte det inaktivera WPS helt.
På vissa routrar kan det heta något annat, men det är funktionaliteten med att ansluta med en knapp/ pin/ eller att föra enheten nära.

Går det ej att inaktivera så leta efter en officiell firmware uppdatering för er router.

Om inte detta fungerar så finns det open source firmware.. men detta rekommenderar jag endast till avancerade användare, och dessa behöver nog inte ens läsa denna artikel :-)

Slå av DHCP och använd statiska ip adresser / byt subnät

Detta kan försvåra lite för inkräktaren, då när dom väl tagit sig in måste de gissa vilket subnät du använder.

Nackdelen med detta är att alla dina enheter måste tilldelas en adress innan, och även klienten måste konfigureras.

Skaffa ett bra lösenord

I humor serien http://xkcd.com/936/http://xkcd.com/936/ tar de även upp denna fråga och det ligger en stor del av sanning i detta.

Dock, skall du ha ett säkert lösenord som dessutom är lätt att komma ihåg så kasta in ett par specialtecken och siffror med, men som fortfarande är lätta att komma ihåg.

Ex:

matpåburk // inte ok

MatPåBurk // bättre

MatPåBurk??? // ännu bättre

4Mat!På5Burk?? // Bra och lätt att minnas

Kom ihåg att en duktig systemknäckare tar de troligaste lösenordskombinationerna först på sin lista för att kunna träffa rätt så fort som möjligt så inga lösenord som baserar sig på riktiga ord är egentligen säkra, så kompromissen blir att hitta något som du kan komma ihåg men som inte är baserat på riktiga ord eller namn, sen kastar du in ett par siffror och specialtecken där du kan minnas dom.

Leta upp några nonsensord som du kan minnas, kasta in ett par siffror och något specialtecken, detta ökar knäcktiden med flera år!

Kom gärna med förslag i kommentarerna om hur man kan ta fram säkra lösenord.

Lämna aldrig ert lösenord på en webbsida som säger att ni måste autentisera om pga tappad anslutning, även om ni inte kommer ut på nätet. 

/C