Експеримент: Як замаскувати використання Tor для обходу блокувань

Експеримент: Як замаскувати використання Tor для обходу блокувань

Цензура в інтернеті стає дедалі важливішою проблемою у всьому світі. Це призводить до посилення «перегонів озброєнь» – державні органи та приватні корпорації у різних країнах прагнуть блокувати різний контент та борються із засобами обходу таких обмежень, а розробники та дослідники прагнуть створювати ефективні інструменти боротьби з цензурою.

Вчені з університетів Carnegie Mellon, Стенфордського університету та SRI International провели експеримент, під час якого розробили спеціальний сервіс для маскування використання Tor – одного з найпопулярніших інструментів для обходу блокувань. Ми представляємо вам розповідь про виконану дослідниками роботу.

Tor проти блокувань

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

Як інструмент боротьби з цензурою Tor працює ефективно, проте у цензорів залишається можливість заблокувати його повністю. Іран і Китай проводили успішні кампанії з блокування. Їм вдавалося ідентифікувати Tor-трафік за допомогою сканування TLS handshakes та інших характеристик Tor.

Згодом розробникам вдалося адаптувати систему для обходу блокувань. Цензори відповіли блокуванням HTTPS-з'єднань до багатьох сайтів, включаючи Tor. Розробники проекту створили програму obfsproxy, яка додатково шифрує трафік. Це змагання продовжується постійно.

Початкові дані експерименту

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

  • Як вихідні припущення вчені висунули такі:
  • Цензор контролює ізольований внутрішній сегмент мережі, який поєднується із зовнішнім непідцензурним інтернетом.
  • Органи, що займаються блокуваннями, контролюють всю мережеву інфраструктуру всередині сегменту мережі, що цензурується, але не софт на комп'ютерах кінцевих користувачів.
  • Цензор прагне запобігти доступу користувачів до небажаних з його точки зору матеріалів, передбачається, що всі такі матеріали розташовані на серверах поза контрольованим сегментом мережі.
  • Роутери на периметрі цього сегмента аналізують незашифровані дані всіх пакетів, щоб заблокувати небажаний контент і запобігти проникненню відповідних пакетів всередину периметра.
  • Всі Tor-релеї розташовані поза периметром.

Як це працює

Для маскування використання Tor дослідники створили інструмент StegoTorus. Її основне завдання – покращити можливості Tor щодо опору автоматизованого аналізу протоколу. Інструмент розташовується між клієнтом та першим релеєм у ланцюжку, використовує власний протокол шифрування та модулі стеганографії, щоб утруднити ідентифікацію Tor-трафіку.

На першому кроці в роботу вступає модуль під назвою chopper - він перетворює трафік на послідовність блоків різної довжини, які відправляються далі не по порядку.

Експеримент: Як замаскувати використання Tor для обходу блокувань

Дані шифруються за допомогою AES у режимі GCM. Заголовок блоку містить 32-бітний номер послідовності, два поля довжини (d і p) – вони позначають обсяг даних, спеціальне поле F та 56-бітове поле перевірки, значення якого має бути нульовим. Мінімальна довжина блоку становить 32 байти, а максимальна 217+32 байти. Довжина контролюється модулями стеганографії.

При встановленні з'єднання перші кілька байтів інформації - це handshake-повідомлення, з його допомогою сервер розуміє, чи має справу з існуючим або новим з'єднанням. Якщо з'єднання належить до нового посилання, то сервер відповідає за допомогою handshake, і кожен з учасників обміну виділяє з нього ключі сесії. Крім цього, в системі реалізований механізм рекеїнгу (rekeying) – він схожий на виділення ключа сесій, але замість handshake-повідомлень використовуються блоки. Цей механізм змінює номер послідовності, але не торкається ID посилання.

Після того, як обидва учасники обміну даними відправили та отримали блок fin, посилання закривається. Для захисту від replay-атак або затримки доставки блоків обидва учасники повинні пам'ятати ID протягом якогось часу після закриття.

Вбудований модуль стеганографії ховає Tor-трафік всередину p2p-протоколу - за аналогією з роботою Skype при захищених VoIP-комунікаціях. Модуль HTTP-стеганографії симулює незашифрований HTTP-трафік. Система мімікрує під реального користувача зі звичайним браузером.

Стійкість до атак

Щоб перевірити, наскільки запропонований метод підвищує ефективність роботи Tor, дослідники розробили атаки двох типів.

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

Дослідники підтвердили ефективність атаки першого типу проти «ванільного Tor» – для цього вони збирали сліди відвідувань сайтів з топ-10 Alexa.com двадцять разів через звичайний Tor, obfsproxy та StegoTorus з модулем HTTP-стеганографії. Як референс для порівняння використовувався датасет CAIDA з даними порту 80 - майже напевно все це HTTP-з'єднання.

Експеримент показав, що вирахувати звичайний Tor досить легко. Протокол Tor дуже специфічний і має ряд параметрів, які просто визначити - наприклад, при його використанні TCP-з'єднання тривають 20-30 секунд. Інструмент Obfsproxy також практично не приховує ці очевидні моменти. StegoTorus, у свою чергу, генерує трафік, який ближче до референсу CAIDA.

Експеримент: Як замаскувати використання Tor для обходу блокувань

У разі атаки з обчисленням відвіданих сайтів дослідники порівнювали ймовірність такого розкриття даних у разі «ванільного Tor» та їх вирішення StegoTorus. Для оцінки використовували шкалу AUC (Area Under Curve). За результатами аналізу вийшло, що у випадку звичайного Tor без додаткового захисту ймовірність розкриття даних про відвідувані сайти відчутно вища.

Експеримент: Як замаскувати використання Tor для обходу блокувань

Висновок

Історія протистояння влади країн, що вводять цензуру в інтернеті, та розробників систем обходу блокувань говорить про те, що ефективними можуть бути лише комплексні заходи захисту. Використання лише одного інструмента не може гарантувати доступу до потрібних даних і те, що інформація про обхід блокування не стане відома цензорам.

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

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

Джерело: habr.com

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