You are here: TUTWiki>Tietoturva/Tutkielmat>TyoLuettelo?>2008-26

Joona Kannisto

Anonymisointi

Johdanto

Tutkielman aiheena on anonymisointi seittiselauksen yhteydessä. Aihe on kiistelty, koska anonymisointitekniikat tekevät esimerkiksi verkkorikollisten identiteetin paljastamisesta hankalampaa. Toisaalta anonyymi toiminta verkossa voidaan katsoa eräänlaiseksi perusoikeudeksi, koska se edistää sananvapautta. Yleisemmin identiteetin paljastumista voidaan haluta välttää esimerkiksi lakiteknisistä, periaatteellisista tai henkilökohtaisista syistä. Kuitenkin anonymisoinnin hyöty voi olla kyseenalainen, jos käyttäessään jotakin sen mahdollistavaa tekniikka tai palvelua leimautuu samalla leimautuu rikolliseksi. Tämän vuoksi anonymisointipalveluiden maineelle on tärkeää, että niillä on mahdollisimman monentyyppisiä käyttäjiä. [7]

Koska anonymisointitekniikoita voidaan käyttää sekä eettisesti arveluttaviin että jaloina pidettyihin tarkoitusperiin, muuttuu myös hyökkääjän rooli. Hyökkääjänä pidetäänkin tässä yhteydessä ketä tahansa, joka yrittää deanonymisoida käyttäjiä, riippumatta hyökkääjän tarkoitusperistä. Käytännössä hyökkääjän roolissa toimiva yrittää paljastaa:
  • palvelua käyttäneen käyttäjän identiteetin tai
  • tarkkailtavan identiteetin käyttämät palvelut.
Tämä tarkoittaa sitä, että käyttäjä yrittää piilottaa identiteettinsä esimerkiksi kohdesivuston ylläpitäjältä tai tietyn palvelun käytön joltain paikalliselta tarkkailijalta, ja joissain tapauksissa jopa molemmilta. Hyökkääjänä voi olla myös jokin kolmas osapuoli, joka saa tavalla tai toisella edellä mainituilta tahoilta käsiinsä tietoa käyttäjän yhteyksistä tai palvelun käyttäjistä.

Internetissä IP-osoitteet ovat usein käyttäjää yksilöivää eli identifioivaa tietoa, sillä ne yleensä kytkeytyvät luonnolliseen henkilöön, ryhmään tai melko pieneen maantieteelliseen sijaintiin, eikä niitä voi varsinaisesti väärentää jos haluaa saada IP-paketteja takaisinkin. Liikenteen todellisten lähde- ja kohdeosoitteiden piilottaminen katsotaan tästä syystä anonymisoinnin vähimmäisehdoksi Internetissä. Erilaisia ratkaisuja vähintään IP-tasolla toimivan anonymisoinnin toteuttamiseen vertaillaan jäljempänä toteutusteknisestä ja palvelun käyttäjän näkökulmasta. Käyttäjän liikenteen sisältö on rajattu pois tämän tutkielman piiristä sen moninaisuuden takia, vaikka liikenteen sisältö on usein helpoin tapa selvittää käyttäjän identiteetti. Käyttäjä saattaa siis itse ilmiantaa oman identiteettinsä esimerkiksi kirjoittamalla jotain mistä hänet voi tunnistaa. Identifioivaa liikenteen sisältöä on myös esimerkiksi evästeiden avulla käyttäjästä kerätty tieto. Niistä on maininta myöhemmän anonymisointia käsittelevän tutkielman luvussa 6.

Suorituskykyvertailussa keskitytään seittisivujen käyttämisessä tärkeisiin suureisiin. Anonymiteetin tasoa arvioidaan erilaisten käyttäjien tarpeiden mukaan, etenkin sen mukaan, haluaako hän salata identiteettinsä lähellä itseään vai kohdetta sijaitsevalta taholta. Kaikki tässä tutkielmassa esitellyt anonymisointipalvelut pyrkivät olemaan viiveiltään käytettäviä, joten ne ovat myös haavoittuvaisia ajoitushyökkäyksille ainakin jossain määrin. Keskitetyt ratkaisut ovat pääsääntöisesti nopeampia kuin hajautetut verkot, mutta ne sopivat vain tilanteisiin, joissa ei ole pelkoa, että keskitetyn palvelun ylläpitäjä haluaa murtaa käyttäjän anonymiteetin. Hajautetuista verkoista TOR (The Onion Router) tarjoaa suuremman käyttäjämääränsä vuoksi paremman anonymiteetin [7] ja on siksi suositeltavampi valinta vertailluista tämän tyypin toteutuksista.

