Thử nghiệm CacheBrowser: vượt qua tường lửa Trung Quốc mà không cần proxy bằng cách sử dụng bộ nhớ đệm nội dung

Thử nghiệm CacheBrowser: vượt qua tường lửa Trung Quốc mà không cần proxy bằng cách sử dụng bộ nhớ đệm nội dung

Hình ảnh: Unsplash

Сегодня значительная часть всего контента в интернете распространяется с использованием CDN-сетей. При этом исследований того, как различные цензоры распространяют свое влияние на такие сети. Ученые из университета Массачусетса đã phân tích возможные методы блокировки CDN-контента на примере практик властей Китая, а также разработали инструмент обхода таких блокировок.

Мы подготовили обзорный материал с главными выводами и результатами этого эксперимента.

Giới thiệu

Цензура – глобальная угроза свободе слова в интернете и свободному доступу к информации. Во многом это возможно из-за того, что интернет позаимствовал модель «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 (deep packet inspection). Такие системы находят упоминания запрещенных слов и ресурсов, после чего происходит вмешательство в онлайн-коммуникацию. В итоге пакеты просто сбрасываются.

Этот метод эффективен, но более сложный и ресурсоемкий, поскольку требует дефрагментации всех пакетов данных, отправляемых в рамках определенных потоков.

CDN-контент можно защитить от подобной фильтрации также, как и «обычный» контент – в обоих случаях помогает использование шифрования (то есть HTTPS).

Помимо использования DPI для поиска ключевых слов или URL запрещенных ресурсов, эти инструменты могут быть использованы для более продвинутого анализа. К таким способам относятся статистический анализ онлайн/офлайн-трафика и анализ протоколов идентификации. Эти способы крайне ресурсоемки и в настоящий момент доказательств их использования цензорами в достаточно серьезном объеме просто не существует.

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

Если цензор – это государство, то у него есть все возможности запретить работу в стране тем CDN-провайдерам, которые не подчиняются местным законам, регулирующих доступ к контенту. Противостоять самоцензуре нельзя никак – поэтому если компания-провайдер CDN заинтересована в работе в какой-то стране, то она будет вынуждена соблюдать местные законы, даже если они ограничивают свободу слова.

Как Китай цензурирует CDN-контент

Великий китайский фаервол небезосновательно считается самой эффективной и продвинутой системой для обеспечения интернет-цензуры.

Phương pháp nghiên cứu

Ученые производили эксперименты с помощью 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-серверу, на котором он уже закеширован.

На диаграмме ниже представлено устройство системы.

Thử nghiệm CacheBrowser: vượt qua tường lửa Trung Quốc mà không cần proxy bằng cách sử dụng bộ nhớ đệm nội dung

На компьютер пользователя устанавливается клиентский софт, для доступа к контенту используется обычный браузер.

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

Если модуль Resolver не может понять, к какому CDN-провайдеру относится домен, то он попросит помощи у модуля Bootstrapper.

Nó hoạt động như thế nào trong thực tế

Клиентский софт продукта был реализован для Linux, но его можно легко портировать в том числе и для Windows. В качестве браузера используется обычный Mozilla
Firefox. Модули Scraper и Resolver написаны на Python, а базы данных Customer-to-CDN и CDN-toIP хранятся в .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 – хотя соцсеть давно заблокирована в Китае.

Thử nghiệm CacheBrowser: vượt qua tường lửa Trung Quốc mà không cần proxy bằng cách sử dụng bộ nhớ đệm nội dung

Kết luận

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

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

Nguồn: www.habr.com

Thêm một lời nhận xét