Історія боротьби з цензурою: як працює створений вченими з MIT та Стенфорда метод flash proxy

Історія боротьби з цензурою: як працює створений вченими з MIT та Стенфорда метод flash proxy

На початку 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>

Ось так виглядає бейдж:

Історія боротьби з цензурою: як працює створений вченими з MIT та Стенфорда метод flash proxy

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

У результаті можливе отримання продуктивності, достатньої підтримки Tor-тунелю.

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

Історія боротьби з цензурою: як працює створений вченими з MIT та Стенфорда метод flash proxy

Типова сесія при використанні цієї схеми виглядає так:

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

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

Висновок

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

Джерело: habr.com

Додати коментар або відгук