WiFi WEP
Først vil jeg definere to forkortelser som går igjen i alle WiFi artiklene her.
- MS, mobile station, den mobile enheten, f.eks telefon, laptop og lignende
- BS, base station, den stasjonære enheten, f.eks en trådløs ruter, basestasjon og lignende
Sikkerhetsmekanismer i WEP
Beskytte data
Wired Equivalent Privacy (WEP) krypterer datapakker på MAC laget.
Bare MS som har den rette nøkkelen kan kommunisere med basestasjonen
- Alle MS kan se nettverkstrafikken, selv om de ikke har nøkkelen til å dekryptere
- Siden kryptering skjer på MAC laget så er det bare den trådløse linken som er beskyttet
Klartekst blir kryptert ved hjelp av en stream cipher, RC4. RC4 er en symmetrisk kryptering, som betyr at det er samme nøkkelen som krypterer og dekrypterer dataene.
- en ny RC4 nøkkel er generert for hver pakke for å unngå synkroniseringsproblemer ved pakketap
- standard nøkkellengde er 40-bit, men det er også implementert variant med 104-bit hvor en legger til en 24-bit vektor til de allerede eksisterende 40-bit
- pseudorandom sekvens utledet av RC4 nøkkelen blir XORet med datastrømmen
SSID og annen management trafikk er ukryptert.
Integritet av data
For å beskytte mot at dataene blir endret kalkuleres det en Integrity Check Value (ICV) basert på dataene. Denne ICV er en Cyclic Redundancy Check (CRC) sum.
Dataene og ICV blir satt sammen før krypteringen. Mottaker kalkulerer cå CRC på nytt, og verifiserer at den er lik den som han har mottatt.
Krypteringsprosessen
Kryptering
- En 24-bit Initialization Vector (IV) blir satt sammen med 40-bit nøkkelen sånn at man ender opp med en 64-bit RC4 nøkkel
- En 2-bit nøkkel ID spesifiserer at det er standard pre-shared key (PSK) som er i bruk
- ICV, en 4-byte CRC legges til før kryptering
- Frame Check Sequence (FCS), en 4-byte CRC legges til etter kryptering
Dekryptering
Man reverserer krypteringsprosessen.
- IV legges til den hemmelige nøkkelen, og sendes til RC4 algoritmen for å regenerere nøkkelstrømmen
- Nøkkelstrømmen blir XORet med den krypterte meldingen
- ICV blir kalkulert på ny og sjekket opp mot den tidligere kalkulerte verdien for å kontrolle om noen har tuklet med dataene på veien
Autentisering
Vi har to forskjellige modus for autentisering når vi bruker WEP.
- Åpent, det vil si ingen autentisering, eventuelt kan man filtrere på mac-adresse
- Shared-key, basert på WEP, og krever at både BS og MS støtter WEP
BS sender et tilfeldig generert nummer til MS, dette kalles en "challenge".
MS krypterer dette nummeret med pre-shared WEP key og sender dette tilbake til BS, dette kalles en "response".
BS verifiserer at han kan dekryptere nummeret (om den greier dette er det kryptert med den rette nøkkelen), og så kontrollerer den om det dekrypterte nummeret er det samme som ble sendt som challenge. Om alt er ok, er MS autentisert mot basestasjonen.
Sikkerhetsproblemer med WEP
shared-key autentisering
Problemene
- WEP impliserer at basestasjonen alltid oppfører seg korrekt.
- En kan autentisere MS for å forsikre seg om at kun autoriserte enheter får tilgang til nettverket, men MS kan ikke autentisere basestasjonen
- Nøkkelen som blir brukt for autentisering er den samme som blir brukt for å besyktte dataene. Dette er ingen god ide
- Siden nøkkelen XORes kan en angriper gjenskape nøkkelstrømmen dersom han har tilgang til en kjent klartekst, og tilhørende krypterttekst. Dette kan han skaffe seg ved å utnytte challenge-response i autentiseringsmekanismen.
- Shared-key autentisering gir ingen garanti for at etterfølgende data kommer fra den autentiserte enheten (MS).
Fiksen
- Gjensidig autentisering, BS og MS må kunne autentisere hverandre
- Et system for å holde på autentisert identitet, for eksempel en form for hemmelig token som sendes i hver dataframe
- Forskjellige nøkler for autentisering og kryptering
ICV
Problemet
- CRC er en lineær funksjon av dataene det genereres sum over. Det er derfor mulig å gjøre kontrollerte endringer i teksten uten å få en ugyldig CRC sum
Fiksen
- Integritetessjekken bør være basert på en ikke-lineær hash funksjon
Replay
WEP har ingen beskyttelse mot replay angrep fordi det ikke er implementert noen regler for sekvensiering. En pakke vil bli akseptert selvom den har en IV verdi som er mindre en tidligere pakker.
Nøkkelhåndtering
Det finnes ikke noe system for å håndtere nøkler. Hver enhet må statisk skrives inn på alle enheter som skal bruke den.
Alle enheter som kobler til samme basestasjonen bruker den samme nøkkelen, og kan derfor dekryptere hverandres trafikk.
Gjenbruk av IV og RC4 nøkler
Problemet
Dette er en svakhet i RC4 og en angriper kan enkelt knekke den om han får tak i nok trafikk fra nettverket.
- PSK er statisk, og endres veldig sjelden
- RC4 nøkkelstrømmen avhenger av IV
- Det er bare 2^24 mulige IVer, noe som fører til at IVer blir gjenbrukt etter 17 millioner pakker
- To pakker som har samme IV vil mest sansynlig også ha samme RC4 nøkkel
Svakhet i RC4 nøkler
En liten del av en nøkkel bestemmer mange av bitsene som tilslutt ender opp som pseudorandom data fra RC4 algoritmen.
Om angriperen får mange pakker med svake RC4 nøkler er det mulig å gjenskape den statiske / hemmelige delen av nøkkelen utifra den kjente delen (IVen).
Tiden det tar å cracke WEP er en lineær funksjon av nøkkellengden fordi angrepet cracker de individuelle bytesene i nøkkelen. Dette fører til at det ikke hjelper nevneverdig å øke nøkkellengden.
Det finnes mange gratisprogrammer for å cracke RC4 WEP nøkler, for eksempel Aircrack-ng og AirSnort.
Det har blitt demonstrert at man kun trenger 50.000-200.000 pakker for å cracke en 40-bit WEP nøkkel, og tilsvarende 200.000 - 700.000 for en 104-bit nøkkel.
Angrep mot WEP
Eavesdropping
Er et type passivt angrep hvor angriperen sitter innenfor rekkevideo av radiosenderen og lytter på trafikken. Han kan utnytte dataene i realtime, eller lagre de til senere bruk.
Analysering av trafikk
Er også et type passivt angrep hvor angriperen monitorerer trafikken på det trådløse nettverket. Angriperen ser her etter mønster i trafikken for å finne ut hva offeret driver med. For eksempel vil korte topper kunne indikere en type instant messaging eller terminal sesjon, mens en mer jevn trafikkstrøm kan tyde på video, nedlasting eller lignende.
Manipulering / Man in the middle
Er et aktivt angrep hvor angriperen mottar offerets krypterte data, manipulerer de, og sender de manipulerte dataene tilbake til offeret.
Angriperen kan også velge å manipulere pakkedataene slik at de blir sendt til en adresse han spesifiserer. Dataene er kryptert på det trådløse nettet, men i det øyeblikket de går ut på internett er de ukryptert. Angriperen kan lure brukeren til å legge igjen sensitiv informasjon på falske websider som er kontrollert av angriperen.
Denial of Service
Alle de vanlige DoS angrepene vil også fungere på trådløse nettverk.
Noen sikkerhetstiltak
- Aksesskontroll på MS
- brannmur, overvåking av data in/ut, blokkering
- SSL og SSH
- krypter trafikken mellom deg og tjenesten du skal bruke
- Akesskontroll på BS
- Lukket nettverk / Skjult SSID
- SSID sendes i klartekst til MS som vil koble seg på nettverket
- En angriper kan lett sniffe pakker for å se skjulte SSID
- Filtrering på mac-adresse
- mac-adresser sendes i klartekst selvom WEP er aktivert
- Det er enkelt å endre en mac-addresse dersom en vil gi seg ut for å være en annen
Konklusjon
WPA er ut, har vært det lenge og man bør slutte å bruke det.