Цензура в интернете становится все более важной проблемой во всем мире. Это приводит к усилению «гонки вооружений» – государственные органы и частные корпорации в разных странах стремятся блокировать различный контент и борются со средствами обхода таких ограничений, а разработчики и исследователи стремятся создавать эффективные инструменты борьбы с цензурой.
Ученые из университетов Carnegie Mellon, Стенфордского университета и SRI International провели эксперимент, в ходе которого разработали специальный сервис для маскирования использования Tor – одного из наиболее популярных инструментов для обхода блокировок. Мы представляем вам рассказ о проделанной исследователями работе.
Tor против блокировок
Tor обеспечивает анонимность пользователей с помощью использования специальных релеев – то есть промежуточных серверов между пользователем и нужным ему сайтом. Обычно между пользователем и сайтом располагается несколько релеев, каждый из которых может расшифровывать лишь небольшой объем данных в пересылаемом пакете – достаточный ровно для того, чтобы узнать следующую точку в цепочке и отправить его туда. В итоге даже если в цепочку добавить релей, контролируемый злоумышленниками или цензорами, им не удастся узнать и адресата и пункт назначения трафика.
В качестве инструмента борьбы с цензурой Tor работает эффективно, однако у цензоров остается возможность заблокировать его полностью. Иран и Китай проводили успешные кампании по блокировки. Им удавалось идентифицировать Tor-трафик с помощью сканирования TLS handshakes и других отличительных характеристик Tor.
Впоследствии разработчикам удалось адаптировать систему для обхода блокировок. Цензоры ответили блокировками HTTPS-соединений к множеству сайтов, включая Tor. Разработчики проекта создали программу obfsproxy, которая дополнительно шифрует трафик. Это соревнование продолжается постоянно.
Начальные данные эксперимента
Исследователи решили разработать инструмент, который бы позволял замаскировать использование Tor, чтобы сделать его применение возможным даже в регионах, где система полностью заблокирована.
- В качестве исходных предположений ученые выдвинули следующие:
- Цензор контролирует изолированный внутренний сегмент сети, который соединяется с внешним неподцензурным интернетом.
- Органы, занимающиеся блокировками, контролируют всю сетевую инфраструктуру внутри цензурируемого сегмента сети, но не софт на компьютерах конечных пользователей.
- Цензор стремится предотвратить доступ пользователей к нежелательным с его точки зрения материалам, предполагается, что все такие материалы расположены на серверах вне контролируемого сегмента сети.
- Роутеры на периметре этого сегмента анализируют незашифрованные данные всех пакетов, чтобы заблокировать нежелательный контент и не допустить проникновение соответствующих пакетов внутрь периметра.
- Все Tor-релеи расположены вне периметра.
Как это работает
Для маскировки использования Tor исследователи создали интрумент StegoTorus. Ее основная задача – улучшить возможности Tor по сопротивлению автоматизированного анализу протокола. Инструмент располагается между клиентом и первым релеем в цепочки, использует собственный протокол шифрования и модули стеганографии, чтобы затруднить идентификацию Tor-трафика.
На первом шаге в работу вступает модуль под названием chopper – он преобразует трафик в последовательность блоков различной длины, которые отправляются дальше не по порядку.
Данные шифруются с помощью 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 c модулем HTTP-стеганографии. В качестве референса для сравнения использовался датасет CAIDA с данными по порту 80 – почти наверняка все это HTTP-соединения.
Эксперимент показал, что вычислить обычный Tor достаточно легко. Протокол Tor слишком специфичен и обладает рядом характеристик, которые легко вычислить – к примеру, при его использовании TCP-соединения длятся 20-30 секунд. Инструмент Obfsproxy также почти никак не скрывает эти явные моменты. StegoTorus, в свою очередь, генерирует трафик, который куда ближе к референсу CAIDA.
В случае атаки с вычислением посещенных сайтов исследователи сравнивали вероятность такого раскрытия данных в случае «ванильного Tor» и их решения StegoTorus. Для оценки использовали шкалу AUC (Area Under Curve). По результатам анализа получилось, что в случае обычного Tor без дополнительной защиты вероятность раскрытия данных о посещенных сайтах ощутимо выше.
Заключение
История противостояния властей стран, вводящих цензуру в интернете, и разработчиков систем обхода блокировок говорит о том, что эффективными могут быть лишь комплекcные меры защиты. Использование лишь одного инструмента не может гарантировать доступ к нужным данным и то, что информация об обходе блокировки не станет известна цензорам.
Поэтому при использовании любых инструментов обеспечения приватности и доступа к контенту важно не забывать о том, что идеальных решений нет, и при возможности комбинировать разные методы для достижения наибольшей эффективности.
Полезные ссылки и материалы от Infatica:
- Исследование: создание устойчивого к блокировкам прокси-сервиса с помощью теории игр
- История борьбы с цензурой: как работает созданный учеными из MIT и Стенфорда метод flash proxy
- Как понять, когда прокси лгут: верификация физических локаций сетевых прокси с помощью алгоритма активной геолокации
- Как замаскироваться в интернете: сравниваем серверные и резидентные прокси