Pull to refresh
72.52
Cloud4Y
#1 Корпоративный облачный провайдер

Обфускация сетевого трафика и автоматическая интернет-цензура

Level of difficultyMedium
Reading time28 min
Views10K
Original author: Lucas Dixon, Thomas Ristenpart, Thomas Shrimpton

Интернет‑цензоры ищут способы выявить и заблокировать доступ в интернете к информации, которую они считают нежелательной. Для этих целей они часто используют такие сетевые инструменты, как глубокая проверка пакетов (Deep packet inspection, DPI), которые позволяют выявить такие соединения. В ответ активисты разработали и внедрили механизмы запутывания сетевого трафика. Они применяют специализированные криптографические инструменты, чтобы попытаться скрыть от DPI истинную природу и содержание соединений.

Сегодня поговорим про обфускацию сетевого трафика и её роль в обходе интернет‑цензуры. Расскажем, из‑за чего возникла необходимость в инструментах запутывания, какие подходы к запутыванию существуют и как как цензоры могут обнаружить такую активность. Заодно обсудим проблемы, связанные с исследованием обхода цензуры, и способах решения этих проблем сообществом.

Введение

Возможно, вы слышали или замечали сами, что власти разных стран стремятся контролировать, цензурить информацию в интернете. Это стремление обусловлено желанием правительств контролировать доступ к информации, которая считается политически или социально чувствительной, или защищать «национальные экономические интересы».

Например, в Китае трудно найти хоть какую‑то информацию о событиях на площади Тяньаньмэнь в 1989 году, а популярные иностранные платформы вроде Gmail, YouTube и Twitter, блокируются на государственном уровне. Хотя «Великий китайский файрвол», возможно, является самым известным примером интернет‑цензуры со стороны национального государства, аналогичные меры контроля введены в Турции, Иране, Малайзии, Сирии, Беларуси и многих других странах, в том числе и в России.

Думаю, многие слышали и о автоматической цензуре, которая выполняется оборудованием для мониторинга сети, установленным у интернет‑провайдеров (ISP). Эти системы обнаруживают и прерывают поток «нелегитимной» информации без какого‑либо прямого участия человека и применяются в отношении всех граждан. Есть и более прямолинейный подход к удалению интернет‑контента, например, решение правительства США закрыть платформу Silk Road («Шелковый путь»), на которой расцвела торговля наркотиками и оружием.

Далее рассмотрим,

  • Как современные устройства глубокой проверки пакетов (DPI) позволяют цензорам фильтровать трафик на основе содержащегося в них контента прикладного уровня. Например, условий поиска, запрошенных URL‑адресов, типов файлов и информации, идентифицирующей само приложение.

  • Технические методы, используемые для запутывания контента прикладного уровня, чтобы свести к минимуму полезность DPI. Они тесно используют криптографию, хотя и нестандартными способами. Мы относим методы к одной из трех категорий: те, которые рандомизируют каждый бит полезных данных пакета; те, которые преобразуют полезные данные так, чтобы они имитировали типичный «безопасный» трафик (например, сообщения HTTP); и те, которые туннелируют полезные данные через реальные реализации сетевых протоколов. (например, VPN или HTTPS‑прокси). Каждая категория имеет свой собственный набор предположений о подходе цензора и нацелена на разные точки в пространстве проектирования безопасности/производительности.

  • Обсудим проблемы, с которыми сталкиваются исследователи в этой области. Главной из них является нехватка достоверной информации о технических возможностях реальных цензоров и их чувствительности к ошибкам фильтрации (как пропуска целевого трафика, так и блокировки нецелевого трафика). Точно так же нам не хватает понимания реальных пользователей инструментов обхода цензуры. В обоих случаях, как мы увидим, даже сбор такой информации представляет собой серьезные проблемы.

  • Попробуем сформулировать цели и задачи, которые способны повлиять на разработку новых инструментов запутывания.

Предпосылки: от цензуры к обфускации протокола

В дальнейшем вам неоднократно встретятся такие термины, как «цензор», «противник» и «чувствительный поток». Чтобы ключевые термины стали понятнее, взгляните на таблицу ниже:

Чувствительный трафик

Сетевые соединения, считающиеся нежелательными, запрещёнными или использующие инструменты маскировки

Цензор, противник

Сторона, которая контролирует сеть связи и пытается идентифицировать и ограничить потоки конфиденциальной информации

Инструмент обфускации

Программное обеспечение, предназначенное для предотвращения идентификации и блокировки соединений цензорами

Фоновый трафик

Нечувствительные потоки, сосуществующие (потенциально) с конфиденциальными потоками в сети

Сопутствующий ущерб

Фоновый трафик, страдающий от попыток цензуры контролировать конфиденциальные потоки

Прокси

Сторона, которая будет перенаправлять трафик в более широкий интернет от имени подвергнутого цензуре клиента. Внешняя по отношению к сети, контролируемой цензурой

Технические средства автоматической цензуры предполагают, что цензор имеет привилегированный доступ к сетевой инфраструктуре. Правительства обычно добиваются этого посредством прямого или косвенного контроля над провайдерами интернет‑услуг (ISP). В сообществе безопасности это называется противником на пути: он находится на пути сетевых пакетов между пользователем, стремящимся получить доступ к конфиденциальному контенту, и поставщиком этого контента (например, веб‑сервером).

А. Методы идентификации трафика

Перед сетевыми цензорами стоят две задачи: точно идентифицировать сетевой трафик, который передаёт или пытается получить доступ к конфиденциальному контенту, и (потенциально) выполнить цензурирующее действие в отношении этого трафика. Примерами последнего являются отбрасывание пакетов для ухудшения качества работы пользователя, принуждение одной или обеих конечных точек к разрыву соединения (например, путем отправки сообщений сброса TCP) и перенаправление веб‑соединений на веб‑сервер, контролируемый цензурой. Но поскольку действиям по цензуре должна предшествовать идентификация целевого трафика, сфокусируемся только на задаче идентификации цензора.

Идентификация по адресу

Первоначально попытки доступа к запрещённому контенту выявлялись путём сопоставления адресной информации — IP‑адресов, номеров портов и доменных имён — с конфиденциальным контентом, что приводило к созданию чёрного списка адресов. Любые сетевые подключения к этим адресам рассматривались как попытки доступа к конфиденциальному контенту.

Для занесённых в чёрный список доменных имён цензор может предписать интернет‑провайдерам использовать модифицированное программное обеспечение DNS. Подключения к этим доменам обычно блокируются или перенаправляются по неверному адресу. Для IP‑адресов цензор может установить у интернет‑провайдеров аппаратные механизмы, которые сравнивают информацию в IP‑заголовке пакета со списком. Поскольку IP‑заголовки появляются в пакете на ранней стадии, необходимо выполнить только «поверхностную» проверку пакета, игнорируя информацию, инкапсулированную глубже в пакете. Информация о портах TCP или UDP также собирается при поверхностной проверке.

Пользователь может избежать идентификации как по имени домена, так и по IP/порту, используя прокси — совместную машину, информация об адресе которой не занесена в черный список. Принцип обхода с использованием прокси‑сервера обобщен на схеме ниже.

Обход цензуры через прокси. Клиент подключается к прокси-серверу, который передает его трафик по назначению. Он может отправлять трафик через несколько прокси-серверов до пункта назначения, если желательна анонимность.
Обход цензуры через прокси. Клиент подключается к прокси-серверу, который передает его трафик по назначению. Он может отправлять трафик через несколько прокси-серверов до пункта назначения, если желательна анонимность.

Tor, uProxy, Anonymizer и Psiphon и другие инструменты полагаются на использование прокси‑серверов. В последнее время было успешно реализовано прикрытие доменом (Domain fronting) — форма ложной маршрутизации, которая работает на прикладном уровне. О ней чуть позже.

Идентификация путём глубокой проверки пакетов

Успех прокси‑систем побудил цензоров развернуть новые механизмы DPI, способные идентифицировать трафик на основе информации, находящейся глубже внутри сетевых пакетов. Например, контент прикладного уровня, передаваемый в (незашифрованных) пакетных данных, может разглашать созданные пользователем данные, такие как ключевые слова в поисковых URL‑адресах. Всё тот же Великий китайский файрвол блокирует трафик, содержащий занесённые в чёрный список ключевые слова.

В ответ на DPI современные системы средств обхода шифруют контент для прокси‑серверов, предотвращая возможность поиска по ключевым словам. В результате цензоры начали пытаться использовать DPI для идентификации блокировки трафика, созданного инструментами обхода. Например, Китай использовал DPI для обнаружения соединений Tor путём поиска определённой последовательности байтов в первом сообщении уровня приложения, передаваемом от клиента к серверу. Эта последовательность соответствует наборам шифров TLS, выбранным клиентами Tor и отличающимся от тех, которые были выбраны в других реализациях TLS.

Другой пример: Иран использовал DPI для определения срока действия сертификатов TLS. В то время серверы Tor использовали сертификаты с относительно близкими сроками действия, тогда как большинство коммерческих серверов TLS выбирали сертификаты, которые истекали через много лет.

Эти политики блокировки использовали сложную информацию об инструменте обхода — конкретной реализации TLS — которая передаётся в полезных данных пакета. Но даже грубое сканирование содержимого прикладного уровня может обнаружить, что передаются стандартные протоколы (например, SSH, TLS). Этого бывает достаточно, чтобы вызвать нечувствительную блокировку или регистрацию IP‑адресов источника/назначения для более детального анализа или последующих действий.

Б. Обфускация сетевого трафика

Использование DPI для идентификации инструментов побудило сообщество разработчиков средств обхода атак искать контрмеры. Так появилась новая область исследований и разработок: запутывание сетевого трафика. Идея в том, чтобы заставить использующих DPI цензоров отказаться от попыток идентификации протокола, так как точная идентификация в масштабе требует чрезмерного количества ресурсов. Так появились инструменты, трафик которых может заставить DPI классифицировать запрещённый трафик как вполне себе легальный, не внесённый в чёрный список. Обфускацией сетевого трафика в исключительно исследовательских целях предлагаю заняться далее.

