Snowflake (средство обхода интернет-цензуры) (Snowflake (vjy;vmfk kQ]k;g numyjuym-eyu[rjd))

Перейти к навигации Перейти к поиску
Snowflake
Логотип программы Snowflake
Скриншот программы Snowflake
Пользовательский интерфейс браузерного расширения Snowflake (прокси-компонента Snowflake)
Тип Обход интернет-цензуры[1], Оверлейная сеть[источник?]
Автор Serene[2]
Разработчики The Tor Project и сообщество
Написана на Go[3][4] и JavaScript[3][5]
Первый выпуск 24 января 2017; 7 лет назад (2017-01-24)[1]
Репозиторий gitlab.torproject.org/tp…
Лицензия модифицированная лицензия BSD[вд][6][5][…]
Сайт snowflake.torproject.org/…

Snowflake (с англ. — «снежинка») — программное обеспечение, предназначенное для обхода блокировок сети Tor.[7][1][8][9][10] Доступ к Tor, в свою очередь, может быть использован для доступа к заблокированным сайтам и сервисам.[7]

Подзаголовок: Tor Браузер включает некоторые особые типы мостов, известные как "подключаемые транспорты", которые могут помочь скрыть факт использования Tor. Варианты выбора: 1. obfs4: Делает ваш трафик Tor случайно выглядящим. Может не работать в жёстко цензурируемых регионах. 2. Snowflake: Перенаправляет ваше соединение через прокси-серверы Snowflake, чтобы оно выглядело так, как будто вы, например, совершаете видеозвонок. 3. meek-azure: Создаёт вид подключения к страницам Microsoft вместо использования Tor. Может работать в жёстко цензурируемых регионах, но обычно работает очень медленно.
Окно выбора моста Tor Browser

Для публичного использования предназначено два компонента Snowflake — клиент и прокси.[7][11] Клиент Snowflake предназначен непосредственно для обхода блокировки Tor.[7] Клиент Snowflake встроен в Tor Browser[7][1][9], Orbot[англ.][1] и браузер Brave[12]. Прокси компонент предназначен для волонтёров, уже имеющих прямой доступ к сети Tor, и желающих помочь клиентам обойти блокировку Tor.[7][1] Прокси компонент распространяется в виде расширения для браузера,[11][9] в комплекте с Orbot[англ.], а также нативного приложения для ПК и выделенных серверов.[7][1] Клиенты Snowflake подключаются к сети Tor через прокси Snowflake, в чём и заключается принцип работы данного ПО.[7][1][11][13][14][9]

По состоянию на март 2024, в среднем Snowflake единовременно пользуются 35 000 пользователей, и средний дневной трафик составляет 29 терабайт.[1] Количество уникальных IP-адресов прокси составляет около 140 000.[1]

Принцип работы и особенности

В отличие от стандартных прокси и VPN серверов, для запуска прокси Snowflake не требуются постоянный выделенный IP-адрес или проброс портов, благодаря использованию ICE[англ.] (в данном случае WebRTC).[1][11][9][15] Простота создания прокси обеспечивает их множественность, что, в свою очередь, усложняет блокировку Snowflake путём блокировки отдельных IP-адресов, на которых работают прокси.[1][8][16][17]

Архитектура сети Snowflake. Изображён клиент Snowflake, STUN сервера, брокер, множество прокси Snowflake, мост (сервер) Snowflake и адресат (сайт назначения) клиента. Клиент связывается с одним из прокси через брокера, устанавливает прямое соединение с прокси. Прокси перенаправляет соединение на сервер Snowflake, в итоге клиент получает доступ к адресу назначения.
Архитектура сети Snowflake. Клиент связывается с одним из прокси через брокера, а затем устанавливает уже прямое соединение с прокси. Прокси перенаправляет соединение на сервер Snowflake, в итоге клиент получает доступ к адресу назначения (входному узлу Tor).[1]

Однако, в силу специфики ICE[англ.], для инициализации прямого подключения между клиентом и прокси, им требуется предварительно обменяться двумя (по одному с каждой стороны) небольшими сообщениями с информацией друг о друге (в частности собственными IP-адресами и TCP / UDP портами) через централизованного посредника.[15][8] Процесс обмена такими сообщениями называется «рандеву» (англ. rendezvous).[1][18] В качестве посредника выступает так называемый Snowflake брокер.[1][18][15] В силу своей централизованности, посредник может быть легко заблокирован цензором,[1][18][8] поэтому доступ клиента к посреднику осуществляется через другие средства обхода блокировок, такие как domain fronting[англ.][8], AMP[англ.] cache, Amazon SQS.[1][9][18]

1. Клиент отправляет domain-fronted `POST /offer` запрос к брокеру, содержащий offer. 2. Прокси отправляет брокеру запрос `GET /proxy`. 3. Брокер отвечает прокси `200 OK` и отправляет offer клиента. 4. Прокси отправляет брокеру запрос `POST /answer`, содержащий answer. 5. Брокер отвечает прокси `200 OK`. 6. Брокер отвечает клиенту `200 OK` и отправляет answer, полученный от прокси.
Последовательность рандеву клиента с прокси[8][1]

Брокер, несмотря на свою доступность через другие средства обхода блокировок, не обеспечивает клиентам непосредственного доступа к сети Tor.[1] Нагрузка распределяется между Snowflake прокси. Прокси далее перенаправляет трафик клиента на т.н. «мост» (другое название: «сервер») Snowflake, который и выступает в роли входного (начального) узла цепочки Tor в её классическом понимании, и, соответственно, конечного узла Snowflake.[1][8][11]

По состоянию на 2024, прокси Snowflake могут перенаправлять трафик только на адреса из весьма ограниченного белого списка.[1][11] Основная причина для такого ограничения — избежание использования Snowflake для DDoS и другого злоупотребления.[1] Ведутся дискуссии о добавлении возможности для прокси подключаться к произвольным (на выбор клиента) адресам с целью улучшения децентрализованности и возможности использования Snowflake в качестве общего инструмента обхода цензуры, а не только лишь для доступа к Tor.[1][19][20]

Использование

В России Snowflake как средство обхода цензуры начала использоваться сразу после блокировки Tor в декабре 2021.[14][11][1][21][22][17] Среднее количество единовременных пользователей Snowflake с изначальных ~400 на начало декабря достигло ~15 000 в феврале-марте 2022.[1]

После начала замедления YouTube в России количество клиентских запросов выросло с ~500 000 в день на 20 июля до ~1 000 000 на 8 августа.[23]

В Иране Snowflake получила первую популярность в начале протестов, начавшихся в сентябре 2022. С 20 по 24 сентября количество пользователей Snowflake из Ирана выросло[17] с 1% до 67% от общего числа пользователей Snowflake и составило более 60 000.[1][24]

