History of the fight against censorship: how the Flash Proxy method created by scientists from MIT and Stalford works

История борьбы с цензурой: как работает созданный учеными из MIT и Стенфорда метод flash proxy

В начале 2010-х годов объединенная группа специалистов из Стенфордского университета, Массачусетского университета, The Tor Project и SRI International представила результаты своего исследования способов борьбы с цензурой в интернете.

Ученые проанализировали существовавшие на тот момент способы обхода блокировок и предложили свой метод, получивший название flash proxy. Сегодня мы расскажем о его сути и истории развития.

Введение

Интернет начинался как сеть, открытая для данных любого типа, но с течением времени многие страны начали осуществлять фильтрацию трафика. Какие-то государства блокируют отдельные сайты, вроде YouTube или Facebook, тогда как другие запрещают доступ к контенту, который содержит определенные материалы. В том или ином виде блокировки применяются в десятках стран из разных регионов, включая Европу.

Пользователи в регионах, где используются блокировки, пытаются обойти их с помощью различных прокси. Существует несколько направлений развития подобных систем, одна из технологий – Tor, была использована в ходе проекта.

Обычно перед разработчиками прокси-системам для обхода блокировок стоят три задачи, которые нужно решить:

  1. Rendezvous-протоколы. Рандеву-протокол позволяет пользователям в стране с блокировками отправлять и получать небольшие объемы информации для установления соединения с прокси – в случае Tor, к примеру, использует rendezvous для распространения IP-адрес Tor-ретрансляторов (бриджей). Такие протоколы используются для low-rate трафика и заблокировать их не так просто.
  2. Создание прокси. Системам преодоления блокировок нужны прокси вне региона с фильтруемым интернетом, чтобы передавать трафик от клиента к целевым ресурсам и обратно. Организаторы блокировок могут в ответ мешать пользователям узнавать IP-адреса прокси-серверов и блокировать их. Чтобы противостоять такой атаке Сивиллы прокси-сервис должен иметь возможность постоянно создавать новые прокси. Именно быстрое создание новых прокси – это основная суть предложенного исследователями метода.
  3. Камуфляж. Когда клиент получает адрес не заблокированного прокси, ему нужно каким-либо образом скрыть свою коммуникацию с ним, чтобы сессию было невозможно заблокировать с помощью инструментов анализа трафика. Ее нужно закамуфлировать под «обычный» трафик, вроде обмена данными с интернет-магазином, онлайн-игры и т.п.

Как это работает

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

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

На такой сайт устанавливается небольшой бейдж, представляющий собой простой интерфейс, созданный с помощью JavaScript. Пример такого кода:

Вот так выглядит бейдж:

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

В результате возможно получение производительности, достаточной для поддержания Tor-тоннеля.

Помимо Tor Relay и клиента пользователю понадобится еще три элемента. Так называемый фасилитатор (facilitator), который получает запросы от клиента и соединяет его с прокси. Коммуникация происходит с помощью транспортных плагинов на клиенте (вот версия для Chrome) и Tor-relay осуществляется переключение с WebSockets на чистый TCP.

Типичная сессия при использовании этой схемы выглядит так:

  1. Клиент запускает Tor, клиент flash-proxy (браузерный плагин) и отправляет запрос на регистрацию фасилитатору с помощью протокола rendezvous. Плагин начинает прослушивание удаленного соединения.
  2. Flash-прокси появляется онлайн и обращается к фасилитатору с запросом на соединение с клиентом.
  3. Фасилитатор возвращает регистрацию, передавая flash-прокси данные для соединения.
  4. Прокси соединяется с клиентом, данные которого ему прислали.
  5. Прокси подключается к транспортному плагину а Tor-релее и начинает http://btcnews.fun/2023/01/04/where-to-buy-seesaw-protocol-crypto/ обмен данными между клиентом и релеем.

Заключение

Проект flash-прокси развивался несколько лет и в 2017 году создатели прекратили его поддержку. Код проекта доступен по этой ссылке. На смену flash-прокси пришли новые инструменты обхода блокировок. Один из них – проект Snowflake, построенный на схожих принципах.

צור עימי קשר

    שם מלא

    טלפון

    דוא”ל

    נושא