Sadržaj

Usporedba skrivenih servisa I2P i Tor

Abstract

todo: zašto postoje anonimne mreže? koji su problemi tih mreža

How do you write an abstract? Identify your purpose. You're writing about a correlation between lack of lunches in schools and poor grades. … Explain the problem at hand. Abstracts state the “problem” behind your work. … Explain your methods. … (Source) Save your work regularly!!! Describe your results (informative abstract only). … Abstract should be no longer that 400 words.

Keywords: i2p, tor, onion routing, garlic routing, anonymous networks, privacy

Uvod

Internet je danas postao svijet za sebe. On je mjesto razmjene informacija, mjesto gdje se odvija raznovrsna komunikacija širom svijeta, gdje ljudi trguju robom i uslugama. Istovremeno, u drugim dijelovima svijeta, zbog represivne vlade, ljudi nemaju otvoren pristup Internetu, tj. njihove aktivnosti se nadziru, ili je prisutna cenzura sadržaja. Također, postoje zviždači i agenti u neprijateljskim državama ili na tajnom zadatku kojima je tajnost njihovih djela neophodna za uspjeh. Što tim ljudima zajedničko? Potreban im je način, odnosno alat, koji će im omogućiti da neometani i nepraćeni koriste mrežu ili Internet. Taj ćemo način, radi jednostavnosti, nazvati skrivenim servisom.

Tor

The Onion Router, poznatiji kao Tor, je programski sustav za anoninmu komunikaciju. Postao je poznat široj javnosti kao "web preglednik za skrivanje IP adrese i pristup darknetu" nakon slučaja zviždača Edwarda Snowdena 2013..Tor je implementacija onion routing tehnike. Nastao je kao zajednički projekt Rogera Dingledinea, poznatog kao arma,tada studenta diplomskog studija na MIT-u, i Paula Syversona, matematičara u CHACS-u (Center for High Assurance Computer Systems), grani IT divizije u NRL-u (Navy Research Laboratory) mornarice SAD-a. Od 2004. EFF (Electronic Frontier Foundation) financira rad na projektu, a 2006 osnovan je Tor Project Inc., neprofitna orgranizacija s zadaćom financiranja Tor projekta. Izvori [1] i [2] tvrde da je razvoj Tora rezultat napora američkih službi da se agentima u stranim državama omogući sigurna komunikacija s nadređenima, bez da ih prisluškuju obavještajne službe drugih država ili druge organizacije, dok komunikacija zviždača, kriminalaca i paranoika, koji su protiv svakog oblika prisluškivanja njihove komunikacije, služi kao šum u mreži, koji će sakriti aktivnosti agenata.

Onion routing

Prije opisivanja rada Tora, potrebno je objasni koncept koji stoji iza cijelog sustava, onion routing. Onion routing je raspodijeljena mreža koja prekriva komunikaciju aplikacija baziranih na TCP-u. Mreža se sastoji od dva dijela: klijenata koji koriste usluge mreže (web usluge, web aplikacije, ljudi koji koriste te usluge i aplikacije) i Tor čvorova koji usmjeravaju promet, tj. onion routeri. Svaki onion router ima vlastiti identifikacijski ključ, kojim potpisuje TLS certifikate, vlastiti opisnik, odnosno router descriptor i direktorije, koji sažimaju više čvorova u jednu cjelinu.Komunikacija u onion routingu se konceptualno sastoji od nekoliko koraka.

Prvo se klijent povezuje s directory serverom od kojeg dohvaća listu svih trenutno aktivnih Tor čvorova u mreži:

. Zatim klijent konstruira put (circuit u literaturi) do odredišnog klijenta, npr. web sjedišta:

U konstruiranom circuitu svaki onion router će saznati svog prethodnika i svog sljedbenika i ništa više, te će od klijenta dobiti onion key, za dešifriranje nadolazećih poruka. Poruke unutar circuita nazivaju se ćelije (engl. cell). Dijagram ispod prikazuje strukturu ćelije. Ćelije su fiksne veličine od 512 okteta i sastoje se od zaglavlja i tijela ćelije. Razlikujemo dvije vrste ćelija:

Obje vrste ćelija imaju dva zajednička polja u zaglavlju: identifikator circuita CircID i naredbu za čvor kojemu je poruka namijenjena.Kontrolna ćelija, na slici prikazana kao gornji okvir, ima zaglavlje od samo tri okteta, tj. zajednička polja zaglavlja koja su iznad opisana. Kontrolnu ćeliju obrađuje i interpretira onaj čvor koji primi tu ćeliju. Kontrolna ćelija može stvoriti circuit, uništiti ga ili slati padding naredbu koja se najčešće koristi kao provjera dostupnosti čvora. Relay ćelije u zaglavlje dodaju dodatna polja:

Kako bi podatkovne ćelije sigurno putovale kroz mrežu, ćelija se šifrira onoliko puta koliko je čvorova u circuitu. Proces šifriranja prikazan je na slici ispod. Ćelija se prvo šifrira onion ključem posljednjeg čvora u mreži, zatim pretposljednjim, i tako redom do onion ključa prvog Tor čvora kojemu klijent prosljeđuje svoju poruku.

Sigurnost, prijetnje i napadi na Tor

Sigurnosni zahtjevi

Tor u svom oblikovnom dokumentu (engl. design document) ima nekoliko sigurnosnih zahtjeva i zahtjeva koji se tiču privatnosti. Prva četiri su sigurnosni zahtjevi, dok se slijedeća tri tiču privatnosti:

—-

Prijetnje i napadi

Potencijalni napadači, s druge strane, pri napadu na Tor pokušavaju izvesti neki od napada:

Navedeni napadi su mogući preko slijedećih vektora napada (engl. attack vector) :

Invisible Internet Project ( I2P )

Invisible Internet Project, skraćeno I2P, je anonimna mreža koju aplikacije mogu međusobno koristiti za anonimnu i sigurnu komunikaciju. Komunikacija je primarno bazirana na porukama, ali postoji knjižica koja omogućuje komunikaciju tokovima (engl. stream). I2P koristi end-to-end šifriranje za zaštitu podataka aplikacija koje komuniciraju, te siguran prijenos podataka između čvorova koji sudjeluju u komunikaciji. Prije ulaska u detalje, važno je naglasiti da I2P peer-to-peer mreža, što znači da su svi čvorovi, koji u nekom trenutku sudjeluju u I2P komunikaciji, izravno povezani.

Garlic routing

Onion routing je opisan u prethdnom poglavlju, a mehanizam garlic routing pruža proširenje u odnosu na svog prethodnika. Ključna razlika između onion i garlic usmjeravanja je što se u garlic porukama može odjednom poslati više međusobno nepovezanih poruka koje idu na isto osnovno odredište, što je prikazano slikom ispod. Router koji pripada Alice, prije slanja poruka Bobu, prikuplja više poruka koje su namijenjene Bobu. Taj mehanizam omogućuje slijedeće:

Slika 5. - Primjer rada garlic routinga

Osnovni koncepti mreže

Prije analize I2P mreže, potrebno je pojasniti osnovne koncepte koji tvore temelj I2P-a:

Slika 1 prikazuje jednostavan primjer I2P mreže s četiri korisnika. Router, na slici prikazan kao crni pravokutnik, sudjeluje u radu mreže. S druge strane, krajnji čvorovi, na slici prikazani kao crveno-plavi kružići, su aplikacije koje preko routera komuniciraju s drugim aplikacijama na I2P mreži. Važno je naglasiti da više krajnjih čvorova može biti povezano s istim routerom. Tuneli su drugi važan koncept u I2P mreži, a na slici ispod su prikazani kao:

Slika 1 - Primjer I2P mreže

Svaki tunel u I2P mreži se sastoji od dva obvezna i jednog opcionalnog dijela:

Gateway i endpoint su uvijek krajnje točke tunela, dok sudionik/ici ne moraju biti prisutni u strukturi tunela. Kao što je ranije spomenuto, I2P razlikuje dvije vrste tunela: ulazne i izlazne tunele. Slika ispod prikazuje strukturu dvaju vrsta tunela. Kada neki korisnik želi poslati poruku drugome, stvara izlazni tunel kroz koji će poslati svoju poruku, a novostvoreni tunel prosljeđuje poruku ulaznom tunelu odredišnog čvora mreže. Ulazni tunel, koji je zadužen za primanje poruka, je organiziran suprotno od izlaznog, tj. gateway je početna, a endpoint završna točka tunela. Ulazni tunel je taj koji se objavljuje svim članovima I2P mreže, kako bi korisnici znali kako kontaktirati jedni druge. Tuneli se međusobno razlikuju i prema njihovoj duljini. Razlikujemo:

Također, svakom čvoru u tunelu dodijeljen je tunnel ID, cijeli broj od četiri okteta, koji je jedinstven među svim čvorovima koji su dio bilo kojeg tunela u routeru.

Slika 2 - Vrste tunela u I2P mreži

Kada neki korisnik želi poslati poruku drugome, stvara izlazni tunel kroz koji će poslati svoju poruku, a novostvoreni tunel prosljeđuje poruku ulaznom tunelu odredišnog čvora mreže. Ulazni tunel, koji je zadužen za primanje poruka, je organiziran suprotno od izlaznog, tj. gateway je početna, a endpoint završna točka tunela. Ulazni tunel je taj koji se objavljuje svim članovima I2P mreže, kako bi korisnici znali kako kontaktirati jedni druge. Stvaranje tunela i šifriranje sadržaja obavlja tehnologija garlic routing.

Mrežna baza podataka, odnosno network database, skraćeno netDb, je skup algoritama koje mreža koristi za pohranu metapodataka o mreži. Konkretno pohranjuju se dvije vrste podataka: routerInfo i leaseSet. RouterInfo pohranjuje metapodatke o routerima koji sudjeluju u mreži, kako bi drugi routeri mogli komunicirati s njima. Kada novi router želi sudjelovati u mreži, u netDb šalje svoje metapodatke, čime objavljuje svoju prisutnost u mreži. LeaseSet čuva podatke o ulaznim tunelima kojima je moguće slati poruke. LeaseSetovi se u netDb objavljuju kroz izlazne tunele, da bi se očuvala anonimnost, tj. kako bi se izbjeglo asociranje routera s leaseSetovima.

Komunikacija u I2P mreži

Slike 4 i 5 prikazuju primjer komunikacije u I2P mreži. U primjeru Alice želi komunicirati s Bobom. Prvi korak koji Alice čini je prikupljanje podataka o susjednim čvorovima kako bi stvorila izlazne i ulazne tunele, što je prikazano slikom 4. Prvo iz netDb dobiva routerInfo od čvorova John i Peter, te s njima stvara ulazne i izlazne tunele. Slijedeće Alice dohvaća podatke o leaseSetu koje je Bob objavio, što je prikazano na slici 5. Alice odabire neki od svojih izlaznih tunela i šalje poruku, koju tunel prosljeđuje Bobovom ulaznom tunelu koji je odabran u poruci. Po primitku, Bobov ulazni tunel prosljeđuje poruku do Boba. Ako je komunikacija zamišljena kao obostrana, tj. Alice očekuje odgovor od Boba, Alice mora u odlaznu poruku uključiti i podatke o svome krajnjem čvoru, kako bi Bob znao gdje poslati odgovor.

Slika 4 - Alice dohvaća podatake potrebne za stvaranje izlaznog tunelaSlika 5 - Alice dohvaća podatke o Bobu i šalje poruku

Sigurnosne prijetnje i napadi na I2P

I2P dijeli slične ciljeve kao i Tor, što je opisano u prethodnim poglavljima, s razlikom da se korisnici I2P-a ne moraju bojati faktora koji nisu dio mreže, poput poslužitelja za reklame, špijunaže tehnoloških giganta poput Googlea, zato što ti entiteti niti ne mogu pristupiti uslugama koje su aktivne u I2P mreži. S druge strane, ta činjenica otvara prostor napdadima koji su uobičajeni u internim mrežama, među kojima treba spomenuti slijedeće:

Možda najopasniji napad među spomenutima na I2P kao “interne mreže” je obitelj sybil. Sybil su napadi gdje napadač pokušava preuzeti kontrolu nad što većim brojem čvorova mreže, kako bi ostvario “kontrolu” nad mrežom. Problem sybil napada je i najveća prijetnja svih blockchain implementacija, zato što integritet mreže minera ovisi dobroćudnosti većine, kako bi se ispravno gradio lanac. Jednom kada napadač potpuno preuzme 50% i jedan čvor, mreža je nepovratno kompromitirana.

Od napada koji su specifičniji za I2P, važno je spomenuti slijedeće:

Usporedba Tora i I2P

Tor i I2P su slične usluge, uzevši u obzir da se radi o implementacijama onion routinga. Ipak, mreže se utoliko razlikuju u svojim osnovnim značajkama. Torova mreža je bazirana na direktorijima, gdje postoje centralni čvorovi koji sadrže ključne informacije o mreži, stoga je obveza čuvati integritet tih čvorova. S druge strane I2P je potpuno raspodijeljena mreža, što otežava zloćudno preuzimanje mreže, s obzirom da je potrebno kompromitirati većinu čvorova za preuzimanje kontrole nad mrežom. Također, valja spomenuti razlike u nazivlju pojedinih dijelova mreže koji obavljaju identične ili slične zadaće u mreži, što je prikazano na tablici.

TorI2P
CellMessage
ClientRouter/Client
CircuitTunnel

Directory