Keskitetyt ratkaisut

Keskitetyt ratkaisut tarkoittavat tässä yhteydessä yhteen välityspalvelimeen perustuvia ratkaisuja, joissa anonymiteetin säilyminen on jonkin luotetun tahon varassa. Etuina yhteen palvelimeen perustuvassa ratkaisussa on toteutuksen yksinkertaisuus ja suorituskyky. Epäluotettavan välityspalvelimen tapauksessa käyttäjän anonymiteetti voi kuitenkin olla jopa heikompi kuin ilman välityspalvelinta. Käyttäjän täytyy siis pystyä luottamaan välityspalvelimen ylläpitäjän kykyyn ja haluun suojata käyttäjän identiteettiä paljastumiselta siltä taholta joka haluaa murtaa käyttäjän identiteetin.

Anonymisoivat WWW-välityspalvelimet

Anonymisoivia WWW-välityspalvelimia käytetään selaimen välityksellä. Palvelinpuolen ohjelmisto suodattaa käyttäjän sivunlatauspyynnöistä pois yksilöivät tiedot ja joissain tapauksissa suodattaa myös pois osan ladattavan sivun sisällöstä (esimerkiksi keksit, javascript-koodit ja mainokset). [5] Osa palveluista tarjoaa myös suojattua yhteyttä, mikä lisää tämän ratkaisun käyttökelpoisuutta epäluotettavien linkkien yli, esimerkiksi TOR-verkossa pahantahtoisten exit node -solmujen tapauksessa. Testasin tätä tutkielmaa varten proxify.comin tarjoamaa välityspalvelinta eikä sen käyttö vaikuttanut merkittävästi sivujen latausaikoihin. Osa sivuista ei kuitenkaan toimi oikein tällaisen välityspalvelimen kanssa, joten niiden käyttö on luontevaa lähinnä tilapäiseen tarpeeseen.

Tällainen palvelu ei sovellu kohdepalvelimelle asti salattuun HTTPS-yhteyteen, vaan salattu yhteys voidaan ottaa vain käyttäjän ja välityspalvelimen, sekä välityspalvelimen ja kohdepalvelimen välille. Välityspalvelin näkee siis HTTP-liikenteen aina selväkielisenä. Salaus voidaan kuitenkin toteuttaa ylemmällä tasolla tarvittaessa.

Avoimet WWW-välityspalvelimet

Välityspalvelimet olivat yleinen verkon käyttötapa joitakin vuosia sitten yhteysnopeuksien ollessa vielä verkkosivujen mittakaavassa hitait. Niitä perustettiin yrityksiin helpottamaan ulkoverkon ruuhkaa. Monet nykyisin toimivista välityspalvelimista ovat joko väärin konfiguroituja tai tahallisesti asetettu keräämään käyttäjistään tietoja [4]. Välityspalvelimen osoite laitetaan selaimen yhteysasetuksiin ja selain lähettää kaikki sivunlatauspyynnöt välityspalvelimelle. Välityspalvelin voi lähettää sivunlatauspyynnön yhteydessä kohdepalvelimelle tietoa alkuperäisestä käyttäjästä. Anonymisoivat välityspalvelimet eivät tätä kuitenkaan tee. Anonymisoivat HTTP-välityspalvelimet monesti kuitenkin keräävät käyttäjistä lokitietoa ja jopa tutkivat sekä suodattavat liikennettä. Käytin muutamaa nettisivustoa kokeiluluonteisesti parin eri välityspalvelimen kautta ja sijainnistaan riippuen ne vaikuttivat sivujen latausviiveeseen. Suurta vaikutusta siirtonopeuteen ei ollut havaittavissa suorituskykyisimmillä palvelimilla.

VPN-palvelut

