Eksperyment CacheBrowser: ominięcie chińskiej zapory sieciowej bez serwera proxy przy użyciu buforowania zawartości

Eksperyment CacheBrowser: ominięcie chińskiej zapory sieciowej bez serwera proxy przy użyciu buforowania zawartości

Obrazek: Unsplash

Obecnie znaczna część wszystkich treści w Internecie jest dystrybuowana za pośrednictwem sieci CDN. Jednocześnie należy zbadać, w jaki sposób różni cenzorzy rozszerzają swój wpływ na takie sieci. Naukowcy z Uniwersytetu Massachusetts analizowane możliwych metod blokowania treści CDN na przykładzie praktyk władz chińskich, a także opracował narzędzie umożliwiające ominięcie takiego blokowania.

Przygotowaliśmy materiał poglądowy zawierający główne wnioski i wyniki tego eksperymentu.

Wprowadzenie

Cenzura to globalne zagrożenie dla wolności słowa w Internecie i swobodnego dostępu do informacji. Jest to w dużej mierze możliwe dzięki temu, że Internet zapożyczył model „komunikacji end-to-end” z sieci telefonicznych z lat 70. ubiegłego wieku. Umożliwia to blokowanie dostępu do treści lub komunikacji użytkownika bez większego wysiłku i kosztów, po prostu na podstawie adresu IP. Metod jest tutaj kilka, od zablokowania samego adresu z zabronioną treścią po zablokowanie możliwości nawet rozpoznania go przez użytkowników za pomocą manipulacji DNS.

Jednak rozwój Internetu doprowadził także do pojawienia się nowych sposobów rozpowszechniania informacji. Jednym z nich jest wykorzystanie zawartości buforowanej w celu poprawy wydajności i przyspieszenia komunikacji. Dziś dostawcy CDN przetwarzają znaczną część całego ruchu na świecie – sam Akamai, lider w tym segmencie, odpowiada za aż 30% globalnego statycznego ruchu sieciowego.

Sieć CDN to rozproszony system dostarczania treści internetowych z maksymalną prędkością. Typowa sieć CDN składa się z serwerów w różnych lokalizacjach geograficznych, które przechowują zawartość w pamięci podręcznej i udostępniają ją użytkownikom znajdującym się najbliżej tego serwera. Pozwala to znacznie zwiększyć prędkość komunikacji online.

Oprócz poprawy komfortu użytkowników końcowych, hosting CDN pomaga twórcom treści skalować projekty poprzez zmniejszenie obciążenia ich infrastruktury.

Cenzura treści CDN

Pomimo tego, że ruch CDN stanowi już znaczną część wszystkich informacji przesyłanych przez Internet, wciąż prawie nie ma badań nad tym, jak cenzorzy w prawdziwym świecie podchodzą do jego kontroli.

Autorzy badania rozpoczęli od zbadania technik cenzurowania, które można zastosować w sieciach CDN. Następnie zbadali faktyczne mechanizmy stosowane przez chińskie władze.

Na początek porozmawiajmy o możliwych metodach cenzury i możliwości wykorzystania ich do kontroli CDN.

Filtrowanie IP

To najprostsza i najtańsza technika cenzurowania Internetu. Stosując to podejście, cenzor identyfikuje i umieszcza na czarnej liście adresy IP zasobów zawierających zabronione treści. Kontrolowani dostawcy Internetu przestają wówczas dostarczać pakiety wysyłane na takie adresy.

Blokowanie na podstawie adresów IP jest jedną z najpopularniejszych metod cenzurowania Internetu. Większość komercyjnych urządzeń sieciowych jest wyposażona w funkcje umożliwiające realizację takiego blokowania bez znacznego wysiłku obliczeniowego.

Jednak ta metoda nie jest zbyt odpowiednia do blokowania ruchu CDN ze względu na pewne właściwości samej technologii:

  • Rozproszone buforowanie – aby zapewnić najlepszą dostępność treści i zoptymalizować wydajność, sieci CDN buforują zawartość użytkowników na dużej liczbie serwerów brzegowych zlokalizowanych w rozproszonych geograficznie lokalizacjach. Aby filtrować takie treści na podstawie adresu IP, cenzor musiałby znaleźć adresy wszystkich serwerów brzegowych i umieścić je na czarnej liście. Podważa to główne właściwości metody, ponieważ jej główną zaletą jest to, że w zwykłym schemacie zablokowanie jednego serwera pozwala „odciąć” dostęp do zabronionych treści dużej liczbie osób jednocześnie.
  • Wspólne adresy IP – komercyjni dostawcy CDN dzielą swoją infrastrukturę (tj. serwery brzegowe, system mapowania itp.) pomiędzy wielu klientów. W rezultacie zablokowana zawartość CDN jest ładowana z tych samych adresów IP, co niezablokowana treść. W rezultacie każda próba filtrowania adresów IP spowoduje zablokowanie ogromnej liczby witryn i treści, które nie są interesujące dla cenzorów.
  • Bardzo dynamiczne przydzielanie adresów IP – aby zoptymalizować równoważenie obciążenia i poprawić jakość usług, mapowanie serwerów brzegowych i użytkowników końcowych odbywa się bardzo szybko i dynamicznie. Na przykład Akamai aktualizuje zwracane adresy IP co minutę. Dzięki temu prawie niemożliwe będzie skojarzenie adresów z zabronionymi treściami.

