Objavljeno: 4.10.2007 14:26 | Avtor: Marko Hölbl | Monitor April 2007

Če nas popade paranoja ...

Predpogoj za izmenjavo podatkov po internetu je enolično določen naslov IP pošiljatelja in prejemnika. Prav zaradi tega se zdi, da je anonimnost v internetu nemogoče doseči. Vendar Tor in sorodne tehnologije (JAP) obljubljajo anonimnost, s katero naj bi nas varovali pred vohuni, kriminalci, hekerji, nepoštenimi skrbniki strežnikov in prav tako nepoštenimi vladnimi organizacijami. Anonimnost poskušajo doseči ob pomoči kriptografskih postopkov in omrežnih storitev.

V vsakdanjem življenju lahko obiščemo najbližjo trgovino in kupimo knjigo ali CD z gotovino in neopazno odidemo. Če uporabljamo e-trgovino, prek katere lahko kupujemo knjige ali CDje, pa lahko skrbniki že pred dejanskim nakupom o nas pridobijo kar nekaj informacij (kaj kupujemo, naš e-naslov, kontaktne podatke ali podatke o kreditni kartici). Z malo iznajdljivosti lahko skrbnik e-trgovine pri naslednjem obisku e-trgovine kupca prepozna (npr. ob pomoči piškotkov) ali mu ob pomoči pridobljenih podatkov pošilja reklamna e-sporočila. Ker podjetja in vladne organizacije kažejo veliko zanimanje za podatke internetnih uporabnikov, si posledično vedno več uporabnikov želi spletne anonimnosti.

Iskanje sledi

Vsak podatkovni paket, ki je poslan po internetu, vsebuje podatke o pošiljatelju in prejemniku, saj brez teh podatkov paketa ne bi bilo mogoče pravilno dostaviti. Ti podatki so v glavi paketa IP. Tehnike šifriranja povezav, kot sta IPSec ali SSL, pred nepooblaščenim prisluškovanjem sicer varujejo same podatke tretjih oseb, vendar ne zagotavljajo anonimnosti udeležencev v komunikaciji, saj se omenjeni podatki seveda ne šifrirajo. Za zagotavljanje anonimnost udeležencev so torej potrebni dodatni ukrepi. Po eni strani prejemniku ne želimo posredovati podatkov o pošiljatelju, hkrati pa želimo zagotoviti, da prejemnik pošiljatelju lahko odgovori. Težavo lahko rešimo s komunikacijo prek vmesnih točk. Vsaka izmed točk namreč pozna samo naslov prejšnje in naslednje točke v verigi. Načelo takega delovanja spominja na štafeto poštarjev, ki dostavljajo pošto. Razkritje take verige je sicer (npr. s strani organov pregona) še vedno možno, vendar zelo oteženo. Vsebina pošiljke mora ostati zaupna in ovitek mora dajati čim manj podatkov, ki bi lahko razkrili identiteto pošiljatelja.

Tehnike zagotavljanja anonimnosti

Koncept, opisan v prejšnjem odstavku, uporablja tehnologija MIX, katere avtor je David Chaum. MIX deluje kot veriga posrednikov (angl. Proxy Server), ki tvorijo zaprto, varovano omrežno skupino. Anonimnost udeležencev temelji na zaupnosti in celovitosti vseh udeležencev v skupini. Vstopni paketi gredo skozi zaporedje posrednikov; v idealnih okoliščinah vsak posrednik upočasni, razvrsti in spremeni pakete IP in s tem onemogoči razkritje prejemnika in pošiljatelja. MIX omogoča anonimnost tudi v nadzorovanih omrežjih, v praksi pa se uporablja pri sistemih za anonimno el. pošto (na primer MixMinion in MixMaster). Sistem za zagotavljanje anonimnosti pri brskanju JAP (angl. Java Anon Proxy) koncept MIX implementira le deloma. JAP sestavlja zaporedje posrednikov, ki delujejo kot veriga MIX, vendar brez upočasnjevanja paketov, saj bi to upočasnilo samo brskanje.

