Hvordan Tor fungerer. Hvordan Tor fungerer Beskyttelsesnoden din kan ikke endres

Hei, kjære lesere av bloggsiden. Du vet sannsynligvis at alle handlingene dine på nettverket (nettsidesider vist, filer lastet ned, videoer sett) kan spores, og fra helt andre steder (ved å kontakte Internett-leverandøren din, rote gjennom datamaskinen eller søke i loggene til nettsteder du besøkte). Anonymitet på Internett eksisterer bare hvis du ikke begynner å "grave dypt".

Det er noen løsninger på problemet med "etterlater spor" som vi allerede har dekket. For eksempel kan du og da vil ingen spor etter besøkene dine bli lagret på datamaskinen din. Eller for eksempel når du blokkerer tilgang til enkelte nettsteder (for eksempel for å logge på Contact eller Odnoklassniki fra en arbeidsdatamaskin).

Men det finnes en mye mer omfattende løsning - dette er den såkalte TOR. I hovedsak er dette programvare, som med en veldig høy grad av sannsynlighet lar deg skjule alt du gjør og har gjort på Internett for nysgjerrige øyne. Det er nettopp på grunnlag av denne teknologien at det fungerer Tor nettleser, om hvilke i dag og vi vil snakke. I hovedsak legger den kompleks teknologi inn i skallet til en nettleser som ser normalt ut, tilgjengelig for enhver Internett-bruker, som alle kan bruke. Men fyllingen er uvanlig...

Hva er TOR?

Jeg vil ikke overbelaste deg med tekniske termer og konsepter som stort sett vil være overflødige. Jeg vil bare bokstavelig talt beskrive i et nøtteskall (på fingrene mine) prinsippet om drift av Thor-teknologien og systemet bygget på dens grunnlag Tor nettleser. Denne kunnskapen vil tillate deg å forstå hva du kan forvente av denne programvaren, hvilke styrker og svakheter den har, slik at du bevisst kan bruke den til dine behov.

Så i utgangspunktet ble alt dette brygget i en av de amerikanske militæravdelingene. Historien er taus om hvorfor de trengte dette, men på begynnelsen av 2000-tallet ble begynnelsen av Thor-teknologien helt uventet gjort tilgjengelig for publikum. Og de var åpne kildekoder og denne programvaren ble fritt distribuert. Hva betyr det? Og hvor mye kan du stole på en slik "gave"?

Spørsmålet er rettferdig, men du kan stole på det nettopp fordi koden til denne teknologien er åpen. Faktum er at siden den gang (over et og et halvt tiår) har disse programkodene blitt studert (og gjort endringer) av hundrevis, om ikke tusenvis av mennesker som forstår dette, og ingen "bokmerker" eller "hemmelige dører" har blitt funnet. . Hvor vi snakker om om sikkerhet(i vårt tilfelle, overføring og lagring av informasjon), er det bedre å jobbe med åpen kildekode (programvare).

Forresten, det er derfor når du velger n, men for . De tilhører ganske enkelt kategorien fri programvare, og koden deres har blitt sjekket av tusenvis av kompetente spesialister. Det er på en eller annen måte roligere, fordi jeg lagrer mange passord for tjenester knyttet til penger, og å miste dem ville være veldig dyrt.

Så TOP-teknologi lar deg få tilgang til nettsteder og laste ned noe fra nettverket uten å etterlate seg noen spor. Det vil si at når du åpner for eksempel et nettsted gjennom Tor-nettleseren, vil det være umulig å spore IP-adressen til datamaskinen din på denne nettsiden (og dermed identifisere deg). Selv Internett-leverandøren din vil ikke forstå (selv om du vil) at du har besøkt denne siden (og det vil være umulig å bevise det). Vel, nettleseren i seg selv vil ikke lagre alle spor av vandringene dine på Internett.

Fantastisk, ikke sant? Jeg forstår at på denne måten kan folk dekke over sine mørke saker. Ikke uten dette, selvfølgelig. Men den generelle ideen til Thor er fortsatt lys - å gi Internett-brukeren ekte frihet i form av fullstendig anonymitet. For eksempel, i noen land kan tilgang til visse ressurser blokkeres uten begrunnelse, men Tor Browser vil tillate deg å omgå disse hindringene og ikke bli straffet for dette bruddet, fordi de ikke vil vite at du gjorde det (eller de vil ikke bevise det) ). Men det er ikke poenget...

Hvordan TOR fungerer? Dette kalles løkruting. Se. Det er et nettverk av noder som eies av tilhengere av denne teknologien. Tre vilkårlige noder brukes til å overføre data. Men hvilke? Og det er nettopp dette ingen vet.

Tor-nettleseren sender en pakke til den første noden, og den inneholder den krypterte adressen til den andre noden. Den første noden kjenner nøkkelen til krypteringen, og etter å ha lært adressen til den andre, videresender den pakken dit (det er som å fjerne det første laget av en løk). Den andre noden, etter å ha mottatt pakken, har en nøkkel for å dekryptere adressen til den tredje noden (et annet lag er fjernet fra løken). Dermed er det fra utsiden ikke mulig å forstå hvilket nettsted du endte opp med å åpne i Tor Browser-vinduet.

Men vær oppmerksom på det bare banen er kryptert(ruting), og innholdet i selve pakkene er ikke kryptert. Derfor, for å overføre hemmelige data, ville det være bedre å først kryptere dem (i det minste i TruCrypt nevnt ovenfor), siden muligheten for å avskjære dem (for eksempel ved hjelp av sniffere) eksisterer.

I tillegg kommer denne teknologien det er noen flere ulemper(eller funksjoner):

  1. Internett-leverandøren din (eller noen andre som overvåker trafikken din) kan innse at du bruker Tor. Han vil ikke vite hva du ser på eller gjør på nettet, men noen ganger kan bare det faktum å vite at du skjuler noe ha konsekvenser. Ta hensyn til dette, og studer om mulig måter å forbedre kamuflasje på (og de finnes), hvis dette er kritisk for deg.
  2. TOR-nettverket bruker ikke spesielt høyhastighetsutstyr, men faktisk vanlige datamaskiner. Dette bringer opp en annen ulempe - hastighet overføringen av informasjon i dette hemmelige nettverket kan variere betydelig og noen ganger er det tydeligvis ikke nok for for eksempel å se medieinnhold.

Hvor kan jeg laste ned den offisielle russiske versjonen av Tor Browser?

På denne bloggen har jeg allerede publisert en artikkel om det. Det ble også nevnt Toraen. Naturligvis er det bedre og tryggere å laste ned et hvilket som helst produkt fra utviklerens nettsted, det vil si det offisielle (jeg tror du vet). Tor Browser-nedlastingssiden ligger på denne adressen (jeg gjentar nok en gang at det av sikkerhetsgrunner er bedre å laste ned fra den offisielle nettsiden):

Vær oppmerksom på at før du klikker på nedlastingsknappen, må du velge et språk. Standard er engelsk, men du kan velge et dusin flere alternativer fra rullegardinlisten, inkludert fullstendig lokalisert russisk versjon. Slik vil det fungere mer behagelig når grensesnittspråket er innfødt.

Selv om du under installasjonen igjen vil bli spurt om ditt foretrukne grensesnittspråk, og du kan også velge russisk der. Ellers er ikke installasjonsprosessen forskjellig fra å installere andre nettlesere.

Men når du først starter, vil du bli spurt om du trenger det tilleggsinnstillinger for å koble til TOR-nettverket. I de aller fleste tilfeller vil det være nok å bare klikke på "Koble til"-knappen:

Det vil ta litt tid før nettleseren kobler seg til Tor-nettverket:

Etter dette åpnes et vindu i en nettleser som ser normal ut ved første øyekast, men som fungerer med Internett ved å lage krypterte tunneler (analoger).

Det understreker imidlertid utviklerne selv Thor er ikke et universalmiddel(i hvert fall med standardinnstillinger). Derfor anbefales de som er paranoide om absolutt anonymitet å følge lenken for avklaring i denne saken.

Hvordan bruker jeg Tor-nettleseren?

Når du først laster nettleseren, blir du umiddelbart bedt om det bruk anonymizer for å søke på disconnect.me. Egentlig er det denne tjenesten som vil bli brukt som “ ” i denne nettleseren (du kan endre dette i innstillingene), dvs. når du skriver inn en forespørsel i nyåpnede nettleserfaner eller når du legger den inn via adressefeltet i en hvilken som helst fane, vil disconnect.me anonymizer åpnes med søkeresultater.

Søket utføres faktisk av Google (du kan velge fra innstillingene i topppanel tjeneste - se skjermbilde nedenfor), men det gjenstår ingen spor etter hvem som nøyaktig utførte søket (husk, jeg skrev om det faktum at, men faktisk kan ingenting slettes permanent, så de som er bekymret for anonymitet må huske dette).

Ikke glem også velg søkespråk(i det øverste panelet i disconnect.me-vinduet til høyre), fordi takket være anonymiseringen vil ikke Google kunne gjenkjenne ditt foretrukne språk automatisk. Selv om du, ved å velge for eksempel russisk, til en viss grad løfter sløret av hemmelighold om din inkognito for dette søkemotor. Men her må du inngå et kompromiss - enten bekvemmelighet, .