Zakłócenia DNS

Oprócz filtrowania adresów IP inną popularną metodą cenzurowania jest ingerencja w DNS. Podejście to polega na działaniach cenzorów mających na celu uniemożliwienie użytkownikom rozpoznania adresów IP zasobów zawierających zabronione treści. Oznacza to, że interwencja następuje na poziomie rozpoznawania nazwy domeny. Można to zrobić na kilka sposobów, włączając w to przejmowanie połączeń DNS, stosowanie technik zatruwania DNS i blokowanie żądań DNS kierowanych do zabronionych witryn.

Jest to bardzo skuteczna metoda blokowania, ale można ją ominąć, jeśli użyjesz niestandardowych metod rozpoznawania DNS, na przykład kanałów poza pasmem. Dlatego cenzorzy zwykle łączą blokowanie DNS z filtrowaniem IP. Jednak, jak wspomniano powyżej, filtrowanie adresów IP nie jest skuteczne w cenzurze treści CDN.

Filtruj według adresu URL/słów kluczowych za pomocą DPI

Nowoczesne urządzenia monitorujące aktywność sieciową pozwalają na analizę konkretnych adresów URL i słów kluczowych w przesyłanych pakietach danych. Technologia ta nazywa się DPI (głęboka kontrola pakietów). Systemy takie wyszukują wzmianki o zabronionych słowach i zasobach, po czym zakłócają komunikację online. W rezultacie pakiety są po prostu odrzucane.

Ta metoda jest skuteczna, ale bardziej złożona i wymaga dużych zasobów, ponieważ wymaga defragmentacji wszystkich pakietów danych przesyłanych w określonych strumieniach.

Treść CDN można chronić przed takim filtrowaniem w taki sam sposób, jak „zwykłą” treść – w obu przypadkach pomaga zastosowanie szyfrowania (tj. HTTPS).

Oprócz wykorzystania DPI do wyszukiwania słów kluczowych lub adresów URL zablokowanych zasobów, narzędzi tych można używać do bardziej zaawansowanych analiz. Metody te obejmują analizę statystyczną ruchu online/offline oraz analizę protokołów identyfikacyjnych. Metody te pochłaniają niezwykle duże zasoby i w tej chwili po prostu nie ma dowodów na to, że cenzorzy stosowali je w wystarczająco poważnym zakresie.

Autocenzura dostawców CDN

Jeśli cenzorem jest państwo, ma ono wszelkie możliwości zakazania dostawcom CDN działania w kraju, którzy nie przestrzegają lokalnych przepisów regulujących dostęp do treści. Autocenzurze nie da się w żaden sposób oprzeć - dlatego też, jeśli firma będąca dostawcą CDN będzie zainteresowana działalnością w danym kraju, będzie zmuszona przestrzegać lokalnych przepisów, nawet jeśli ograniczają one wolność słowa.

Jak Chiny cenzurują treści CDN

Wielka zapora ogniowa Chin jest słusznie uważana za najbardziej skuteczny i zaawansowany system zapewniający cenzurę Internetu.

Metodologia Badań

Naukowcy przeprowadzili eksperymenty z wykorzystaniem węzła Linux zlokalizowanego w Chinach. Mieli także dostęp do kilku komputerów poza granicami kraju. Najpierw badacze sprawdzili, czy węzeł podlegał cenzurze podobnej do tej stosowanej wobec innych chińskich użytkowników – w tym celu próbowali otwierać z tej maszyny różne zabronione strony. Potwierdzono zatem obecność cenzury na tym samym poziomie.

Lista stron internetowych zablokowanych w Chinach, które korzystają z CDN, została pobrana z GreatFire.org. Następnie przeanalizowano sposób blokowania w każdym przypadku.

Według publicznych danych jedynym liczącym się graczem na rynku CDN posiadającym własną infrastrukturę w Chinach jest Akamai. Inni dostawcy biorący udział w badaniu: CloudFlare, Amazon CloudFront, EdgeCast, Fastly i SoftLayer.

Podczas eksperymentów badacze poznali adresy serwerów brzegowych Akamai w kraju, a następnie próbowali uzyskać za ich pośrednictwem buforowane dozwolone treści. Nie można było uzyskać dostępu do zabronionych treści (zwrócony został błąd HTTP 403 Forbidden) - najwyraźniej firma dokonuje autocenzury, aby zachować możliwość działania na terenie kraju. Jednocześnie dostęp do tych zasobów pozostał otwarty poza granicami kraju.

Dostawcy usług internetowych nieposiadający infrastruktury w Chinach nie autocenzurują lokalnych użytkowników.

W przypadku innych dostawców najczęściej stosowaną metodą blokowania było filtrowanie DNS - żądania kierowane do zablokowanych stron są tłumaczone na nieprawidłowe adresy IP. Jednocześnie zapora sieciowa nie blokuje samych serwerów brzegowych CDN, ponieważ przechowują one zarówno informacje zabronione, jak i dozwolone.

A jeśli w przypadku ruchu niezaszyfrowanego władze mają możliwość blokowania poszczególnych stron witryn przy użyciu DPI, to przy użyciu protokołu HTTPS mogą jedynie odmówić dostępu do całej domeny. Prowadzi to również do blokowania dozwolonych treści.

Ponadto Chiny mają własnych dostawców CDN, w tym sieci takie jak ChinaCache, ChinaNetCenter i CDNetworks. Wszystkie te firmy w pełni przestrzegają prawa obowiązującego w danym kraju i blokują zabronione treści.

CacheBrowser: narzędzie do obejścia CDN

Jak wykazała analiza, cenzorom dość trudno jest blokować treści CDN. Dlatego badacze postanowili pójść dalej i opracować narzędzie online do omijania blokad, które nie wykorzystuje technologii proxy.

Podstawową ideą tego narzędzia jest to, że cenzorzy muszą ingerować w DNS, aby blokować sieci CDN, ale w rzeczywistości nie trzeba używać rozpoznawania nazw domen, aby pobierać zawartość CDN. Dzięki temu użytkownik może uzyskać potrzebną mu treść bezpośrednio kontaktując się z serwerem brzegowym, na którym jest ona już buforowana.

Poniższy schemat przedstawia projekt systemu.

Eksperyment CacheBrowser: ominięcie chińskiej zapory sieciowej bez serwera proxy przy użyciu buforowania zawartości

Na komputerze użytkownika instalowane jest oprogramowanie klienckie, a do dostępu do treści wykorzystywana jest zwykła przeglądarka.

Gdy żądano już adresu URL lub treści, przeglądarka wysyła żądanie do lokalnego systemu DNS (LocalDNS) w celu uzyskania adresu IP hostingu. Zwykły DNS jest odpytywany tylko o domeny, które nie znajdują się jeszcze w bazie danych LocalDNS. Moduł Scraper w sposób ciągły przegląda żądane adresy URL i przeszukuje listę pod kątem potencjalnie zablokowanych nazw domen. Następnie Scraper wywołuje moduł Resolver, aby rozwiązać nowo odkryte zablokowane domeny. Moduł ten wykonuje zadanie i dodaje wpis do LocalDNS. Następnie pamięć podręczna DNS przeglądarki jest czyszczona w celu usunięcia istniejących rekordów DNS dla zablokowanej domeny.

Jeśli moduł Resolver nie będzie w stanie ustalić, do którego dostawcy CDN należy dana domena, poprosi o pomoc moduł Bootstrapper.

Jak to działa w praktyce

Oprogramowanie klienckie produktu zostało zaimplementowane dla systemu Linux, ale można je łatwo przenieść również na system Windows. Jako przeglądarka używana jest zwykła Mozilla
Firefoksa. Moduły Scraper i Resolver są napisane w języku Python, a bazy danych Customer-to-CDN i CDN-toIP są przechowywane w plikach .txt. Baza danych LocalDNS to zwykły plik /etc/hosts w systemie Linux.

W rezultacie w przypadku zablokowanego adresu URL, np zablokowana.com Skrypt pobierze adres IP serwera brzegowego z pliku /etc/hosts i wyśle ​​żądanie HTTP GET w celu uzyskania dostępu do BlockedURL.html z polami nagłówka HTTP hosta:

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

Moduł Bootstrapper implementowany jest przy pomocy bezpłatnego narzędzia digwebinterface.com. Tego mechanizmu rozpoznawania nazw DNS nie można blokować i odpowiada on na zapytania DNS w imieniu wielu geograficznie rozproszonych serwerów DNS w różnych regionach sieci.

Za pomocą tego narzędzia badaczom udało się uzyskać dostęp do Facebooka ze swojego chińskiego węzła, chociaż sieć społecznościowa jest w Chinach od dawna blokowana.

Eksperyment CacheBrowser: ominięcie chińskiej zapory sieciowej bez serwera proxy przy użyciu buforowania zawartości

wniosek

Eksperyment pokazał, że wykorzystując problemy, jakie napotykają cenzorzy przy próbie blokowania treści CDN, można wykorzystać do stworzenia systemu omijania blokad. To narzędzie pozwala ominąć blokady nawet w Chinach, które mają jeden z najpotężniejszych systemów cenzury w Internecie.

Inne artykuły na temat użytkowania pełnomocnicy rezydentów dla biznesu:

Źródło: www.habr.com

Dodaj komentarz