Sadržaj

IPFS protokol

Sažetak

IPFS (eng. InterPlanetary File System) je peer-to-peer distribuirani sustav za razmjenu i pohranu datoteka. U ovom tekstu bit će prikazane njegove karakteristike i pobliže objašnjeno kako protokol radi. Također dan je pregled protokola iz forenzičke perspektive.

Ključne riječi: IPFS; HTTP; P2P; distributed file system

Uvod

IPFS je skup protokola koji opisuju organizaciju i prijenos podataka s idejom peer-to-peer umrežavanja. Budući da je ovo primjer open-source protokola, postoje mnoge različite implementacije i primjeri upotrebe. Usprkos tome, njegova glavna uloga ostaje objavljivanje podataka kao što su web-stranice i medijske datoteke.

IPFS je relativno novonastali protokol. Godine 2014. osnovao ga je Juan Benet s ciljem decentralizacije weba. Od tada ga implementira sve više aplikacija i servisa - preglednici Opera i Brave pružaju gateway na IPFS mrežu; “shadow libraries” omogućavaju dijeljenje knjiga putem IPFS-a; Filecoin je dijeljeni oblak također baziran na IPFS-u. U konačnici, IPFS bi mogao zamijeniti protokole HTTP i HTTPS kao temelj za novi decentralizirani web.

Karakteristike IPFS-a

Moderni web, odnosno protokoli za prijenos i reprezentaciju podataka suočeni su s mnogim problemima. IPFS nastoji riješiti mnoge od njih.

Kako IPFS radi

Funkcije IPFS-a se mogu podijeliti na tri glavna podsustava.

Reprezentacija i adresiranje podataka

Podaci su u IPFS-u organizirani u blokove, a svakom bloku je pridijeljen jedinstveni identifikator CID (eng. content identifier). CID se izračunava pomoću hasha i codeca bloka što osigurava da je jedinstven prema sadržaju bloka. Na taj način postignute su dvije važne stvari: dohvat podataka vrši se prema sadržaju (hash direktno kodira sadržaj bloka) te mogućnost verifikacije pomoću usporedbe traženog i dobivenog CID-a (jer CID jedinstveno opisuje sadržaj bloka). Za rad s CID-ovima koristi se sustav IPLD (eng. InterPlanetary Linked Data). IPLD opisuje veze između podataka usmjerenim acikličnim grafovima Merkle DAG. To je posebna matematička konstrukcija kod koje svaki čvor u grafu ima svoj identifikacijski broj. Na ovaj način IPFS može povezati više blokova koji su na različitim lokacijama u jednu datoteku. Za pohranu i prijenos podaci se pakiraju u Content Addressable aRchive (CAR) datoteke u obliku serijalizirane arhive. CAR datoteke slične su TAR datotekama po tome što su dizajnirane za pohranu kolekcija podataka adresiranih prema sadržaju.

 Slika prikazuje čvorove u IPFS mreži. Gornji korisnik dodaje datoteku u mrežu, računa se hash. Donji korisnik dohvaća datoteku, uspoređuju se traženi i dohvaćeni hashevi. [9]

Slika 1. Prikaz čvorova u IPFS mreži. Gornji korisnik dodaje datoteku u mrežu, računa se hash. Donji korisnik dohvaća datoteku, uspoređuju se traženi i dohvaćeni hashevi. [9]

Usmjeravanje (eng. routing)

Usmjeravanje sadržaja podrazumijeva način na koji IPFS pronalazi traženi CID u mreži, tj. pronalazi korisnike koji pružaju sadržaj s traženim CID-om. Da bi IPFS pronašao zatraženi sadržaj nije dovoljno da zna samo njegov identifikacijski broj, već ga mora povezati s IP adresama računala. U ovu svrhu koristi se sustav Kademili, distribuirana hash tablica (DHT). Možemo zamisliti veliku hash tablicu distribuiranu na više čvorova u mreži u kojoj su zapisane IP adrese i odgovarajući CID brojevi. Računala mogu saznati imaju li susjedni čvorovi traženi CID akcijom koja se zove Bitswap. U ovom slučaju nije potrebno pretraživati DHT, nego poslati upit sa željenim CID-om susjednim čvorovima koji ga zatim traže od svojih susjeda dok ne naiđu na računalo koje sadrži podatak. Ako neki čvor u mreži ne implementira sve značajke IPFS-a potrebne za usmjeravanje (npr. ne računa DHT tablicu), moguće je delegirati usmjeravanje protokolu HTTP. Ova značajka vrlo je korisna jer omogućava integriranje IPFS-a u već postojeće sustave. Za otkrivanje računala u mreži, koristi se mDNS (eng. multicast Domain Name Server), inačica protokola DNS. Na taj način računalo koje odašilje zahtjev jako brzo doznaje koji su čvorovi u mreži čak i kad nema pristupa internetu. Slika 2. Prikaz kako se objavljuje, traži i dohvaća sadržaj protokolom IPFS. [10]

Prijenos podataka

Prilikom prijenosa podataka važno je uzeti u obzir koji čvorovi imaju fragmente sadržaja, a koji čvorovi nemaju ništa, ali šalju zahtjev za dohvaćanjem. Za razmjenu podataka između susjednih čvorova koristi se prethodno opisani podprotkol Bitswap te HTTP IPFS Gateway ako određeni čvor ne implementira IPFS u potpunosti. U slučaju da sadržaj nije moguće prenijeti mrežom, IPFS podržava protokol Sneakernet. Sneakernet povezuje dva računala direktno te prenosi sadržaj između njih u obliku CAR datoteka.

Forenzička analiza protokola za distribuiranu pohranu podataka

Kod forenzičke analize važno je sjetiti se da je IPFS zapravo skup mnogih protokola te da ne postoji savršeno propisana implementacija. Zato će ranjivosti sustava jako varirati od slučaja do slučaja. Uglavnom, forenzička analiza u kontekstu IPFS-a može uključivati istraživanje aktivnosti, događaja ili dokaza povezanih s upotrebom IPFS-a, poput dijeljenja datoteka, distribucije sadržaja ili potencijalne zloupotrebe.

Jedan od ključnih izazova u forenzičkoj analizi IPFS-a je decentralizacija same mreže. Odsutnost centralne točke kontrole otežava identifikaciju odgovornih subjekata. Korisnici ostaju anonimni pa tradicionalne metode identifikacije nisu toliko učinkovite. Adresiranje sadržaja putem kriptografskih hasheva je još jedan od problema. Iako ova tehnika čini podatke otpornim na manipulaciju, također stvara izazove u povezivanju sadržaja s metapodacima i kontekstom.

Iako stvara nove izazove za forenzičku analizu, IFPS protokol također pruža i neke nove prilike. Kriptografski hashevi omogućavaju forenzičarima da verificiraju podatke što može poslužiti kao dokaz o postojanju tijekom istrage. Također, analiza peer-to-peer komunikacije može objasniti zašto je neka datoteka bila dijeljena te koji su korisnici surađivali. Nadalje, sustavi za prijenos i usmjeravanje podataka - Bitswap, HTTP gateways i Sneakernet - daju priliku za analizu tokova informacija. Ipak, forenzička analiza IPFS-a zahtijeva razvijanje novih alata i pristupa ovom protokolu.

Phishing napadi

Kako sve više aplikacija počinje pružati usluge i preko IPFS-a, tako možemo pratiti porast u phishing napadima. Zlonamjerni korisnici mogu postavljati sadržaj na IPFS mrežu uz vrlo niske troškove ili čak besplatno što je čini pogodnom za ovakve napade. IPFS-ova decentralizacija čini potpuno uklanjanje kriminalnog sadržaja s mreže jako teškim jer ga treba ukloniti sa svakog čvora koji ga posjeduje ili kešira.

Budući da većina posjetitelja nema nativnu podršku za IPFS u svojim web preglednicima, napadači će umjesto toga stvarati poveznice prema IPFS gatewayu. Na primjer, jedna phishing stranica na IPFS-u oponašala je Microsoft koristeći ipfs.io gateway kojim upravlja Protocol Labs

Slika 3: Adresa i sučelje phishing stranice koja izgleda kao Microsoft Outlook [11]

IPFS gatewayvi jesu centralizirani pa su obično fokus napadača. Vlasnici će obično će djelovati protiv zlonamjernog sadržaja blokirajući mu pristup putem svog gatewaya. Napadači mogu birati između korištenja nativnih IPFS veza, što značajno ograničava broj žrtava, ili korištenja gatewaya, što povećava broj žrtava, ali ograničava trajanje napada.

Budući da IPFS adresira prema sadržaju, stranice na IPFS mreži su statične. Napadači stoga moraju koristiti odvojenu infrastrukturu kako bi prenijeli ukradene podatke za prijavu natrag sebi. Uobičajeni mehanizmi uključuju slanje podataka za prijavu na odvojene drop lokacije na tradicionalnom webu ili na Telegram kanale; obje strategije također se koriste i kod tradicionalnih phishing stranica. Brisanje drop lokacije ili Telegram kanala također će ometati napad na IPFS-u, sprječavajući daljnje dostavljanje podataka za prijavu. Phishing se najviše javlja u obliku sadržaja smještenog na domenama koje se predstavljaju kao IPFS gatewayi. Na prvi pogled URL sadrži IPFS CID, no web stranica nije funkcionalni gateway i ne omogućuje dohvaćanje drugih IPFS CID-eva. Napadač koji upravlja stranicom može lažno tvrditi da nije njezin host, već da ga samo posreduje kao čvor u mreži.

Zaključak

InterPlanetary File System predstavlja revolucionarnu tehnologiju koja mijenja način decentralizirane pohrane podataka. Njegov pristup adresiranju sadržaja i peer-to-peer umrežavanju rješava neke nedostatke tradicionalnog weba. Međutim, decentralizirana priroda IPFS-a donosi izazove u smislu sigurnosti, posebno u phishing napadima i manipulaciji sadržajem. IPFS gatewayi poboljšavaju dostupnost, ali postaju mete za ometanje i prikrivanje identiteta. IPFS još evoluira, a njegov utjecaj na dijeljenje podataka je neosporno značajan. Održavanje ravnoteže između inovacija i sigurnosti ključno je za široko prihvaćanje.

Dodatni materijali

U nastavku su priloženi popratni materijali.

Literatura

[1] J. Son, G Kim, H. Jung, J. Bang, J. Park: A forensic investigation framework for decentralized storage services

[2] E. Nyaletey, R. M. Parizi, Q. Zhang, K. -K. R. Choo: BlockIPFS - Blockchain-Enabled Interplanetary File System for Forensic and Trusted Data Traceability

[3] https://ipfs.tech/

[4] https://en.wikipedia.org/wiki/InterPlanetary_File_System

[5] C. Patsakis, F. Casino: Hydras and IPFS: A Decentralised Playground for Malware

[6] https://www.zdnet.com/article/developers-watch-your-code-official-python-repository-spread-malicious-projects/

[7] https://www.bleepingcomputer.com/news/security/phishing-attacks-distributed-through-cloudflares-ipfs-gateway/

[8] J. Benet: IPFS - Content Addressed, Versioned, P2P File System

[9] Hojati M., Farmer C, Feick R., Robertson C.: Decentralized geoprivacy: leveraging social trust on the distributed web

[10]Trautwein, D., Raman A., Tyson G., Castro I., Scott W., Schubotz M., Gipp B., Psaras Y.: Design and Evaluation of IPFS: A Storage Layer for the Decentralized Web

[11] https://www.netcraft.com/blog/disrupting-ipfs-phishing-attacks/