VPN (Virtual Private Network)-välityspalvelinta käytettäessä käyttäjän ja VPN-yhteyskeskittimen välille muodostetaan salattu tunneli, jota pitkin käyttäjän määrittelemä liikenne kulkee (usein oletuksena kaikki liikenne). Nämä palvelut toimivat loogisesti kaksi tasoa alempana kuin HTTP-välityspalvelimet, joten niiden läpi voidaan ilman teknistä estettä käyttää mitä tahansa kuljetus- ja sovelluskerroksen protokollia (esimerkiksi Bittorrent). Löytämäni toteutukset olivat pääosin maksullisia. Tutkielmaa varten otin ruotsalaiselta palveluntarjoajalta Relakksilta käyttööni testitunnuksen. Yhteyden nopeus ei eronnut havaittavast suorasta yhteydestä. Relakks lupaa luovuttavansa käyttäjistään tietoja vain sellaisessa tilanteessa, jossa käyttäjälle voisi Ruotsin lain mukaan tulla yli kahden vuoden rangaistus teosta, josta häntä epäillään [3]. Palveluun rekisteröitymiseen käytettäviä tietoja ei kuitenkaan tarkisteta ja tällä hetkellä palveluun on saatavissa 30 päivän koekäyttötunnuksia ilmaiseksi. Tätä palvelua voi käyttää yhden tai useamman muun anonymiteettiä parantavan keinon kanssa. TOR-verkkoa testasin tämän yhteyden yli. Yhteyden yksi käyttötapa voisi olla esimerkiksi salaamattomia langattomia verkkoja käytettäessä paikalliselta hyökkääjältä suojautuminen.

Lainsäädäntö ja tietojen luovutus

Useat anonymisointipalveluita tarjoavat palvelimet ovat lainsäädännön puolesta velvoitettuja keräämään tunnistetietoja käyttäjistään ja säilyttämään näitä tietyn ajan. Tietojen luovutukseen liittyvä lainsäädäntö vaihtelee maittain jonkin verran, joten useampaa yhtäaikaista erimaalaista välityspalvelinta käyttämällä saa jonkin verran lisäturvaa.

Myöhemmän anonymisointia käsittelevän tutkielman luku 3 täydentää tässä esitettyä näkemystä keskitetyistä anonymisointipalveluista.

Hajautetut verkkoratkaisut

Hajautetuissa ratkaisuissa välityspalvelimista kootaan tunneli, jossa tunneliin osallistuvista palvelimista yhdelläkään ei ole varmuutta verkossa liikkuvan paketin alkuperästä ja kohteesta. Tavoitteena on, etteivät liikennettä välittävätkään tahot pysty täysin murtamaan käyttäjän anonymiteettiä muuten kuin laajamittaisella yhteistoiminnalla. Hajautetut verkot tarvitsevat anonymiteetin ylläpitämiseksi suhteellisen paljon käyttäjiä, joten varteenotettavia vaihtoehtoja on varsin niukasti. Keskityin tässä tutkielmassa kahteen yleisesti käytössä olevaan verkkoon, joista TOR tunnetumpana sai hieman enemmän palstatilaa.

Sipulireititys ja sen totetutus TOR

Toimintaperiaatteeltaan TOR on verkko, jossa paketteja reitittävät tahot saavat mahdollisimman vähän tietoa paketin osoitteista ja sisällöstä. Lähettäjä valitsee paketilleen ennalta satunnaisen reitin, tekee salauskerroksen jokaista reitin solmua kohti kyseisen solmun julkisella avaimella (lopusta alkaen eli sisimpänä viimeinen) ja lähettää paketin reitin ensimmäiselle solmulle. Solmut purkavat yksitellen paketin uloimmat kuoret ja lähettävät puretun paketin pakettiin merkitylle seuraavalle vastaanottajalle. Yksikään matkan varrella olevista solmuista ei saa paketista muuta tietoa kuin lähettäneen solmun osoitteen, seuraavan kohteen sekä jonkinlaisen käsityksen paketin välittämän informaation määrästä. Viimein jokin palvelin purkaa paketin viimeisistä kuorista ja lähettää sen TOR-verkon ulkopuoliselle vastaanottavalle palvelimelle. Tämä exit nodeksi kutsuttu viimeinen palvelin on ainoa, joka näkee paketin sisällön sellaisena kuin mahdollinen paikallinen hyökkääjä sen voisi havaita. TOR pystyy välittämään mitä tahansa TCP-liikennettä, joten sen käyttö ei rajoitu pelkästään web-selaukseen. [2]

Järjestelmän suunnittelun lähtökohdat

TOR-verkon tarkoituksena on olla käytännöllinen, hyödyllinen ja anonyymi [7]. Käytännöllisyyden vaatimuksista esimerkiksi liikenneanalyysia ei ole lähdetty aktiivisesti torjumaan tyhjäkäyntiliikenteellä vaan kaikki verkossa liikkuva liikenne on tarkoituksenmukaista. Myös hyppyjen määrä pidetään tehokkuussyistä melko alhaisena (oletuksena kolme). Hyödyllisyysnäkökulman vuoksi ei käytetä myöskään keinotekoisia viiveitä, joita jotkin liikennevirtoja sekoittavat anonymisointipalvelut (esimerkiksi Mix-master [6]) käyttävät. TOR-verkkoa pyöritetään vapaaehtoisvoimin, joten yksi sen suunnittelun lähtökohdista on ollut antaa verkon päätepisteille mahdollisuuksia vaikuttaa liikenteeseen, jota niiden kautta kulkee.

Ongelmat TOR-verkossa

Tällä hetkellä järjestelmän resurssit alittavat halukkaiden käyttäjien määrän, joten verkko toimii hitaasti. Protokolla myös valitsee hypyt satunnaisesti painottaen solmujen ilmoittamaa kaistanleveyttä. Tämä tapa heikentää anonymiteettia mahdollistaen hyökkäämisen pienemmillä resursseilla ja hankaloittaa sopeutumista muuttuviin olosuhteisiin [9]. Tor on lisäksi kaikkien muiden käyttökelpoista nopeutta tarjoavien anonymisointitekniikoiden tavoin haavoittuvainen hyökkääjää vastaan, joka pystyy tarkkailemaan verkkoa paketin lähetys- ja vastaanottopäässä.

Tähänastiset TOR-verkkoon kohdistetut hyökkäykset ovat koostuneet pahantahtoisista ulkoverkkoon yhteydessä olevista välityspalvelimista, jotka ovat saaneet käyttäjien lähettämää arkaluontoistakin tekstiä selväkielisenä haltuunsa. Varsinkin monien käyttämät ns. itse allekirjoitetut SSL-sertifikaatit ovat ongelmallisia, koska exit-node voi lennosta luoda uuden sertifikaatin ja väittää olevansa kohde, ja saada käyttäjän näennäisesti salatun liikenteen tietonsa. Lisäksi ns. Null-etuliite -hyökkäys [10] mahdollistaa myös virallisen sertifikaatin väärentämisen.

Java Anon Proxy (JAP)

JAP on käyttäjien liikennettä sekoittava verkko. [1] Sen toimintatapa muistuttaa hieman TOR-verkon tapaa toimia, mutta käyttäjä voi valita, mihin reitittimiin hän luottaa, sillä ne eivät ole anonyymejä. Verkossa on mukana sekä vapaaehtoisia että kaupallisia toimijoita. Verkon reitittimet ovat antaneet lupauksensa siitä, että ne eivät kerää tunnistetietoja käyttäjistä. Verkon käyttäjän anonymiteetti voidaan murtaa solmujen ylläpitäjien yhteistyöllä ja tämä on ainakin Saksassa ehto verkon toiminnan laillisuudelle [8]. Kohdekoneen ja käyttäjän välisessä putkessa olevat reitittimet eivät kuitenkaan normaalitilanteessa tässäkään verkossa tiedä pakettien lähde- ja kohdeosoitteita. Eri käyttäjien liikenne pyritään verkon solmuissa sekoittamaan liikenneanalyysin hankaloittamiseksi. JAP toimii ainoastaan http-, https- ja ftp-välityspalvelimena, joten se ei sovellu muuhun käyttöön. Kokeilin JAPin suorituskykyä ilmaisia solmupisteitä käyttäen ja se oli suunnilleen samaa luokkaa TORin kanssa.

Lähteet

Kehitysideoita

Kommenttisivulla tiedusteltiin eri anonymisointitekniikoita koskevista uhkamalleista. Niistä on kerrottu melko suppeasti ja ainakin TORin tapauksessa aineistoa olisi ollut enemmänkin (asiasta kiinnostuneiden kannattaa lukea esim. lähde [7]).
Print version |  PDF  | History: r8 < r7 < r6 < r5 | 
Topic revision: r8 - 16 Dec 2012 - 14:39:32 - JoonaKannisto
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback