Как обойти блокировку Tor

Tor поисковик

В сегодняшней статье я расскажу о способах обхода блокировок Tor.

Как блокируют Tor?

По утверждениям Роджера Динглдайна, существует четыре базовых способа заблокировать Tor. Первый выглядит очевидным: всего имеется девять публичных каталогов входных узлов Tor-сети, и, если закрыть доступ к этим каталогам, юзеры не смогут установить соединение. Второй метод — выгрузить список из порядка 7000 relay nodes Tor-сети, отвечающих за перенаправление трафика, и заблокировать их все по IP-адресам.

Третий, не очень надежный, но действенный способ — отслеживать характерные отпечатки пакетов, то есть применить fingerprinting. По этим косвенным признакам, характерным для передаваемых в Tor-сети данных, можно настроить фильтрацию трафика. Примерно так действовало правительство Ирана во время протестов в 2009 году. Для глубокой инспекции трафика иранские власти использовали DPI. Пакеты Tor по ряду признаков были похожи на пакеты SSL, и иранцы с помощью специально закупленного для этих целей оборудования просто снизили пропускную способность для шифрованного SSL-трафика в своих сетях, временно сделав невозможным использование Tor на территории страны.

Наконец, четвертый способ — перекрыть доступ к ресурсам, с которых конечные пользователи могут скачать необходимый для подключения софт. Сочетание этих четырех методик может дать отличный — с точки зрения спецслужб и правительств — результат. Но чем ответили на это разработчики Tor?

Как обойти блокировку Tor

Обход блокировок Tor с помощью мостов

Первым рубежом борьбы с сетевой цензурой стал так называемый подключаемый транспорт, первой разновидностью которого были мосты obfs3 и obfs4. Идея заключается в следующем: поскольку «плохие парни» могут получить полный список открытых relay nodes и заблокировать доступ к самим этим узлам или их публичным каталогам, в Tor-сети были созданы тысячи мостов, список адресов которых отсутствует в публичном доступе.

Чтобы подключиться к Tor через мост, нужно перейти на сайт https://bridges.Torproject.org, выбрать тип транспорта и указать, поддерживает ли твоя сеть IPv6, ввести капчу, получить адрес моста, а затем указать его в настройках Tor Browser. Можно пойти более простым путем — в тех же настройках подключения запросить адрес моста с сайта Torproject (снова придется ввести капчу). Если сайт Torproject.org заблокирован, можно отправить письмо с пустой темой на адрес bridges@Torproject.org, написав в теле сообщения строку get transport obfs4. Важный момент: письмо нужно отправлять исключительно с Gmail или Riseup, иначе оно будет проигнорировано. В ответ специально обученный бот пришлет тебе адреса мостов, которые ты сможешь прописать в настройках Tor Browser.

Настройка моста в Tor Browser
Настройка моста в Tor Browser

По большому счету мосты Tor используют интерфейс SOCKS Proxy и по своей архитектуре похожи на китайский проект Shadowsocks, направленный на борьбу с цензурой. Мосты Tor работают как обфускаторы, которые маскируют трафик в Tor-сети, делая его похожим на обычный HTTP или поток случайных байтов, что затрудняет фильтрацию. Транспорт obfs3 оказался неустойчив к активному зондированию (Active Probing) — методу поиска адресов мостов в сети с целью их блокировки, поэтому ему на смену пришел более совершенный obfs4.

Правительства научились блокировать подобные соединения. Для большей эффективности активное зондирование может применяться совместно с глубоким анализом трафика. Например, с использованием DPI правительство мониторит все соединения, похожие на Tor. Обнаружив «подозрительный» узел, правительственный хост сам пытается установить с ним связь через протокол Tor. Если узел поддерживает этот протокол и отвечает, что является мостом, его тут же блокируют, а его IP-адрес заносят в черный список. В Китае такая фильтрация делается на магистральном уровне, из-за чего блокировки работают достаточно эффективно.

Сам Роджер Динглдайн называл мосты «дерьмовой гонкой вооружений», поскольку правительственные цензоры научились фильтровать трафик описанным выше методом. Разработчики Tor в ответ выкатывали патчи, видоизменяющие данные в пакетах и устраняющие признаки, по которым выполнялась фильтрация, либо меняли поведение мостов. В свою очередь, правительства редактировали настройки фильтров, и все начиналось заново. Так было в Иране в период массовых протестов, в Египте времен арабской весны, в Тунисе во время революции 2010–2011 годов. Прямо сейчас что-то подобное происходит в Беларуси.

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

Все мосты разведены, отправляйтесь вплавь
Все мосты разведены, отправляйтесь вплавь

Для обхода подобных блокировок разработчики Tor придумали meek.

Обход блокировки Tor с помощью Meek

В Tor имеется еще один подключаемый транспорт под названием meek, который может сработать в случае, если мосты заблокированы. Его принцип действия тоже чем-то напоминает прокси, но в качестве промежуточного звена для передачи трафика используются облачные серверы Amazon, Content delivery network, Google, CloudFront или Microsoft Azure. Расчет делается на то, что вводящее цензуру правительство, если оно в своем уме, никогда полностью не заблокирует CDN, AWS, Azure и им подобные сервисы, поскольку эти облака использует огромное количество различных интернет-ресурсов, которые в этом случае просто перестанут работать. Но на здравомыслие некоторых госструктур рассчитывать, впрочем, довольно-таки наивно. Порой они способны обрушить половину национального сегмента сети в погоне за одним-единственным непослушным мессенджером, заблокировать который в итоге все равно не получилось.

Подключить meek очень просто: при запуске Tor Browser нужно нажать на кнопку Configure, установить флажок Tor is censored in my country, а затем, выставив переключатель в позицию Select a built-in bridge, выбрать в выпадающем списке транспорт meek.

Транспорт meek — работает даже в Китае
Транспорт meek — работает даже в Китае

Meek использует в работе технику под названием domain fronting. Для соединения с целевым узлом в интернете клиент meek генерирует специальные HTTPS-запросы и отправляет их незаблокированному «внешнему» сервису, например CDN или AWS. Это «внешнее» имя отображается в DNS-запросе и данных, используемых протоколом Server Name Indication (SNI). А вот реальное имя хоста, с которым клиенту и требуется соединиться, спрятано в заголовке HTTP Host header. Промежуточный облачный сервис определяет это имя и пересылает запрос серверу meek, запущенному на одном из мостов Tor-сети. В свою очередь, meek-сервер расшифровывает тело запроса и форвардит его в сеть Tor, а оттуда он попадает в свободный интернет.

Схема работы meek
Схема работы meek

Помимо настройки по умолчанию с использованием Azure, можно задать собственные параметры транспорта meek, вот подробная инструкция. Казалось бы, все просто. Но не для всех.

Обход блокировки Tor с помощью Snowflake

Хорошо, если ты в состоянии скачать и настроить Tor Browser под виндой. Хорошо, если ты можешь установить Linux и набрать в консоли apt-get install obfs4proxy или apt-get install Tor. Но многие миллионы пользователей интернета не умеют и этого.

Для решения этой проблемы ребята из Tor Project разработали браузерное расширение на JavaScript под названием Snowflake. Достаточно установить этот плагин (или зайти на сайт со специальным JS-скриптом), и без скачивания дополнительного софта на твоей машине поднимается Tor-мост, который запускается прямо в браузере. Он использует webrtc и корректно работает за NAT.

Схема работы Snowflake — иллюстрация с сайта Torproject.org
Схема работы Snowflake — иллюстрация с сайта Torproject.org

С использованием Snowflake ковровые блокировки теряют смысл, потому что ни одно правительство мира не способно заблокировать все браузеры в интернете. Теряет смысл и глубокая инспекция трафика с использованием DPI, потому что технологию webrtc использует легитимный софт вроде Google Hangouts и множество программ для организации видеоконференций. Блокировка потоковых данных webrtc поломает всю эту инфраструктуру.

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

Со своей стороны разработчики Tor стараются получать обратную связь от пользователей сети. Существуют и независимые проекты мониторинга цензуры вроде Open ObservaTory for Network Interference — это приложение, позволяющее просканировать сетевое окружение пользователя в поисках заблокированных ресурсов, протоколов и сервисов.

Как бы то ни было, технологиям борьбы с цензурой еще предстоит проделать долгий путь, прежде чем они достигнут своей максимальной эффективности. Так, на DEF CON прозвучала информация о том, что в Tor Project активно работают над использованием в шифровании трафика технологии Format-Transforming Encryption. Она позволит сделать передаваемый трафик максимально похожим на обычный незашифрованный HTTP и тем самым сбить с толку механизмы глубокого анализа.

Другой подход называется «ложной маршрутизацией» — в этом случае при установке SSL-соединения один из промежуточных узлов ищет специальный тег внутри пакета SSL-handshake и при его обнаружении перенаправляет трафик в Tor-сеть. В то время как местный интернет-провайдер продолжает считать, будто клиент общается с фейковым удаленным сервером из белого списка, и не догадывается об изменении маршрута.

Выводы

Борьба с цензурой действительно похожа на гонку вооружений, в которой с одной стороны выступают правительства со своими бескрайними ресурсами и многомиллиардные международные корпорации, а с другой — общественные организации и энтузиасты, движимые чувством справедливости, стремлением к свободе и шилом в известном месте. При этом совершенно неочевидно, кто из них победит.

На DEF CON Роджер Динглдайн сказал:

«Австралия подвергает цензуре свой интернет, в Англии есть штука под названием „Фонд наблюдения за интернетом“ (Internet Watch Foundation), которая является частью их правительства. Дания цензурирует интернет, Швеция цензурирует интернет. Поэтому, когда мы ругаем правительство Китая, не позволяющее своим гражданам смотреть BBC, оно вполне обоснованно заявляет, что делает в точности то же самое, что и все остальные… Дело не только в цензуре: важно привлечь внимание пользователей к тому факту, что за ними наблюдают. И тогда они смогут самостоятельно сделать свой выбор».

И в этом сооснователь Tor Project, безусловно, прав. Пока существует интернет, выбор есть у каждого.

Еще по теме: Как зайти на заблокированный сайт

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *