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

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

Введение


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

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

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

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

В своей работе ученые предложили новый подход к быстрому созданию прокси.

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


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

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

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

<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>

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



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

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

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



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

  1. Клиент запускает Tor, клиент flash-proxy (браузерный плагин) и отправляет запрос на регистрацию фасилитатору с помощью протокола rendezvous. Плагин начинает прослушивание удаленного соединения.
  2. Flash-прокси появляется онлайн и обращается к фасилитатору с запросом на соединение с клиентом.
  3. Фасилитатор возвращает регистрацию, передавая flash-прокси данные для соединения.
  4. Прокси соединяется с клиентом, данные которого ему прислали.
  5. Прокси подключается к транспортному плагину а Tor-релее и начинает обмен данными между клиентом и релеем.

Особенность данной архитектуры в том, что клиент никогда не знает заранее, куда именно ему нужно будет подключаться. По факту, транспортный плагин принимает фейковый адрес назначения только для того, чтобы не нарушать требования транспортных протоколов. Затем этот адрес игнорируется и создается туннель к другой конечной точке – Tor-релею.

Заключение


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

Комментарии (11)


  1. dmitryredkin
    18.05.2019 20:00
    +1

    Я конечно против цензуры, но этично ли вовлекать посетителя сайта в цепочку передачи сообщений просто через баннер, там более такой маленький, что его почти не видно?
    Или я что-то неправильно понял в объяснении механизма?


    1. pae174
      18.05.2019 20:26
      +1

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


      1. dmitryredkin
        19.05.2019 09:36

        А, тогда нормально. Жаль, что в статье это отражено не очень четко.


  1. Vinchi
    18.05.2019 21:01

    Смотрю на расценки на сайте, указано 450 баксов за 2000 проксей в РФ.
    Есть вопросы:
    1. Это резидентные, мобильные или серверные?
    2. Если я куплю 2 пакета, у меня будет 4000 уникальных адресов, или у вас всего 2000 адресов?
    3. Если вы продаете инфорацию о них компаниям занимающимся кибербезопасностью и фирмам предоставляющим сервис в интернете — то какой толко покупать эти адреса у вас, если их будут банить?


    1. Infatica
      18.05.2019 21:27

      Здравствуйте.
      1. Это резидентные прокси. Серверные и мобильные доступны по запросу у менеджеров.

      2. Если вы приобретаете два пакета proxy по 2000 адресов, мы сделаем чтобы у вас были разные ips. На данный момент, в нашей системе насчитывается около 1 миллиона уникальных ип за месяц и средний онлайн 100,000 за 24 часа.

      3.1 Смотрите, во-первых, никто резидентные IPs не банит, в связи с последующей потерей трафика на ресурс, а во-вторых, большая часть ip адресов динамические.
      3.2 Компании по кибербезопаности не совсем так, как вы описали используют прокси сети. А например:
      Защита бренда, Проверка на фишинг и вирусы и т.п.


  1. Popadanec
    18.05.2019 21:39

    Все эти блокировки по решению задней пятки правой ноги приведут к созданию технологии в принципе не блокируемых сайтов(разве что выключить интернет), да собственно уже практически привели. А власти живущие в прошлом веке и видящие интернет в распечатках на принтере, этого понять не могут.
    В итоге это приведёт к тому что информацию которую действительно не стоит показывать(к примеру создание мощной взрывчатки из бытовой химии) на весь интернет(т.к. дураков и обиженных во все времена хватает), сможет увидеть каждый.
    Блокировка информации это борьба со следствием, а не причиной. Причиной к примеру может быть неумелое управление структурами или генетические/психологические отклонения или ещё что нибудь.
    Вариантом могло бы быть создание белого интернета(где информация и люди подтверждены) и серого интернета, без ограничения к нему доступа, но и без каких либо гарантий. И оперативная работа с людьми на местах. Но это надо работать, а не «палки» ради премии сшибать.


    1. wtigga
      19.05.2019 07:27

      создание белого интернета(где информация и люди подтверждены) и серого интернета


      Тарифы у сотовых операторов «безлимит на FB, ВК, Мэйл.агент» это он и есть. Благодаря закону Яровой, такие тарифы через пару лет будут у домашних провайдеров, а если будем сидеть на жопе ровно — то «серый» интернет будет только у корпоративных пользователей после покупки лицензии (примерно как в Китае — для юрлиц за большие деньги почти без цензуры).

      И всё. Не спасут вас ни флеш-прокси, ни shadowsocks, а 95% людей и не заметят и не поймут ваших проблем.


      1. Popadanec
        19.05.2019 12:08

        В Китае огромный внутренний интернет(благодаря плотности населения). Там своя Китайская логика построения сайтов(зайдите как нибудь, оценить этот вырвиглазный стиль), плюс на/с китайский плохо переводится. Из за постоянной закрытости(сначала стена потом инет) Китайцы и остальное население планеты пошло разными путями эволюции и сейчас они для нас(и мы для них) как инопланетяне. Так что внешний инет им не особо то нужен.
        А у нас(в России) ситуация другая населения мало и оно в целом бедное(в Китае зп заметно выше чем у нас), так что люди будут постоянно искать альтернативные пути(сейчас даже домохозяйки ВПН освоили). Фейсбук по мнению наших властей тоже стоило бы заблокировать, но они пока(?) не хотят злить дракона(варить лягушку быстрее).


        1. wtigga
          19.05.2019 12:12

          Да мне-то не надо рассказывать про китайский интернет :) Но только по опыту общения с соотечественниками, огромной массе достаточно почты мэйл.ру, яндекс.погоды и ВК/ОК. Опционально инстаграм и ютуб. Честно, я вот не вижу «массового поиска альтернативных путей» — многие даже телеграм не используют, потому что «сложно с прокси» (хотя в телеге это сделано уже максимально удобно и прозрачно), не то что VPN на комп поставить.


    1. shalm
      19.05.2019 07:45

      Если б блокировки работали, как было задумано, то не было бы нужды изобретать великий рубильник.


      1. Popadanec
        19.05.2019 11:56

        Если бы блокировали только общественно опасную информацию то они может быть и работали. А т.к. блокировать сразу начали всё подряд(даже самих себя) это и породило бунт.