Ja, Tor-nettleseren vil også advare deg når du først klikker på lenken om at det er bedre å laste inn sider på engelsk, for å unngå, for å si det sånn.

Personlig valgte jeg alternativet "Nei", fordi bekvemmelighet er viktigere for meg, og jeg snakker ingen andre språk enn russisk. Akk og ah.

Forresten, du kan sjekke det selv at du faktisk har blitt "kryptert". For å gjøre dette vil det være nok å gå til nettstedet fra en hvilken som helst annen nettleser, og deretter gjøre det samme fra under Thor. Som du ser, erstatter TOR (jeg ble en sulten nordmann) og dette er bare en liten del av å beskytte din anonymitet.

Forresten, hvis du klikker på løken til venstre for adressefeltet, vil du kunne se den samme kjeden med tre noder (proxy) som skiller datamaskinen din fra nettstedet du besøker (jeg skrev om løkruting akkurat ovenfor):

Om ønskelig kan denne kjeden av noder endres. Du kan også endre din "nettleserskapte personlighet" hvis du ikke liker den nåværende. Dette vil imidlertid lukke alle åpne faner i Tor, og det vil automatisk lastes inn på nytt.

Her kan du også få tilgang sikkerhetsinnstillinger:

Som standard er alle personverninnstillinger (anonymitet aktivert), men sikkerhetsnivået er på det laveste nivået på grunn av det faktum at du bare i dette tilfellet alle funksjoner i denne nettleseren vil være tilgjengelige. Hvis du setter sikkerhetsinnstillingene til Tor-nettleseren til "høy", vil en hel haug med nettleserfunksjoner være tilgjengelig først etter at du tvinger dem til å aktiveres (dvs. alt er deaktivert som standard). For meg er dette overkill, så jeg lot alt være som det var, men du kan velge noe i midten (kompromiss).

Ellers Tor-nettleseren ligner på Mozilla Firefox , fordi den i hovedsak er satt sammen på grunnlaget. Dette vil være godt synlig når du går til innstillinger (ved å klikke på knappen med tre horisontale linjer i øvre høyre hjørne):

Lykke til! Vi sees snart på sidene til bloggsiden

Du kan være interessert

Inkognito - hva er det og hvordan du aktiverer inkognitomodus i Yandex-nettleseren og Google Chrome
Søk og nettleserhistorikk i Yandex - hvordan du åpner og viser den, og om nødvendig sletter eller sletter den Hvordan gjøre hjemmeside Yandex- eller Google-hjemmeside, samt hvilken som helst side (for eksempel denne) angitt som hjemme
Hvordan installere WhatsApp på en datamaskin - PC-versjon og bruke WhatsApp Web online (via en nettleser) Hvordan installere Google Chrome, Yandex Browser, Opera, Mazila og Internet Explorer på datamaskinen din gratis

Om viktigheten av å eliminere utgangsnoder i TOR.

Alle vet at TOR skjuler den virkelige IP-adressen og krypterer trafikk. Imidlertid er det få som forstår hvordan Onion Router fungerer. Jeg skal prøve å fortelle deg klart og tydelig om denne ruteren og viktigheten av å ekskludere utgangsnoder.

Til referanse: Det mange kaller en tor er faktisk ikke en tor, men en tor-nettleser. Tor-nettleseren er et kompleks for anonym surfing, som består av:

1. Mozilla nettleser Firefox
2. TOR (løkruteren)
3. HTTPS Everywhere-tillegg
4. NoScript-tillegg
5. Add-on TOR-knapp
6. Tillegg UBlock Origin
7. Konfigurator

Hvordan TOR fungerer.

Uten en torus går pakker fra maskinen vår til den endelige siden rett. Det vil si at det endelige nettstedet ser IP-adressen vår.

Når TOR lanseres, genereres flere kjeder, som hver består av tre tilfeldige onder: input, middle og output. Dessuten er hver pakke kryptert tre ganger. Etter dette går pakkene fra maskinen vår til den første noden. Den fjerner det første laget med kryptering, ser hvor pakken skal sendes neste og overfører den til midtnoden. Den midterste noden fjerner det andre laget med kryptering, ser hvor pakken skal sendes og sender den til utgangsnoden, hvor det siste laget med kryptering fjernes fra pakken, hvoretter den UKRYPTERT pakken sendes til det endelige stedet.

Standard kjedelevetid er 10 minutter. Etter ti minutter vil alle tre nodene endres tilfeldig.
Alt ser ut til å være bra, men bare ved første øyekast. I motsetning til i2p, hvor pakker sendes gjennom flere «enveis trafikk»-tunneler, går i TOR alle pakker langs én kjede både fra oss til mottakeren, og fra mottakeren tilbake til oss. Dette betyr at hvis utgangsnoden er fanget av en "sannsynlig fiende" eller til og med opprettet av ham (noe som oftest skjer), så kan vi få problemer, hvorav en er trafikkanalysatorer.

For å forhindre dette har Tor-nettleseren HTTPS Everywhere-tillegget aktivert som standard. Og den er også konfigurert som standard til å kjøre SSL-kryptering HVIS DET STØTES av nettstedet eller serveren. Hvis ikke, vil den slippe gjennom ukryptert HTTP-trafikk - som selv et skolebarn kan fange opp. Som et resultat kan du tape Kontoer og mye annen konfidensiell informasjon.

Forsvarsstrategi.

Forhindre dette med to innstillinger. Den første er utelukkelse av noder som kan tilhøre en "sannsynlig fiende". Den andre er å bytte HTTPS Everywhere-tillegget til "Blokker alle ukrypterte forespørsel"-modus.

For å ekskludere noder i TOR, må vi finne konfiguratoren. Konfigurasjonsfilen heter torrc og ser ut som en vanlig tekstfil. Du må legge til følgende linje nederst i denne filen:

Kode:
ExcludeExitNodes (ru), (ua), (by)
Lagre deretter filen og start TOR eller TOR-nettleseren på nytt. Du kan spore kretser enten i Tor-knappen (hvis du har Windows) eller ved å bruke Onion Circuits (hvis du har Linux). Avansert Linux-brukere kan i stedet bruke TOR ARM – som ikke bare viser kjedene men også lar deg konfigurere ruteren.

Android OS.

I Orbot-innstillingene kan du også ekskludere noder, men ikke helger, men alle. Vi ser etter alternativet ExcludeNodes og skriver inn det samme (bokstavene endres til store).

Følgende materialer ble brukt når du skrev:

Tor-systemet lar deg skjule endelige (mål)adresser fra leverandøren, og bryter derved gjennom en mulig blokkering av tilgang til nettverksressurser blokkert av den. Tor-systemet skjuler også avsenderens adresse fra målressurser, og fjerner dermed muligheten for å finne en bruker eller blokkere brukere.

Imidlertid kan både leverandøren og nettverksressursene bekjempe Tor selv ved å blokkere dens offentlige noder. Følgende er teknikker for å håndtere slik Tor-blokkering.

1. Bruk av ikke-offentlige inngangsnoder (bronoder)

I land med internettsensur prøver leverandørene ofte å blokkere tilgangen til «forbudte» Internett-ressurser. (Jeg forstår ikke hvorfor en idiot vil bestemme hvilke sider jeg besøker og hvilke jeg ikke gjør!)

Informasjonsflyten av data som kommer fra brukeren til Tor-nettverket er forkledd som kryptert SSL-trafikk (https-protokoll), og det er urealistisk å gjenkjenne den av enkelte funksjoner. Tilbyderen vet imidlertid alltid den primære adressen som data sendes til. Når du arbeider gjennom Tor, er dette adressen til den første noden i anonymiseringskjeden.

Tor er et åpent system, så alle adressene til offentlige Tor-noder er kjent, og det er ikke vanskelig å svarteliste dem og deretter blokkere dem.

Noen ganger blir slik blokkering til og med betraktet som en sårbarhet i Tor-systemet.

Utviklerne av Tor forutså denne situasjonen og opprettet et visst undersett av ikke-offentlige inngangsnoder (bronoder eller broer), hvis adresser bare kan finnes ut manuelt og i små porsjoner.

På siden https://bridges.torproject.org du kan finne adressene til de tre gjeldende bronodene i formatet proxy_host:proxy_port (for eksempel 188.40.112.195:443). Det vil være der korte instruksjoner for montering av broer. (Sant på engelsk.)

Hvis denne siden er også blokkert, kan du få adressene til bronoder på post ved å sende et forespørselsbrev til [e-postbeskyttet] med en tittel og en enkelt linje få broer i hoveddelen av brevet.

Du kan sette inn de resulterende bronodene i Tor-klienten gjennom Vidalias grafiske skall.

Det du trenger: åpne vinduet Vidalia, trykk på knappen " Innstillinger" ("Innstillinger"), i vinduet som åpnes, velg fanen " Nett" ("Nettverk"), merk av i boksen der " Min InteRNo-ISP blokkerer tilgang til Tor-nettverket" ("Min ISP blokkerer tilkoblinger til Tor-nettverket").

Kopier adressen til den første bronoden inn i "-feltet Legg til bro" ("Legg til bro") og klikk på "+"-knappen. Sett inn de gjenværende bronodene på samme måte.

Klikk på "Ok"-knappen. Start Tor på nytt.

2. Legge til en ekstern proxy på slutten av Tor-kjeden

For øyeblikket blokkerer eller begrenser noen Internett-ressurser tilgangen til besøkende når de bruker Tor. Tilsynelatende ønsker de å kontrollere sine besøkende (!?). (Dessverre inkluderer dette til og med slike kjente nettsteder som Wikipedia, Gmail, LiveJournal, Linux.org.ru og andre.) For slik blokkering kompileres en "svarteliste" over alle (eller nesten alle) offentlige utdataservere til Tor-systemet (blokkeringsliste), og besøk fra disse serverne er forbudt eller begrenset. Noen ganger kan du se på "svartelisten" på https://proxy.org/tor_blacklist.txt, men mest sannsynlig vil det være en melding som "Kom tilbake i morgen"

En enkel måte å overvinne blokkering fra Internett-ressurser er å legge til en ekstern proxy-server til Tor-kjeden. (Det er ikke inkludert i "svartelisten".) Det er mange eksterne proxy-servere, og de kan enkelt finnes på Internett (f.eks. http://www.proxy-list.org/en/index.php/) . Det er bare nødvendig at de støtter SSL-trafikkkryptering (for pålogging via en sikker https-kanal) og helst være «utenlandske». Kopier adressen i formatet: proxy_host: proxy_port.

Finn deretter konfigurasjonsfilen for filtrering proxy Polipo:....conf og legg til linjen parentProxy=proxy_host:proxy_port til slutten av den, der proxy_host:proxy_port er adressen til den "eksterne proxyen".

Etter dette må du starte den anonyme kanalen på nytt, dvs. Tor nettleser.

Du kan sjekke den anonyme kanalen på IP-analysatornettsteder (for eksempel http://www.ip-adress.com/what_is_my_ip/, eller http://whatismyipaddress.com/, eller http://geotool.servehttp.com/ Mottatt IP-adressen må samsvare med den eksterne proxy-adressen.

Som et resultat av å legge til en ekstern proxy på slutten av Tor-kjeden, vil kommunikasjon med måladressen (nettstedet) gå gjennom denne "rene" "eksterne proxy" for blokkeren.


| |

Tor er et anonymitetsverktøy som brukes av personer som søker personvern og kjemper mot internettsensur. Over tid begynte Tor å takle oppgaven sin veldig, veldig bra. Derfor er sikkerheten, stabiliteten og hastigheten til dette nettverket avgjørende for folk som stoler på det.

Men hvordan fungerer Tor under panseret? I denne artikkelen skal vi dykke ned i strukturen og protokollene som brukes på nettverket for å se nærmere på hvordan Tor fungerer.

En kort historie om Tor

Konseptet med løkruting (vi vil forklare navnet senere) ble først foreslått i 1995. Opprinnelig ble denne forskningen finansiert av Institutt for sjøforskning, og i 1997 ble DARPA med i prosjektet. Siden den gang har Tor-prosjektet blitt finansiert av ulike sponsorer, og for ikke så lenge siden vant prosjektet en donasjonskampanje på reddit.

Den moderne versjonen av Tor-programvaren ble hentet fra åpen kildekode i oktober 2003, og var allerede 3. generasjon av løkerutingsprogramvare. Tanken er at vi pakker inn trafikk i krypterte lag (som en løk) for å beskytte dataene og anonymiteten til avsender og mottaker.

Grunnleggende om Tor

Nå som vi har sortert ut historien, la oss gå ned til driftsprinsippene. På det høyeste nivået fungerer Tor ved å videresende datamaskinens tilkobling til mål (for eksempel google.com) gjennom flere mellomliggende datamaskiner, eller reléer.



Pakkebane: vaktnode, mellomnode, utgangsnode, destinasjon

For tiden (februar 2015) er det rundt 6000 rutere som overfører trafikk på Tor-nettverket. De er lokalisert over hele verden og drives av frivillige som går med på å donere litt trafikk til en god sak. Det er viktig at de fleste noder ikke har noen spesiell maskinvare eller tilleggsprogramvare - de kjører alle med Tor-programvare konfigurert til å fungere som en node.

Hastigheten og anonymiteten til Tor-nettverket avhenger av antall noder - jo flere, jo bedre! Og dette er forståelig, siden trafikken til en node er begrenset. Jo flere noder du har å velge mellom, jo ​​vanskeligere er det å spore en bruker.

Nodetyper

Som standard videresender Tor trafikk gjennom 3 noder. Hver av dem har sin egen rolle (vi vil analysere dem i detalj senere).


Klient, sikkerhetsnode, mellomnode, exit node, destinasjon

Inngangs- eller vaktnoden er inngangspunktet til nettverket. Inngangsnodene velges blant de som opererer i lang tid og har vist seg å være stabile og høyhastighets.
Mellomnode – overfører trafikk fra sikkerhets- til utgangsnoder. Som et resultat vet førstnevnte ingenting om sistnevnte.
Utgangsnoden er utgangspunktet fra nettverket og sender trafikk til destinasjonen som klienten trenger.

En generelt sikker metode for å kjøre en vaktpost eller mellomnode er virtuell server(DigitalOcean, EC2) – i dette tilfellet vil serveroperatører kun se kryptert trafikk.

Men exit node-operatører har et spesielt ansvar. Siden de sender trafikk til destinasjonen, vil alle ulovlige aktiviteter som gjøres gjennom Tor være knyttet til utgangsnoden. Og dette kan føre til politirazziaer, varsler om ulovlige aktiviteter og andre ting.

Møt exit node-operatøren - takk ham. Han fortjener det.

Hva har løk med det å gjøre?

Etter å ha forstått ruten for forbindelser som går gjennom nodene, stiller vi oss selv spørsmålet - hvordan kan vi stole på dem? Kan du være sikker på at de ikke vil hacke forbindelsen og trekke ut alle dataene fra den? Kort sagt, vi trenger ikke å stole på dem!

Tor-nettverket er designet slik at noder kan behandles med minimal tillit. Dette oppnås gjennom kryptering.

Så hva med pærer? La oss se på hvordan kryptering fungerer under prosessen med å etablere en klientforbindelse gjennom Tor-nettverket.

Klienten krypterer dataene slik at bare utgangsnoden kan dekryptere dem.
Disse dataene blir deretter kryptert igjen slik at bare den mellomliggende noden kan dekryptere dem.
Og så blir disse dataene igjen kryptert slik at bare vaktpostnoden kan dekryptere dem

Det viser seg at vi pakket inn de originale dataene i lag med kryptering – som en løk. Som et resultat har hver node kun informasjonen den trenger – hvor de krypterte dataene kom fra og hvor de skal sendes. Denne krypteringen er nyttig for alle - klientens trafikk er ikke åpen, og nodene er ikke ansvarlige for innholdet i de overførte dataene.

Merk: utgangsnoder kan se kildedataene fordi de må sende dem til destinasjonen. Derfor kan de trekke ut verdifull informasjon fra trafikk sendt i klartekst over HTTP og FTP!

Noder og broer: problemet med noder

Når Tor-klienten starter, må den få lister over alle inngangs-, mellom- og utgangsnoder. Og denne listen er ikke en hemmelighet - senere vil jeg fortelle deg hvordan den er distribuert (du kan søke i dokumentasjonen etter ordet "konsensus"). Offentliggjøring av listen er nødvendig, men det er et problem med det.

For å forstå det, la oss late som om vi er en angriper og spør oss selv: hva ville en autoritær regjering (AP) gjøre? Ved å tenke på denne måten kan vi forstå hvorfor Tor er designet som det er.

Så hva ville AP gjort? Sensur er en alvorlig sak, og Tor lar deg omgå det, så AP vil blokkere brukere fra å få tilgang til Tor. Det er to måter å gjøre dette på:

  • blokkere brukere som forlater Tor;
  • blokkere brukere som logger på Tor.

Det første er mulig, og dette er det frie valget til eieren av ruteren eller nettstedet. Han trenger bare å laste ned en liste over Tor-utgangsnoder og blokkere all trafikk fra dem. Dette blir dårlig, men Tor kan ikke gjøre noe med det.

Det andre alternativet er alvorlig verre. Blokkering av brukere som forlater Tor kan forhindre dem i å besøke en bestemt tjeneste, og blokkering av alle innkommende brukere vil forhindre dem fra å gå til noen nettsteder - Tor vil bli ubrukelig for de brukerne som allerede lider av sensur, som et resultat av at de henvendte seg til denne tjenesten . Og hvis Tor bare hadde noder, ville dette vært mulig, siden AP kan laste ned en liste over sentinel-noder og blokkere trafikk til dem.

Det er bra at Tor-utviklerne tenkte på dette og kom med en smart løsning på problemet. Bli kjent med broene.

Broer

Faktisk er broer ikke publiserbare i offentlig tilgang noder. Brukere bak sensurvegger kan bruke dem til å få tilgang til Tor-nettverket. Men hvis de ikke er publisert, hvordan vet brukerne hvor de skal lete etter dem? Er det nødvendig med en spesiell liste? Vi skal snakke om det senere, men kort sagt, ja – det er en liste over broer som prosjektutviklerne jobber med.

Det er bare ikke offentlig. I stedet kan brukere motta en liten liste over broer for å koble til resten av nettverket. Denne listen, BridgeDB, gir brukere bare noen få broer om gangen. Dette er rimelig, siden de ikke trenger mange broer samtidig.

Ved å utstede flere broer kan du forhindre at nettverket blokkeres av en autoritær regjering. Selvfølgelig, ved å motta informasjon om nye noder, kan du blokkere dem, men kan hvem som helst oppdage alle broene?

Kan noen oppdage alle broene

Listen over broer er strengt konfidensiell. Hvis AP mottar denne listen, vil den kunne blokkere Tor fullstendig. Derfor har nettverksutviklere forsket på muligheten for å få en liste over alle broer.

Jeg vil i detalj beskrive to elementer fra denne listen, 2. og 6., siden dette var metodene som ble brukt for å få tilgang til broene. I avsnitt 6 leter forskerne etter Tor broer skannet hele IPv4-området ved hjelp av ZMap-portskanneren, og fant fra 79 % til 86 % av alle broer.

Det andre punktet innebærer å starte en mellomliggende Tor-node som kan overvåke forespørsler som kommer til den. Bare sentinel-noder og -broer får tilgang til en mellomnode - og hvis den aksesserte noden ikke er i den offentlige listen over noder, så er det åpenbart at denne noden er en bro. Dette er en alvorlig utfordring for Tor, eller et hvilket som helst annet nettverk. Siden brukere ikke er til å stole på, er det nødvendig å gjøre nettverket så anonymt og lukket som mulig, derfor er nettverket designet slik.

Konsensus

La oss se på hvordan nettverket fungerer på et lavere nivå. Hvordan det er organisert og hvordan du finner ut hvilke noder i nettverket som er aktive. Vi har allerede nevnt at i et nettverk er det en liste over noder og en liste over broer. La oss snakke om hvem som lager disse listene.

Hver Tor-klient inneholder fast informasjon om 10 kraftige noder vedlikeholdt av pålitelige frivillige. De har en spesiell oppgave - å overvåke tilstanden til hele nettverket. De kalles katalogmyndigheter (DA, listeansvarlige).

De er distribuert over hele verden og er ansvarlige for å distribuere en konstant oppdatert liste over alle kjente Tor-noder. De velger hvilke noder de skal jobbe med og når.

Hvorfor 10? Det er vanligvis ikke lurt å lage en komité med et jevnt antall medlemmer slik at det ikke blir stemmelikhet. Poenget er at 9 DA-er omhandler lister over noder, og én DA (Tonga) omhandler lister over broer


DA Liste

Å nå konsensus

Så hvordan holder DA-er nettverket i gang?

Statusen til alle noder er inneholdt i et oppdatert dokument kalt "konsensus". DA støtter det og oppdaterer det hver time ved å stemme. Slik skjer det:

  • hver DA lager en liste over kjente noder;
  • beregner deretter alle andre data - nodeflagg, trafikkvekter osv.;
  • sender dataene som en "statusavstemning" til alle andre;
  • får alle andres stemmer;
  • kombinerer og signerer alle parametere for alle stemmer;
  • sender signert data til andre;
  • et flertall av DA-er må være enige om dataene og bekrefte at det er konsensus;
  • konsensus publiseres av hver DA.

Konsensus publiseres over HTTP slik at alle kan laste ned siste versjon. Du kan sjekke det selv ved å laste ned konsensus via Tor eller gjennom tor26-porten.

Og hva betyr det?

Anatomi av konsensus

Bare å lese spesifikasjonen er dette dokumentet vanskelig å forstå. Jeg liker visuell representasjon for å forstå hvordan strukturen fungerer. Til dette laget jeg en plakat i corkami-stil. Og her er en (klikkbar) grafisk representasjon av dette dokumentet.

Hva skjer hvis noden blir vill

I vår detaljerte undersøkelse av prinsippene for nettverksdrift, har vi ennå ikke berørt prinsippene for drift av utgangsnoder. Dette er de siste leddene i Tor-kjeden, og gir en vei fra klienten til serveren. Fordi de sender data til destinasjonen, kan de se det som om det nettopp hadde forlatt enheten.

Denne åpenheten innebærer en stor grad av tillit til utgangsnodene, og de oppfører seg vanligvis ansvarlig. Men ikke alltid. Så hva skjer når en utgangsnodeoperatør bestemmer seg for å slå på Tor-brukere?

Saken om sniffere

Tor-utgangsnoder er nesten standardeksemplet på en mann-i-midten (MitM). Dette betyr at alle ukrypterte kommunikasjonsprotokoller (FTP, HTTP, SMTP) kan overvåkes av den. Og dette er pålogginger og passord, informasjonskapsler, opplastede og nedlastede filer.

Utgangsnoder kan se trafikk som om den nettopp hadde forlatt enheten.

Haken er at det ikke er noe vi kan gjøre med det (bortsett fra å bruke krypterte protokoller). Å snuse, passivt lytte til nettverket, krever ikke aktiv deltakelse, så det eneste forsvaret er å forstå problemet og unngå å overføre sensitive data uten kryptering.

Men la oss si at utgangsnodeoperatøren bestemmer seg for å gjøre stor skade på nettverket. Å lytte er en idiots sak. La oss endre trafikken!

Får mest mulig ut av det

Husk at utgangsnodeoperatøren er ansvarlig for å sikre at trafikken som flyter fra og til klienten ikke endres. Ja selvfølgelig…

La oss se på hvilke måter det kan endres.

SSL MiTM & sslstrip
SSL ødelegger alt når vi prøver å rote med brukere. Heldigvis for angripere har mange nettsteder problemer med implementeringen, slik at vi kan lure brukeren til ukrypterte tilkoblinger. Eksempler er omdirigering fra HTTP til HTTPS, aktivering av HTTP-innhold på HTTPS-nettsteder, etc.

Et praktisk verktøy for å utnytte sårbarheter er sslstrip. Vi trenger kun å sende all utgående trafikk gjennom den, og i mange tilfeller vil vi kunne skade brukeren. Selvfølgelig kan vi ganske enkelt bruke et selvsignert sertifikat og se på SSL-trafikken som går gjennom noden. Enkelt!

La oss koble nettlesere til BeEF
Etter å ha undersøkt detaljene i trafikken, kan du begynne å sabotere. Du kan for eksempel bruke BeEF-rammeverket for å få kontroll over nettlesere. Vi kan da bruke Metasploit-funksjonen "nettleser autopwn", som vil resultere i at verten blir kompromittert og lar oss utføre kommandoer på den. Vi har kommet!..
Bakdørs binærfiler
La oss si at binærfiler lastes ned gjennom noden vår - programvare eller oppdateringer til den. Noen ganger er brukeren kanskje ikke engang klar over at oppdateringer lastes ned. Vi trenger bare å legge til en bakdør til dem ved å bruke verktøy som The Backdoor Factory. Deretter, etter å ha kjørt programmet, vil verten bli kompromittert. Vi har kommet igjen!..
Hvordan fange Walter White
Og selv om de fleste Tor-utgangsnoder er veloppdragne, er det ikke uvanlig at noen av dem oppfører seg destruktivt. Alle angrepene vi snakket om i teorien har allerede funnet sted.

Dels tenkte utviklerne på dette og utviklet en forholdsregel mot klienter som bruker dårlige utgangsnoder. Det fungerer som et flagg i en konsensus kalt BadExit.

For å løse problemet med å fange opp dårlige utgangsnoder, er det utviklet et smart exitmap-system. Det fungerer slik: for hver utgangsnode lanseres en Python-modul, som håndterer pålogginger, nedlasting av filer og så videre. Resultatene av arbeidet hans blir deretter registrert.

Exitmap fungerer ved å bruke Stem-biblioteket (designet for å fungere med Tor fra Python) for å hjelpe til med å bygge diagrammer for hver utgangsnode. Enkelt men effektivt.

Exitmap ble opprettet i 2013 som en del av programmet "spoilt onions". Forfatterne fant 65 trafikkendrende utgangsnoder. Det viser seg at selv om dette ikke er en katastrofe (på driftstidspunktet var det omtrent 1000 utgangsnoder), er problemet alvorlig nok til å overvåke brudd. Derfor fungerer exitmap fortsatt og støttes den dag i dag.

I et annet eksempel laget forskeren ganske enkelt en falsk påloggingsside og logget på gjennom hver utgangsnode. Deretter ble serverens HTTP-logger sett for eksempler på påloggingsforsøk. Mange noder prøvde å penetrere nettstedet ved å bruke påloggingsinformasjonen og passordet som ble brukt av forfatteren.

Dette problemet er ikke unikt for Tor.

Det er viktig å merke seg at dette ikke bare er et problem med Tor. Det er allerede ganske mange noder mellom deg og bildet av katten du vil se på. Det tar bare én person med fiendtlige intensjoner for å forårsake mye skade. Det beste du kan gjøre her er å tvinge kryptering til å aktiveres der det er mulig. Hvis trafikken ikke kan gjenkjennes, kan den ikke enkelt endres.

Og husk at dette bare er et eksempel på dårlig operatøratferd, ikke normen. De aller fleste exit-noder tar rollen sin svært alvorlig og fortjener stor takknemlighet for alle risikoene de tar i navnet til den frie informasjonsflyten.




Topp