Подчеркну, что акцент на обфускации не умаляет важности других способов обхода цензуры. Фильтрация на основе IP и DNS по‑прежнему актуальнее, чем механизмы на основе DPI, и обход такой фильтрации по‑прежнему остаётся трудной задачей. В любом случае, для обхода цензуры требуется множество согласованно работающих механизмов, а вся система хороша настолько, насколько хорошо её самое слабое звено.

Модели угроз обфускации сетевого трафика

Модель угроз — это определённая комбинация возможностей и целей цензуры. Здесь я дам лишь неформальное описание моделей угроз. Эти модели применимы только для сбора информации из сетевых потоков (информации IP, контента уровня приложений и т. д.), а не для цензурирования действий (блокировки или иного нарушения связи), которые обеспечивает эта информация. Информация может быть собрана с использованием пассивных или активных методов.

  • Пассивный метод — это наблюдение за транспортными потоками. Один из громких примеров пассивных методов произошел в феврале 2012, когда была годовщина иранской революции 1979 года. Исламская Республика Иран развернула широкомасштабную кампанию цензуры, блокируя различные IP‑адреса, связанные с инструментами борьбы с цензурой, такими как torproject.org, и используя идентификацию сетевых потоков TLS на основе DPI.

  • Активный метод изменяет содержимое существующего пакета или вводит совершенно новые пакеты. В литературе встречаются примеры активных атак, манипулирующих соединениями путём изменения или удаления определённых пакетов. Хотя активные методы менее распространены, чем пассивные, китайское правительство использовало их для идентификации прокси‑серверов Tor.

Давайте вспомним наиболее известные случаи пассивных и активных атак.

Страна

Даты

Техники и цели

Активная/пассивная

Китай

2007-

Чёрные списки IP/DNS, отпечатки заголовков Tor TLS, проверка хендшейка Tor-релея

Оба

Иран

Февраль 2012

Чёрный список IP-адресов, ключевые слова, отпечатки TLS-хендшейков

Пассивная

Турция

Начало 2014

Чёрные списки IP/DNS, взлом BGP Twitter и Youtube

Оба

Пакистан

С перерывами

Чёрные списки IP/DNS, пометка URL, ключевых слов и типов файлов

Пассивная

Сирия

2011-

Чёрные списки IP/DNS, отпечатки мгновенных сообщений, черные списки ключевых слов в соцсетях

Пассивная

Эфиопия

2012

Определение Skype, отпечатки Tor TLS

Пассивная

Беларусь

2014-

Чёрные списки IP/DNS, фильтрация по содержимому пакета

Пассивная

Казахстан

2012

Отпечатки шифрования, отпечатки TLS хендшейков Tor

Пассивная

Египет

2014-

Чёрные списки IP/DNS, отпечатки мгновенных сообщений, черные списки ключевых слов в соцсетях

Пассивная

Примеры цензуры со стороны государств. Методы и цели, выделенные жирным шрифтом, основаны на DPI.

До сих пор мы смотрели на вопрос в основном со стороны возможностей модели угроз. Что касается целей, типичное предположение состоит в том, что цензоры как минимум хотят точно классифицировать трафик как целевой (для применения политики) или нет.

Точность имеет два аспекта. Во‑первых, это высокий процент истинно положительных результатов, что означает, что доля целевого трафика, помеченного как таковая, близка к единице. Во‑вторых, низкий уровень ложноположительных результатов. Это означает, что доля нецелевого трафика, ошибочно помеченного как целевой, близка к нулю.

Инструменты запутывания называют ненаблюдаемыми, если они могут обеспечить низкий уровень истинно‑положительных результатов и высокий уровень ложноположительных результатов. Правда, нет точной метрики, которая определяет достаточную частоту ошибок. Так что предпочтение отдаётся инструментам, которые могут вызвать высокий уровень ложноположительных результатов, поскольку утверждается, что цензоры с меньшей вероятностью их заблокируют.

Чувствительность к сопутствующему ущербу

Побочный ущерб возникает, когда механизмы обнаружения цензора страдают от ложных срабатываний. Это приводит к неправильной маркировке сетевых потоков как связанных с занесённым в чёрный список инструментом, протоколом или контентом, хотя на самом деле поток таковым не является. Почему цензоры должны быть чувствительны к сопутствующему ущербу? Ответ во многом зависит от контекста, меняется со временем и, в конечном итоге, зависит от социально‑политических факторов.

Пример цензурной кампании Ирана в феврале 2012 года является примером нечувствительной цензуры (поскольку подавляющее большинство трафика TLS почти наверняка не использовалось для обхода или не направлялось на хосты, которые режим считал оскорбительными). Надо отметить, что а)эта политика цензуры продолжалась лишь короткий период времени, б)для политики цензуры характерно изменение с точки зрения целей и чувствительности с течением времени.

1. Подходы к обфускации

Использование цензорами DPI вдохновило исследователей и активистов на изучение различных контрмер, направленных на запутывание полезной нагрузки пакетов. Подходы можно разбить на четыре категории: шифрование, рандомизация, мимикрия и туннелирование.

Шифрование

Естественной первой мыслью является то, что обычное шифрование уже является хорошим средством запутывания. Действительно, шифрование делает неразборчивыми зашифрованные данные. Но большинство протоколов шифрования имеют заголовки открытого текста в каждой полезной нагрузке пакета, которые идентифицируют сам протокол, а иногда и указывают на конкретное приложение, реализующее протокол. В Иране и Китае мы видели, что заголовки в виде открытого текста содержат характерные параметры, которые могут помочь цензору отличить, скажем, реализацию TLS в Tor от реализаций, отличных от Tor. Короче говоря, само шифрование данных не гарантирует уровень ненаблюдаемости, достаточный для того, чтобы сделать DPI ненадёжным для цензоров.

Рандомизация 

Если обычное шифрование вроде протокола открытого текста может оставлять уязвимые следы для DPI, почему бы не попытаться рандомизировать каждый байт в полезной нагрузке пакета? Эта стратегия была описана семейством обфускаторов obfs как попытка сделать сетевые потоки «никак не выглядящими». Эта стратегия также используется Dust и ScrambleSuit. ScrambleSuit и методы obfs разработаны специально для Obfsproxy — подключаемой транспортной среды Tor.

Стандартный подход к рандомизации полезной нагрузки заключается в применении потокового шифрования к каждому байту. Если предположить, что пассивный цензор не имеет доступа к секретному ключу потокового шифра, этот подход затрудняет идентификацию протокола, поскольку нет фиксированных характерных последовательностей, которые можно было бы наблюдать. Поскольку поточные шифры не обеспечивают требуемых строгих гарантий конфиденциальности и аутентичности, они обычно применяются поверх современных методов шифрования, которые это обеспечивают.

В основе использования рандомизирующих, «никак не выглядящих» обфускаторов лежит предположение, что цензоры используют только чёрные списки: они разрешают весь трафик, кроме того, что соответствует явному набору запрещённых типов трафика. Если цензоры используют белые списки исключительно или в дополнение к чёрным спискам, то полностью рандомизированные полезные нагрузки не смогут избежать цензуры. Это связано с тем, что всё будет выглядеть как отсутствие реального сетевого трафика.

Мимикрия

Чтобы справиться с цензурой, включающей белые списки, класс методов запутывания пытается обойти цензуру, маскируясь под протокол из белого списка. Вместо того, чтобы пытаться выглядеть «ничем», обфускаторы на основе мимикрии пытаются сделать полезные данные пакета похожими на то, чем они не являются, но будет идентифицировано DPI как разрешённое. Типичным примером является придание полезной нагрузки вида HTTP, который редко блокируется из‑за его повсеместного распространения.

Мимикрия в контексте антицензуры берёт своё начало в проекте Tor, добавляющем HTTP‑заголовки к пакетам Tor, хотя мимикрию можно рассматривать как стеганографию против определённого типа злоумышленников (систем DPI). Например, Stegotorus и SkypeMorph попытались использовать стеганографические подходы, чтобы выглядеть как трафик HTTP и Skype соответственно. К сожалению, они имеют запредельно низкую производительность.

Минималистичный, но гибкий подход к мимикрии можно найти в шифровании с преобразованием формата (FTE). FTE, реализованный в Tor, uProxy и других приложениях, позволяет программистам использовать регулярные выражения для указания формата зашифрованного текста. Поскольку DPI также использует регулярные выражения, часто можно вызвать неправильную классификацию протокола.

Мимикрирующие обфускаторы пытаются сделать полезные данные пакета похожими на определённый протокол «прикрытия», но на самом деле не используют реализацию целевого прикрытия. Это означает, что синтаксис и семантика сообщений, исходящих от систем имитации, могут значительно отличаться от синтаксиса сообщений, соответствующих протоколу прикрытия. В качестве примера: имитирующий обфускатор может создать сообщение типа HTTP GET после только что полученного сообщения, типа HTTP GET, тем самым нарушая правильную семантику HTTP.

Туннелирование

Вместо пользовательских реализаций мимикрирующей обфускации, которые воспроизводят некоторые аспекты протокола прикрытия, туннельные обфускаторы передают сообщения, созданные фактической реализацией протокола прикрытия. Туннелирование не является чем‑то новым для обфускации: все прокси‑системы используют туннелирование по зашифрованным каналам. Таким образом, любой прокси‑сервер VPN или HTTPS можно рассматривать как туннельный обфускатор. Ключевое отличие состоит в том, что туннельные обфускаторы предназначены для того, чтобы скрыть факт использования инструмента антицензуры, а иногда даже скрыть факт использования шифрования. VPN или прокси‑сервер не могут скрыть такие факты.

Ярким примером туннельного обфускатора является подключаемый транспорт Tor Meek. Meek туннелирует через TLS к балансировщикам нагрузки HTTP, управляемым Google, Amazon CloudFront или Microsoft Azure. Это называется «фронтированием домена», поскольку на уровне TCP (и, следовательно, в открытом виде) отображается домен google.com (как вариант), но базовый зашифрованный запрос предназначен для домена, который направляется на Tor‑релей с поддержкой Meek. Как и в случае с Tor‑TLS, обфускатор Meek старается сделать так, чтобы туннелированные соединения Tor с балансировщиком нагрузки выглядели как обычные TLS‑соединения с балансировщиком нагрузки. Замечу, что этот подход основан на недокументированной «функции» реализаций балансировщиков нагрузки. И вполне возможно, что компании могут модифицировать будущие балансировщики нагрузки таким образом, чтобы предотвратить фронтирование домена.

В таблице ниже обобщается ряд развернутых обфускаторов и их качественное сравнение с точки зрения развертывания, способа обмена ключами (должно ли использоваться шифрование для выполнения обфускации) и производительности.

Обфускатор

Тип

Варианты развёртывания

Обмен ключами

Производительность

Примечание

Cirripede

Туннелирование

Внутриполосный (TLS) с пререгистрацией

Высокая

Требуется сопутствующая поддержка от провайдеров/роутеров

CloudTransport

Туннелирование

Внутриполосный (TLS)

Средняя

HTTPS Google или Amazon, совмещение в облачном хранилище

Collage

Мимикрия

н/д

Низкая

Встраивание в контент, генерируемый пользователем, совмещение на контент‑серверах

Decoy Routing

Туннелирование

Внеполосный

Высокая

Требуется сопутствующая поддержка от роутеров

Dust

Рандомизатор

uProxy

Внеполосный

Высокая

Потоковый шифр с передаваемым ключевым материалом

FTE

Мимикрия

Lantern, Tor,

uProxy

Внеполосный

Высокая

Гибкое сопоставление DPI‑regex HTTP, SSH, SMTP и т. д.

Flashoroxy

Туннелирование

Tor

н/д

Средняя

Туннелирование открытого теста с использованием веб‑сокетов через браузерные прокси

Infranet

Мимикрия

Внутриполосный приватный

Низкая

Модулирование последовательности HTTP‑запросов для отправки данных

Marionette

Мимикрия

Внеполосный

Средняя

Программируемая имитация, включающая отслеживание состояния и статистические свойства

Домен‑фронтинг (напр. Meek)

Туннелирование

Tor, Psiphon,

Lantern,

uProxy,

Psiphon,

GoAgent

Внутриполосный (TLS)

Средняя

HTTPS Google или Amazon

Non‑PT Tor

Туннелирование

Tor

Внутриполосный (TLS)

Высокая

Non‑Tor TLS

obfs{2,3}

Рандомизатор

Tor

Внеполосный

Высокая

Полное шифрование сообщений

obfs4

Рандомизатор

Tor, Lantern

Внутриполосный приватный

Высокая

Единый обмен ключами, полное шифрование сообщений

ScrambleSuit

Рандомизатор

Tor

Внутриполосный приватный

Высокая

Единый обмен ключами, полное шифрование сообщений

SkypeMorph

Мимикрия

Внеполосный (Skype)

Низкая

Имитирует соединения Skype

Stegotorus

Мимикрия

Внутриполосный приватный

Низкая

Имитирует соединения HTTP

Telex

Туннелирование

Внутриполосный (модиф. TLS)

Высокая

Требуется сопутствующая поддержка от провайдеров/роутеров

Сравнение подходов к обфускации. Типы соответствуют классификации туннелирования, мимикрии или рандомизатора. Перечислены все заметные варианты развёртывания. Данные в столбце «Производительность» являются качественными и основаны на цифрах в исследованиях.

2. Взгляд сквозь обфускацию

Могут ли настоящие цензоры обнаружить обфускаторов? Исследователи продолжают изучать этот вопрос, и я хочу суммировать их подходы, сосредоточив внимание на пассивных методах. Если коротко — однозначного ответа пока нет.

Синтаксическое и смысловое несоответствие

Первым серьёзным исследованием обнаружения обфускаторов является работа Хумансадра, Брубейкера и Шматикова («The parrot is dead: Observing unobservable network communications», 2013). Авторы уделяют особое внимание системам имитации и утверждают, что все такие системы в корне ошибочны, поскольку они никогда не смогут полностью воспроизвести все аспекты реализации целевого протокола.

Они конкретно смотрят на то, в какой степени сообщения, отправляемые реализованными в настоящее время системами, соответствуют правильному синтаксису или семантике протокола покрытия. Под синтаксисом подразумеваем, что отправляемые сообщения можно анализировать как сообщения протокола покрытия — необходимые заголовки находятся в правильных местах, используются правильные наборы символов и т. д. Вместо этого семантика относится к тому, имеют ли сообщения смысл относительно правильного функционирования протокола.

Большинство систем мимикрии не пытались сымитировать все аспекты протокола прикрытия, что делало поиск синтаксических и семантических несоответствий предрешённым делом. Например, Stegotorus не реализует большую часть HTTP, а пакеты, отправляемые при использовании FTE (что способствует повышению производительности), содержат большое количество случайных неформатированных битов. Авторы показывают, как воспользоваться такими несовпадениями. В частности, они подробно описывают ряд способов обнаружения Stegotorus, SkypeMorph и CensorSpoofer. Ни один из этих обфускаторов на самом деле не используется (хотя и по причинам, не связанным с безопасностью), поэтому эти атаки тестировались только на смоделированных дублёрах для развёрнутых систем. Вполне возможно, что реальные развёртывания будут более (или менее) уязвимы для их методов атаки.

Ещё авторы не измерили побочный ущерб от своих тестов, т. е. до какой степени разработанные ими атаки могут ошибочно классифицировать безопасный трафик протокола покрытия как запутанный. Последующая работа показала, что некоторые из их тестов, если их топорно использовать, приведут к ложноположительным результатам в 37% случаев, в то время как другие кажутся эффективными для предотвращения сопутствующего ущерба.

Энтропийные тесты

Семантические и синтаксические проверки, приведённые выше, не помогут выявить использование рандомизирующих обфускаторов, поскольку они явно пытаются выглядеть как никакой реальный протокол. Исследователи оценили использование эффективных энтропийных тестов в контексте обнаружения рандомизирующих обфускаторов. Их методы сосредоточены на небольшом окне байтов, встречающихся в первых нескольких сообщениях наблюдаемого потока. Почему это работает? Возможно, потому, что пакеты, отправляемые всеми незашифрованными протоколами, всегда содержат некоторые заголовки открытого текста, тогда как рандомизаторы по определению содержат случайные данные в этих местах. Тест исследователей против obfsproxy достиг относительно низкого уровня ложноположительных результатов — всего 0,2% при использовании против незапутанных сетевых трассировок, собранных в университетском кампусе. Является ли это приемлемо низким процентом ложноположительных результатов на практике? Неясно и во многом зависит от контекста.

Анализ трафика

Даже без анализа полезной нагрузки пакета для использования фактических передаваемых значений байтов трафик, создаваемый обфускатором, может иметь длину пакетов, время между пакетами и шаблоны направленного трафика, которые отклоняются от фонового сетевого трафика. Использование таких метаданных для получения информации о коммуникациях называется анализом трафика.

Один из примеров девиантного поведения трафика создаёт Meek. Обычно HTTPS‑соединения включают два потока сообщений: один меньший восходящий запрос (от клиента к серверу), а затем более длинное нисходящее сообщение, содержащее запрошенный контент. Однако при использовании Meek клиент должен часто отправлять запросы, чтобы узнать, доступны ли новые данные. Для сетевой системы DPI это может показаться нехарактерно большим количеством восходящих сообщений. Возможность использования этого с помощью DPI была исследована и предложен подход, основанный на машинном обучении, который обнаружил Meek с истинно положительным показателем 0,98 и ложноположительным уровнем 0,0002 или меньше. Но детектор, возможно, будет непросто использовать на практике, поскольку он работал хорошо только при обучении и тестировании на трассировках из той же сетевой среды.

Опасаясь анализа трафика, некоторые обфускаторы включают механизмы, позволяющие рандомизировать метаданные, такие как длины пакетов и время между их приходами. Подобные контрмеры заимствуют методы по снятию отпечатков веб‑сайтов и способы противодействия этому. Насколько эффективны эти контрмеры в контексте запутывания, неизвестно.

Проблемы и открытые вопросы

Вот такой получился обзор быстрой эволюции технологий цензуры и уклонения от неё в контексте запутывания сетевого трафика. Теперь предлагаю обратиться к многочисленным открытым вопросам и проблемам. Сгруппирую их по трём общим областям: понимание пользователей, понимание цензоров и обеспечение будущих систем запутывания. В рамках каждого из этих направлений выделим конкретные задачи, требующие решения.

А. Понимание пользователей

Помимо анекдотов и фольклора, о пользователях инструментов обхода цензуры известно мало, и это сдерживает разработку эффективных инструментов. Исследования, использующие принципиальный подход к пониманию пользователей и их ситуаций, могут привести к значительным улучшениям. Но проводить исследования пользователей в этом контексте особенно сложно. Использование инструментов обхода цензуры в некоторых местах является незаконным, и в некоторых случаях разоблачение пользователей может подвергнуть их физической опасности. В целом, что нужно сделать?

  • Разработать руководящие принципы для исследований пользователей. Исследовательское сообщество могло бы разработать руководящие принципы для проведения этических исследований на людях в этой области. Эти принципы были бы полезны для учёта региональных и культурных различий, отражали бы проблему получения информированного согласия и делали бы измерения прозрачным, но чувствительным к конфиденциальности способом.

  • Провести исследования пользователей. Вышеупомянутые принципы можно было бы использовать при планировании этических исследований. Ключевыми вопросами могли бы стать следующие: Что заставляет пользователей принимать решение использовать систему? Как пользователи сначала узнают о наличии инструментов, а затем получают их? Как пользователи воспринимают риски, этику и законность использования инструментов? Как пользователи реагируют на различные виды снижения производительности или функциональности при использовании инструментов обхода? Насколько важно для пользователей иметь возможность убедительно отрицать, что они использовали тот или иной инструмент?

Б. Понимание цензоров

Возможно, самая важная проблема заключается в том, что у исследователей пока нет чёткого понимания оппонента. Это не позволяет нам узнать, действительно ли предлагаемый метод запутывания «сломан» или нацелен на соответствующий компромисс между безопасностью, производительностью и удобством использования. Что можно сделать для исправления ситуации?

Охарактеризовать «нормальный» трафик. Технологии обхода зависят от чувствительности к сопутствующему ущербу, но моделей того, как нормальный, незапутанный трафик воспринимается системами DPI, катастрофически не хватает. Это особенно важно для обфускаторов, основанных на мимикрии, которые по своей конструкции пытаются избежать обнаружения, выглядя как обычный трафик.

До сих пор исследователи либо генерировали синтетические наборы данных, либо, как в одном случае, собирали следы из университетских сетей. Проблема с синтетическими трассировками и даже с захватами университетских сетей заключается в том, что они вряд ли должным образом отражают широкое разнообразие трафика, наблюдаемое цензорами.

Одним из подходов здесь могло бы стать развитие партнёрских отношений с крупными сетевыми операторами (например, интернет‑провайдерами) для проведения исследований. Для исследования обфускации, к сожалению, требуется так называемый полный захват пакетов, то есть всё содержимое пакета, включая данные прикладного уровня. Это может иметь серьёзные последствия для конфиденциальности пользователей сети, поэтому требуется особая осторожность. Возможно, исследователи могли бы разработать новые методы проведения исследований без сохранения пакетов и/или внедрить другие механизмы конфиденциальности. Это повысит конфиденциальность таких исследований и, как можно надеяться, уменьшит нежелание сетевых операторов помогать в их проведении.

Одним из важных результатов таких исследований могут стать полезные модели «нормального» трафика в различных условиях. Их можно использовать в целях создания более точного моделирования для поддержки дальнейшего анализа и тестирования инструментов. Что сделает модель «полезной» в настоящее время, чётко не определено.

Модели сопутствующего ущерба. Кажется очевидным, что модели угроз должны учитывать чувствительность цензоров к сопутствующему ущербу. В основе всех инструментов обхода цензуры лежит предположение, что цензоры хотят ограничить побочный ущерб (хотя бы частично). Здесь есть ряд открытых вопросов.

Во‑первых, необходимо определить, какие типы сопутствующего ущерба вызывают озабоченность цензоров. Кажется, что толерантность к ложноположительным результатам варьируется от страны к стране и в разные периоды времени внутри одной страны. Более того, не весь побочный ущерб одинаков: возможно, причинение побочного ущерба в определенных формах обходится цензорам дороже с точки зрения политических или экономических последствий.

Системы доменного фронтинга вроде CloudTransport и Meek надеются, что блокировка популярных облачных сервисов от Google или Amazon несостоятельна. Однако некоторые страны, такие как Китай, полностью заблокировали такие услуги на определённый период времени. Очевидно, что необходима методология, позволяющая системам рассуждать о сопутствующем ущербе.

Задача состоит в том, чтобы модели включали параметры, позволяющие фиксировать неформальные утверждения вида «цензор не потерпит более n% ложноположительных результатов». Лишь немногие из существующих работ предлагают измерить уровень ложноположительных результатов каким‑либо методическим способом. В отсутствие таких попыток сложно утверждать, что данная техника вызовет побочный ущерб, который невыносим для смоделированного цензора.

Отправной точкой могло бы стать создание моделей угроз, параметризованных показателями ложноположительных результатов, и стандартизированных методов идентификации сетевого трафика. Затем исследователи смогли бы представить кривые рабочих характеристик приемника (ROC) с помощью своего подхода. Кривые ROC и такие меры, как площадь под кривой (AUC), уже являются стандартной практикой в машинном обучении, и есть смысл использовать эти формы анализа для разработки технологий обхода.

Доступные лаборатории противников цензуры. Учитывая широкое и растущее использование коммерческих устройств DPI, хорошие модели угроз должны основываться на том, какие действия от устройств разумно ожидать сейчас и в ближайшем будущем — какие вычислительные задачи они могут выполнять (сопоставление регулярных выражений? полный анализ полезных данных пакетов? интенсивные статистические тесты?), сколько состояний они могут сохранять (один пакет? все пакеты в TCP‑соединении? все соединения с определенного IP‑адреса?). Эта оценка будет зависеть от контекста: на неё будут влиять объём трафика и предполагаемая чувствительность к сопутствующему ущербу. Это предполагает, что следует разработать иерархию моделей угроз, чтобы направлять создание полезных систем, а не пытаться достичь консенсуса по одной модели.

Проблемой тут является получение доступа к оборудованию, используемому цензорами. Системы DPI — это дорогие проприетарные устройства, и они поставляются с ограничительными лицензионными соглашениями, которые обычно запрещают проведение любого сравнительного анализа. Это означает, что исследователи, даже если они приобретут его, могут быть по контракту обязаны не проводить с ними исследования. Хотя само оборудование часто можно приобрести подержанным на Ebay, оно может иметь устаревшее программное обеспечение и не в полной мере отражать возможности актуальных решений.

Сообщество выиграет от согласованных усилий по преодолению этих препятствий с целью создания широко используемой лаборатории цензуры. Лаборатории необходимо будет получить реалистичные, желательно современные устройства с реалистичными конфигурациями. Необходимо договориться о менее ограничительном лицензировании. В поисках вдохновения можно обратиться к предыдущим научным инфраструктурным проектам, таким как PlanetLab, CloudLab и National Cyber Range. Такая лаборатория может выступать в качестве хранилища справочных наборов данных «обычного» трафика (как обсуждалось выше), а также предоставлять набор существующих инструментов цензуры. В идеале лаборатория должна поддерживать удаленный доступ для исследователей.

C. Перспективные системы запутывания

Исследования пользователей и лучшее понимание цензоров дадут более ясное представление о том, как создавать более эффективные системы обхода. В конечном итоге целью должна стать адаптация к нынешней гонке вооружений или даже её прекращение и предоставление разработчикам методов, необходимых для создания перспективных механизмов запутывания. Под этим подразумеваются механизмы, которые могут поддерживать связь для пользователей даже перед лицом адаптивных цензоров, знающих устройство системы. 

Разработать формальные основы для исследований обфускации. Существует нехватка формальных абстракций — тех же формальных моделей угроз — на которых можно было бы заложить принципиальную основу для запутывания. Один из подходов — следовать примеру современной теории криптографии, где предоставление точных состязательных моделей, целей безопасности и синтаксиса примитивов являются основными исследовательскими соображениями. Этот подход обеспечивает чёткое научное обсуждение и объективное сравнение систем с указанными состязательными моделями. Короче говоря, хорошие модели оказывают значительную помощь в разработке новых инструментов.

Создать общие фреймворки. Механизмы запутывания в основном создавались с учётом конкретной системы обхода целей. Однако методы обфускации, разработанные для конкретной системы обхода, нелегко адаптировать для другой. Например, Tor основан на TCP, поэтому методы запутывания, ориентированные на Tor, не должны учитывать ненадёжные транспорты, а I2P и uProxy должны это учитывать.

Сообщество обфускаторов только выиграет от общих библиотек и фреймворков. Помимо сокращения совокупных усилий по реализации, наличие полезных библиотек обфускации может способствовать быстрому внедрению мер противодействия новым атакам — не для каждого инструмента потребуется разрабатывать отдельный патч. Конечно, создание более общих библиотек потребует консенсуса сообщества относительно типичных архитектур, API и протоколов для согласования того, какую обфускацию использовать.

Увеличить использование шифрования. Недавние попытки расширить использование стандартных инструментов шифрования, таких как TLS, усложнили цензуру. Когда большая часть интернета зашифрована с использованием сквозного шифрования с использованием TLS, цензорам сложнее использовать DPI для обнаружения контента, который они хотят заблокировать. И можно рассматривать улучшение обхода цензуры как приятное дополнительное преимущество для и без того похвальной цели повсеместного шифрования в сети.

Однако вспомните, что шифрование не является панацеей для обхода цензуры. Отдельные приложения, использующие общие протоколы шифрования, по-прежнему могут быть идентифицированы, часто с помощью информации, передаваемой в открытом виде, такой как заголовки, размеры пакетов и время.

Цензоры также могут нарушить сквозную безопасность, выполняя атаки “Man-in-the-Middle” (MitM), напрямую злоупотребляя инфраструктурой открытых ключей интернета (как это произошло в Турции в 2012 году), либо заставляя клиентов устанавливать корневые сертификаты, которые позволяют обманом заставить системы разрешить использование прокси-серверов MitM. Последнее уже распространено в корпоративных средах, и переоснащение этих решений на уровне национальных государств является частью ландшафта угроз, который следует учитывать.

В то же время стандарты шифрования могли бы сделать больше для поддержки обфускации. Например, они могли бы зашифровать большую часть рукопожатия, необходимого при установлении соединения. В идеале все излучаемые биты должны выглядеть для цензора совершенно случайными. (На это нацелена система obfs4). Если бы все соединения TLS достигли этого, то атаки на основе энтропии больше не были бы эффективными.

Заключение

Технология обхода цензуры — молодая область исследований, в которой уже сформировалось множество подходов и систем. Поэтому важно отразить и закрепить изученное, а также найти способы для дальнейшего развития области.

Как я уже сказал, пока у исследователей нет чёткой и общей модели оппонента. Есть серьезные проблемы с пониманием пользователей и обеспечением устойчивости систем запутывания к будущим атакам. Эти ограничения не позволяют исследователям узнать, уязвим ли предлагаемый метод запутывания на практике (а не только в теории); и был ли в проекте найден соответствующий компромисс между безопасностью, производительностью, простотой использования или он не отвечает потребностям пользователей.

Эти вопросы остаются открытыми во многом из‑за избытка методологических проблем, с которыми сталкиваются исследователи в этой области. Главными из них являются трудности с получением доступа к сетевому трафику без нарушения конфиденциальности, с приобретением систем DPI, используемых цензорами, и с проведением исследований пользователей среди соответствующих групп населения. Такие проблемы мешают прогрессу, но открывают возможности для поиска обходных путей.

К сожалению, цензура в интернете сохранится в обозримом будущем. Исследователи, активисты и правительства, поддерживающие право на свободное распространение информации в интернете, должны продолжать работать над будущим, в котором запутывание сетевого трафика будет преобладать перед лицом сложных, хорошо подготовленных цензоров. Это станет важной частью технико‑социальной головоломки, предоставляющей людям во всем мире доступ к информации.

Спасибо за внимание!

Tags:
Hubs:
Total votes 17: ↑17 and ↓0+17
Comments6

Articles

Information

Website
www.cloud4y.ru
Registered
Founded
2009
Employees
51–100 employees
Location
Россия