CacheBrowser-eksperiment: omgå den kinesiske brannmuren uten en proxy ved bruk av innholdsbufring

CacheBrowser-eksperiment: omgå den kinesiske brannmuren uten en proxy ved bruk av innholdsbufring

Bilde: Unsplash

I dag distribueres en betydelig del av alt innhold på Internett ved hjelp av CDN-nettverk. Samtidig forskning på hvordan ulike sensorer utvider sin innflytelse over slike nettverk. Forskere fra University of Massachusetts analysert mulige metoder for å blokkere CDN-innhold ved å bruke eksemplet med kinesiske myndigheters praksis, og utviklet også et verktøy for å omgå slik blokkering.

Vi har utarbeidet et gjennomgangsmateriale med hovedkonklusjonene og resultatene av dette eksperimentet.

Innledning

Sensur er en global trussel mot ytringsfriheten på Internett og fri tilgang til informasjon. Dette er i stor grad mulig på grunn av det faktum at Internett lånte "ende-til-ende-kommunikasjon"-modellen fra telefonnettverk på 70-tallet av forrige århundre. Dette lar deg blokkere tilgang til innhold eller brukerkommunikasjon uten betydelig innsats eller kostnader bare basert på IP-adresse. Det er flere metoder her, fra å blokkere selve adressen med forbudt innhold til å blokkere muligheten for brukere til å gjenkjenne den ved hjelp av DNS-manipulasjon.

Utviklingen av Internett har imidlertid også ført til fremveksten av nye måter å formidle informasjon på. En av dem er bruken av bufret innhold for å forbedre ytelsen og øke hastigheten på kommunikasjonen. I dag behandler CDN-leverandører en betydelig mengde av all trafikk i verden – Akamai, lederen i dette segmentet, står alene for opptil 30 % av den globale statiske nettrafikken.

Et CDN-nettverk er et distribuert system for å levere Internett-innhold med maksimal hastighet. Et typisk CDN-nettverk består av servere på forskjellige geografiske steder som cacher innhold for å vise det til brukere som er nærmest den serveren. Dette lar deg øke hastigheten på nettkommunikasjon betydelig.

I tillegg til å forbedre opplevelsen for sluttbrukere, hjelper CDN-hosting innholdsskapere med å skalere prosjektene sine ved å redusere belastningen på infrastrukturen deres.

Sensurerer CDN-innhold

Til tross for at CDN-trafikk allerede utgjør en betydelig del av all informasjon som overføres over Internett, er det fortsatt nesten ingen forskning på hvordan sensorer i den virkelige verden nærmer seg kontrollen.

Studiens forfattere begynte med å utforske sensureringsteknikker som kan brukes på CDN-er. Deretter studerte de de faktiske mekanismene som ble brukt av kinesiske myndigheter.

La oss først snakke om mulige sensurmetoder og muligheten for å bruke dem til å kontrollere CDN.

IP-filtrering

Dette er den enkleste og rimeligste teknikken for å sensurere Internett. Ved å bruke denne tilnærmingen identifiserer og svartelister sensuren IP-adressene til ressurser som er vert for forbudt innhold. Da slutter de kontrollerte Internett-leverandørene å levere pakker sendt til slike adresser.

IP-basert blokkering er en av de vanligste metodene for å sensurere Internett. De fleste kommersielle nettverksenheter er utstyrt med funksjoner for å implementere slik blokkering uten betydelig beregningsinnsats.

Denne metoden er imidlertid lite egnet for å blokkere CDN-trafikk på grunn av noen egenskaper ved selve teknologien:

  • Distribuert caching – for å sikre best mulig tilgjengelighet av innhold og optimalisere ytelsen, cacher CDN-nettverk brukerinnhold på et stort antall edge-servere lokalisert på geografisk distribuerte steder. For å filtrere slikt innhold basert på IP, må sensoren finne ut adressene til alle edge-servere og svarteliste dem. Dette vil undergrave hovedegenskapene til metoden, fordi dens største fordel er at blokkering av en server i det vanlige opplegget lar deg "avbryte" tilgangen til forbudt innhold for et stort antall mennesker samtidig.
  • Delte IP-er – kommersielle CDN-leverandører deler sin infrastruktur (dvs. edge-servere, kartleggingssystem, etc.) mellom mange klienter. Som et resultat blir forbudt CDN-innhold lastet fra de samme IP-adressene som ikke-forbudt innhold. Som et resultat vil ethvert forsøk på IP-filtrering resultere i at et stort antall nettsteder og innhold som ikke er av interesse for sensurer blir blokkert.
  • Svært dynamisk IP-tilordning – for å optimere lastbalansering og forbedre kvaliteten på tjenesten, utføres kartlegging av kantservere og sluttbrukere svært raskt og dynamisk. For eksempel oppdaterer Akamai returnerte IP-adresser hvert minutt. Dette vil gjøre det nesten umulig for adresser å være forbundet med forbudt innhold.

DNS-interferens

Foruten IP-filtrering, er en annen populær sensureringsmetode DNS-interferens. Denne tilnærmingen innebærer handlinger fra sensurer for å hindre brukere i å gjenkjenne IP-adressene til ressurser med forbudt innhold. Det vil si at inngrepet skjer på nivået for domenenavnoppløsning. Det er flere måter å gjøre dette på, inkludert kapring av DNS-tilkoblinger, bruk av DNS-forgiftningsteknikker og blokkering av DNS-forespørsler til forbudte nettsteder.

Dette er en svært effektiv blokkeringsmetode, men den kan omgås hvis du bruker ikke-standard DNS-oppløsningsmetoder, for eksempel kanaler utenfor båndet. Derfor kombinerer sensorer vanligvis DNS-blokkering med IP-filtrering. Men, som nevnt ovenfor, er ikke IP-filtrering effektiv til å sensurere CDN-innhold.

Filtrer etter URL/søkeord ved hjelp av DPI

Moderne nettverksaktivitetsovervåkingsutstyr kan brukes til å analysere spesifikke URL-er og nøkkelord i overførte datapakker. Denne teknologien kalles DPI (deep packet inspection). Slike systemer finner omtaler av forbudte ord og ressurser, hvoretter de forstyrrer nettkommunikasjon. Som et resultat blir pakkene ganske enkelt droppet.

Denne metoden er effektiv, men mer kompleks og ressurskrevende fordi den krever defragmentering av alle datapakker som sendes innenfor visse strømmer.

CDN-innhold kan beskyttes mot slik filtrering på samme måte som "vanlig" innhold – i begge tilfeller hjelper bruk av kryptering (dvs. HTTPS).

I tillegg til å bruke DPI for å finne søkeord eller URL-er til forbudte ressurser, kan disse verktøyene brukes til mer avansert analyse. Disse metodene inkluderer statistisk analyse av online/offline trafikk og analyse av identifikasjonsprotokoller. Disse metodene er ekstremt ressurskrevende, og for øyeblikket er det rett og slett ingen bevis for at de har blitt brukt av sensorer i tilstrekkelig alvorlig grad.

Selvsensur av CDN-leverandører

Hvis sensuren er staten, har den alle muligheter til å forby de CDN-leverandørene å operere i landet som ikke overholder lokale lover som regulerer tilgang til innhold. Selvsensur kan ikke motstås på noen måte - derfor, hvis et CDN-leverandørselskap er interessert i å operere i et bestemt land, vil det bli tvunget til å overholde lokale lover, selv om de begrenser ytringsfriheten.

Hvordan Kina sensurerer CDN-innhold

Den store brannmuren i Kina regnes med rette som det mest effektive og avanserte systemet for å sikre Internett-sensur.

Forskningsmetodikk

Forskere utførte eksperimenter ved å bruke en Linux-node plassert inne i Kina. De hadde også tilgang til flere datamaskiner utenfor landet. Først sjekket forskerne at noden var gjenstand for sensur tilsvarende den som ble brukt på andre kinesiske brukere - for å gjøre dette prøvde de å åpne forskjellige forbudte nettsteder fra denne maskinen. Så tilstedeværelsen av samme nivå av sensur ble bekreftet.

Listen over nettsteder som er blokkert i Kina som bruker CDN er hentet fra GreatFire.org. Metoden for blokkering i hvert enkelt tilfelle ble deretter analysert.

I følge offentlige data er Akamai den eneste store aktøren i CDN-markedet med egen infrastruktur i Kina. Andre leverandører som deltar i studien: CloudFlare, Amazon CloudFront, EdgeCast, Fastly og SoftLayer.

Under eksperimentene fant forskerne ut adressene til Akamai edge-servere i landet, og prøvde deretter å få bufret tillatt innhold gjennom dem. Det var ikke mulig å få tilgang til forbudt innhold (HTTP 403 Forbidden error ble returnert) - tilsynelatende selvsensurerer selskapet for å opprettholde muligheten til å operere i landet. Samtidig forble tilgangen til disse ressursene åpen utenfor landet.

Internett-leverandører uten infrastruktur i Kina selvsensurerer ikke lokale brukere.

Når det gjelder andre leverandører, var den mest brukte blokkeringsmetoden DNS-filtrering - forespørsler til blokkerte nettsteder blir løst til feil IP-adresser. Samtidig blokkerer ikke brannmuren selve CDN edge-serverne, siden de lagrer både forbudt og tillatt informasjon.

Og hvis myndighetene i tilfelle ukryptert trafikk har muligheten til å blokkere individuelle sider på nettsteder ved hjelp av DPI, kan de når de bruker HTTPS bare nekte tilgang til hele domenet som helhet. Dette fører også til blokkering av tillatt innhold.

I tillegg har Kina sine egne CDN-leverandører, inkludert nettverk som ChinaCache, ChinaNetCenter og CDNetworks. Alle disse selskapene overholder landets lover og blokkerer forbudt innhold.

CacheBrowser: CDN-bypass-verktøy

Som analysen viste, er det ganske vanskelig for sensurer å blokkere CDN-innhold. Derfor bestemte forskerne seg for å gå videre og utvikle et online block bypass-verktøy som ikke bruker proxy-teknologi.

Den grunnleggende ideen med verktøyet er at sensorer må forstyrre DNS for å blokkere CDN-er, men du trenger faktisk ikke bruke domenenavnoppløsning for å laste inn CDN-innhold. Dermed kan brukeren få innholdet han trenger ved å kontakte edge-serveren direkte, hvor det allerede er cachet.

Diagrammet nedenfor viser systemdesignet.

CacheBrowser-eksperiment: omgå den kinesiske brannmuren uten en proxy ved bruk av innholdsbufring

Klientprogramvare er installert på brukerens datamaskin, og en vanlig nettleser brukes for å få tilgang til innholdet.

Når en URL eller et stykke innhold allerede er forespurt, sender nettleseren en forespørsel til det lokale DNS-systemet (LocalDNS) for å få tak i verts-IP-adressen. Vanlig DNS spørres bare for domener som ikke allerede er i LocalDNS-databasen. Scraper-modulen går kontinuerlig gjennom de forespurte URL-ene og søker i listen etter potensielt blokkerte domenenavn. Scraper kaller deretter Resolver-modulen for å løse de nylig oppdagede blokkerte domenene, denne modulen utfører oppgaven og legger til en oppføring til LocalDNS. Nettleserens DNS-buffer tømmes deretter for å fjerne eksisterende DNS-poster for det blokkerte domenet.

Hvis Resolver-modulen ikke kan finne ut hvilken CDN-leverandør domenet tilhører, vil den be Bootstrapper-modulen om hjelp.

Hvordan fungerer det i praksis

Klientprogramvaren til produktet ble implementert for Linux, men den kan enkelt porteres også for Windows. Vanlig Mozilla brukes som nettleser
Firefox. Scraper- og Resolver-modulene er skrevet i Python, og Customer-to-CDN- og CDN-toIP-databasene er lagret i .txt-filer. LocalDNS-databasen er den vanlige /etc/hosts-filen i Linux.

Som et resultat, for en blokkert URL som blocked.com Skriptet vil hente edge-serverens IP-adresse fra /etc/hosts-filen og sende en HTTP GET-forespørsel for å få tilgang til BlockedURL.html med Host HTTP-header-feltene:

blocked.com/ and User-Agent: Mozilla/5.0 (Windows
NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1

Bootstrapper-modulen implementeres ved hjelp av gratisverktøyet digwebinterface.com. Denne DNS-løseren kan ikke blokkeres og svarer på DNS-spørsmål på vegne av flere geografisk distribuerte DNS-servere i forskjellige nettverksregioner.

Ved hjelp av dette verktøyet klarte forskerne å få tilgang til Facebook fra sin kinesiske node, selv om det sosiale nettverket lenge har vært blokkert i Kina.

CacheBrowser-eksperiment: omgå den kinesiske brannmuren uten en proxy ved bruk av innholdsbufring

Konklusjon

Eksperimentet viste at utnyttelse av problemene som sensorer opplever når de prøver å blokkere CDN-innhold, kan brukes til å lage et system for å omgå blokkeringer. Dette verktøyet lar deg omgå blokkeringer selv i Kina, som har et av de kraftigste online sensursystemene.

Andre artikler om temaet bruk beboerfullmakter for forretninger:

Kilde: www.habr.com

Legg til en kommentar