I2P

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 24. august 2022; verifikation kræver 1 redigering .
I2P
Type gratis og open source-software , anonyme netværk , overlay-netværk og mobilapplikation
Skrevet i Java [2]
Operativ system Microsoft Windows , Linux , macOS , OpenBSD , FreeBSD og Android
Interface sprog Engelsk , spansk , tysk , russisk og fransk
Første udgave 2003 [1]
Hardware platform Java Virtual Machine og Android
nyeste version
Licens BSD , GNU GPL , MIT licens og 🅮 [d]
Internet side geti2p.net
 Mediefiler på Wikimedia Commons

I2P ( forkortelse af det engelske i  nvisible internet project , IIP , I 2P -  the Invisible Internet project) er et anonymt computernetværk .

I2P-netværket er overlejret , modstandsdygtigt (deaktivering af en node vil ikke påvirke netværkets funktion), anonymt (det er umuligt eller svært at bestemme nodens IP-adresse ) og decentraliseret [4] (uden central server ). Ved overførsel af data mellem netværksknuder bruges kryptering .

Enhver tjeneste (eller tjeneste) ( forum , blog , filhosting , e-mail , instant messaging ( chat ), fildeling , VoIP osv.) kan placeres inde i I2P-netværket, mens serverens anonymitet bevares. I2P-netværket kører http-servere ; webstedsadresser er i pseudo -domænerummet ".i2p". Peer-to-peer-netværk (P2P) kan bygges oven på I2P -netværket , for eksempel BitTorrent , eDonkey , Kad , Gnutella osv.

Oversigt

I2P er et anonymt selvorganiserende distribueret netværk , der bruger en modificeret DHT Kademlia , men adskiller sig ved, at det gemmer hashed -adresser på netværksknuder , AES - krypterede IP-adresser , samt offentlige krypteringsnøgler , og netværksdatabaseforbindelser er også krypteret. Netværket giver en transportmekanisme til applikationer til anonymt og sikkert at videresende beskeder til hinanden [5] . Selvom I2P-netværket sætter hovedopgaven med at bestemme stien til pakketransmission , takket være Streaming lib- biblioteket , er deres levering også implementeret i den oprindeligt specificerede sekvens uden fejl, tab og duplikering, hvilket gør det muligt [6] at bruge IP telefoni , internetradio , IP i I2P , videokonferencer og andre streamingprotokoller og tjenester.

Inde i I2P-netværket driver sit eget webstedsbibliotek , elektroniske biblioteker og torrent-trackere . Derudover er der gateways til at få adgang til I2P-netværket direkte fra internettet, skabt specielt til brugere, der af forskellige årsager ikke kan installere Invisible Internet-projektsoftwaren på deres computer [6] .

Netværksfunktioner

I2P-netværket er kendetegnet ved brugen af ​​krypteringsmekanismer , P2P- arkitektur og variable mellemled (hop). Denne metode forudsætter en stigning i kompleksiteten af ​​deanonymisering, MITM-angreb og gør det fuldstændig umuligt at erstatte pakker transparent for brugeren .

I øjeblikket er elementet i netværket en slags implementering af konventionelle DNS-servere . Den adskiller sig fra den sædvanlige DNS i følgende aspekter [7] :

Da netværket er peer-to-peer og decentraliseret, er netværkets hastighed og pålidelighed direkte afhængig af folks deltagelse i transmissionen af ​​andres trafik.

For at få adgang til I2P skal du installere et routerprogram på din computer , der (de)krypterer, (af)komprimerer trafik og sender den til peers i I2P. For at arbejde med intranetwebsteder skal du konfigurere browseren til at sende HTTP - pakker til routeren, der lytter på en bestemt port . For at få adgang til det eksterne internet via I2P er det nødvendigt at bruge proxyservere inde fra I2P (outproxy), som i øjeblikket er få. Også interne websteder i I2P-netværket er tilgængelige fra det eksterne internet gennem en proxyserver [8] .

Kryptering i I2P-netværket

Netværket blev oprindeligt designet med den antagelse, at alle mellemliggende noder er kompromitterede eller ondsindede, så en række aktive foranstaltninger blev indført for at imødegå det [9] .

Al trafik på netværket er krypteret fra afsender til modtager. I alt, når en besked videresendes, bruges fire niveauer af kryptering (end-to-end, hvidløg , tunnel og transport-niveau kryptering ), før kryptering føjes et lille tilfældigt antal tilfældige bytes automatisk til hver netværkspakke for at yderligere afpersonalisere de transmitterede oplysninger og gøre det vanskeligt at analysere indhold og blokere transmitterede netværkspakker. Kryptografiske identifikatorer , som er offentlige kryptografiske nøgler, bruges som netværksadresser . IP-adresser i I2P-netværket bruges ikke nogen steder og aldrig, så det er ikke muligt at bestemme den sande adresse på nogen node i netværket [6] . Hver netværksapplikation på en computer bygger separate, krypterede, anonyme tunneler til sig selv. Tunneler er for det meste af en ensrettet type (udgående trafik går gennem nogle tunneler, og indgående trafik gennem andre) - retningen, længden og også hvilken applikation eller tjeneste, der har skabt disse tunneler, er ekstremt vanskelig at finde ud af [6] . Alle transmitterede netværkspakker har en tendens til at divergere gennem flere forskellige tunneler, hvilket gør det meningsløst at prøve at lytte og analysere den passerende datastrøm ved hjælp af en sniffer . Der er også en periodisk ændring (hvert 10. minut) af allerede oprettede tunneler til nye, med nye digitale signaturer og krypteringsnøgler (digitale signaturer og krypteringsnøgler, selvfølgelig, hver tunnel har sin egen). Af disse grunde er der ingen grund [6] til at bekymre sig om applikationsprogrammer, der krypterer deres trafik. Hvis der er mangel på tillid til kryptering af lukkede kildeprogrammer (såsom Skype ), er det muligt at løse problemet med IP-telefoniprogrammer (såsom Ekiga ), der transmitterer trafik i det fri. Under alle omstændigheder vil I2P-netværket udføre en fire-niveau kryptering af alle pakker og sikre transmission/modtagelse af alle data [6] .

I I2P-netværket er alle pakker krypteret på afsenderens side og dekrypteres kun på modtagerens side, mens ingen af ​​de mellemliggende deltagere i centralen er i stand til at opsnappe de dekrypterede data, og ingen af ​​deltagerne ved, hvem afsenderen er, og hvem modtager er, da knudepunktet, der sender pakkerne, kan være afsenderen, eller det kan være den samme mellemknude, og den næste knude, som denne pakke skal sendes til, kan være modtageren, eller det kan også være den samme mellemknude, den mellemliggende knude kan ikke finde ud af endepunkterne for afsender og modtager, ligesom den ikke kan finde ud af, hvad der skete med pakken, der lige er overført til den næste knude - om den har behandlet den, eller sendt den videre et sted, er det umuligt at finde ud af [6 ] .

I2P-netværket bruger (til forskellige niveauer og protokoller) følgende systemer og metoder til kryptering og signatur [6] :

  1. 256bit AES CBC- tilstand med PKCS#5;
  2. 2048 bit Skematisk af ElGamal ;
  3. 2048 bit Diffie-Hellman algoritme ;
  4. 1024 bit DSA ;
  5. 256 bit HMAC - Algoritme til styrkelse af den kryptografiske styrke af andre kryptografiske algoritmer ;
  6. 256 bit SHA256 hashing .

Historien om I2P-netværket

I2P-projektet blev startet i 2003 for at støtte dem, der er interesseret i et nyt ucensureret, anonymt kommunikations- og informationsformidlingsmiddel. I2P er et forsøg på at skabe et sikkert, decentraliseret, anonymt netværk med lav responstid og autonomi, fejltolerance og skalerbarhed. Den ultimative udfordring er evnen til at fungere under barske forhold, selv under pres fra organisationer med betydelige økonomiske eller politiske ressourcer. Alle aspekter af nettet er tilgængelige som kildekode og er gratis. Dette giver brugerne mulighed for at verificere, at softwaren gør præcis, hvad den hævder at gøre, og gør det lettere for tredjepartsudviklere at forbedre netværkssikkerheden mod vedvarende forsøg på at begrænse fri kommunikation [10] .

Mange af I2P-udviklingsteamet har tidligere deltaget i IIP -projekterog Freenet . Men i modsætning til sidstnævnte er "Invisible Internet Project" et anonymt peer -to-peer distribueret kommunikationsmiljø, der kan arbejde med alle traditionelle netværkstjenester og protokoller , såsom e- mail , IRC , HTTP , Telnet , såvel som distribuerede applikationer som f.eks . databaser. , Squid og DNS [11] .

Siden midten af ​​2013 er I2Pd blevet aktivt udviklet , en alternativ open source-klient til i2p-netværket, skrevet i programmeringssproget C++ med forskelle i tilgangen til kryptering, et team af uafhængige udviklere arbejder på det, hvoraf nogle er fra Rusland, hvilket kan påvirke dæmonens troværdighed for nogle brugere i mangel af uafhængige kildekoderevisioner. Kritiske sårbarheder findes lejlighedsvis i i2pd. En kort liste over forskelle fra den officielle klient: en mindre applikationsstørrelse, fuldstændigt fravær af tredjepartsprogrammer i den officielle samling, integration med applikationer skrevet i C++, økonomisk brug af computerressourcer og højere netværkshastighed.

Eksisterende sårbarheder

Skift noder

Denne metode til at angribe netværket kan implementeres med en ret lille brug af ressourcer (for et vellykket angreb skal kun omkring 2% af alle netværksknuder fanges). Denne metode begrænser dog angrebet ved at fange 20 % af alle netværksfyldninger [12] .

For at udføre et angreb skal en angriber erstatte sunde netværksknuder (som allerede er aktive i det) med kompromitterede. For at gøre dette er det nødvendigt at deaktivere brugbare noder, mens du erstatter dem med dine egne. Angriberen bør erstatte værter med master -værter (konfigureret som manuel ). Deaktivering af netværkets arbejdsknuder er ikke en forudsætning for at udføre et angreb - routerne på knudepunkterne i netværket er almindelige brugercomputere, derfor deltager de ikke altid i netværket, og knudepunkterne afbrydes også, når routeren genstartes (f.eks. ved opdatering af software). Netværket i sig selv forbinder ikke nye noder, før der er behov for nye medlemmer, eller der mangler ressourcer. Derfor, for lettere udskiftning af noder, er det nok at vente, indtil en af ​​noderne er afbrudt fra netværket og træder i stedet med sin egen node [12] .

For at fremskynde processen, sammen med at vente på, at en af ​​noderne uafhængigt afbryder forbindelsen fra nodeerstatningsnetværket, kan en angriber forårsage et opgavestak-overløb for arbejdernoder (den såkaldte joblag). Det består i at udføre et DoS-angreb på en node. Angriberen skal oprette mange nye tunneler gennem den angrebne node for yderligere at udfylde sin opgavekø med kontinuerlige anmodninger gennem hver tunnel. I dette tilfælde er der en stor forsinkelse i udførelsen af ​​opgaver, og noden udelukker sig selv fra oversvømmelsens liste [12] .

Deanonymisering af tunnelmedlemmer

Tunneler bruges i I2P-netværket [13] :

Tunneler er kæder af routere, hvorigennem beskeder sendes. Tunneler er udgående og indgående. Udbakker er designet til at skjule afsenderens placering, mens indbakker skjuler modtagerens placering.

Ved brug af ikke-standard korte tunneler - 0, 1, 2 hop, er der øget risiko for deanonymisering af alle tunneldeltagere. Da information om modtager og afsender transmitteres sammen med selve beskeden i IP-pakken (da dataene transmitteres over en normal usikker kanal), kender den mellemliggende node modtageren og afsenderen af ​​pakken, så den angribende, kontrollerende mellemnode kan lave antagelser om de indledende og endelige knudepunkter.

Dette problem løses ved at øge længden af ​​tunnelen, men det bremser i høj grad netværkets meddelelsestransmission. I øjeblikket bruger netværket tre-hop tunneler som standard, hvilket gør denne type angreb praktisk talt uanvendelig, hvis angriberen ikke kontrollerer 2 ud af 3 mellemliggende noder i en tunnel. [13] .

Undtagelsesangreb

Dette angreb bruger I2P-sårbarheder, som skyldes egenskaberne for P2P-netværk i dette netværk , nemlig: den ikke-konstante driftstid for netværksroutere (som er almindelige computere for netværksdeltagere), samt nogle tunnelingsregler [13] :

For at udføre angrebet kompilerer angriberen en liste over netværksroutere, der potentielt er noder for tunnelen med den angrebne endenode (selve den angrebne node er ikke inkluderet på listen). Derefter begynder angriberen at sende kontinuerlige anmodninger til den angrebne vært for at finde ud af tidsintervallerne, når routeren er online. I tilfælde af en aktiv node (nuværende tilstand: "online"), tjekker angriberen den forberedte liste over noder for at finde inaktive noder blandt dem ved at sende engangsanmodninger til hver af dem. Hvis der ikke blev modtaget noget svar ved polling af en specifik node (nuværende tilstand: "offline"), er routeren udelukket fra listen over noder. Lignende handlinger udføres i det modsatte tilfælde: hvis den angrebne node er inaktiv, udelukkes de aktuelt aktive noder fra listen. Således vil listen i sidste ende bestå af konstant aktive routere. Det næste trin i at filtrere noder fra listen vil være udnyttelsen af ​​tunnelreglerne beskrevet ovenfor: tunnelroutere inkluderet i LeaseSet [14] af den angrebne node er udelukket; tager også hensyn til kvoten for tunnelens varighed [13] .

Evaluering af hastigheden af ​​denne metode: det vil tage omkring 7 dage af algoritmen at søge gennem 5 tusinde noder på den foreløbige liste [13] .

Sybil angreb

En enkelt angriber er nok til at udføre et "Sybil-angreb" og kræver en lille mængde ressourcer. Denne metode giver mulighed for at tage kontrol over flere floodfill-noder i et specifikt område af tasterummet . Da en angriber ikke kan starte kompromitterede noder ind i netværket hurtigt nok (for eksempel ved at bruge ekskluderingsangreb), adskiller denne metode sig fra andre ved, at den ikke tager kontrol over en specifik node (uden at være dens ejer). I dette tilfælde kan angriberen generere et stort antal node-id'er lokalt og derefter vælge de bedst egnede til brug (dem, der er tættere på end nogen sund node i databasen) [12] .

For at dette angreb kan give resultater, tager det noget tid, for når en ny node forbindes til netværket, tager det omkring en time for denne node at behandle information om andre netværksknuder [12] .

Dette angreb kan f.eks. bruges til at blokere adgangen til netværksknuder til bestemte informationer (f.eks. en nøgle, der peger på en knude med en bestemt tjeneste). Ved at kompromittere de nærmeste naboer til en bestemt node, er det muligt at sikre, at når man får adgang til denne node for adressen på en netværkstjeneste, returneres en forespørgsel om tjenestens usikkerhed før tid ( oprindelse, uden at kende ressourcen) [12] .

Vigtigste applikationer tilgængelige til brug inden for I2P-netværket

Nedenfor er en liste [15] .

Se også

Noter

  1. https://staas.home.xs4all.nl/t/swtr/documents/wt2015_i2p.pdf
  2. i2p Open Source-projektet på Open Hub: Languages-side - 2006.
  3. zzz https://geti2p.net/en/blog/post/2022/8/22/1.9.0-Release-2022 .
  4. Chipmagasin 11/2013 , s.53
  5. Anonymitet på internettet // ComputerPress  : magasin. - 2010. - Nr. 9 .
  6. ↑ 1 2 3 4 5 6 7 8 Denis Kolisnichenko. Anonymitet og sikkerhed på internettet: fra "tekanden" til brugeren. - BHV-Petersburg, 2011. - S. 44, 46, 47. - 240 s. - ISBN 978-5-9775-0363-1 .
  7. Jon Snow. Anonym hosting via I2P: Praktiske tips til brug af kryptonettet . Xakep.ru (7. juli 2011). Dato for adgang: 12. december 2014. Arkiveret fra originalen 8. november 2014.
  8. ↑ 1 2 Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor. Overvågning af I2P-netværket  // INRIA Nancy-Grand Est. - Henri Poincar'e University, Frankrig, 2011. - S. 5-7 . Arkiveret fra originalen den 13. december 2014.
  9. Adrian Crenshaw. Darknets og skjulte servere: Identifikation af den sande IP/netværksidentitet for I2P-tjenesteværter // In the Proceedings of Black Hat 2011. - Washington, DC, 2011.
  10. Lars Schimmer. Peer-profilering og udvælgelse i det anonyme I2P-netværk. – 2011.
  11. DeI Abou-Tair, L. Pimenidis, J. Schomburg, B. Westermann. Usability Inspection of Anonymity Networks. — Dresdens tekniske universitet. - 2009. - 76 s. — ISBN ISSN 1430-211X.
  12. ↑ 1 2 3 4 5 6 Christoph Egger, Johannes Schlumberger, Christopher Kruegel, Giovanni Vigna. 3.2 Sybil angreb; 3.3 Eclipse-angreb // Praktiske angreb mod I2P-netværket . — 16. internationale symposium om forskning i angreb, indtrængen og forsvar (RAID 2013), 2013-10. - S. 8-9. Arkiveret 26. december 2014 på Wayback Machine
  13. ↑ 1 2 3 4 5 Jon Snow. Afslører hemmelighederne bag I2P-netværket . Xakep.ru (4. september 2014). Dato for adgang: 8. december 2014. Arkiveret fra originalen 11. december 2014.
  14. Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor. I2P's brugskarakterisering // Forskningsrapport RR-7844. — INRIA Nancy-Grand Est, Frankrig: Henri Poincaré University, 2011.
  15. Andrey Komarov ([email protected]). Beyond Invisibility: Nye metoder til at redde Ingonito på internettet  // Publishing House LLC "Game Land" : magasin. - 2008. - Nr. 120 . Arkiveret fra originalen den 5. juni 2015.
  16. XD er en selvstændig torrent-klient til i2p-netværket , Web Of Dark - vi er talerøret for Darknet  (6. september 2017). Arkiveret fra originalen den 27. februar 2018. Hentet 27. februar 2018.

Links