27. lokakuuta 2010

Istuntokaappaus vaarantaa Facebookin, Twitterin, jne.

Eric Butler on kehittänyt ja julkaissut "Firesheep" ohjelman/lisäosan Firefox-selaimeen. Kyseinen lisäosa mahdollistaa mm. suojaamattomassa langattomassa lähiverkossa (wlan) kulkevan tiedon automaattisen kaappaamisen ja hyväksikäytön erittäin helposti ja tehokkaasti. Käytännössä ko. lisäosa kaappaa uhrien evästeet, joita he ovat saaneet tunnistauduttuaan erilaisiin palveluihin ja mahdollistaa näiden evästeiden väärinkäytön hyökkääjän itsensä tarpeisiin. Hyökkääjä voi käyttää napattuja evästeitä tunnistautuessaan ko. uhrin ko. palveluun (esim. Facebook), eli toisin sanoen päästä sisälle ko. palveluun uhrin tunnuksilla!

Ohjelmaa pystyy käyttämään myös muissa kuin suojaamattomissa langattomissa verkoissa, koska esim. "lankaverkkoja" (kuten yrityksissä ja talonyhtiöissä olevissa lähiverkkoja) voi helposti huijata vaikkapa blogissanikin linkatulla Cain & Abel ohjelmalla siten, että hyökkääjä pääsee kuuntelemaan niiden liikennettä. Mikään ei tietenkään estä operaattoreiden päässä tai muualla nettipiuhan varrella olevia tekemästä samaa temppua (mutta tämä riskihän on aina ollut olemassa). Päähuomio on nyt kuitenkin se, että tällä ohjelmalla voi kuka tahansa helposti hyökätä ei-suojattuja langattomia verkkoja käyttävien kimppuun mm. kirjastoissa, nettikahviloissa, julkisissa tiloissa, jne., vaikka vain kiusanteon ja ilkivallan mielessä. Useissa tapauksissa sitä voi käyttää jopa erilaisiin nettipankkeihin jne. tunkeutumiseen. Firesheep on siis todellinen vaaratekijä kaikkien nettipalvelujen käyttäjille.

Miten tämä hyökkäys on ylipäätään mahdollinen?

Nettipalveluiden tarjoajat käyttävät usein salattuja (https) yhteyksiä kirjautumissivuillaan, jotta käyttäjätunnukset ja salasanat kulkevat salattuina. Mutta, nettipalveluiden tarjoajat antavat käyttäjille heidän salasanatunnistautumisensa jälkeen evästeen, joka jatkossa tunnistaa heidät (sen istuntokerran ajaksi yleensä), eikä tätä evästettä useasti lähetellä eikä vaadita lähetettäväksi salattuja yhteyksiä (https) pitkin! Firesheep iskee tähän väliin ja nappaa salaamattomana kulkeva evästeet ja sitä kautta saa käyttöoikeuden uhrin käyttämään nettipalveluun. Esimerkiksi Facebookin kirjautumissivun voi valita salattuna, mutta kun sinne on kirjautunut, niin yhteys onkin sen jälkeen muotoa http://www.facebook.com, eikä siis enää https-alkuinen...joka kerta, kun Facebook lähettää sinulle tietoa tai sinä sinne, eväste kulkee koneeltasi Facebookin palvelimelle salaamattomana ja tähän Firesheep iskee kiinni.

Miten ongelma sitten pitäisi korjata?

Yksinkertaisesti sanottuna, kaikkien nettipalveluntarjoajien pitäisi käyttää kaikessa tiedonsiirrossaan salattuja (https) yhteyksiä vähintäänkin silloin, kun käyttäjää tunnistetaan (vaikka vain tämän evästeellä). Salaamattomia yhteyksiä ei saisi missään tapauksessa sallia ko. tehtävään. Varsinainen "hyötykuorma", eli esimerkiksi se Facebookin sivu, voisi teoriassa kulkea salaamattomana vielä, kunhan ko. evästeet kulkisivat vain ja ainoastaan salattuja yhteyksiä pitkin. Paras vaihtoehto olisi tietysti  käyttää aina vain salattuja yhteyksiä. Esimerkiksi Google tarjoaa jo mahdollisuuden käyttää aina salattua yhteyttä gmail-palvelussaan, jolloin mitään tietoja, mukaanlukien kaapattavissa olevat evästeet ja lähettämäsi ja vastaanottamasi sähköpostit, eivät ole salakuunneltavissa nettiyhteyttäsi kuuntelemalla. Google tarjoaa myöskin salattuja internet-hakuja, joka estää linjojasi kuuntelevia pääsemästä selville, mitä haet netistä (samaa ja paremmalla tietosuojalla tarjoaa tosin myös Ixquick-hakupalvelu).

Ongelman vaikutusta voi toki helpottaa jo nyt, vaikkapa käyttämällä Firefoxissa ForceTLS tai HTTPS Everywhere -lisäosia (Muille selaimille vastaavia lisäosia ei ole tarjolla). Nämä pakottavat Firefoxin käyttämään aina salattua yhteyttä nettisivuille, jos sellainen vaan on saatavilla ja sitä kautta vähentävät tämän Firesheep-hyökkäyksen tehoa merkittävästi. Kaikki nettisivut eivät kuitenkaan tue https-yhteyksiä, joten täydellinen ratkaisu tuo ei todellakaan ole.

