СофтХабрахабр

Проект Salmon: как эффективно противостоять интернет-цензуре с помощью прокси с уровнями доверия пользователям

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

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

Описание подхода

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

Кроме того, противодействие атакам Сивиллы осуществляется с помощью требований предоставить при регистрации в системе ссылку на действующий аккаунт в соцсети или получить рекомендацию пользователя с высоким уровнем доверия. Метод предполагает разоблачение потенциальных агентов цензоров, которые представляются обычными пользователями, чтобы узнать IP-адрес прокси-сервера и заблокировать его.

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

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

Цензор может решать задачи, для которых требуются сотни и тысячи full-time сотрудников. Также предполагается, что государство обладает значительными ресурсами, в том числе человеческими.

Еще несколько базовых тезисов:

  • Задача системы – дать возможность обхода блокировок (т.е. Предоставить IP-адрес прокси-сервера) всем пользователям, живущим в регионах с онлайн-цензурой.
  • Агенты/сотрудники цензурирующих интернет органов и ведомств могут пытаться подключиться к системе под видом обычных пользователей.
  • Цензор может заблокировать любой прокси-сервер, адрес которого становится ему известен.
  • Организаторы системы Salmon в таком случае понимают, что цензор каким-то образом узнал адрес сервера.

Все это подводит нас к описанию трех ключевых компонентов системы преодоления блокировок.

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

Все логично: цензору обычно нужно заблокировать прокси-сервер здесь и сейчас, он не будет ждать долгое время, чтобы попытаться «прокачать» аккаунты своих агентов в системе. Кроме того, понятно и что новые пользователи могут изначально получать разный уровень доверия – например, друзья и родственники создателей проекта с меньшей вероятностью будут сотрудничать с государствами-цензорами.

Уровни доверия: подробности реализации

Уровень доверия есть не только у пользователей, но и у прокси-серверов. Система присваивает пользователю с определенным уровнем сервер с таким же уровнем доверия. При этом уровень доверия пользователей может как повышаться, так и понижаться, а в случае серверов он только растет.

Доверие повышается, если сервер не блокируют длительное время – с каждым новым уровень необходимое время удваивается: чтобы перейти с уровня n на n+1, нужно 2n+1 дней бесперебойной работы прокси-сервера. Каждый раз, когда цензоры блокируют сервер, с которым работал определенный пользователь, его уровень доверия понижается. Путь до максимального, шестого, уровня доверия занимает более двух месяцев.

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

К примеру, если новый сервер в системе присваивается пользователям, среди которых минимальный рейтинг 2, то такой же получит и прокси. Уровень доверия сервера – это минимальный уровень доверия, присвоенных ему пользователей. Если же все пользователи сервера повысили уровень, то он повышается и для прокси. Если затем сервером станет пользоваться человек с рейтингом 3, но останутся и пользователи со второго уровня, то рейтинг сервера будет 2. При этом сервер не может потерять уровень доверия, наоборот, если его заблокируют, то оштрафуют пользователей.

Во-первых, серверы не одинаковы. Пользователи с высоким уровнем доверия получают вознаграждения двух типов. Система Salmon подбирает самые производительные сервера для пользователей с максимальным рейтингом. Существуют минимальные требования по пропускной способности (100 Кбит/сек), но волонтер-владелец сервера может предлагать и больше – верхней границы нет.

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

Пользователи с высоким рейтингом (L) могут приглашать своих друзей присоединиться к платформе. Для того, чтобы подключить к лучшим прокси как можно больше заслуживающих того пользователей, создатели Salmon разработали рекомендательную систему. Приглашенные люди получают рейтинг L-1.

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

Модули системы

Система состоит из трех компонентов:

  • клиент Salmon для Windows;
  • серверная программа-демон, которую устанавливают волонтеры (версии для Windows и Linux);
  • Сервер центрально директории, хранящий базу данных всех прокси-серверов и занимающийся распределением IP-адресов среди пользователей.

Интерфейс клиентского приложения системы

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

Заключение

На данный момент метод Salmon не получил широкого распространения, известно лишь о небольших пилотных проектах для пользователей в Иране и Китае. Несмотря на то, что это интересный проект, он в полной мере не обеспечивает анонимность, защиту волонтеров, и сами создатели признают, что он подвержен атакам с использованием honeypot-сервисов. Тем не менее реализация системы с уровнями доверия выглядит интересным экспериментом, который может иметь продолжение.

На сегодня все, спасибо за внимание!

Полезные ссылки и материалы от Infatica:

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть