MVnet logo

Tietokoneet » Langattoman verkon murtaminen

  • Julkaistu: 21.01.2007
  • Päivitetty: 01.07.2008
  • Kommentit

Sisällys

Näin murtuvat langattoman verkon suojaukset

Huom! Tämän artikkelin tarkoituksena on saada lukijat parantamaan langattomien verkkojen suojausta osoittamalla, miten helppoa on murtaa heikot suojaukset. Artikkelin tarkoituksena ei ole rohkaista lukijoita tunkeutumaan muiden ihmisten langattomiin verkkoihin. Tässä esitettyjä asioita saa kokeilla vain omaan langattomaan verkkoonsa. Salauksen murtamista ei saa kokeilla toisten ihmisten langattomiin verkkoihin, koska se on laitonta.

WLAN-verkoissa käytetyt suojausmenetelmät

Jos haluat, että kukaan muu ei voi käyttää langatonta verkkoasi, se kannattaa suojata. Jos verkkoa ei ole suojattu, joku ilkeämielinen voi käyttää sitä rikollisiin tarkoituksiin, jolloin poliisitutkinnassa syyttävä sormi kääntyy ensin verkon omistajaan. Ei siis kovin mukavaa. Lisäksi, jos käytössäsi on vaikkapa Windows-koneiden lähiverkko, jossa on jaettuja tiedostoja, pääsee kuka tahansa näihin tiedostoihin käsiksi, jos verkkoa ei ole suojattu. Alla on lueteltu muutamia yleisiä suojausmenetelmiä:

  • MAC-filtteröinti: Jokaisella tietokoneella on verkkokortin MAC-osoite, joka on tyyliä 00:11:22:AB:56:78. Tukiasemaan luodaan lista kaikista MAC-osoitteista, joilla on oikeus käyttää langatonta yhteyttä. Muut osoitteet hylätään.
  • Piilotettu SSID: Jokaisella tukiasemalla on SSID, joka on tukiaseman verkon nimi (esim. omaverkko). Tämän nimen voi määritellä itse. Tavallisesti tukiasema lähettää SSID:tään ulkomaailmaan koko ajan tyyliin: "Täällä on tukiasema, minun SSID on omaverkko". Kun käytetään piilotettua SSID:tä, ei tukiasema lähetä tätä viestiä, jolloin verkkoa ei löydä ellei tiedä SSID:tä.
  • WEP-salaus: Edellä mainitut suojausmenetelmät eivät salaa verkon liikennettä. Kuka tahansa voi tarkastella verkon liikennettä, jos sitä ei ole salattu. Esim. kaikki salaamattomat sähköpostiviestit voisi lukea kuka tahansa. Kun verkon liikenne salataan WEP-salauksella, ei kukaan ulkopuolinen saa selvää, mitä tietoa verkossa liikkuu.
  • WPA-salaus: Tämä salausmenetelmä on lähes samanlainen kuin WEP-salauskin, mutta on huomattavasti vaikeammin murrettavissa. WPA-salauksen käyttäminen on hyvin suositeltavaa.

Suositeltavaa on siis käyttää WPA-salausta. Se on yksistään jo aivan riittävä. MAC-filtteröinti ja piilotettu SSID tuovat vain hyvin vähän lisäturvaa, jos WPA-salaus on käytössä, joten niitä ei ole pakko käyttää. Jos et jostain syystä voi käyttää mitään salausta (julkiset suojaamattomat ilmaisverkot), on vaihtoehtona käyttää esim. SSH- ja SSL-yhteyksiä. Esimerkiksi nettipankissa asioidessasi on selaimessa aina käytössä salattu SSL-yhteys, jolloin kukaan ei voi lukea verkkoliikennettä sinun ja pankin välillä, vaikka käyttäisitkin suojaamatonta langatonta verkkoa. Myös sähköpostit voi lukea palvelimelta yleensä suojatusti SSL-yhteyden avulla. Lähtevät sähköpostit taas lähtevät lähes aina suojaamattomana.

Suojausten kiertäminen lyhyesti

Tietokone kahleissa

Kaikki edellä luetellut langattoman verkon suojausmenetelmät ovat murrettavissa. Näistä MAC-filtteröinti ja piilotettu SSID ovat kaikista helpoiten kierrettävissä. Tukiasemaan liittyneen koneen MAC-osoitteen selville saaminen on muutaman sekunnin juttu. MAC-osoitteet kun lähetetään verkossa aina selväkielisenä. Piilotetun SSID:n saa myös selville hyvin helposti. Käytännössä piilotettu SSID saadaan selville heti, kun jokin tietokone liittyy langattomaan verkkoon.

Varsinaisten salausten murtaminen onkin sitten jo vaikeampaa, mutta silti mahdollista. Parhaimmillaan WEP-salaus murtuu jo muutamissa minuuteissa. FBI demonstroi aikoinaan kuinka he mursivat 128-bittisen WEP-salauksen vaivaisessa 3 minuutissa. Kotikonstein homma ei välttämättä aivan yhtä nopeasti hoidu, mutta esim. 64-bittisen WEP-salauksen saa kyllä hyvällä tuurilla murrettua alle 10 minuutin. Jos aikaa on, pystyy WEP-salauksen murtamaan varmasti. Ainut, mitä tarvitaan on, että kerätään tarpeeksi salatun verkon liikennettä. Aina kun lataat esim. netistä jotain, liikkuu data verkon yli paketteina. Nämä paketit voi kaapata kuka tahansa, vaikka ne olisivatkin salattuja. Salatun paketin sisällöstä vaan ei saa selvää, mutta sitä voi käyttää salauksen murtamisen apuna. Kun tarpeeksi paketteja on kaapattu, voi niille tehdä tilastollisen analyysin oikealla ohjelmalla, jolloin saa tietoon WEP-salauksen salausavaimen. Asiasta lisää tuonnempana.

WPA-salauksen murtaminen on itse asiassa helpompaa kuin WEP-salauksen murtaminen, jos WPA-salausavain on heikko (eli se löytyy sanakirjasta, esim. salasana computer on hyvin heikko, mutta comp#uter on jo paljon vahvempi). Tämä tarkoittaa sitä, että WPA-salauksen saa murrettua kaappaamalla vain muutama hassu paketti verkosta ja suorittamalla niihin ns. brute force -sanakirjahyökkäyksen. Jos WPA-salauksessa käytetty salausavain on vahva, on sen murtaminen käytännössä mahdotonta.

Suojausten kiertämiseen tarvittavat ohjelmistot

  • Kismet (Tällä ohjelmalla saadaan helposti selville tietokoneiden MAC-osoitteet ja piilotettu SSID)
  • Aircrack-ng (Tämä on seuraaja suositulle aircrack-ohjelmalle, jolla hoituu varsinainen pakettien kaappaus ja WEP/WPA-salauksen murtaminen)

Molemmista ohjelmista kannattaa ladata Linux-versiot (olettaen tietysti, että käytössäsi on jokin Linux-jakelu kuten Ubuntu tai SUSE). Kismet ja aircrack-ng ovat saatavilla myös Windowsille, mutta ne ovat huomattavasti rajoittuneimpia kuin Linux-versiot.

Jos koneeseesi ei ole asennettuna Linuxia, voi kyseisiä ohjelmia käyttää myös WEP-salauksen hakkerointia varten tehdyn Linuxin live-CD:n avulla. Tällainen on esim. Auditor Security Collection LIVE CD. Tämä on siis CD-levyltä toimiva Linux, jota ei tarvitse asentaa. Tietokoneen voi turvallisesti käynnistää tältä levyltä ja käyttää Linuxia ilman, että se koskee kiintolevyysi ollenkaan.

Ohjelmien asennus: Kismet ja aircrack-ng

Langattoman verkon liikenteen tarkkailuun ja salausavainten purkuun käytämme tässä siis kahta eri ohjelmaa: Kismet ja aircrack-ng. Molemmista käytetään näissä ohjeissa Linux-versioita. Ohjelmat toimivat esim. Ubuntu Linuxissa. Kismet on saatavilla myös Windowsille pienten kikkailujen jälkeen. Myös aircrack-ng:stä on Windows-versio. Mutta nämä molemmat ohjelmat toimivat parhaiten Linux-ympäristössä. Windows-versiot ovat hieman karsittuja ja ne eivät toimi läheskään niin useiden verkkokorttien kanssa kuin vastaavat Linux-versiot. Windows-versioissa ei myöskään toimi ns. packet injection -ominaisuus, jonka avulla WEP-salauksen murtaminen nopeutuu. Huomaa, että Linux-versiotkaan eivät välttämättä toimi kaikkien langattomien verkkokorttien kanssa.

kismet.conf

Tämän tyylinen rivi pitäisi löytää tiedostosta /etc/kismet/kismet.conf ja muokata sitä.

Jotta tietäisit varmasti, toimivatko ohjelmat omassa koneessasi, sinun pitäisikin tietää, mitä piirisarjaa (chipset) langaton verkkokorttisi käyttää. Joskus tämän saattaa löytää tietokoneen ohjekirjasesta tai etsimällä Googlella hakusanoilla "langattoman korttisi nimi chipset". Aircrack-ng:n tukemat piirisarjat löytyvät sivulta Aircrack-ng compatibility. Kismetin tukemat piirisarjat taas löytyvät Kismetin dokumentaatiosta kohdasta "11. Operating Systems". Tuettuja piirisarjoja ovat esim. ipw3945 (Intel Pro Wireless - hyvin yleinen kannettavissa) ja rt2500 (esim. D-Link DWL-G122 käyttää tätä).

Itse asensin nämä ohjelmat LG LW25 -kannettavaan, jossa on Intel PRO/Wireless 3945ABG -langaton verkkokortti. Käyttöjärjestelmänä oli Ubuntu 6.10. Niin Kismet kuin aircrack-ng on helpointa asentaa oman Linux-jakelun pakettienhallinnasta (Ubuntusta Synaptics pakettienhallinta). Oikeat ohjelmat löytyvät pakettienhallinnasta hakemalla ohjelmien nimillä.

Ainakaan Ubuntussa ohjelmien asennuksessa ei luotu mitään käynnistyskuvakkeita Ohjelmat-valikkoon, vaan ohjelmat käynnistetään suoraan komentoriviltä. Aircrack-ng on valmis käytettäväksi, kun se on asennettu pakettienhallinnasta. Kismettiä varten täytyy muuttaa erästä asetusta asennuksen jälkeen. Kirjoita siis komentoriville seuraavaa:

sudo gedit /etc/kismet/kismet.conf

Etsi tekstitiedostosta seuraavan kaltainen rivi:

source=ipw2200,ethX,ipw2200

Itselläni langattoman verkkolaitteen osoite (engl. interface) on eth1 ja käytössä oleva piirisarja on ipw2200, joten muutin asetuksen seuraavaan muotoon ja tallensin tiedoston:

source=ipw2200,eth1,ipw2200

MAC-filtteröinnin kiertäminen

Langattomassa verkossa MAC-filtteri on ikään kuin vartija, jolla on lista MAC-osoitteista, joilla on oikeus käyttää tukiasemaa. Jokaisella verkkoon kytketyllä tietokoneella on verkkokortti ja siinä yksilöllinen 12 merkin mittainen MAC-osoite. Tukiaseman listaan sitten lisätään manuaalisesti kaikki ne MAC-osoitteet, joille sallitaan pääsy. Tämän suojakeinon huono puoli on siinä, että se lisää verkon ylläpitäjän työtaakkaa, koska jokainen MAC-osoite on lisättävä manuaalisesti verkon tukiaseman pääsylistaan.

MAC-osoitteet kuitenkin kulkevat salaamattomina jokaisessa langattoman verkon paketissa, vaikka niissä itse data olisikin salattu esim. WPA-salauksella. Verkon liikennöintiä tarkkailemalla saakin muutamassa sekunnissa selville kaikkien tukiasemaan liittyneiden koneiden MAC-osoitteet. Useimmissa tietokoneissa verkkokortin MAC-osoitteen voi vaihtaa ohjelmallisesti. Verkosta ei siis tarvitse kuin saada selville yhden koneen MAC-osoite ja vaihtaa oman koneen MAC-osoite kyseiseksi osoitteeksi ja odottaa, että kyseisen MAC-osoitteen omaava kone lähtee pois verkosta. Tosin, jos verkossa ei ole liikennettä, ei MAC-osoitteita saa selville. Lisäksi voi tulla ongelmia, jos se kone, jonka MAC-osoite kopioitiin omaan koneeseen, yhdistyykin verkkoon. Tällöin verkossa on kaksi konetta, joilla on sama MAC-osoite, joka aiheuttaa ongelmia.

MAC-osoitteiden suodattaminen ei missään nimessä ole tehokas tapa suojata langatonta verkkoa. Lisäksi tämä menetelmä ei ole erityisen sopiva lähiverkkoihin, joissa käy paljon vierailijoita tai jossa tietokoneet muuten vaihtuvat nopeasti. MAC-rekisterin ylläpitäminen tällaisessa tilanteessa voi olla hyvin hankalaa.

MAC-osoitteiden saaminen selville Kismetillä

Avaa uusi konsoli-ikkuna ja kirjoita siihen seuraavaa, jolloin Kismet avautuu:

sudo kismet
Kismetin verkkolista

Kismetin listaamat langattomat verkot, jotka voi järjestää haluamallaan tavalla.

Kismet aukeaa nyt konsoliin. Painamalla välilyöntiä tervetuloa-ikkuna häviää. Nyt näet kaikki kantamalla olevat langattomat verkot kohdassa Network List. Ruudun alalaidassa kohdassa Status näet tietoja Kismetin havaitsemista tapahtumista kuten uuden tietokoneen liittymisen verkkoon tai uuden langattoman verkon havaitsemisen. Status-kohtaa kannattaa siis seurata.

Painamalla näppäintä "s" voit järjestää langattomat verkot haluamaasi järjestykseen - esimerkiksi kanavan mukaan painamalla tämän jälkeen näppäintä "c". Nyt voit liikkua nuolinäppäimillä listassa ylös ja alas (jos et voi, paina shift+L).

Valitse listasta haluamasi langaton verkko ja paina enter-näppäintä, jolloin näet tiedot langattomasta verkosta (mm. SSID, tukiaseman MAC-osoite ja tukiasemaan liittyneiden koneiden lukumäärä). Painamalla näppäintä "q" pääset takaisin langattomien verkkojen listaan.

MAC-osoitteet Kismetissä

Verkkoon liittyneiden tietokoneiden MAC-osoitteet. Alhaalla näkyy tukiaseman kaksi MAC-osoitetta (WLAN- ja Ethernet-osoitteet) ja ylhäällä iBookin MAC.

Valitsemalla listasta taas nuolinäppäimillä haluttu verkko ja painamalla shift+c, näet kaikkien niiden koneiden MAC-osoitteet, jotka ovat yhdistyneet tukiasemaan. Kirjoita osoitteet ylös. Huomaa, että listan alimpana on listattu myös tukiaseman MAC-osoitteet. Jos verkkoon ei ollut liittynyt yhtään konetta, et pysty saamaan selville koneiden MAC-osoitteita. Tällöin tarvitsee vain odottaa sitä hetkeä, kun jokin kone liittyy verkkoon. Painamalla ctrl+c, saat halutessasi suljettua Kismetin.

Kun yhdenkin verkkoon kytketyn koneen MAC-osoitteen on saanut selville, voi oman tietokoneen verkkokortin MAC-osoitteen muuttaa täksi. Windowsissa MAC-osoitteen vaihtaminen saattaa onnistua ohjelmallisesti. Kaikki langattomat verkkokortit eivät tätä tue. Jos verkkokortin MAC-osoitteen saa muutettua, pitäisi se onnistua valitsemalla Verkkoyhteyksistä langattoman verkon kuvake ja valitsemalla hiiren oikealla näppäimellä Ominaisuudet. Avautuneesta ikkunasta paina Määritä ja valitse Lisäasetukset-välilehti. Sieltä pitäisi jostain asetuksista pystyä muuttamaan MAC-osoitetta, mikäli se on mahdollista. Ubuntussa homma hoituu esim. ohjeen "Change your Network Card MAC Address on Ubuntu" avulla.

Kun olet vaihtanut MAC-osoitteesi, voit yhdistää tukiasemaan, mikäli tukiasemassa ei käytetä muita suojausmenetelmiä kuin MAC-filtteröinti. Huomaa kuitenkin, että jos verkossa on toinen kone, jolla on sama MAC-osoite, jonka äsken määritit itsellesi, voi olla, että tukiasema ei hyväksy konetta ja muutenkin verkkoliikenne saattaa häiriytyä. Tällöin tarvitsee odottaa, että toinen kone poistuu verkosta.

Piilotetun SSID:n selville saaminen

Langattomissa lähiverkoissa SSID (service set identifier) tarkoittaa langattoman verkon verkkotunnusta. SSID:n avulla erotetaan samalla kuuluvuusalueella olevat langattomat verkot toisistaan ja sen avulla tietokoneet osaavat kytkeytyä haluttuun verkkoon. SSID on enintään 32 merkin mittainen merkkijono (esim. "Omaverkko"). SSID määritellään tukiaseman asetuksissa.

Useimmissa tukiasemissa on mahdollista valita asetuksista päälle valinta "Piilota SSID" tai "Estä SSID:n lähetys". Tavallisesti tukiasema lähettää vähän väliä viestiä "Täällä on tukiasema, minun SSID on se ja se". Näin tietokone huomaa, milloin sen kantoalueella on langattomia verkkoja ja pystyy yhdistämään tähän langattomaan verkkoon. Jos SSID:n lähetys otetaan pois päältä, ei kyseinen tukiasema näy esim. Windowsin vapaiden langattomien verkkojen listassa, jolloin siihen ei voi yhdistää, ellei tiedä kyseistä verkkotunnusta.

SSID:n piilottaminen ei kuitenkaan varsinaisesti piilota sitä kokonaan. Piilottaminen estää vain sen, että tukiasema ei enää lähetä viestiään "Täällä on tukiasema, minun SSID on se ja se". SSID kuitenkin lähetetään salaamattomana verkon yli useassa muussa tilanteessa. Esimerkiksi tietokoneen kirjautuessa langattomaan verkkoon SSID kulkee salaamattomana asiakaskoneen ja tukiaseman välillä. Niinpä tarpeeksi kauan verkkoa kuuntelemalla on mahdollista saada piilotettu SSID selville.

Piilotetun SSID:n selville saaminen Kismetillä

Kismet ja piilotettu SSID

Kismet ei ole vielä löytänyt verkon SSID:tä, koska se on piilotettu.

Käynnistä ensin Kismet kuten edellisessäkin kohdassa. Jos langaton verkko käyttää piilotettua SSID:tä, pitäisi Kismetin aloitusikkunassa kohdassa "Network List" näkyä kyseisen verkon nimen kohdalla teksti "no ssid".

Kismetin pitäisi kuitenkin saada tämä piilotettu SSID selville heti, kun jokin kone yrittää yhdistyä tähän verkkoon. Tämä tapahtuu yleensä, kun tietokone on ollut sammutettuna ja se käynnistetään. Tällöin SSID lähetetään verkon yli ja Kismet havaitsee sen. Tekstin "no ssid" tilalle pitäisikin nyt vaihtua piilossa ollut SSID. Jos verkossa ei ole yhtään tietokonetta, ei piilotettua SSID:tä saa selville, mutta siis heti kun jokin kone yrittää yhdistyä verkkoon, saadaan SSID selville.

Jos verkossa ei käytetä muuta suojausta kuin piilotettu SSID, onnistuu yhdistäminen verkkoon helposti. Esim. Windowsissa tämä onnistuu menemällä ensin Verkkoyhteyksiin ja valitsemalla sieltä "Näytä vapaat langattomat verkot" ja yhä valitsemalla "Määritä langaton verkko kotiin tai yrityksen käyttöön". Tänne voi syöttää manuaalisesti verkon SSID:n.

Kismet löysi piilotetun SSIDn

Kismet löysi piilotetun SSID:n ja muutti nimen verkkolistaan. Myös Status-ruudulla näkyy ilmoitus piilotetun SSID:n löytämisestä.

Joskus Kismet ei jostain syystä osaa yhdistää piilotettua SSID:tä verkkolistassa näkyvään verkkoon, vaikka jokin kone yrittäisikin ottaa yhteyttä verkkoon. Itselleni kävi näin pari kertaa. Piilotettua SSID:tä voi kuitenkin etsiskellä tässä tilanteessa ikkunan alalaidan "Status"-ruudusta. Kun jokin kone ottaa yhteyden verkkoon, pitäisi ruudulle ilmestyä teksti, joka on tyyliin: Found new probed network "omaverkko" bssid 00:11:22:AB:34:56

Tästä näkee siis, että jokin kone on yrittänyt yhdistää verkkoon, jonka SSID on omaverkko. Jos kantamalla ei ole sen nimistä verkkoa, on hyvin todennäköistä, että kyseessä on metsästämämme piilotettu SSID. Itselläni kävi myös niin, että Kismet näytti väärin piilotetun SSID:n sen jälkeen, kun olin vaihtanut piilotetun SSID:n tukiasemasta. Kismet siis näytti vanhan SSID:n eikä löytänyt uutta. Kismetin täydellinen uudelleenasennus kuitenkin auttoi asiaan.

WEP-salauksen murtaminen

WEP-salauksen murtaminen kotikonstein on nykykoneilla hyvin helppoa. Parhaimmillaan WEP-salaus murtuu muutamissa minuuteissa. Kun WEP-salaus otetaan käyttöön, määritellään tukiasemaan salausavain, joka on joko 64-, 128- tai 256-bittinen. Mitä pidempää salausavainta käyttää, sitä hitaampaa on WEP-salauksen murtaminen.

WEP-salauksessa kaikki verkon datapaketit salataan käyttäen jaettua salausavainta (engl. pre shared key - PSK) sekä ns. alustusvektoria (Initializion Vector, IV), joka vaihtelee aina eri pakettien välillä. WEP-salauksessa jaettu salausavain on 40-, 104- tai 232-bittinen 5-29 merkkiä pitkä salasana, joka on vain tukiaseman ja siihen liittyneiden tietokoneiden tiedossa. Alustusvektori taas on 24-bittinen 3 merkkiä pitkä vaihtuva merkkijono. Alustusvektori lähetetään aina paketin otsaketiedoissa salaamattomana, jotta vastapuoli voisi purkaa paketin sisällön.

iwconfig Linuxissa

Komennolla iwconfig saat selville langattoman verkkokortin osoitteen Linuxissa (tässä eht1).

Oletetaan esimerkiksi, että jaettu salausavain olisi "netti". Tähän sanaan lisättäisiin sitten merkkijono "abc", jolloin muodostuu salausavain "abcnetti". Tällä salausavaimella salattaisiin yksi paketti. Seuraavaa pakettia varten luodaan taas uusi salausavain. Loppuosa avaimesta pysyy samana, mutta alkuosa muuttuu. Salausavain voisi olla esim. "xyznetti". Näin jatkettaisiin taas seuraavaan ja seuraavaan pakettiin. Tämä kolmen ensimmäisen merkin vaihtuva osa salausavaimesta on siis nimeltään alustusvektori (IV). Vastapuoli osaa purkaa paketin sisällön, koska IV lähetetään selkokielisenä paketin mukana ja vastapuoli tietää jaetun salausavaimen. Hakkeri taas tietää vain pelkän IV:n, jolla ei tee juuri mitään.

Paketit salataan siis jaetun salausavaimen ja alustusvektorin yhdistelmällä, jolloin paketti salataan varsinaisesti 64-, 128- tai 256-bittisellä avaimella. Koska IV vaihtelee paketista toiseen, jokainen paketti salataan eri avaimella. Tämä estää sen, että jos joku hakkeri pystyisi saamaan selville yhden paketin sisällön murtamalla paketin salausavaimen, ei hän tee tällä tiedolla juuri mitään, koska jokaisella paketilla on eri avain. Hän saa silloin tietoonsa vain yhden paketin sisällön, mutta ei saa selvää muiden pakettien sisällöstä.

WEP-salauksessa on kuitenkin havaittu, että tietyn malliset IV:t ovat "heikkoja" ja ne helpottavat WEP-salauksen murtamista. WEP-salauksen murtaminen perustuukin näihin heikkoihin alustusvektoreihin. Heikkoja alustusvektoreita esiintyy satunnaisesti ja siksi salauksen murtamista varten pitää kaapata verkosta riittävästi salattuja paketteja, jotka sisältävät siis alustusvektorin (näitä kutsutaan IV-paketeiksi). Tarkkaa määrää ei voi sanoa. 64-bittisen WEP-salauksen murtamiseen tarvitaan keskimäärin noin 50 000 - 200 000 IV-pakettia. 128-bittiseen taas tarvitaan noin 200 000 - 700 000 IV-pakettia. Hyvällä tuurilla paketteja voi tarvita vähemmän tai huonolla tuurilla enemmän. Joissain verkkokorteissa saattaa olla erinäisiä parannuksia, jotka estävät heikkojen alustusvektorien syntymisen, mutta tämä taitaa olla aika harvinaista.

Itse sain murrettu 64-bittisen WEP-salauksen keräämällä n. 59 000 IV-pakettia. Tätä varten verkossa täytyi liikkua yhteensä 1,5 Gt dataa. 128-bittisen salauksen murtamiseen taas tarvitsin 580 000 IV-pakettia ja tätä varten piti verkossa liikkua dataa noin 14,7 Gt eli aika paljon. Suurimmalla osalla kotikäyttäjistä kestää jopa viikko tai pari ennen kun verkossa on liikkunut näin paljon tavaraa. Mutta jos verkossa liikkuu tavaraa koko ajan maksiminopeudella (tai waretetaan netistä tavaraa yötä päivää), kestää tällaisen datamäärän kaappaaminen vain joitakin tunteja.

Kun näitä heikkoja IV-paketteja on saatu kaapattua tarpeeksi, voidaan niille tehdä tilastollinen analyysi, jonka avulla pystytään selvittämään alkuperäinen salausavain. Menetelmä on hieman monimutkainen eikä sen tietäminen tarkasti ole niin oleellista tämän artikkelin kannalta. Tärkeintä on tietää, että WEP-salaus murtuu, jos verkon liikennettä tarkkailee tarpeeksi kauan.

WEP-salauksen murtaminen aircrack-ng:llä

Testausasetelma tässä oli seuraava:

  • Tukiasema: D-Link DSL-G604T
  • Verkon asetukset: Nopeus 54 Mbps, WEP-salaus päällä, MAC-filtteröinti päällä, piilotettu SSID päällä.
  • Tarkkailtava kone: Apple iBook G4 1,33 Ghz, verkkokorttina Applen AirPort.
  • Tarkkaileva kone: LG LW25, jossa verkkokorttina Intel PRO/Wireless 3945ABG. Prosessorina tehokas Intel Core 2 Duo 1,83 Ghz.
  • Muita huomioita: Tukiasemassa oli verkkokaapelilla kiinni tietokone, jonka kiintolevyltä siirrettiin noin 1,3 Gt kokoisia tiedostoja iBookin kiintolevylle langattoman verkon yli. Sekä iBook että LW25 olivat molemmat parin metrin etäisyydellä tukiasemasta.

Tarkoituksena tässä oli siis murtaa tukiaseman käyttämä WEP-salaus. Apple iBook oli yhdistettynä tukiasemaan langattomasti. Tämä kone siis kuvaa autuaan tietämätöntä langattomassa verkossa surffailevaa kotikäyttäjää. LW25 taas kuvaa ilkeän hakkerin tietokonetta, joka yrittää murtautua tukiasemaan. Hakkeri tarkkailee iBookin ja tukiaseman välistä liikennettä ja kaappaa kaikki paketit koneelleen. LW25:ssä on käyttöjärjestelmänä Ubuntu Linux 6.10 ja siihen asennettuna aircrack-ng -ohjelmisto, jolla WEP-salauksen murtaminen onnistuu.

Langattomassa verkossa liikkuvien pakettien kerääminen on helppoa aircrack-ng -ohjelmistoon kuuluvalla airodump-ng:llä. Tätä varten täytyy ensin asettaa verkkokortti monitoroivaan tilaan, joka onnistuu suorittamalla seuraavat komennot konsolissa:

sudo iwconfig eth1 mode monitor
sudo iwconfig eth1 channel 6
cd Desktop/airodump/

Tässä on oletettu, että langattoman verkkokorttisi osoite (interface) on nimeltään eth1 ja tukiaseman käyttämä kanava on 6. Lisäksi tätä ennen on pitänyt luoda työpöydälle kansio nimeltä airodump. Langattoman verkkokortin osoitteen saa selville komennolla iwconfig.

Tämän jälkeen voidaan käynnistää airodump seuraavalla komennolla:

sudo airodump-ng -w capturewep -c 6 eth1

Tässä capturewep on sen tiedoston etuliite, johon airodump tallentaa kaappaamansa IV-paketit ja 6 on sen kanavan numero, jota halutaan tarkkailla. Hakkeroitavan tukiaseman käyttämä kanava näkyy esim. Kismetillä langattomien verkkojen listassa sarakkeessa Ch. Viimeisenä on langattoman verkkokortin osoite, joka itselläni on eth1.

Airodump toiminnassa

Airodump toiminnassa, kun se on kerännyt jo 253 431 IV-pakettia.

Nyt airodumpin siis pitäisi olla auki ja se aloittaa automaattisesti pakettien kaappaamisen. Jos verkossa liikkuu dataa, pitäisi Packets-kohdan lukuarvo alkaa kasvaa. Tämä laskuri laskee kaapattujen IV-pakettien määrän. Huomaat varmaankin, että laskurin arvo ei kasva kovin nopeasti varsinkaan, jos verkossa ei liiku paljoa dataa. Tässä pitää vain olla kärsivällinen.

Jos verkossa ei liiku yhtään dataa, ei myöskään pakettilaskuri kasva. Verkossa kyllä liikkuu tällöinkin paketteja, mutta ne ovat yleensä salaamattomia tukiaseman lähettämiä viestejä, joista emme ole kiinnostuneita. Olemme siis kiinnostuneita vain salatuista paketeista, joissa on alustusvektori. Näitä paketteja kutsutaan siis IV-paketeiksi. Mitä enemmän dataa verkossa liikkuu, sitä nopeammin pakettilaskuri kasvaa ja sitä nopeammin WEP-salaus murtuu.

Kun airodump on kaapannut tarpeeksi paketteja, voidaan kokeilla, jos WEP-salauksen saisi murrettua. Kuten on jo sanottu, 64-bittisen WEP-salauksen murtamiseen tarvitaan keskimäärin noin 50 000 - 200 000 IV-pakettia ja 128-bittiseen taas tarvitaan noin 200 000 - 700 000 IV-pakettia. Joskus voi tarvita enemmän ja joskus vähemmän. Hyvä puoli tässä on se, että pakettien kaappaamista voi jatkaa airodumpilla ja silti samaan aikaan yrittää murtaa salausta aircrack-ohjelmalla.

Avataan siis uusi konsoli-ikkuna aircrackia varten. Kirjoitetaan konsoliin seuraavaa:

cd Desktop/airodump/
aircrack-ng -m 00:0F:3D:A7:7D:0A -n 64 capturewep-01.cap

Eli ensin siirrytään työpöydän airodump-hakemistoon ja sitten avataan aircrack. Asetuksen -m jälkeen laitetaan sen tukiaseman MAC-osoite, jonka salausta ollaan murtamassa. Tämän sai selville esim. Kismetillä ja MAC-osoite näkyy myös airodumpissa kohdassa BSSID. Asetuksen -n jälkeen taas laitetaan käytössä olevan WEP-salauksen bittisyys (64, 128 tai 256). Huomaa, että todellisuudessa hakkeri ei tietäisi tätä bittisyyttä, joten käytännössä hänen täytyisi kokeilla avaimen murtamista jokaisella kolmella vaihtoehdolla. Viimeiseksi komentoon laitetaan sen tiedoston nimi, johon airodumpilla alettiin tallentamaan paketteja.

Airodumpin cap-tiedostot

Airodump tallentaa IV-paketit .cap-päätteisiin tiedostoihin aircrack-ng:tä varten.

Kun yllä esitetyn komennon ajaa, aloittaa aircrack yrityksen murtaa WEP-salaus. Jos aircrack ilmoittaa "Attack failed", tarkoittaa tämä sitä, että WEP-salauksen murtaminen epäonnistui. Tämä johtuu yleensä siitä, että IV-paketteja ei oltu kaapattu tarpeeksi. Tällöin täytyy vain odottaa, että airodump kerää hieman enemmän paketteja ja yrittää taas aircrackillä uudestaan.

Jos WEP-salauksen murtaminen onnistuu, ilmoittaa aircrack siitä tyyliin "KEY FOUND [12:3A:BC:45:60]". Hakasulkujen sisässä on aircrackin löytämä WEP-salausavain (ilman kaksoispisteitä). Eli edellisen esimerkin tapauksessa jaettu salausavain on 123ABC4560, jonka avulla voitaisiin yhdistää langattomaan verkkoon.

Pakettien kaappaamisen voi myös keskeyttää kokonaan painamalla airodumpissa ctrl+c. Pakettien kaappaamista voi jatkaa sitten myöhemmin avaamalla airodumpin uudestaan samalla komennolla kuin viimeksikin. Tällöin airodump tallentaa IV-paketit eri tiedostoon kuin ennen (eli ei esim. tiedostoon capturewep-01.cap vaan tiedostoon capturewep-02.cap). Sitten kun käyttää aircrackia, pitää muistaa antaa aircrackille molemmat IV-paketteja sisältävät tiedostot. Käytännössä tämä tarkoittaa, että lisätään vain avaamiskomennon perään uusi tiedostonimi:

aircrack-ng -m 00:0F:3D:A7:7D:0A -n 64 capturewep-01.cap capturewep-02.cap

Nyt aircrack aloittaa taas numeroiden rouskutuksen ja käyttää WEP-salauksen murtamiseen molemmista tiedostoista löytyviä IV-pakettien tietoja. Näin aika ei mene hukkaan, vaikka pakettien kaappaamisen välillä keskeyttäisikin. Jos joku on riittävän kärsivällinen, pystyy hän varmasti murtamaan vaikka 256-bittisen WEP-salauksen, jos vain jaksaa kaapata joka päivä hieman verkon liikennettä.

Epäonnistunut WEP-salauksen murto

WEP-salauksen murtamisyritys aircrackillä. 54 786 IV-pakettia ei riittänyt 128-bittisen avaimen murtamiseen.

IV-pakettien tuloa voi myös nopeuttaa, jos kärsivällisyys ei riitä. Hakkeroiva kone voi lähettää verkon muille koneille ns. deauth-hyökkäyksen, jolloin se pakottaa kaikki verkon koneet autentikoitumaan uudelleen. Tällöin kaikki verkon koneet kadottavat yhteyden ja yrittävät yhdistää uudelleen tukiasemaan. Kun kone autentikoituu uudelleen, tulee IV-paketteja yleensä hieman enemmän kuin tavallisessa verkkoliikenteessä. Kun deauth-hyökkäyksiä jatkaa, saa IV-paketteja hieman nopeammin. Jotkin verkkokortit tosin saattavat havaita tämän hyökkäyksen ja suojautuvat hyökkäystä vastaan siten, että sulkevat verkkokortin hetkeksi (esim. iBookissa tätä on esiintynyt ajoittain). Myös käyttäjä huomaa helposti tämän hyökkäyksen, koska verkkoyhteys ei toimi. Tällaisen hyökkäyksen tekeminen onnistuu esim. aircrack-ohjelmiston aireplay-ohjelmalla.

Vielä parempi tapa nopeuttaa IV-pakettiliikennettä on käyttää ns. replay-hyökkäystä. Tällöin autentikoinnin yhteydessä kaapataan ns. ARP-paketti. Käyttämällä hyväksi tätä kaapattua ARP-pakettia voidaan hakkeroivalla koneella huijata verkkoon liittynyttä konetta lähettämällä koneelle tiuhaan tahtiin ARP-viestejä, joihin toinen kone sitten vastaa. Näin saadaan nopeutettua IV-pakettien tuloa huomattavasti. Itse en saanut tähän tarvittavaa aireplay-ohjelmaa toimimaan käyttämälläni verkkokortilla, joten ei siitä sen enempää. Asiasta kiinnostuneen kannattaa vilkaista tämän artikkelin lopussa olevia linkkejä.

Itse kokeilin oman langattoman verkkoni murtamista. Aluksi käytössä oli 64-bittinen WEP-salaus. Latasin iBookilla internetistä usean gigatavun kokoista tiedostoa, jolloin dataa liikkui tukiaseman ja koneeni välillä noin 54 kt/s. Nettiyhteyden yhteysnopeus (512 kbps) ei tämän nopeampaan pystynyt. Tällä latausnopeudella LW25 sai kaapattua IV-paketteja noin 2 pakettia / sekunti. Kun dataa oli noin 8 tunnin aikana siirretty yhteensä 1,5 Gt, oli airodump kerännyt IV-paketteja 58 931 kpl ja nämä riittivät viimein WEP-salauksen murtamiseen. Jaettu salausavain selvisi aircrackillä muutamassa sekunnissa.

Aircrack löysi WEP-avaimen

Aircrack löysi viimein 128-bittisen jaetun WEP-salausavaimen (12345ABC678901234567890ABC). IV-paketteja tarvittiin 578 632 kpl.

Toisen testin suoritin 128-bittisellä WEP-salauksella. Tällöin en enää jaksanut ladata netistä niin pienellä nopeudella, koska riittävän määrän pakettien keräämiseen olisi kestänyt liian kauan. Tätä testiä varten latasin iBookilla toiselta lähiverkon tietokoneelta noin 1,3 gigatavun kokoisia tiedostoja, jolloin langattomassa verkossa liikkui dataa noin 1,7 Mt/s - 2,1 Mt/s. Tällä latausnopeudella LW25 sai kaapattua IV-paketteja noin 90-100 pakettia / sekunti. Kunnes dataa oli siirretty noin 2 tunnin aikana yhteensä 14,7 Gt, oli IV-paketteja kertynyt 578 632 kpl, joka riitti viimein WEP-salauksen murtamiseen.

Mitä vähemmän verkossa liikkuu dataa, sitä hitaampaa siis IV-paketteja saa kaapattua. Jos 128-bittistä WEP-salausta olisi yrittänyt murtaa silloin, kun verkossa liikkui dataa 54 kt/s, olisi riittävän määrän IV-pakettien keräämiseen kestänyt hieman yli 3 päivää! Jos taas 64-bittistä WEP-salausta olisi yrittänyt murtaa, kun dataa liikkui verkossa 2 Mt/s, olisi WEP-salaus murtunut noin 15 minuutissa. Ainakin itse havaitsin myös sen, että mitä kauempana hakkeroiva kone on monitoroitavasta koneesta, sitä hitaammin IV-paketteja sai kaapattua.

WPA-salauksen murtaminen

WPA-salauksenkin saa murrettua melko helposti aircrackillä, jos WPA-salauksen avaimena on käytetty jotain hyvin yleistä sanakirjasta löytyvää sanaa. Esimerkiksi, jos salausavaimena on käytetty sanaa computer, murtuu salaus varmasti alta aikayksikön. WPA-salausta ei voi kuitenkaan murtaa samalla lailla kuin WEP-salausta, eli kaappaamalla tarpeeksi paljon paketteja, koska WPA-salauksessa heikot IV-paketit on korjattu ja lisäksi pakettien salauksessa käytettyä salausavainta vaihdetaan automaattisesti. Aircrackin WEP-salauksen murtamiseen käyttämästä tilastollisesta analyysistä ei siis ole apua. Verkosta voi kaapata vaikka triljoona IV-pakettia, mutta WPA-salaus ei siitä murru.

WPA-salauksen murtamiseen käytetään ns. sanakirjahyökkäystä. Tällöin ensin tarkastellaan verkon liikennettä ja yritetään kaapata tukiaseman ja tietokoneen "kättely" (WPA handshake), joka tapahtuu, kun tietokone kirjautuu verkkoon. Näihin kaapattuihin paketteihin voi sitten kohdistaa sanakirjahyökkäyksen, joka tapahtuu ns. brute-force -tyyliin. Eli kokeillaan jokaista sanakirjan sanaa. Sanakirjoja löytyy ilmaiseksi netistä. Yksi perussanakirja on esim. englanninkielinen Openwallin ilmainen sanakirja. Aircrackin mukana tulee myös jonkinmoinen englanninkielinen perussanakirja. Sanakirjaksi kelpaa mikä tahansa tavallinen tekstitiedosto, jossa jokainen sana on omalla rivillään.

WPA-salausta on kuitenkin käytännössä mahdotonta murtaa nykymenetelmin, jos salausavaimena käytetään jotain pitkää merkkijonoa, jota ei löydy sanakirjasta. Esimerkiksi sanasta computer on helppo tehdä huomattavasti vaikeammin murrettava muuttamalla se vaikka muotoon "comp+uter".

WPA-salauksen murtamiseen käytetään aircrack-ng -ohjelmiston ohjelmia aircrack ja aireplay. WPA-salauksen murtaminen edellyttää, että aireplay tukee langatonta verkkokorttiasi. Kaikissa verkkokorteissa tämä ei toimi, esim. oma Intel Pro Wireless-pohjainen verkkokorttini ei aireplayn kanssa toiminut. Asiasta enemmän kiinnostuneen kannattaa tutkiskella tämän artikkelin lopussa olevia linkkejä.

WPA-salauksesta on tullut myös uudempi versio, joka kulkee nimellä WPA2 (joskus näkee käytettävän nimitystä WPA AES). WPA2:ssa käytetään aivan toisenlaista salausalgoritmia (AES), jonka murtamiseen ei ole kukaan keksinyt vielä mitään tehokasta keinoa. WPA2:n murtaminen nykylaitteilla on käytännössä täysin mahdotonta. Kotikäyttöön tarkoitetuissa laitteissa ei tosin vielä ole kovin montaa WPA2-salauksella toimivia laitteita, mutta pikkuhiljaa ne ovat alkaneet yleistyä. WPA2-salausta kannattaa käyttää mikäli mahdollista.

Yhteenveto

Parhaimmillaan WEP-salauksen voi siis murtaa alta kymmenen minuutin ilman, että verkon käyttäjä huomaa yhtään mitään. Kaikki tarvittavat ohjelmistot ovat saatavilla ilmaiseksi netistä. Tehokkaimmankin WEP-salauksen saa murrettua, jos vain jaksaa kaapata riittävästi paketteja verkosta. Tähän voi tosin mennä useampia tunteja, päiviä tai jopa viikkoja. Kaappausta voi tosin nopeuttaa usein eri konstein, jolloin 128-bittisenkin WEP-salauksen saa murrettua alta kymmenen minuutin.

MAC-filtteröinnistä ja piilotetusta SSID:stä ei ole vastusta juuri nimeksikään. Niiden kiertäminen on hyvin helppoa. Siksi ne eivät yksistään sovellukaan langattoman verkon turvaamiseksi.

WPA-salauskin on helppo murtaa, jos siinä käytetty salasana ei ole riittävän vahva (ts. löytyy sanakirjasta). Jos salasanana on tarpeeksi hankalasti arvattava, on WPA-salauksen murtaminen nykylaitteilla käytännössä mahdotonta. Siksi sitä olisikin suositeltavaa käyttää.

Lisätietoa aiheesta

Jos yllä esitetty tietopaketti ei riittänyt, seuraavista linkeistä löytyy lisätietoa langattoman verkon suojauksista. Kannattaa myös tutustua sivuun Langaton kotiverkko, jossa kerrotaan miten pystytät langattoman kotiverkon turvallisesti.

Artikkeli kirjoitettu: 21.01.2007

Sivun kommentit