Експеримент CacheBrowser: заобикаляне на китайската firewalle без прокси с помощта на кеширане на съдържанието

Експеримент CacheBrowser: заобикаляне на китайската firewalle без прокси с помощта на кеширане на съдържанието

Изображение: Unsplash

Днес значителна част от съдържанието в интернет се разпространява с помощта на CDN мрежи. Въпреки това, изследванията на начина, по който различни цензори разширяват своето влияние върху тези мрежи, са ограничени. Учените от Университета на Масачузетс анализираха изследват възможните методи за блокиране на CDN съдържание на примера на практиките на китайските власти, като също така са разработили инструмент за заобикаляне на такива блокировки.

Подготвихме обзорен материал с основните заключения и резултати от този експеримент.

Въведение

Цензурата е глобална заплаха за свободата на словото в интернет и свободния достъп до информация. Това е възможно отчасти, благодарение на факта, че интернет зае модела на „end-to-end комуникация“ от телефонните мрежи от 70-те години на миналия век. Това позволява блокиране на достъпа до съдържание или комуникация на потребителите без значителни усилия или разходи, просто на база на IP адрес. Има няколко начина от блокиране на самия адрес със забранено съдържание до блокиране на възможността на потребителите дори да разберат за него чрез манипулация с DNS.

Въпреки това, развитието на интернет доведе и до появата на нови начини за разпространение на информация. Един от тях е използването на кеширано съдържание за подобряване на производителността и ускоряване на комуникациите. Днес доставчиците на CDN обработват значителен обем от целия трафик в света – само водещият в този сегмент Akamai генерира до 30% от глобалния статичен уеб трафик.

CDN мрежата е разпределена система за доставка на интернет съдържание с максимална скорост. Типичната CDN мрежа се състои от сървъри на различни географски точки, които кешират съдържание, за да го „предоставят“ на потребителите, които са най-близо до този сървър. Това значително подобрява скоростта на онлайн комуникацията.

Освен че подобрява качеството на обслужване за крайните потребители, CDN хостингът помага на създателите на съдържание да мащабират своите проекти, намалявайки натоварването на инфраструктурата.

Цензуриране на CDN съдържание

Въпреки че трафик на CDN вече представлява значителна част от цялата информация, предавана през интернет, все още почти няма изследвания за това как цензорите в реалния свят подхождат към неговия контрол.

Авторите на изследването започнаха с проучване на методите за цензуриране, които могат да се прилагат към CDN. След това разгледаха реалните механизми, прилагани от властите в Китай.

Първо ще поговорим за възможните методи за цензуриране и възможностите за тяхното приложение при контрола на CDN.

IP филтриране

Това е най-простият и евтин метод за цензуриране на интернет. Прилагането на този подход предполага, че цензорът определя и добавя в черния списък IP адресите на ресурсите, които разпространяват забранено съдържание. След това контролируемите интернет доставчици спират да доставят пакети, изпратени до такива адреси.

Блокирането на базата на IP е един от най-разпространените методи за интернет цензуриране. Повечето търговски мрежови устройства разполагат с функции за осъществяване на такива блокировки без сериозни изчислителни разходи.

Въпреки това, този метод не е много подходящ за блокиране на трафика на CDN поради някои характеристики на самата технология:

  • Разпределено кеширане – за осигуряване на най-добра достъпност на съдържанието и оптимизация на производителността, CDN мрежите кешират потребителското съдържание на голям брой edge сървъри, разположени в географски разпръснати места. За да филтрира такова съдържание на базата на IP, цензорът трябва да знае адресите на всички edge сървъри и да ги добави в черния списък. Това ще удари върху основните свойства на метода, тъй като основният му плюс е, че в обичайната схема блокирането на един сървър позволява да се “отреже” достъпа до забранено съдържание веднага за голям брой хора.
  • Споделени IP – търговските CDN доставчици споделят своята инфраструктура (тоест edge сървъри, система за картографиране и т.н.) между множество клиенти. В резултат на това забраненото CDN съдържание се зарежда от същите IP адреси, от които и не забраненото съдържание. В крайна сметка, всяка опит за IP филтриране ще доведе до блокирането и на огромно количество сайтове и съдържание, които не интересуват цензорите.
  • Високодинамично присвояване на IP – за оптимизиране на балансирането на натоварването и подобряване на качеството на услугата, картографирането на edge-сървърите и крайните потребители се извършва много бързо и динамично. Например, Akamai актуализира предоставените IP адреси на всяка минута. Това почти ще направи невъзможен процеса на свързване на адреси с забранено съдържание.

