Проект Salmon: як ефективно протистояти інтернет-цензурі за допомогою проксі з рівнями довіри користувачам

Проект Salmon: як ефективно протистояти інтернет-цензурі за допомогою проксі з рівнями довіри користувачам

Уряди багатьох країн так чи інакше обмежують доступ громадян до інформації та сервісів в Інтернеті. Боротьба з подібною цензурою – важливе та непросте завдання. Зазвичай прості рішення не можуть похвалитися високою надійністю чи довготривалою ефективністю. Більш складні методи подолання блокувань мають мінуси з точки зору зручності використання, низькою продуктивністю або не дозволяють зберегти якість використання інтернету на належному рівні.

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

Опис підходу

Вчені розробили інструмент Salmon – система проксі-серверів, керованих волонтерами з країн без обмежень на використання інтернету. Щоб захистити ці сервери від блокувань цензорами, система використовує спеціальний алгоритм присвоєння користувачам рівня довіри.

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

Як це працює

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

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

Ще кілька базових тез:

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

Все це призводить до опису трьох ключових компонентів системи подолання блокувань.

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

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

Рівні довіри: подробиці реалізації

Рівень довіри є не тільки у користувачів, а й у проксі-серверів. Система надає користувачеві з певним рівнем сервер з таким же рівнем довіри. При цьому рівень довіри користувачів може підвищуватися, так і знижуватися, а у випадку серверів він тільки зростає.

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

Проект Salmon: як ефективно протистояти інтернет-цензурі за допомогою проксі з рівнями довіри користувачам

Необхідність чекати так довго, щоб з'ясувати адреси найякісніших проксі-серверів – вкрай ефективний захід протидії цензорам.

Рівень довіри сервера – це мінімальний рівень довіри, наданих йому користувачів. Наприклад, якщо новий сервер у системі присвоюється користувачам, серед яких мінімальний рейтинг 2, такий отримає і проксі. Якщо потім сервером користуватиметься людина з рейтингом 3, але залишаться і користувачі з другого рівня, то рейтинг сервера буде 2. Якщо ж всі користувачі сервера підвищили рівень, то він підвищується і для проксі. При цьому сервер не може втратити рівень довіри, навпаки, якщо його заблокують, оштрафують користувачів.

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

Крім того, користувачі з високим рівнем довіри краще ізольовані від атак цензорів, адже на цензор потрібно чекати місяцями, щоб з'ясувати адресу проксі. У результаті можливість блокування серверів для людей з високим ризиком у рази нижче, ніж для власників низької довіри.

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

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

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

Система складається з трьох компонентів:

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

Проект Salmon: як ефективно протистояти інтернет-цензурі за допомогою проксі з рівнями довіри користувачам

Інтерфейс клієнтської програми системи

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

Висновок

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

На сьогодні все, дякую за увагу!

Корисні посилання та матеріали від Інфатика:

Джерело: habr.com

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