"VPN Gate", или – неубиваемая Великим Китайским Фаерволом распределённая сеть VPN
Сегодня речь пойдёт о технологии распределённой сети "VPN Gate", своего рода недруга Поднебесной в области интернет цензуры. На "Хабре" много статей на тему "SoftEther" VPN (нижележащий слой "VPN Gate"), но нет ни одной технически всесторонней статьи про саму распределённую сеть и такое чувство, что в рунете про неё вообще забыли.
"VPN Gate" – академический эксперимент Дайу Нобори с 2013-го года. Проект представляет собой интернет-сервис научных исследований в Высшей Школе Университета Цукуба, Япония. Цель данного исследования заключается в расширении знаний "Глобальных распределенных открытых ретрансляторов VPN".
Отличительной особенностью данной сети является её функционирование в виде роя. То есть каждый желающий пользователь может поделиться своей пропускной способностью с другими. Я знаю, что вы подумали, очередной неудачный "dVPN" пиар на основе блокчейна.
Однако это не так, данный проект уже насчитывает 8634 узлов и 534 петабайта трафика за всё время существования. К примеру даже у TOR-а узлов – 7 тысяч.
Основными пользователями являются китайцы, в связи с успешной архитектурой борьбы против активных пробов Великого Китайского Фаервола.
Установка GUI клиента, сервера со встроенным плагином осуществляется через собственный сайт "VPN Gate". Каждый сгенерированный zip билд программы отличается размером, чтобы осложнить DPI анализ данных внутри. Также в него записываются рандомные адреса VPN серверов, если изначальные сервера VPN Gate для получения списков будут заблокированы. Но как по мне самым большим успехом команды проекта было прикручивание "NAT Hole Punching", где каждый пользователь, даже без белого IP, мог бы поделиться своей пропускной способностью. Никакой регистрации.
Борьба с Фаерволом.
Спросите вы, почему Китайский Фаервол (GFW – "Great Firewall of China") ещё его не заблокировал, здесь же начинается хронология борьбы между силами добра и зла/
Сразу после начала проекта, первые 4 дня наплыв большинства пользователей был именно из Китая, 5к пользователей разом нахлынули на сервис.
На пятый день GFW заблокировал основной сайт "VPN Gate". Пользователи начали делиться установщиками на порталах таких, как "Weibo".
Тогда GFW начал блокировать сервера VPN, получая их с главной страницы проекта, только они сделали ошибку, они не проверяли IP адреса на легитимность, и тогда команда проекта бросает на стол.
Они начинают смешивать рандомные IP адреса со списком, в течение трёх дней у них полный контроль над тем, что блокирует GFW, они ломают внутренние сайты Китая.
GFW видит свою ошибку и прежде чем блокировать всё подряд, начинает проверять каждый IP адрес путём мощной технологии DPI, которая называется active probing. Это когда на каждый запрошенный пользователем удалённый IP адрес сначала отправляется рандомный GFW бот (с рандомного IP) с тестовым запросом, и если в полученном ответе содержатся запрещённые фильтром слова, удалённый IP адрес блокируется.
Но так как количество серверов "VPN Gate" большое, то у сети преимущество, что если клиенты будут отправлять на проверку логи каждых кратковременных запросов от узлов, которые пытались к ним подключиться?
Ребята автоматически начали обрабатывать такие логи у себя на сервере. Так как у провайдеров поднебесной большой пул адресов, одиночным серверам не всегда удаётся узнать айпишник бота который их просканил и выдал на казнь GFW. Вдобавок даже с обфускацией VPN протокола к ним подключаются много людей, что эвристически обнаруживается.
Но если учитывать статистику со всех узлов, к которым одновременно в коротком интервале подключаются и отключаются айпишники, то их можно отсеять и заблокировать. Таким образом сеть отражает попытки GFW ботов их найти. К тому же она выдаёт лишь ограниченный список серверов пользователям, даже если одновременно с 16 миллионов (по некоторым данным, есть даже иностранные пулы) IP адресов GFW попытаются просканировать сеть, у них это не получится. Итог — чем больше участников, тем сильнее оборона.
Динамичные IP адреса участников за NAT также сыграли положительную роль в доступности сети.
VPN сервера оперируют на четырёх протоколах: SSL-VPN, OpenVPN, L2TP/IPsec, MS-SSTP.
Любым желающим помочь, которым не жалко поделиться интернет каналом, могут скачать пакет сервера, настраивается за 5-6 кликов. Также можно указать свое сообщение пользователям при подключении, оставить адрес почты для связи – есть некоторая подстраховка от silovikov, клиент хранит пакеты подключений две недели (можете обрадовать Яровую и поставить на 30 дней, шучу), скорость также можно настроить, есть настраиваемый встроенный фаервол с политиками безопасности, т.е. ваши локальные адреса в безопасности, установка без прав администратора. Тем, кто хочет подключиться можно скачать пакет клиента. Есть возможность выбирать страны с лучшим пингом и пропускной способностью.
yans.jpg ( ͡° ͜ʖ ͡°)