Drug koncept za zagotavljanje anonimnosti je omrežje Tor. Deluje po načelu čebulnega usmerjevanja (angl. Onion routing). Projekt razvijajo Free-Heaven Project, DARPA (angl. Defense Advanced Research Projects Agency) in EFF (angl. Electronic Frontier Foundation). Členi verige (čebulni usmerjevalniki) med seboj komunicirajo prek šifriranih povezav in nastopajo v treh različnih vlogah: vhodni člen (angl. Entry Nod), vmesni člen (angl. Middle Nod) in izstopni člen (angl. Exit Nod). Vhodni člen je vhodna točka v omrežje, vmesni člen deluje kot posrednik sporočil v omrežju in izhodni člen deluje kot izhod iz omrežja, ki se poveže na ciljni strežnik. Stopnja anonimnosti je odvisna od števila členov oziroma čebulnih usmerjevalnikov, saj le-to določa možno število poti v omrežju. Omrežje Tor deluje na podlagi velikega in spreminjajočega se števila čebulnih strežnikov, ki si delijo naloge posredovanja. Ob začetku prenosa pot vsakega IP paketa v omrežju še ni določena.

Dostop do omrežja Tor posreduje čebulni posrednik (angl. Onion Proxy), ki je nameščen v računalniku uporabnika. Ta ob pomoči protokola SOCKS posreduje podatke TCP v omrežje Tor. Uporablja imenik omrežja Tor in tako pridobi seznam aktivnih čebulnih usmerjevalnikov. V imeniku so poleg naslovov strežnikov in pripadajočih javnih ključev tudi seznami usmerjevalnih funkcij vsakega strežnika. Čebulni posrednik s seznama strežnikov izbere tiste, ki bodo tvorili prenosno verigo. S prvim strežnikom v verigi (vhodni člen) vzpostavi povezavo in sklene dogovor o sejnem ključu, ki se uporablja za kodiranje povezave, nato pa posrednik vhodnemu členu posreduje ukaz o razširitvi povezave na vmesni člen. Posrednik in vmesni člen se dogovorita o ključu za kodiranje povezave. V ta namen se uporablja protokol Diffie-Hellman za izmenjavo ključa, ki onemogoča beleženje ključa drugim računalnikom v omrežju. Enak postopek se ponovi za vsak člen v verigi, vse do zadnjega. Ta deluje kot izstopni člen, saj vzpostavi normalno povezavo do ciljnega strežnika. Po vzpostavitvi verige ima posrednik skupen ključ z vsakim členom verige. Paketi TCP, ki se pošljejo po omrežju Tor, se šifrirajo zaporedoma - po načelu paket v paketu, prav zaradi omenjene lastnosti, ki je podobna plastem čebule, pa je postopek dobil svoje ime. Vsak sprejemnik nato s tako večkrat šifriranega paketa odstrani svojo šifrirno plast in posreduje paket naslednjemu členu v verigi. Tako je vsebina paketa znana samo izstopnemu členu.

Prikaz delovanja omrežja Tor

V prvotni različici takega čebulnega usmerjevanja je bila za vsak paket TCP zgrajena nova veriga. V drugi generaciji omrežja Tor pa si povezavo z omrežjem Tor deli več povezav TCP. Odjemalec na določen časovni interval prekine povezavo z omrežjem in zgradi novo verigo. Ker načelo ne uporablja storitev, kot so upočasnjevanje, spreminjanje in razvrščanje, pride, v nasprotju z načinom MIX, le do manjših zakasnitev. Kljub temu vzpostavitev, kodiranje in dekodiranje podatkovnih paketov povzročajo zakasnitve v okviru nekaj sekund. Uporaba SSH, oddaljenega dostopa in drugih interaktivnih storitev, kot sta IRC ali Messenger, je kljub temu mogoča, kaj več pa je včasih že težko. Rado se zgodi, da je prepustnost omrežja včasih tudi le nekaj Kb/s, le včasih seže tja do 800 Kb/s.