DNS-интерференция

Освен филтрирането на IP, друг популярен начин за цензуриране е интерференцията на DNS. Този подход включва действия на цензори, насочени към това, да не позволят на потребителите да разберат IP адресите на ресурси с забранено съдържание. Тоест, намесата се извършва на ниво разрешаване на домейн имена. Съществуват няколко начина да се постигне това, включително компрометиране на DNS съединения, използване на техника наречена DNS poisoning и блокиране на DNS запитвания към забранени сайтове.

Това е много ефективен начин за блокиране, но може да бъде заобиколен, ако се използват нетрадиционни методи за разрешаване на DNS, например, out-of-band канали. Поради това обикновено цензорите комбинират блокирането на DNS с IP филтриране. Но, както е казано по-горе, IP филтрирането не е ефективно за цензуриране на CDN съдържание.

Филтриране по URL/Ключови думи с помощта на DPI

Съвременната техника за мониторинг на мрежова активност може да бъде използвана за анализ на конкретни URL адреси и ключови думи в предаваните данни. Тази технология е известна като DPI (дълбочинна инспекция на пакети). Подобни системи намират упоминания на забранени думи и ресурси, след което намесата в онлайн комуникацията става. В резултат пакетите просто се отхвърлят.

Този метод е ефективен, но е по-сложен и ресурсоемък, тъй като изисква дефрагментиране на всички пакети данни, изпратени в рамките на определени потоци.

CDN съдържанието също може да бъде защитено от подобно филтриране, както и 'обикновеното' съдържание – в двата случая помага използването на криптиране (т.е. HTTPS).

Освен използването на DPI за намиране на ключови думи или URL адреси на забранени ресурси, тези инструменти могат да се използват и за по-усъвършенстван анализ. Сред тези методи са статистическият анализ на онлайн/офлайн трафика и анализът на идентификационните протоколи. Тези методи са изключително ресурсоемки и в момента не съществуват достатъчно доказателства за тяхното използване от цензорите в значителен обем.

Самоцензура на CDN провайдерите

Ако цензор е държавата, то тя има всички възможности да забрани работа в страната на тези CDN провайдери, които не спазват местните закони, регулиращи достъпа до съдържание. Не може да се противостои на самоцензурата – следователно, ако компанията провайдер на CDN желае да работи в определена страна, тя ще бъде принудена да спазва местните закони, дори и те да ограничават свободата на словото.

Как Китай цензурира съдържанието на CDN

Великият китайски firewall не без основание се счита за най-ефективната и усъвършенстваната система за интернет цензура.

Методология на изследването

Учени провеждаха експерименти с помощта на Linux нодове, разположени в Китай. Също така те имаха достъп до няколко компютъра извън страната. Първо изследователите провериха какво нодът претерпява от цензура, подобна на тази, която се прилага спрямо други китайски потребители – за целта те опитаха да отворят различни забранени сайтове от тази машина. Така беше потвърдено наличието на същото ниво на цензура.

Списъкът на забранени в Китай сайтове, използващи CDN, беше взет от сайта GreatFire.org. След това беше направен анализ на начина на блокиране във всеки случай.

Според откритите данни единственият значителен играч на пазара на CDN с инфраструктура в Китай е Akamai. Други провайдери, участвали в изследването: CloudFlare, Amazon CloudFront, EdgeCast, Fastly и SoftLayer.

По време на експериментите изследователите установиха адресите на edge-сървърите на Akamai в страната и след това опитаха да получат кеширан разрешен контент чрез тях. Не успяха да получат достъп до забраненото съдържание (върна се грешка HTTP 403 Forbidden) – очевидно компанията провежда самоцензура, за да запази възможността за работа в страната. В същото време, извън страната, достъпът до тези ресурси оставаше отворен.

Доставчиците без инфраструктура в Китай не използват самоцензура за местни потребители.

В случая с останалите доставчици, най-често използваният метод за блокиране е филтриране на DNS - заявките за блокирани сайтове се разрешават към неверни IP адреси. При това, фаерволът не блокира самите edge-сервери на CDN, тъй като те съхраняват както забранена, така и разрешена информация.

И ако в случай на незашифрован трафик властите имат възможност да блокират отделни страници на сайтове посредством DPI, то при използване на HTTPS те могат само да забранят достъпа до целия домейн като цяло. Това води до блокиране и на разрешено съдържание.

Освен това, в Китай има и собствени доставчици на CDN, сред които са мрежи като ChinaCache, ChinaNetCenter и CDNetworks. Всички тези компании напълно изпълняват законодателството на страната и блокират забранено съдържание.

CacheBrowser: инструмент за заобикаляне на блокировки с помощта на CDN

Както показа анализът, цензорите имат трудности при блокирането на CDN-съдържание. Затова изследователите решиха да отидат по-далеч и да разработят инструмент за заобикаляне на онлайн блокировки, който няма да използва технологията на прокси.

Основната идея на инструмента е, че за блокиране на CDN цензорите трябва да се намесват в работата на DNS, но за зареждане на CDN-съдържание всъщност не е задължително да се използва разрешаване на домейн имена. Така, потребителят може да получи нужното съдържание, като се обърне директно към edge-сървър, на който то вече е кеширано.

На диаграмата по-долу е представена структурата на системата.

Експеримент CacheBrowser: заобикаляне на китайската firewalle без прокси с помощта на кеширане на съдържанието

На компютъра на потребителя се инсталира клиентски софтуер, за достъп до съдържание се използва обикновен браузър.

При заявка за URL или част от вече запрашиван съдържание, браузърът изпраща запитване към локалната DNS система (LocalDNS), за да получи IP адрес на хостинга. Обычният DNS се запитва само за домейни, които все още не са в базата данни на LocalDNS. Модулът Scraper постоянно проверява заявените URL и търси в списъка потенциално блокирани домейн имена. След това Scraper се обръща към модула Resolver, за да реши ново откритите блокирани домейни, този модул изпълнява задачата и добавя запис в LocalDNS. След това DNS кеша на браузъра се изчиства, за да се премахнат съществуващите DNS записи за блокирания домейн.

Ако модулът Resolver не може да разбере към кой CDN доставчик принадлежи домейнът, той ще поиска помощ от модула Bootstrapper.

Как работи в практиката

Клиентският софтуер на продукта е реализиран за Linux, но може лесно да бъде портирован и за Windows. Използваният браузър е обикновен Mozilla
Firefox. Модулите Scraper и Resolver са написани на Python, а базите данни Customer-to-CDN и CDN-to-IP се съхраняват в .txt файлове. В качеството на база данни LocalDNS служи обикновен файл \/etc\/hosts в Linux.

В крайна сметка, за блокирания URL вида blocked.com скриптът ще получи IP адрес на edge-сервера от файла \/etc\/hosts и ще изпрати HTTP GET запитване за достъп до BlockedURL.html с полетата на HTTP заглавката Host:

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

Модулът Bootstrapper е реализиран с помощта на безплатния инструмент digwebinterface.com. Този DNS резолвер не може да бъде блокиран и отговаря на DNS запитвания от името на множество географски разпределени DNS сървъри в различни мрежови региони.

С помощта на този инструмент изследователите успяха да получат достъп до Facebook от своя китайски възел – въпреки че социалната мрежа е дълго блокирана в Китай.

Експеримент CacheBrowser: заобикаляне на китайската firewalle без прокси с помощта на кеширане на съдържанието

Заключение

Експериментът показа, че проблемите, с които цензорите се сблъскват при опити за блокиране на CDN съдържание, могат да бъдат използвани за създаване на система за заобикаляне на блокировките. Такъв инструмент позволява заобикаляне на блокировките дори в Китай, където действа една от най-мощните системи за онлайн цензура.

Други статии по темата за използването на резидентни прокси за бизнеса:

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster