Как распределяются мосты Tor: BridgeDB, rdsys, Moat и логика дефицита
Мост - это релей Tor, которого нет в публичном списке: цензор должен сначала обнаружить его, прежде чем блокировать. Это свойство действует лишь до тех пор, пока мост остается труднодоступным - сама система раздачи является частью устойчивости Tor к цензуре. В октябре 2024 года Tor Project вывел из эксплуатации BridgeDB, систему, более десятилетия раздававшую мосты, и завершил миграцию на rdsys - систему распределения нового поколения. То, как эти системы решают, кто и какой мост получит, многое объясняет в том, почему мосты до сих пор работают в сетях с жесткой цензурой.
От BridgeDB к rdsys
BridgeDB был выпущен более одиннадцати лет назад как прототип и проработал куда дольше отведенного срока. По словам инженеров, стоявших за миграцией, он предлагал запросы через веб, запросы по электронной почте и API браузера Tor под названием Moat, и все три канала оказались под давлением: цензоры парсили сайты запроса мостов, заваливали почтовую систему, чтобы собрать адреса, и обходили капчи с помощью сервисов ручного разгадывания CAPTCHA. Годы заплаток против этих тактик превратились в технический долг, поэтому примерно в 2020 году проект начал разработку замены: rdsys. rdsys - сокращение от resource distribution system, «система распределения ресурсов» - намеренно шире своего предшественника. Он раздает самые разные ресурсы для обхода блокировок: мосты Tor, прокси Snowflake, конечные точки VPN, даже ссылки на скачивание обходного ПО. Архитектурно это один фоновый процесс, собирающий ресурсы, и несколько процессов-дистрибьюторов, которые их выдают. Бэкенд ведет учет и сопоставляет каждый ресурс ровно с одним дистрибьютором; задача дистрибьютора, как сказано в документации rdsys, - разумно раздавать ресурсы, предлагать удобный интерфейс и противостоять Sybil-атакам. Каналы раздачи
Документация поддержки Tor Project формулирует предпосылку прямо: "Поскольку адреса мостов не являются публичными, вам придется запросить их самостоятельно". Сегодня существует несколько параллельных каналов, у каждого свой контроль доступа. - Moat встроен в Tor Browser: пользователь нажимает "Запросить мосты" в настройках соединения, решает капчу, и мосты добавляются автоматически.
- HTTPS-дистрибьютор обслуживает сайт мостов: там есть опция в один клик ("Just give me bridges!") и расширенные настройки вроде типа транспорта или адресов IPv6.
- Почтовый дистрибьютор отвечает на письма в bridges@torproject.org, отправленные с адреса Gmail или Riseup, с текстом "get transport obfs4" в теле письма.
- Telegram-дистрибьютор выдает мосты через @GetBridgesBot командами вроде /obfs4 или /webtunnel. Чтобы отличить реальных пользователей от массово созданных аккаунтов, он учитывает историю аккаунта, отделяя старые от недавно зарегистрированных; Tor Project описывает это как ответ на усиление цензуры в России.
- Lox, пока находящийся в разработке, - это защищающий приватность механизм на основе репутации: он обнаруживает заблокированные мосты и вознаграждает пользователей, чьи мосты остаются доступными.
Есть и два «не-канала», о которых стоит знать. Резервный пул (Reserved) отложен для ручной раздачи НКО и отдельным людям с особыми потребностями, а мосты с пометкой None операторы раздают самостоятельно. Свежезарегистрированный мост около суток отображается как None, прежде чем попасть в назначенный ему пул. Moat и компромисс с капчей
Moat заслуживает отдельного взгляда, потому что именно с ним большинство новых пользователей сталкивается первым. Капча была способом системы убедиться, что запрос исходит от человека, а не от парсера цензора, и ее решение по-прежнему задокументированный сценарий в Tor Browser. Но собственная оценка Tor Project сурова: капчи стали плохой сделкой. Они мучительно недоступны для людей с экранными дикторами или старыми устройствами, порой непреодолимы из-за языковых барьеров и все менее эффективны, поскольку цензоры применяют автоматизированные инструменты или сервисы ручного разгадывания, проходящие их без труда. Именно поэтому rdsys отказывается от капч, а Moat выводится из эксплуатации в пользу дистрибьютора Settings - API, который автоматически настраивает параметры обхода, включая тип моста, по стране пользователя. Почему дефицит - это суть
Каждый выданный мост - это мост, который мог узнать цензор, поэтому раздача сознательно нормирована, а не опубликована. Бэкенд rdsys выдает только те ресурсы, которые заведомо работают: служба bridgestrap проверяет подключаемые транспорты каждого моста и помечает их как рабочие или неисправные, отдельная служба измеряет пропускную способность, а каждый мост Tor проходит повторную проверку, когда истекает его восемнадцатичасовой таймер. Операторы могут узнать состояние собственного моста через публичную страницу статуса по отпечатку. Заблокированные или сломанные мосты изымаются из оборота, а не навязываются новым пользователям в том же регионе, а механизм вроде Lox создан именно для того, чтобы обнаруживать заблокированные мосты и направлять свежие тем, кому они еще нужны. Открытая исследовательская проблема
Корневое напряжение старо. В статье 2016 года исследователи, стоявшие за протоколом TorBricks, сформулировали это прямо: существующие методы раздачи мостов уязвимы перед недобросовестными пользователями, которые получают адреса мостов и блокируют их. Их предложение нормировало логарифмический бюджет мостов на каждого недобросовестного пользователя, так что даже при неизвестном числе запрашивающих, подконтрольных цензору, честные пользователи получали рабочий мост через несколько раундов обмена. Десятилетие спустя общая проблема не решена; ответ rdsys прагматичен, а не математичен: множество небольших каналов, каждый со своими эвристиками, чтобы ни один scrape или флуд не опустошил пул. Практическим дополнением к этому материалу служит наш гид по мостам в регионах с цензурой - о том, как запросить и настроить их сегодня. Итог
Раздача мостов - это баланс между доступностью и дефицитом. Публиковать слишком свободно - цензоры соберут список; фильтровать слишком строго - легитимные пользователи не попадут внутрь. Переход от BridgeDB к rdsys не отменил этот компромисс, но сделал систему достаточно модульной, чтобы пробовать новые каналы - от Telegram и Lox до настроек по местоположению, - пока старые эродируют. Для пользователей в условиях цензуры совет не изменился: запросите несколько мостов, проверьте их и будьте готовы просить еще.