Esperimento CacheBrowser: bypassare il firewall cinese senza proxy utilizzando la memorizzazione nella cache dei contenuti

Esperimento CacheBrowser: bypassare il firewall cinese senza proxy utilizzando la memorizzazione nella cache dei contenuti

Immagine: Unsplash

Oggi, una parte significativa di tutti i contenuti su Internet viene distribuita tramite reti CDN. Allo stesso tempo, si sta indagando su come i vari censori estendono la loro influenza su tali reti. Scienziati dell'Università del Massachusetts analizzato possibili metodi per bloccare i contenuti CDN prendendo l'esempio delle pratiche delle autorità cinesi e ha anche sviluppato uno strumento per aggirare tale blocco.

Abbiamo preparato un materiale di revisione con le principali conclusioni e risultati di questo esperimento.

Introduzione

La censura è una minaccia globale alla libertà di parola su Internet e al libero accesso alle informazioni. Ciò è in gran parte possibile grazie al fatto che Internet ha preso in prestito il modello di “comunicazione end-to-end” dalle reti telefoniche degli anni '70 del secolo scorso. Ciò consente di bloccare l'accesso ai contenuti o alle comunicazioni degli utenti senza sforzi o costi significativi semplicemente basandosi sull'indirizzo IP. Esistono diversi metodi, dal bloccare l'indirizzo stesso con contenuti vietati al bloccare la capacità degli utenti di riconoscerlo utilizzando la manipolazione DNS.

Tuttavia, lo sviluppo di Internet ha portato anche alla nascita di nuove modalità di diffusione delle informazioni. Uno di questi è l'uso del contenuto memorizzato nella cache per migliorare le prestazioni e velocizzare le comunicazioni. Oggi i fornitori CDN elaborano una quantità significativa di tutto il traffico nel mondo: Akamai, leader in questo segmento, da sola rappresenta fino al 30% del traffico web statico globale.

Una rete CDN è un sistema distribuito per fornire contenuti Internet alla massima velocità. Una tipica rete CDN è costituita da server in diverse posizioni geografiche che memorizzano nella cache il contenuto per fornirlo agli utenti più vicini a quel server. Ciò consente di aumentare significativamente la velocità della comunicazione online.

Oltre a migliorare l'esperienza per gli utenti finali, l'hosting CDN aiuta i creatori di contenuti a ridimensionare i propri progetti riducendo il carico sulla propria infrastruttura.

Censurare i contenuti CDN

Nonostante il traffico CDN costituisca già una parte significativa di tutte le informazioni trasmesse su Internet, non esiste ancora quasi nessuna ricerca su come i censori nel mondo reale affrontano il suo controllo.

Gli autori dello studio hanno iniziato esplorando le tecniche di censura che possono essere applicate ai CDN. Poi hanno studiato gli effettivi meccanismi utilizzati dalle autorità cinesi.

Parliamo innanzitutto dei possibili metodi di censura e della possibilità di utilizzarli per controllare la CDN.

Filtraggio IP

Questa è la tecnica più semplice ed economica per censurare Internet. Utilizzando questo approccio, il censore identifica e inserisce nella lista nera gli indirizzi IP delle risorse che ospitano contenuti vietati. Successivamente i provider Internet controllati interrompono la consegna dei pacchetti inviati a tali indirizzi.

Il blocco basato su IP è uno dei metodi più comuni per censurare Internet. La maggior parte dei dispositivi di rete commerciali sono dotati di funzioni per implementare tale blocco senza notevoli sforzi computazionali.

Tuttavia questo metodo non è molto adatto per bloccare il traffico CDN a causa di alcune proprietà della tecnologia stessa:

  • Cache distribuita – per garantire la migliore disponibilità dei contenuti e ottimizzare le prestazioni, le reti CDN memorizzano nella cache i contenuti degli utenti su un gran numero di server edge situati in località geograficamente distribuite. Per filtrare tali contenuti in base all’IP, il censore dovrebbe scoprire gli indirizzi di tutti i server periferici e inserirli nella lista nera. Ciò minerà le proprietà principali del metodo, perché il suo vantaggio principale è che nel solito schema, il blocco di un server consente di "interrompere" l'accesso ai contenuti vietati per un gran numero di persone contemporaneamente.
  • IP condivisi – I fornitori CDN commerciali condividono la loro infrastruttura (ad esempio edge server, sistema di mappatura, ecc.) tra molti clienti. Di conseguenza, i contenuti CDN vietati vengono caricati dagli stessi indirizzi IP dei contenuti non vietati. Di conseguenza, qualsiasi tentativo di filtraggio IP comporterà il blocco di un numero enorme di siti e contenuti che non interessano alla censura.
  • Assegnazione IP altamente dinamica – per ottimizzare il bilanciamento del carico e migliorare la qualità del servizio, la mappatura dei server edge e degli utenti finali viene eseguita in modo molto rapido e dinamico. Ad esempio, gli aggiornamenti Akamai restituivano indirizzi IP ogni minuto. Ciò renderà quasi impossibile che gli indirizzi vengano associati a contenuti vietati.

Interferenza DNS

Oltre al filtraggio IP, un altro metodo di censura popolare è l’interferenza DNS. Questo approccio prevede azioni da parte dei censori volte a impedire agli utenti di riconoscere gli indirizzi IP di risorse con contenuti vietati. Cioè, l'intervento avviene a livello di risoluzione del nome di dominio. Esistono diversi modi per farlo, incluso il dirottamento delle connessioni DNS, l'utilizzo di tecniche di avvelenamento del DNS e il blocco delle richieste DNS verso siti vietati.

Questo è un metodo di blocco molto efficace, ma può essere aggirato se si utilizzano metodi di risoluzione DNS non standard, ad esempio canali fuori banda. Pertanto, i censori solitamente combinano il blocco DNS con il filtraggio IP. Ma, come affermato sopra, il filtraggio IP non è efficace nel censurare i contenuti CDN.

Filtra per URL/parole chiave utilizzando DPI

Le moderne apparecchiature di monitoraggio dell'attività di rete possono essere utilizzate per analizzare URL e parole chiave specifici nei pacchetti di dati trasmessi. Questa tecnologia si chiama DPI (Deep Packet Inspection). Tali sistemi trovano menzioni di parole e risorse proibite, dopo di che interferiscono con la comunicazione online. Di conseguenza, i pacchetti vengono semplicemente eliminati.

Questo metodo è efficace, ma più complesso e dispendioso in termini di risorse perché richiede la deframmentazione di tutti i pacchetti di dati inviati all'interno di determinati flussi.

I contenuti della CDN possono essere protetti da tali filtri allo stesso modo dei contenuti “normali” – in entrambi i casi l’uso della crittografia (ad esempio HTTPS) aiuta.

Oltre a utilizzare DPI per trovare parole chiave o URL di risorse vietate, questi strumenti possono essere utilizzati per analisi più avanzate. Questi metodi includono l'analisi statistica del traffico online/offline e l'analisi dei protocolli di identificazione. Questi metodi sono estremamente dispendiosi in termini di risorse e al momento non esiste semplicemente alcuna prova del loro utilizzo da parte della censura in misura sufficientemente seria.

Autocensura dei fornitori di CDN

Se il censore è lo Stato, allora ha tutte le possibilità di vietare di operare nel Paese ai fornitori di CDN che non rispettano le leggi locali che regolano l’accesso ai contenuti. Non è possibile resistere in alcun modo all'autocensura, pertanto se un'azienda fornitrice di CDN è interessata ad operare in un determinato Paese sarà costretta a rispettare le leggi locali, anche se queste limitano la libertà di parola.

Come la Cina censura i contenuti CDN

Il Great Firewall cinese è giustamente considerato il sistema più efficace e avanzato per garantire la censura di Internet.

Metodologia di ricerca

Gli scienziati hanno effettuato esperimenti utilizzando un nodo Linux situato in Cina. Avevano anche accesso a diversi computer all'estero. Innanzitutto, i ricercatori hanno verificato che il nodo fosse soggetto a una censura simile a quella applicata ad altri utenti cinesi: per fare ciò hanno provato ad aprire vari siti vietati da questa macchina. Quindi è stata confermata la presenza dello stesso livello di censura.

L'elenco dei siti web bloccati in Cina che utilizzano CDN è stato preso da GreatFire.org. È stato quindi analizzato il metodo di blocco in ciascun caso.

Secondo i dati pubblici, l’unico grande attore del mercato CDN con una propria infrastruttura in Cina è Akamai. Altri fornitori partecipanti allo studio: CloudFlare, Amazon CloudFront, EdgeCast, Fastly e SoftLayer.

Durante gli esperimenti, i ricercatori hanno scoperto gli indirizzi dei server edge Akamai all'interno del paese e hanno quindi cercato di ottenere tramite essi i contenuti consentiti memorizzati nella cache. Non è stato possibile accedere ai contenuti vietati (è stato restituito l'errore HTTP 403 Forbidden) - a quanto pare la società si sta autocensurando per mantenere la capacità di operare nel paese. Allo stesso tempo, l’accesso a queste risorse è rimasto aperto al di fuori del Paese.

Gli ISP senza infrastrutture in Cina non autocensurano gli utenti locali.

Nel caso di altri provider, il metodo di blocco più comunemente utilizzato era il filtro DNS: le richieste ai siti bloccati vengono risolte con indirizzi IP errati. Allo stesso tempo, il firewall non blocca gli edge server della CDN, poiché memorizzano sia informazioni vietate che informazioni consentite.

E se nel caso del traffico non crittografato le autorità hanno la capacità di bloccare singole pagine di siti utilizzando DPI, quando si utilizza HTTPS possono solo negare l'accesso all'intero dominio nel suo insieme. Ciò porta anche al blocco dei contenuti consentiti.

Inoltre, la Cina ha i propri fornitori CDN, comprese reti come ChinaCache, ChinaNetCenter e CDNetworks. Tutte queste società rispettano pienamente le leggi del paese e bloccano i contenuti vietati.

CacheBrowser: strumento di bypass CDN

Come ha dimostrato l’analisi, è piuttosto difficile per i censori bloccare i contenuti della CDN. Pertanto, i ricercatori hanno deciso di andare oltre e sviluppare uno strumento online per bypassare i blocchi che non utilizza la tecnologia proxy.

L'idea di base dello strumento è che i censori debbano interferire con il DNS per bloccare i CDN, ma in realtà non è necessario utilizzare la risoluzione dei nomi di dominio per caricare i contenuti CDN. Pertanto, l'utente può ottenere il contenuto di cui ha bisogno contattando direttamente l'edge server, dove è già memorizzato nella cache.

Lo schema seguente mostra la progettazione del sistema.

Esperimento CacheBrowser: bypassare il firewall cinese senza proxy utilizzando la memorizzazione nella cache dei contenuti

Il software client viene installato sul computer dell'utente e per accedere al contenuto viene utilizzato un normale browser.

Quando un URL o un contenuto è già stato richiesto, il browser effettua una richiesta al sistema DNS locale (LocalDNS) per ottenere l'indirizzo IP dell'hosting. Il DNS normale viene interrogato solo per i domini che non sono già presenti nel database LocalDNS. Il modulo Scraper esamina continuamente gli URL richiesti e cerca nell'elenco nomi di dominio potenzialmente bloccati. Scraper chiama quindi il modulo Resolver per risolvere i domini bloccati appena scoperti, questo modulo esegue l'attività e aggiunge una voce a LocalDNS. La cache DNS del browser viene quindi svuotata per rimuovere i record DNS esistenti per il dominio bloccato.

Se il modulo Resolver non riesce a capire a quale provider CDN appartiene il dominio, chiederà aiuto al modulo Bootstrapper.

Come funziona in pratica

Il software client del prodotto è stato implementato per Linux, ma può essere facilmente portato anche per Windows. Mozilla normale viene utilizzato come browser
Firefox. I moduli Scraper e Resolver sono scritti in Python e i database Customer-to-CDN e CDN-toIP sono archiviati in file .txt. Il database LocalDNS è il normale file /etc/hosts in Linux.

Di conseguenza, per un URL bloccato come bloccato.com Lo script otterrà l'indirizzo IP del server periferico dal file /etc/hosts e invierà una richiesta HTTP GET per accedere a BlockedURL.html con i campi di intestazione HTTP Host:

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

Il modulo Bootstrapper è implementato utilizzando lo strumento gratuito digwebinterface.com. Questo risolutore DNS non può essere bloccato e risponde alle query DNS per conto di più server DNS distribuiti geograficamente in diverse regioni della rete.

Utilizzando questo strumento, i ricercatori sono riusciti ad accedere a Facebook dal loro nodo cinese, sebbene il social network sia bloccato da tempo in Cina.

Esperimento CacheBrowser: bypassare il firewall cinese senza proxy utilizzando la memorizzazione nella cache dei contenuti

conclusione

L'esperimento ha dimostrato che, sfruttando i problemi riscontrati dai censori quando tentano di bloccare i contenuti CDN, è possibile creare un sistema per aggirare i blocchi. Questo strumento ti consente di aggirare i blocchi anche in Cina, che dispone di uno dei sistemi di censura online più potenti.

Altri articoli sul tema dell'uso delegati residenti per affari:

Fonte: habr.com

Aggiungi un commento