Uporaba Tora

Odjemalec Tor ni samostojen program za brskanje po spletu. Za vzpostavitev povezave je namreč mogoče uporabiti katerikoli program, ki zna komunicirati prek protokola SOCKS. Vsi sodobni brskalniki podpirajo ta protokol, vendar je težava v tem, da se za razločevanje IP naslov še vedno uporablja DNS strežnika internetnega ponudnika. Anonimnosti je v tem primeru vprašljiva. Zato je smiselno uporabiti posrednika HTTP, ki lahko posreduje tako promet HTTP kakor tudi povpraševanja DNS. V ta namen razvijalci Tora sodelujejo z razvijalci posredniškega projekta Privoxy. To je programski posredovalnik, ki ne podpira le odjemalca Tor, temveč omogoča tudi filtriranje reklamnih sporočil in spletnih vsebin, ki bi lahko kompromitirali zasebnost uporabnika.

Vse potrebno za namestitev je mogoče dobiti na spletni strani projekta Tor (tor.eff.org). Za večino uporabnikov je dobra izbira sveženj, ki vsebuje odjemalca Tor, posrednika Privoxy in grafično nastavitveno okolje Vidalia. S slednjim lahko nastavljamo, zaganjamo, nadzorujemo in zaključimo storitev Tor. O trenutnem stanju nas obvešča majhna ikonica, podobna čebuli v opravilni vrstici.

Z orodjem Vidalia je mogoče preprosto spremljati, nadzorovati, zaganjati in končati Tor.

Pregled nad omrežjem Tor (ob pomoči Vidalie).

Nastavitev brskalnika

Za vsakdanjega uporabnika, ki brska po spletu, ne da bi uporabljal posredniške strežnike, je najboljša izbira za preprosto vključitev v omrežje Tor Torbutton, vtičnik (plug-in) za brskalnik Firefox. S klikom ikonice v vrstici stanja brskalnika Firefox je storitev Tor mogoče hitro vklopiti ali izklopiti. Vendar je treba biti pazljiv, saj Torbutton prepiše morebitne predhodne nastavitve posrednika v brskalniku. Drug vtičnik za Firefox je FoxyProxy, ki omogoča upravljanje več posredniških nastavitev. Preklop med posredniki lahko opravimo ročno ali pa glede na vpisani naslov URL. V FoxyProxyu je treba pod "Gobal Settings" odkljukati "Use SOCKS proxy for DNS lookup", da Firefox uporabi omrežje Tor tudi za poizvedbe DNS.

Uporabniki drugih brskalnikov, npr. Internet Explorer, morajo nastavitve posrednika nastaviti ročno.

Slika3 - Vtičnik Torbutton, ki je v vrstici stanja Firefoxa.

Slika4 - Firefox z vtičnikom FoxyProxy.

Slika5 - Ročna nastavitev Tora v Internet Explorerju.

Uporabniki, ki želijo uporabljati omrežje Tor na najpreprostejši način, lahko namestijo program Torpark. Gre za različico prenosljivega brskalnika Firefox (angl. Portable Firefox) s prednameščenim in nastavljenim odjemalcem Tor. Torpark omogoča takojšnje anonimno brskanje brez predhodnih posegov v nastavitve.

Slika6 - Delovanje Torparka.

Lastnosti in storitve omrežja Tor

Omrežje Tor ne omogoča le anonimnega brskanja, temveč tudi anonimne storitve (angl. Hidden services). Najbolj znana storitev je "Hidden Wiki", ki je izhodiščna točka za iskanje drugih skritih storitev, kot so iskalniki, forumi ali klepetalnice. Na "Hidden Wiki" je mogoče dobiti t. i. .onion povezave do vsebin, ki so v nekaterih državah cenzurirane ali prepovedane (npr. karikature Mohameda). Spremembe v Hidden Wiki so skorajda vsakodnevne in velikokrat je dostopen samo del vsebin. Primer hidden wiki naslova, ki v času pisanja članka deluje, je http://2qrww3nv5w3ue3ir.onion/.

Hitrost omrežja Tor je odvisna predvsem od števila strežnikov (členov). Trenutno je na voljo približno 200 delujočih strežnikov, večina jih je v ZDA in Nemčiji. Za poganjanje storitve je priporočljivo imeti obojesmerno pasovno širino ("upload" in "download") vsaj 160 Kb/s. Z orodjem Vidalia je mogoče poganjati lasten strežnik Tor, kot vmesni ali izstopni člen omrežja. Če uporabljamo strežnik Tor za požarnim zidom, moramo odpreti vrata TCP 9001. Če želimo, da naš strežnik deluje tudi kot imenik, je treba odpreti tudi vrata 9030.

Posebej zanimiva je možnost ponudbe lastnih skritih storitev. Vzemimo primer:

  • imenik, v katerem bo skrita storitev, je
    C:\Documents and Settings\username\Application Data\hidden_service\
  • posredovati želimo ves podatkovni promet z vrat 8080 na lokalna strežniška vrata 8080
  • V datoteko C:\Documents and Settings\marko\Application Data\Tor\torrc moramo dodati naslednji dve vrstici:

    HiddenServiceDir C:\Documents and Settings\username\Application Data\hidden_service\

    HiddenServicePort 8080 127.0.0.1:8080

    Če po vnovičnem zagonu, ko določimo še imeniške pravice, vse deluje v redu, se v imeniku C:\Documents and Settings\username\Application Data\hidden_service\ pojavita datoteki hostname in secret_key, v katerih sta naslov .onion in skriti ključ storitve. Dodelitev skritega ključa naslovu .onion je enolično, zato je treba ščititi dostop do imenika pred nepooblaščenci, saj lahko v nasprotnem primeru zlonamernež ob pomoči teh dveh datotek ponudi svojo storitev, ki ima enak .onion naslov, a drug skriti ključ. S tem kompromitira enolično prijavo v strežnik.

    Ko se naslov pojavi v imenikih, so storitve v našem računalniku na voljo omrežju Tor. S pomočjo vrstice HiddenServicePort povemo, katera vrata bomo pravzaprav odprli obiskovalcem, oz. katero storitev bomo dali na voljo. Če želimo ponuditi skriti spletni strežnik, vnesemo v omenjeno vrstico 80 127.0.0.1:8081, če teče lokalna storitev spletnega strežnika na vratih 8081. Seveda moramo biti pri poganjanju spletnega strežnika pazljivi. V primeru napak sporočilo o napaki ne sme prikazati podatkov, ki bi lahko razkrile kakršnekoli podatke, ki bi lahko strežnik identificirali. Na spletnih straneh razvijalci Tora svetujejo uporabo samostojnega spletnega strežnika v samostojnem korenskem imeniku (angl. web root). Spletni strežnik naj bo namenjen Toru ter dostopen samo preko omrežja Tor in ne preko javnega IP naslova.

    Na kaj je treba biti pazljiv pri uporabi omrežja Tor?

    Omrežje Tor ponuja le infrastrukturo za zagotavljanje anonimnosti. Napačne nastavitve v spletnem brskalniku, piškotki (angl. cookies) ali zlonamerni skripti lahko anonimnost hitro ogrozijo. Piškotek, ki se shrani v naš računalnik, nas lahko pri naslednjem obisku iste strani prepozna, tudi če uporabljamo omrežje Tor. Pri anonimnem brskanju je priporočljivo brisanje piškotkov po vsaki seji, oz. kar onemogočanje piškotkov.

    Tveganje predstavljajo tudi izstopni členi, saj podatke prenašajo v nešifrirani obliki. To jim omogoča, da jih spreminjajo. Avtorji raziskave "Practical Onion Hacking" so prikazali način, kako je mogoče podatke na izstopnem členu kljub vsemu manipulirati (glej povezavo spodaj). Uporabili so sprotno injiciranje JavaScript in Flash v povezave HTTP. Taki napadi so seveda mogoči tudi pri drugih protokolih.

    Ker je omrežje Tor javno in odprto, lahko storitev usmerjevalnika Tor ponudi vsakdo. S časovnimi napadi (angl. Timing attack) lahko napadalec odkrije povezavo od točke do točke v omrežju Tor, pod predpostavko, da si lasti tako vhodni kot izstopni člen. Vhodnemu členu je znano, od kod povezava prihaja, izstopnemu pa, kam gre. Če napadalec nadzoruje 10 % strežnikov Tor, je verjetnost spremenjenega vhodnega in izstopnega člena 10 %. Verjetnost, da sta kompromitirana oba, pa je samo 1 %. Na univerzi v Cambridgeu so prikazali napad na omrežje Tor, ki temelji na časovnih zamikih. Na podlagi zamikov lahko dodelimo psevdonim skrite storitve z dejanskim naslovom.

    Za konec

    Kljub vsem navedenim možnim napadom nam Tor zagotavlja dobro stopnjo anonimnosti, vendar ni popolna (in verjetno tudi nikoli ne bo). Je pa to trenutno najboljša rešitev za zagotavljanje anonimnosti. Razvijalci predpostavljajo, da je nemogoče nadzorovati celoten internet, zato tudi ne stremijo k temu, da bi bilo mogoče popolnoma nadzorovati oba konca povezave. Teoretično gledano, Tor sicer omogoča nižjo verjetnost anonimnosti kot koncept MIX, vendar predvsem na rovaš večje hitrosti. Tor povezave so veliko bolj stabilne, zato je Tor bolj primeren za anonimno brskanje kakor programi, ki uporabljajo MIX.

    Zanimive povezave:

  • Spletna stran Davida Chauma, chaum.com
  • HTTP posrednik Privoxy, www.privoxy.org
  • Spletna stran projekta Tor, tor.eff.org
  • Spletna stran Electronic Frontier Foundation, www.eff.org
  • Konfiguracija Tora, wiki.noreply.org/noreply/TheOnionRouter/TorifyHOWTO
  • Spletna stran projekta JAP, anon.inf.tu-dresden.de
  • Spletna stran projekta AN.ON, www.datenschutzzentrum.de/projekte/anon/index.htm
  • Spletna stran projekta Vidalia, Vidaliaa-project.net
  • Spletna stran Torbuttona, freehaven.net/~squires/torbutton
  • Spletna stran Torparka, www.torrify.com
  • Configuring Hidden Services for Tor, tor.eff.org/docs/tor-hidden-service.html.en
  • TheOnionRouter/HiddenServiceNames, wiki.noreply.org/noreply/TheOnionRouter/HiddenServiceNames
  • Abuse FAQ for Tor Server Operators, tor.eff.org/faq-abuse.html
  • Število delujočih Tor usmerjevalnikov, www.noreply.org/tor-running-routers
  • Članki na temo Tora, www.heise.de/ct/07/01/links/198.shtml
  • Raziskava "Practical Onion Hacking",www.packetstormsecurity.org/0610-advisories/Practical_Onion_Hacking.pdf
  • Raziskava "Hot or Not: Revealing Hidden Services by their Clock Skew", www.cl.cam.ac.uk/~sjm217/papers/ccs06hotornot.pdf
  • Omrežje Tor

    Kaj: Omrežje posredniških strežnikov, ki kar najbolje zamaskira identiteto sodelujočih v njem.

    Kje: tor.eff.org.

    Za: Skoraj popolna anonimnost uporabnika, enostavna uporaba.

    Proti: Zelo nizka prepustnost omrežja in zato počasno delovanje.

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

    Komentirajo lahko le prijavljeni uporabniki

     
    • Polja označena z * je potrebno obvezno izpolniti
    • Pošlji