NetDb
Directory ServerFloodfill Router
Entry GuardsFast Peers
Entry NodeInProxy
Exit NodeOutProxy
Hidden ServiceHidden Service/Eepsite/Destination
HiddenService DescriptorLeaseSet
Introduction pointInbound Gateway
NodeRouter
Onion ProxyI2P Tunnel Client (otprilike)
Onion ServiceHidden Service/Eepsite/Destination
RelayRouter
Rendezvous Pointslično Inbound Gateway + Outbound Endpoint
Router DescriptorRouterInfo
ServerRouter


Prednosti Tora nad I2P

Tor je starija mreža, tj. dulje vremena je u pogonu, zbog čega ima više korisnika i prepoznat je u relevenatnim krugovima (akademici, „hakeri”, zviždači). Kao takav, Tor ima stabilno financiranje, što korisnicima daje osjećaj povjerenja u uslugu, tj. da će se nastaviti radovi na mreži, te da će mreža biti aktivna na duge staze. Povjerenje u mrežu je dodatno poduprto dobrom dokumentacijom, formalnim radovima i nacrtima, koji su prevedeni na više svjetskih jezika. Glede performansi, Tor trenutno ima bolju skalabilnost, učinkovitije koristi memoriju, a čvorovi koji su sačinjeni od moćnih računala omogućuju rad mreže s malim kašnjenima (engl. latency) i visokim izlaznim kapacitetom. Centraliziranost direktorijskih čvorova omogućuje jednostavniju implementaciju drugih čvorova, te se tako mreža štiti od sybil napada, gdje napadač stvara nekoliko lažnih čvorova kojima bi ciljnom čvoru podigao reputaciju i tako postupno preuzeo kontrolu nad mrežom.

Prednosti I2P nad Torom

I2P ne uživa povjerenje i popularnost kao Tor, ali u svom dizajnu ima neke inherentne prednosti u odnosu na njega. I2P je mreža koja nikako ne komunicira s “vanjskim svijetom”, tj. čvorovi u mreži ne mogu pristupiti uslugama koje nisu dio I2P mreže, niti autsajderi mogu komuniciriati s aplikacijama koje su dostupne na I2P mreži. Također su te skrivene usluge i aplikacije, zbog zatvorenosti mreže, učinkovitije i brže nego kad se izvode u Tor mreži. Ranije je spomenuto da je I2P potpuno raspodijeljena mreža, što daje slijedeća svojstva:

Vrijedi spomuenuti još nekoliko svojstava koja I2P-u daju prednost nad Torom. S obzirom da se komunikacija u I2P-u odvija preko jednosmjernih tunela, za kompromitiranje komunikacije između dva čvora uvijek je potrebno preuzeti sve čvorove u oba tunela, za razliku od Tora gdje je dovoljno preuzeti jedan circuit. Tunelima se prenose heterogene poruke (konkretni podaci, netDb upiti, upravljanje i testiranje tunela), čime se otežava analiza aktivnosti čvora u mreži. Osim toga, napadač ima jako malo vremena za analizu i napad na tunel, zato što svi I2P tuneli imaju vijek trajanja od samo 10 minuta, za razliku od circuita, koji su dugotrajniji i koriste se za više TCP veza.

Zaključak

Ovaj seminar predstavio je dva vrlo poznata skrivena servisa: Tor i I2P. Ukratko je objašnjen njihov nastanak, te su obrađeni koncepti onion routinga, koji stoji iza Tora, i garlic routinga, koji stoji iza I2P-a. Usporedba između ova dva servisa pokazala je da je Tor trenutno dominantnija opcija, ponajviše zbog baze korisnika i stabilnog financiranja, dok I2P pokazuje veliki potencijal koji tek treba ispuniti. Arhitektura obaju skrivenih servisa, njihov dizajn, te problemi daju naslutiti da anonimnost na mreži ne ovisi o jednom paranoičnom pojedincu, nego je potrebna jedna cijela zajednica kako bi sustav funkcioniraju. Također, ne postoji jedno rješenje, tzv. silver bullet syndrome, za sve probleme skrivenih servisa.

Izvori

[1] https://www.theguardian.com/technology/2013/nov/05/tor-beginners-guide-nsa-browser
[2] https://www.zerohedge.com/news/2018-03-02/tor-project-almost-100-funded-us-government-report
[3] https://svn-archive.torproject.org/svn/projects/design-paper/tor-design.pdf
[4] https://www.torproject.org/
[5] https://svn-archive.torproject.org/svn/projects/presentations/slides-stanford10.pdf
[6] https://2019.www.torproject.org/docs/documentation
[7] https://geti2p.net/en/
[8] https://geti2p.net/en/docs/
[9] https://geti2p.net/en/docs/how/garlic-routing
[10] https://www.freehaven.net/doc/freehaven.pdf