Kada se je internet nastajao nije se previše razmišljalo o sigurnosti i anonimnosti. Sigurnost možemo postići pomoću kriptografije što će zaštititi podatke koji se šalju preko interneta. Čak ako napadač ne može pročitati naše podatke, korisnik interneta ostavlja tragove u obliku zahtjeva za vezom, vremenskih oznaka te imena stranica ili usluga koje je korisnik koristio. Tor mreža želi povećati anonimnost korisnika tako da skriva imena usluga ili stranica koje korisnik koristi. Dodatno, Tor odskakuje (bounces) promet po mreži kako bi onemogućio praćenje prometa od polazišta do odredišta te kako bi onemogućio identifikaciju posrednika koji sudjeluju u prenošenju prometa internetom.
Keywords: anonimity, tor network, onion routing, security
Naziv “Tor” može se odnositi na više od jednog pojma:
Tor mreža je raspodijeljeni sustav kojeg čine čvorovi. Kada korisnik koristi Tor pretraživač za pretraživanje, promet tog korisnika uđe u mrežu na ulazni čvor, skače (bounces) po čvorovima Tor mreže te konačno izlazi iz mreže sa izlaznog čvora. Na ovaj način promet korisnika ostaje anoniman obzirom da nije moguće pratiti kojoj stranici korisnik pristupa (zbog enkripcije) niti preko kojih čvorova (niti jedna točka ne zna IP adresu pošiljatelja i primatelja u isto vrijeme).
Unatoč tomu može se dogoditi da Tor ostavi tragove. U ovom seminaru prikazat ću neke od tih tragova
Kada je internet bio dizajniran nije se pretjerano razmišljalo o anonimnosti i sigurnosti. Brojni protokoli (HTTP, Telnet, SMTP, IP) nisu sigurni protokoli. Podatci koji se šalju između dva računala na taj način nisu šifrirani. Napadač može čitati i mijenjati takve podatke. Riješenje ovog problema bilo je uvođenje sigurnih protokola (HTTPS, IPsec) koji će koristiti kriptografiju za zaštitu prometa između korisnika. Dodatno kriptografija će omogućiti provjeru autentičnosti poruke.
Ipak, sigurni protokoli nas ne mogu zaštititi od prisluškivanja. Napadač ne može znati sadržaj naše poruke, ali može znati tko je započeo konekciju i na koju stranicu. Dodatno putanja kojom su dva računala komunicirala je poznata. Onion routing rješava ovaj problem anonimizirajući put paketa kroz mrežu
Onion routing (za razliku od običnih sigurnosnih protokola) koristi višestruko enkriptiranje podataka. Kao što je prethodno spomenuto, promet u Tor mreži putuje kroz čvorove. Svaki čvor će dekriptirati svojim ključem promet jednom odnosno skinut će jedan sloj enkripcije. Dekriptirani promet će doći do odredišta. Ime ovog protokola je došlo od analogije od luka koji ima slojeve (layers) koji se 'gule' (peel) svakim skokom.
Kada promet u mreži putuje od izvorišta do odredišta, ne mora proći svaki čvor u Tor mreži. Dovoljno je da prođe 3 čvora. Odabir putanje kojom će korisnikov promet prolaziti se radi na idući način:
Čvorovi imenici su čvorovi koji kod sebe imaju popise čvorova u Tor mreži. Ovih čvorova trenutno ima 9 u Tor mreži. Njihova IP adresa je javno poznata. Sam korisnik ne mora namiještati te adrese obzirom da su već zapisane u Tor browseru kojeg korisnik koristi. Čvorovi imenici su na različitim fizičkim lokacijama.
Iduća slika demonstrira slanje poruke kroz tri čvora. Izvorište će prvo enkriptirati poruku ključem kojeg je dogovorio s trećim čvorom. Rezultat se enkriptira ključem kojeg je dogovorio s drugim čvorom. Rezultat toga se enkriptira ključem kojeg je dogovorio s prvim čvorom. Na ovoj slici to dogovara redosljedu ključeva C,B,A. Svaki čvor će skinuti svojim ključem jedan 'sloj' enkripcije
Uz gore napisane stavke Tor mreža postiže anonimnost i sigurnost. Moguće je odabrati više od 3 čvora koja čine lanac kroz mrežu, ali ovo neće pružiti dodatnu sigurnost ili anonimnost.
Korištenje Tor pretraživača je sporije nego korištenje običnih pretraživača zbog dodatnih enkripcija i skakanja prometa.
Jedna od stvari koja nije ranjivost Tor mreže jesu stranice koje korisnik posjećuje. Ako netko koristi Tor da bi se prijavio na Netflix ili Amazon, tada će Netflix ili Amazon znati tko je taj korisnik.
Izlazni čvor (zadnji u lancu) mora poslati podatke na odredište. To odredište nije unutar Tor mreže. Ako je zahtjev prema tom odredištu nesiguran, napadač će moći pročitati podatke. Premda ovo neće nužno otkriti lokaciju izvora podataka, može se dogoditi da se otkriju neki drugi podatci koji će pomoći identificirati napadača. Iduće 4 slike pokazuju što sve napadači mogu saznati u ovisnosti kakve zaštite korisnik ima (nikakvu, HTTPS, Tor, HTTPS i Tor):
Bez korištenja sigurnosnih protokola sve je poznato o korisniku. To uključuje njegovu fizičku lokaciju, adresu koju korisnik posjećuje, povjerljive podatke (imena računa i lozinke) te sve ostale podatke. Bilo tko može prisluškivati komunikaciju između korisnika i stranice koju korisnik posjećuje.
Korištenjem HTTPS-a korisnik zna svoje privatne podatke. Prisluškivači te ISP će znati korisnikovu lokaciju, IP adresu te kojim stranicama korisnik pristupa. Administratori te stranice znaju korisnikove podatke obzirom da moraju validirati korisnika pri prijavi na stranicu.
Korištenjem samo Tor-a korisnik skriva svoju lokaciju i podatke od prisluškivača. Međutim, zadnji čvor u Tor mreži koji treba dostaviti podatke na lokaciju zna korisnikove povjerljive podatke jer nisu bili enkriptirani. Napadči koji prisluškuju promet nakon što izađe iz Tor mreže mogu doznati korisnikove povjerljive podatke.
Ova vrsta napada se dijeli na pasivnu i aktivnu.
Pasivno Napadač promatra vremenske oznake prometa kroz Tor mrežu. Promatranjem tih oznaka pokušava prepoznati uzorke te si vizualizirati kroz koje čvorove promet prolazi i kada.
Aktivno Napadač mijenja vremenske oznake prometa u neke oznake koje odgovaraju uzorku poznatom samo napadaču. Zatim pušta promet nazad u mrežu te na ostalim čvorovima čita vremenske oznake paketa te detektira je su li te vremenske oznake jednake njegovom uzorku. Ukoliko jesu, napadač ima znanje kroz koje čvorove promet prolazi.
Ukoliko je netko vlasnik prvog čvora nekog lanca (ulazni čvor) i zadnjeg čvora lanca (izlazni čvor) može vidjeti IP adresu pošiljatelja i IP adresu primatelja (prisluškivati ulaz i izlaz mreže).
Najbolja obrana protiv ovakvog napada je distribuiranost mreže. Što je više čvorova u mreži čiji su vlasnici različiti, manja je vjerojatnost da je netko vlasnik ulaznog i izlaznog čvora
Uskraćivanje usluge (Denial of service) je vrsta napada gdje se prometom preopterete neki čvorovi. Kako su čvorovi preopterećeni lažnim zahtjevima, promet mora ići drugim putem ili se događa blokada prometa u mreži. Ako promet ide drugim putem, postoji mogućnost da napadač kontrolira neki od čvorova kroz koje se promet preusmjeri.
Ćelija (cell) je jedinica komunikacije u tor mreži. Sastoji se od zaglavlja i tijela. Ćelije mogu biti kontrolne ili relejske. Kontrolne ćelije se koriste kada je potrebno konstruirati put. Relejske ćelije se koriste za prijenos podataka. Zaglavlja takvih ćelija su označena sa 'link' ili 'relay' ili 'relay-early'. Kada neki čvor u mreži primi ćeliju označenu sa relay, uklonit će jedan sloj enkripcije i provjerit će digest na kraju poruke. Ukoliko je točan radi se o konačnom odredištu. Inače je potrebno prosljediti ćeliju dalje uz mrežu. U ovom napadu napadač kontrolira dvije vrste čvorova. Prva vrsta čvora je ona koja može biti čvor prvi čvor u nekom lancu. Druga vrsta čvora jest 'hidden directory service node'. To je čvor koji kod sebe ima zapisano adrese(lokacije) usluga na webu kojima se mora pristupati pomoću Tora. Žrtva bi upitala takav čvor za adresu neke stranice ili usluge. Žrtva će dobiti odgovor, ali će se nešto dodatno dogoditi. Čvor će pomoću ćelija koje su vrste 'relay' i 'relay-early' enkodirati poruku u kojoj je zapisano koja usluga se zatražila. Ovo bi se propagiralo kroz mrežu. Sada početni čvorovi koje napadač kontrolira znaju dekodirati poruku. Time mogu znati koje usluge je tražio klijent koji se spojio na njih.
Napadi na Tor mrežu su mogući i moguće je izvući podatke o korisnicima Tor mreže i uslugama koje su tražili. Većina ovih napada sastoji se od komprimitiranih čvorova mreže, kontroliranja ulaznih i izlaznih čvorova od iste strane, komprimitiranih čvorova imenika i korištenja usluga koje nisu sigurne ili izlažu se protokolima koji nisu enkriptirani.
Premda ovi napadi postoje, sigurnost na Toru je veća nego na običnom internetu ili samim VPN-ovima. Poboljšanje sigurnosti može se dobiti uključivanjem više čvorova u mrežu kako bi postala više distribuirana, mijenjanjem lokcija usluga na Tor mreži koje su bile otkrivene u napadima i izbjegavanjem korištenja usluga koje izlažu nesigurne protokole