Примечания

  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Fifield, David; Wang, Xiaokang; Breault, Arlo; Bocovich, Cecylia (2024). "Snowflake, a censorship circumvention system using temporary WebRTC proxies". www.bamsoftware.com (англ.). USENIX. Дата обращения: 22 июля 2024. {{cite journal}}: |first3= пропущен |last3= (справка)
  2. The original Snowflake repo (англ.). GitHub (7 июля 2024). Дата обращения: 21 июля 2024. Архивировано 16 декабря 2016 года.
  3. 1 2 Snowflake, a censorship circumvention system using temporary WebRTC proxies — 1975.
  4. Snowflake
  5. 1 2 Snowflake WebExtension
  6. Snowflake
  7. 1 2 3 4 5 6 7 8 Snowflake. snowflake.torproject.org. Дата обращения: 22 июля 2024. Архивировано 27 августа 2020 года.
  8. 1 2 3 4 5 6 7 Fifield, David (2017-12-15). Threat modeling and circumvention of Internet censorship. www.bamsoftware.com (PhD thesis) (англ.). EECS Department, University of California, Berkeley. Архивировано 7 января 2018. Дата обращения: 28 июля 2024.
  9. 1 2 3 4 5 6 Tor Browser 10.5: Поддержка Snowflake в качестве сетевого моста. Команда Tor Browser объявляет о поддержке Snowflake в качестве одного из доступных сетевых мостов в стабильных версиях Tor Browser, начиная с версии 10.5. comss.ru (17 июня 2021). Дата обращения: 24 июля 2024. Архивировано 17 июня 2021 года.
  10. Холмогоров, Валентин Нецензурный Tor. Как Tor Project борется за свободу слова. Хакер (7 октября 2020). Дата обращения: 24 июля 2024. Архивировано 3 июля 2024 года.  (требуется подписка)
  11. 1 2 3 4 5 6 7 Интервью с представителями Tor Project. roskomsvoboda.org (15 февраля 2022). Дата обращения: 24 июля 2024. Архивировано 4 марта 2024 года.
  12. Brave Browser: новая функция Snowflake помогает обходить блокировки Tor. PlayGround.ru (20 января 2023). Дата обращения: 24 июля 2024. Архивировано 20 января 2023 года.
  13. MacMillan, Kyle; Holland, Jordan; Mittal, Prateek (2020). "Evaluating Snowflake as an Indistinguishable Censorship Circumvention Tool". arXiv preprint arXiv:2008.03254 (англ.). arXiv:2008.03254. doi:10.48550/ARXIV.2008.03254.
  14. 1 2 Tor Project запустил зеркало своего заблокированного в РФ сайта. roskomsvoboda.org (8 декабря 2021). — ««Кроме этого, известный исследователь ValdikSS ночью нашел способ восстановить работоспособность транспорта Snowflake в Tor Browser для тех, у кого он блокируется. ValdikSS опубликовал на (тоже не заблокированном) gitlab.torproject.org свои версии исполняемых файлов snowflake-client для Windows и Linux, которыми нужно перезаписать файлы из комплекта Tor Browser, чтобы Snowflake опять заработал. Snowflake позволяет пользователям, у которых нет доступа к Tor, ходить в сеть через устройства других пользователей как через прокси», — подытоживает Roskomsvoboda Tech Talk.» Дата обращения: 24 июля 2024. Архивировано 7 марта 2024 года.
  15. 1 2 3 Signebøen Midtlien, Theodor (June 2024). Reducing distinguishability of DTLS for usage in Snowflake (PDF) (Master’s thesis) (англ.). Норвежский университет естественных и технических наук. Архивировано 27 июля 2024. Дата обращения: 28 июля 2024.
  16. Quintin, Cooper Snowflake Makes It Easy For Anyone to Fight Censorship (англ.). Electronic Frontier Foundation (4 октября 2022).
  17. 1 2 3 Как и зачем помогать Tor. roskomsvoboda.org (21 декабря 2023). Дата обращения: 24 июля 2024. Архивировано 29 декабря 2023 года.
  18. 1 2 3 4 Pu, Michael; Wang, Andrew; Chang, Anthony; Quan, Kieran; Zhou, Yi Wei (2024). "Exploring Amazon Simple Queue Service (SQS) for Censorship Circumvention" (PDF). Free and Open Communications on the Internet (англ.) (2): 22—26.
  19. WofWca. (More) Distributed servers (англ.). Tor Project GitLab (17 сентября 2023). Дата обращения: 24 июля 2024. Архивировано 24 марта 2024 года.
  20. WofWca. My funding application for Snowflake development to NLnet (англ.). Tor Project Forum (26 февраля 2024). Дата обращения: 24 июля 2024. Архивировано 1 апреля 2024 года.
  21. Responding to Tor censorship in Russia | Tor Project (англ.). blog.torproject.org. Дата обращения: 23 июля 2024. Архивировано 7 декабря 2021 года.
  22. Tor Metrics: Bridge users by country and transport: Russia (англ.). Tor Metrics. Архивировано 23 июля 2024 года.
  23. Метрики брокера Snowflake (англ.). Дата обращения: 8 августа 2024.
  24. Iran: Circumventing Censorship with Tor (англ.). Tor Project Forum (22 сентября 2022).