Obraz:
Dziś znaczna część całego internetowego kontentu jest dystrybuowana za pomocą sieci CDN. Obecnie prowadzone są badania nad tym, jak różni cenzorzy wpływają na takie sieci. Naukowcy z Uniwersytetu Massachusetts analizują potencjalne metody blokowania treści CDN na przykładzie praktyk władz Chin oraz opracowali narzędzie do omijania takich blokad.
Przygotowaliśmy materiał przeglądowy z głównymi wnioskami i wynikami tego eksperymentu.
Wprowadzenie
Cenzura to globalne zagrożenie dla wolności słowa w internecie oraz wolnego dostępu do informacji. W dużej mierze jest to możliwe dzięki temu, że internet przyjął model „end-to-end komunikacji” z telefonicznych sieci lat 70. XX wieku. Umożliwia to zablokowanie dostępu do treści lub komunikacji użytkowników bez większych wysiłków czy wydatków, jedynie na podstawie adresu IP. Istnieje wiele metod, od blokowania samego adresu z zabronioną treścią, aż po manipulacje DNS, które uniemożliwiają użytkownikom nawet dowiedzenie się o niej.
Jednak rozwój internetu przyniósł także nowe sposoby dystrybucji informacji. Jednym z nich jest wykorzystanie treści buforowanej w celu poprawy wydajności i przyspieszenia komunikacji. Dziś dostawcy CDN przetwarzają znaczną część całego ruchu internetowego – na lidera w tej dziedzinie, firmę Akamai, przypada aż do 30% globalnego statycznego ruchu w sieci.
Sieć CDN to rozproszony system dostarczania treści internetowych z maksymalną prędkością. Typowa sieć CDN składa się z serwerów rozmieszczonych w różnych punktach geograficznych, które buforują treści, aby „oddawać” je tym użytkownikom, którzy znajdują się najbliżej danego serwera. Umożliwia to znaczące zwiększenie prędkości komunikacji online.
Ponadto, oprócz poprawy jakości usług dla końcowych użytkowników, hosting CDN pomaga twórcom treści skalować swoje projekty, zmniejszając obciążenie infrastruktury.
Cenzurowanie treści CDN
Mimo że ruch CDN stanowi już znaczną część całej informacji przekazywanej przez internet, wciąż brakuje badań nad tym, jak cenzorzy w realnym świecie podchodzą do jego kontroli.
Autorzy badania rozpoczęli od analizy technik cenzurowania, które mogą być stosowane w CDN. Następnie zbadali rzeczywiste mechanizmy stosowane przez władze Chin.
Na początek porozmawiajmy o możliwych metodach cenzurowania i możliwościach ich zastosowania w kontroli CDN.
Filtrowanie po IP
Jest 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, które publikują zakazany kontent. Następnie kontrolowane dostawcy internetowi przestają dostarczać pakiety wysyłane do takich adresów.
Blokowanie na podstawie IP to jedna z najczęściej stosowanych metod cenzurowania internetu. Większość komercyjnych urządzeń sieciowych jest wyposażona w funkcje umożliwiające takie blokady bez znacznych kosztów obliczeniowych.
Jednak ta metoda nie jest zbyt skuteczna w blokowaniu ruchu CDN z powodu pewnych cech samej technologii:
- Rozproszone pamięci podręczne Aby zapewnić najlepszą dostępność treści i optymalizację wydajności, sieci CDN przechowują treści użytkowników w dużej liczbie serwerów brzegowych, zlokalizowanych w geograficznie rozproszonych lokalizacjach. Aby filtrować takie treści na podstawie IP, cenzor musi znać adresy wszystkich serwerów brzegowych i umieścić je na czarnej liście. Uderzy to w główne cechy metody, ponieważ jej zasadniczą zaletą jest to, że w standardowym schemacie zablokowanie jednego serwera pozwala na natychmiastowe „odcięcie” dostępu do zakazanego kontentu dla dużej ilości użytkowników.
- Współdzielone IP Dostawcy komercyjnego CDN dzielą swoją infrastrukturę (tj. serwery brzegowe, system mapowania itp.) między wielu klientów. W rezultacie zakazany kontent CDN jest ładowany z tych samych adresów IP, co i treści dozwolone. W rezultacie każda próba filtrowania IP doprowadzi do tego, że zablokowana zostanie ogromna ilość stron i treści, które nie interesują cenzorów.
- Szybkie przypisywanie IP – w celu optymalizacji równoważenia obciążenia i poprawy jakości usług, mapping serwerów edge i użytkowników końcowych odbywa się bardzo szybko i dynamicznie. Na przykład, Akamai aktualizuje zwracane adresy IP co minutę. To praktycznie uniemożliwia powiązanie adresów z zabronionymi treściami.
Interferencja DNS
Oprócz filtrowania IP, popularnym sposobem cenzurowania jest interferencja DNS. Podejście to polega na działaniach cenzorów mających na celu uniemożliwienie użytkownikom poznania adresów IP zasobów z zabronionymi treściami. Wtrącenie ma miejsce na poziomie rozwiązywania nazw domen. Istnieje kilka sposobów osiągnięcia tego, w tym przechwytywanie połączeń DNS, stosowanie techniki zarażania DNS oraz blokowanie zapytań DNS do zabronionych witryn.
To bardzo skuteczny sposób blokowania, jednak można go obejść, korzystając z niestandardowych metod rozwiązywania DNS, na przykład kanałów out-of-band. Dlatego cenzorzy zwykle łączą blokady DNS z filtrowaniem IP. Ale, jak wspomniano wcześniej, filtrowanie IP nie jest skuteczne w cenzurowaniu treści CDN.
Filtrowanie po URL/Słowach kluczowych przy użyciu DPI
Nowoczesny sprzęt do monitorowania aktywności sieciowej może być wykorzystany do analizy konkretnych adresów URL i słów kluczowych w przesyłanych pakietach danych. Technologia ta nazywa się DPI (deep packet inspection). Takie systemy znajdują wzmianki o zabronionych słowach i zasobach, po czym dochodzi do zakłócenia komunikacji online. W rezultacie pakiety są po prostu zrzucane.
Metoda ta jest skuteczna, ale bardziej skomplikowana i zasobożerna, ponieważ wymaga defragmentacji wszystkich pakietów danych przesyłanych w ramach określonych strumieni.
Treści CDN można chronić przed podobnym filtrowaniem tak, jak „zwykłe” treści – w obu przypadkach pomocne jest stosowanie szyfrowania (czyli HTTPS).
Oprócz używania DPI do wyszukiwania słów kluczowych lub URL zabronionych zasobów, te narzędzia mogą być wykorzystywane do bardziej zaawansowanej analizy. Do takich metod należy analiza statystyczna ruchu online/offline oraz analiza protokołów identyfikacji. Metody te są niezwykle zasobochłonne, a obecnie dowody ich wykorzystania przez cenzorów w wystarczająco poważnym zakresie po prostu nie istnieją.
Autocenzura dostawców CDN
Jeśli cenzorem jest państwo, to ma ono wszystkie możliwości, aby zakazać działalności w kraju tym dostawcom CDN, którzy nie stosują się do lokalnych przepisów regulujących dostęp do treści. Przeciwstawienie się autocenzurze jest niemożliwe – dlatego jeśli firma dostawca CDN jest zainteresowana działalnością w jakimś kraju, to będzie zmuszona przestrzegać lokalnych przepisów, nawet jeśli ograniczają one wolność słowa.
Jak Chiny cenzurują treści CDN
Wielki chiński firewall niesłusznie uchodzi za najbardziej efektywny i zaawansowany system zapewniający cenzurę internetu.
Metodologia badania
Naukowcy przeprowadzili eksperymenty przy użyciu węzła Linux znajdującego się w Chinach. Mieli również dostęp do kilku komputerów za granicą kraju. Najpierw badacze sprawdzili, co z węzła jest cenzurowane w sposób analogiczny do tego, który dotyczy innych chińskich użytkowników – aby to zrobić, próbowali otwierać z tej maszyny różne zabronione strony. Potwierdzono w ten sposób obecność tego samego poziomu cenzury.
Lista zablokowanych w Chinach stron, które korzystają z CDN, została pobrana z serwisu GreatFire.org. Następnie przeprowadzano analizę sposobu blokowania w każdym przypadku.
Zgodnie z danymi publicznymi, jedynym dużym graczem na rynku CDN z własną infrastrukturą w Chinach jest Akamai. Inni dostawcy, którzy brali udział w badaniu to: CloudFlare, Amazon CloudFront, EdgeCast, Fastly i SoftLayer.
W trakcie eksperymentów badacze ustalili adresy serwerów edge Akamai w kraju, a następnie próbowali uzyskać przez nie buforowane dozwolone treści. Dostęp do zabronionych treści nie był możliwy (zwracano błąd HTTP 403 Forbidden) – oczywiście firma prowadzi autocenzurę, aby zachować możliwość działalności w kraju. Jednocześnie, poza krajem, dostęp do tych zasobów pozostawał otwarty.
Dostawcy bez infrastruktury w Chinach nie stosują auto-cenzury dla lokalnych użytkowników.
W przypadku innych dostawców najczęściej stosowanym sposobem blokowania była filtracja DNS – zapytania do zablokowanych stron są realizowane na błędne adresy IP. Firewall nie blokuje samych edge-serwerów CDN, ponieważ przechowują one zarówno zabronione, jak i dozwolone informacje.
A jeśli w przypadku nieszyfrowanego ruchu władze mogą blokować poszczególne strony stron internetowych za pomocą DPI, to przy korzystaniu z HTTPS mogą jedynie zablokować dostęp do całej domeny. To prowadzi również do blokowania treści dozwolonych.
Ponadto w Chinach są również własni dostawcy CDN, w tym sieci takie jak ChinaCache, ChinaNetCenter i CDNetworks. Wszystkie te firmy w pełni przestrzegają ustawodawstwa kraju i blokują zabronioną treść.
CacheBrowser: narzędzie do omijania blokad z pomocą CDN
Jak pokazuje analiza, cenzorom trudno jest blokować treść CDN. Dlatego badacze postanowili pójść dalej i opracować narzędzie do omijania blokad online, które nie będzie korzystać z technologii proxy.
Główną ideą narzędzia jest to, że cenzorzy muszą ingerować w działanie DNS, aby zablokować CDN, jednak do ładowania treści CDN nie jest faktycznie konieczne korzystanie z rozwiązywania nazw domen. W ten sposób użytkownik może uzyskać potrzebne mu treści, kontaktując się bezpośrednio z edge-serwerem, na którym są one już zbuforowane.
Na poniższym diagramie przedstawiono budowę systemu.

Na komputerze użytkownika instalowany jest klient, a do uzyskania dostępu do treści używana jest zwykła przeglądarka.
Gdy żądany jest adres URL lub część już wcześniej wysyłanego kontentu, przeglądarka wysyła zapytanie do lokalnego systemu DNS (LocalDNS), aby uzyskać adres IP hostingu. Zwykły DNS jest zapytywany tylko dla domen, które nie są jeszcze zapisane w bazie LocalDNS. Moduł Scraper stale przeszukuje żądane adresy URL i szuka potencjalnie zablokowanych nazw domen. Następnie Scraper zwraca się do modułu Resolver, aby rozwiązać nowo odkryte zablokowane domeny, ten moduł wykonuje zlecone zadanie i dodaje wpis do LocalDNS. Następnie pamięć podręczna DNS przeglądarki jest czyszczona, aby usunąć istniejące wpisy DNS dla zablokowanej domeny.
Jeśli moduł Resolver nie może zrozumieć, do którego dostawcy CDN należy domena, poprosi o pomoc moduł Bootstrapper.
Jak to działa w praktyce
Oprogramowanie klienckie produktu zostało zrealizowane dla systemu Linux, ale można je łatwo przenieść również na Windows. Jako przeglądarka używa zwykłego Mozilla
Firefox. Moduły Scraper i Resolver są napisane w Pythonie, a bazy danych Customer-to-CDN i CDN-to-IP są przechowywane w plikach .txt. Jako baza danych LocalDNS służy zwykły plik /etc/hosts w systemie Linux.
W rezultacie dla zablokowanego adresu URL w postaci skrypt będzie pobierał adres IP serwera brzegowego z pliku /etc/hosts i wysyłał zapytanie HTTP GET w celu uzyskania dostępu do BlockedURL.html z polami nagłówka HTTP Host:
blocked.com/ oraz User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1Moduł Bootstrapper został zaimplementowany za pomocą darmowego narzędzia digwebinterface.com. Ten DNS resolver nie może być zablokowany i odpowiada na zapytania DNS w imieniu wielu geograficznie rozproszonych serwerów DNS w różnych regionach sieciowych.
Dzięki temu narzędziu badacze zdołali uzyskać dostęp do Facebooka ze swojej chińskiej węzła – mimo że społeczność była już od dawna zablokowana w Chinach.

Podsumowanie
Eksperyment pokazał, że wykorzystując problemy, które cenzorzy napotykają podczas próby blokowania treści CDN, można stworzyć system omijania blokad. Takie narzędzie pozwala na przełamanie blokad nawet w Chinach, gdzie działa jeden z najsilniejszych systemów cenzury online.
Inne artykuły na temat wykorzystania dla biznesu:
Źródło: habr.com