Toinen vaihtoehto ongelman helpottamiseen on olla käyttämättä suojaamattomia langattomia lähiverkkoja, eli oman verkon ollessa kyseessä suojaamalla se WPA2-PSK salauksella (ja vahvalla salasanalla tietysti) sekä vaihtamalla tukiaseman/reitittimen oletussalasana (vahvaksi salasanaksi tietysti). Julkisia verkkoja kannattaa siis välttää, koska pelkästään se, että verkko on salattu, ei anna turvaa, jos ja kun salausavain on muidenkin saatavissa (kuten vaikkapa kahviloissa tms. on kaikkien asiakkaiden saatavilla).

Mikäli julkisia verkkoja on pakko käyttää, kannattaa ehdottomasti käyttää VPN-systeemeitä, kuten vaikkapa maksullista iPredatoria, joka salaa kaiken liikenteesi omalta koneeltasi iPredatorin palvelimille saakka (Ruotsiin) vahvalla salauksella (yhtä vahva kuin iPredatorin salasanasi). iPredator on erinomainen muutenkin käytettäväksi, kun olet vaikkapa ulkomailla ja käytät hotellin tms. verkkoja. iPredator myöskin suojelee yksityisyyttäsi, koska se piilottaa alkuperäisen ip-osoitteesi, eivätkä paljasta identiteettiäsi muutenkaan vaikkapa Suomen viranomaisille (paitsi jos sinua epäillään jostain todella törkeästä rikoksesta). Jos haluat VPN-yhteyden ilmaiseksi, voit aina käyttää vaikkapa Ultra VNC:tä ja luoda kannettavalta tietokoneeltasi sillä yhteydet turvalliseen kotikoneeseesi ja sitä kautta "suojaamattomana" internettiin.

Ongelma on siis paha, mutta siltä voi suojautua melko hyvin, jos tietää, mitä tekee.

Firesheep on hyvä ohjelma ja on hyvä, että se julkistettiin. Muutoin ei näet tätä perustavaa laatua olevaa ongelmaa saataisi korjattua näin rivakasti. Vain paljastamalla ongelma ja tuomalla sen hyväksikäyttö kaikkien ulottuville pakotetaan internetpalveluiden tarjoajat reagoimaan asiaan ja parantamaan järjestelmiensä turvallisuutta. Pohjimmaisena ongelmana tässä, kuten monissa muissakin nettiin liittyvissä turvallisuus- ja yksityisyysasioissa on, että salausta ei käytetä oikein eikä tarpeeksi. Mikäli internetissä käytettäisiin aina päästä-päähän-salausta (vahvaa sellaista, ei pilipalikryptoa), monet urkinta, vakoilu, häirintä ja hyökkäysmenetelmät muuttuisivat tehottomiksi, koska liikenteeseen ei pääsisi käsiksi eikä sitä pääsisi väärentämään. Kun netin käyttäjät voisivat sitä kautta luottaa aina tahoon, johon ovat yhteydessä, monet ongelmat häviäisivät.

Tietysti moisen järjestelmän vaarana olisi, että samalla alettaisiin Isoveljen toimesta vaatia päästä-päähän tapahtuvaa vahvaa tunnistautumista (esimerkiksi sähköisen henkilökortin tms. kautta), joka voisi aiheuttaa erittäin pahan tietosuojaongelman, isoveljen voidessa varmuudella seurata kaikkien ihmisten toimintaa saadessaan ko. avaimet haltuunsa. Parempi siis ehkä toivoa, että sen sijaan, että keskusjohtoisesti nettiä ryhdytään salaamaan, eri nettipalvelut tajuaisivat itse parantaa tietoturvansa tasoa nykyisin olemassaolevia keinoja täysimääräisesti käyttäen. Se olisi ehdottomasti paras ratkaisu.

4 kommenttia:

Anonyymi kirjoitti...

https yhteys on käyttäjän näkökulmasta suotavaa, mutta se vaatii kaistalta huomattavasti enemmän ja vielä enemmän resursseja itse palvelimelta.

Jos esimerkiksi Google tarjoaisi vain https yhteyksiä palveluissaan tarkoittaisi se vähintään 3X palvelikapasiteetin nostamista sekä kaistankäyttö nousisi vähintään tuplaksi.

t: Ylläpitäjä

Markus Jansson kirjoitti...

Kaistalta vaatimukset ovat mitättömät, mutta palvelimelta toki se vaatii enemmän tehoja. Toisaalta, nykyään tietokoneissa ja palvelimissakin on jo kryptot erikoistettu omalle prosessorilleen/moduulille, joten enpä usko, että 3x verran aiheuttat kuormaa. Loppupeleissä kuitenkin esim. AES on niin nopea, että sillä tuskin on kovin suurta merkitystä vaikka sen laskutoimitukset hoidettaisiin pääprosessorillakin.

Anonyymi kirjoitti...

Ylläpitäjä voisi vähän päivittää tietouttaan. Ks. esim. http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html

Anonyymi kirjoitti...

Onko noi sun koirias?

Tos yhes kuvas

Ei oo pittbulleja, mut tieks, että koiria pitää rakastaa ja pitää huolta

JS