Sadržaj

Računalna forenzika na Tor-u

Sažetak

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

Uvod

Naziv “Tor” može se odnositi na više od jednog pojma:

  1. Tor pretraživač (Tor browser)
  2. Tor mreža (Tor network)

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

1. Način rada Tor-a

1.1. Sigurnost običnog interneta

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

1.2. Onion routing

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:

  1. Izvorišni čvor odabire skup čvorova iz liste čvorova koje mu je dao “čvor imenik”.

Č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.

  1. Odabrani čvorovi se poslože u lanac. Minimalni broj čvorova u lancu je 3. Kako bi se zaštitila anonimnost i sigurnost korisnika, svaki čvor smije pričati samo sa svojim prethodnikom ili sljedbenikom(primjerice korisnik priča samo s prvim čvorom. Prvi čvor priča samo sa korisnikom i drugim čvorom…).
  2. Korisnik uspostavlja TLS sjednicu sa prvim čvorom. Podatke za uspostavljanje te sjednice enkriptira javnim ključem prvog čvora. Nakon uspostavljanja sjednice prvi čvor i korisnik imaju jedan zajednički simetrični ključ.
  3. Korisnik ne smije komunicirati sa drugim čvorom jer bi onda drugi čvor imao njegovu IP adresu. Dodatno, ne smije ni pokušati uspostaviti TLS sjednicu sa drugim čvorom direktno jer bi time također otkrio svoju IP adresu. Sva komunikacija između drugog čvora i korisnika se odvija kroz prvi čvor. Prvi čvor pripremi podatke za uspostavu sjednice te ih enkriptira javnim ključem drugog čvora. Na ovaj način prvi čvor ne može pročitati te podatke. Jedino što prvi čvor zna iz te poruke je da treba kontaktirati drugi čvor. Prvi čvor će prosljediti poruku drugom čvoru. Drugi čvor će uspostaviti TLS sjednicu sa korisnikom kroz prvi čvor te će stvoriti jedan zajednički simetrični ključ. Sada korisnik ima 2 simetrična ključa.
  4. Postupak se ponavlja i za treći čvor. Promet između trećeg čvora i korisnika se odvija kroz prvi čvor i drugi čvor. Kada se uspostavi sjednica između trećeg čvora i korisnika tada korisnik ima 3 simetrična ključa.
  5. Lanac komunikacije je sada uspostavljen. Kada korisnik želi poslati neku poruku enkriptira ju 3 puta sa 3 različita simetrična ključa koja ima. Svaki čvor će skinuti jedan sloj enkripcije i prosljediti promet dalje.
  6. Dekriptirani promet dolazi na odredište

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

1.3. Odabir čvorova u putanji

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.

2. Ranjivosti Tor mreže

2.1. Autentifikacija podataka

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.

2.2. Napad na izlazni čvor

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 sigurnosnih protokola

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.

Samo HTTPS

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.

Samo Tor

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.

Tor i HTTPS

Uz Tor i HTTPS korisnik se štiti od prisluškivanja neovisno o točki prisluškivanja.

2.3. Napadi analizom vremenskih oznaka prometa

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.

2.4. Vlasništvo ulaznog i izlaznog čvora lanca

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

2.5. Uskraćivanje usluge

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.

2.6. Relay early traffic confirmation attack

Ć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.

Zaključak

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

Literatura

[1] Tor(anonimity network)

[2] Tor Project: FAQ

[3] Relay early traffic confirmation attack