История луковичной маршрутизации

  • Автор темы Автор темы Ens
  • Дата начала Дата начала

Ens

Местный
Подтвержденный
Сообщения
1.025
Реакции
2.097
Ранние системы луковичной маршрутизации

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

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

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

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

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

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

В отличие от миксов ISDN, даже эта смешивающая конструкция луковичной маршрутизации не выполняет никакого синхронного смешивания запросов на открытие или закрытие каналов. Они лишь смешиваются с любым другим потоком, который активен на том же самом луковичном маршрутизаторе. Крайне маловероятно, чтобы анонимность сообщений на основе установления цепочек могла бы поддерживаться против участвующих луковичных маршрутизаторов за исключением цепочек, устанавливаемых синхронно, что не является частью дизайна. Действительно, Бауэер и др. показали, что атакующий может следовать за сообщением и компрометировать анонимность корреспондентов. Конечно это несколько меньший повод для беспокойства в сетях со свободной маршрутизацией, чем в каскадах, таких как ISDN-миксах и вэб-миксах, где точно известно где смотреть за каналами корреспондентов в момент открытия и закрытия (вот почему эти конструкции подразумевают синхронное установление цепочки). Кроме того, для активного атакующего есть возможность тривиально индуцировать временной отпечаток, даже если дополнения адекватно скрывают пассивные отпечатки. Помимо тайминга уже на начальном этапе проекта было ясно, что атакующий на любом этапе пути может повредить отправляемое сообщение, так что это будет заметно на последнем луковичном маршрутизаторе. Это аналогично атаке маркирования против Mixminion, описанной выше. Однако, поскольку луковичная маршрутизация основана на цепочках и малых задержках, меры противодействия этому, которые выполнены в Mixminion, здесь бессмысленны и недоступны. По этой причине, так как исследование по выработке эффективного сопротивления активным атакам провалилось, был предложен проект третьего поколения от NRL, называемый Tor, в котором вернулись к оригинальному подходу, просто не используя никаких дополнений и подразумевая уязвимость к тайминг-корреляции. Проект Tor будет обсуждаться далее.

Ради упрощения внедрения было признано, что некоторые пользователи не захотят выступать в роли серверов. Проект второго поколения отошёл от чистого пиринга первого поколения и позволил клиентам луковичной маршрутизации строить цепочки, но не пропускать через себя чужой трафик. Также некоторые луковичные маршрутизаторы могли по желанию предоставлять сервисы только определённым клиентам. Для этого была внедрена концепция входящих политик, позволяющая маршрутизаторам определить, какие сетевые соединения они могут обслуживать. Луковичные маршрутизаторы также могли выбирать обмен трафиком только с подмножеством других роутеров, с которыми они поддерживают долговременные соединения. Аналогично подразумевалось, что некоторые луковичные маршрутизаторы могут позволять выпускать трафик из сети только к определённым сетевым адресам и/или портам (протоколам). Так были добавлены ещё и исходящие политики. Это может быть объявлено так, чтобы маршруты проходили через соответствующие сетевые исходящие точки. Такое разделение основного клиента от сервера луковичной маршрутизации и допускаемая гибкость для входящих и исходящих политик стали вероятно наиболее существенными отличиями от оригинального дизайна, что способствовало необычайно широкому принятию луковичной маршрутизации. Удобство использования и гибкость как для индивидуальных пользователей, так и для операторов серверов, позволило им участвовать в системе, согласуя свои противоречивые интересы и стимулы, что привело к снятию ограничений и возможностям небывалого роста системы.

По образцу и коду NRL в конце девяностых были независимо выполнены сети луковичной маршрутизации, но первой независимо спроектированной системой луковичной маршрутизации была Freedom Network (сеть свободы), созданная и выполненная с конца 1999 до конца 2001 канадской компанией Zero Knowledge Systems (ныне называемая Radialpoint и не предлагающая ничего похожего на Freedom среди своих продуктов и сервисов). Главным создателем сети был Ян Голдберг, который опубликовал совместно с Адамом Шостаком и другими серию инструкций, описывающих систему на различных уровнях детализации. Эта система имела множество важных отличий от дизайна NRL: UDP транспорт вместо TCP, блочные шифры вместо потоковых для шифрования данных, глубоко интегрированную систему псевдонимов и сертификатов и т. д., Но основа построения маршрутов и прохождения сообщений по сети в сущности следовали вышеописанным конструкциям двух первых поколений NRL.

Одним из наиболее важных вкладов Freedom явилось значительное коммерческое развёртывание. Прототип первого поколения, который NRL запускала с 1996 по 2000 годы, обрабатывал соединения от сотен до тысяч IP-адресов и в среднем 50000 соединений в день при пиковой нагрузке за месяц, но всё это проходило через малую систему всего из пяти узлов NRL. Фактически она не была распределённой. Некоторые реализации второго поколения имели свыше десятка узлов, разбросанных по США и Канаде, но это были тестовые стенды, что не рассматривалось ни как широкомасштабность, ни как открытое публичное использование. Помимо прочих вещей, Freedom была системой с луковичной маршрутизацией с широким распространением независимо запущенных серверов-узлов и двадцатью пятью тысячами подписчиков по пиковой оценке. Это было важной и первой успешной демонстрацией того, что широкомасштабные развёртывания и управление системами луковичной маршрутизации технически возможны.

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

Это было одновременно рекурсивным акронимом, назначенным Роджером Динглдайном для "Tor's Onion Routing" и способом сообщить людям в то время, что он работал на луковичной маршрутизации от NRL, а не на какой-то другой версии луковичной маршрутизации. Следует отметить общепризнанное написание "Tor", а не "TOR".

В сетевой архитектуре Tor список серверов добровольцев скачивается с сервера директорий. Затем клиенты могут создавать пути, выбирая три случайных узла через которые пройдёт их коммуникация. Вместо "луковиц", которые посылались для распространения криптографического материала, Tor использует итеративный механизм. Клиент соединяется с первым узлом, затем он запрашивает этот узел для соединений со следующим. На каждом этапе используется двунаправленный канал для осуществления аутентифицированного обмена ключами Диффи-Хеллмана. Это гарантирует наперёд заданную секретность и сопротивление принуждению: всегда нужны только краткосрочно действующие ключи. Впервые этот механизм был описан в 2002 году как часть дизайна луковичной маршрутизации, Cebolla. Это отличалось как от двух первых поколений луковичной маршрутизации от NRL, так и от дизайна Freedom. Аутентификация того, что ключ между клиентом и луковичным маршрутизатором был установлен правильно до сих пор осуществляется с помощью RSA. Существовали опубликованные предложения по построению цепочек полностью на алгоритме Диффи-Хеллмана для большей эффективности, но на момент написания так ничего и не было выполнено. Хотя это и показалось перспективным, это потребовало дополнительного анализа, перед тем как это можно было бы внедрить в Tor. Интересно, что при проектировании второго поколения луковичной маршрутизации NRL, переход на использование Диффи-Хеллмана для построения цепочек рассматривался. Но однако это делалось исключительно с точки зрения вычислительной эффективности, не принимая во внимание никаких дополнительных свойств безопасности, которые это даёт, таких как наперёд заданную безопасность.

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

Tor заключает гибкость запуска клиента отдельно от узла-маршрутизатора и гибкие входящие и исходящие политики, представленные в дизайне второго поколения. Поскольку луковичная маршрутизация получает безопасность за счёт сокрытия маршрутов, но является уязвимой к тайминг-атакам, безопасность против противника, принуждающего или наблюдающего за c узлами в сети из n луковичных маршрутизаторов в лучшем случае c2 / n2. Чем проще назависимым людям запускать свои узлы в сети, тем выше безопасность системы. За счёт создания сети, построенной на добровольном участии, Tor уходит от некоторых трудностей, которые происходят при коммерческом развёртывании и также является масштабируемым. Другие инновации в использовании, добавленные в Tor, включают разделение контролирующего протокола от базовой функциональности Tor-маршрутизации и графический интерфейс , изначально созданный Мэттом Эдманом и Джастином Хипплом. В дополнение к другим особенностям, GUI предоставляет простой интерфейс конфигурирования как сервера так и клиента и выбор возможности переключения клиента в сервер одним щелчком мыши. Также есть простой плагин для Firefox — Torbutton, который позволяет помимо всего прочего, включать и выключать маршрутизацию через Tor одной кнопкой. Tor также существует с графическим инсталлятором, в котором собраны сразу Tor, Vidalia, Privoxy и TorButton. Документация на Tor и смежные программы переведена по крайней мере на 17 языков на момент написания. Все эти вклады, делающие Tor более пригодным для пользователей, также повышают количество использования и широту развёртывания, а следовательно и безопасность.

Уязвимость против пассивного наблюдателя делает Tor слабым против неисследованных ранее атак. Во-первых, требуется реалистичная оценка того, что действительно нужна одна сторона, способная просматривать множество точек вдоль маршрута. Во многих случаях топология интернета такова, что сети, кажущиеся несвязанными, на самом деле связаны через общий узел или удалённые сети оказываются подвержены малозатратному прослеживанию со стороны одного сервис-провайдера интернета (ISP), автономные системы (AS), точки обмена интернет-трафиком (IX) и аналогичные вещи. Второе возможное направление атаки, представленной Мёрдоком и Дэйнезисом использует непрямые сетевые измерения для осуществления анализа трафика и устраняет предположение о том, что пассивный атакующий нуждается в локальном доступе к коммуникации для осуществления анализа трафика. Атакующий перенаправляет трафик через все луковичные маршрутизаторы и измеряет вносимые ими задержки: эта латентность подвержена воздействию других потоков, проходящих через луковичный маршрутизатор. Возможны долговременные корреляции между известными сигналами, внедряемыми в злонамеренный сервер и измерениями. Это позволяет противнику выслеживать соединение до первого луковичного маршрутизатора, используемого для его анонимизации. Опубликованная атака относилась ко времени когда сеть была значительно меньших размеров, чем сейчас (35 узлов против сотен). Интересным и неясным вопросом остаётся то, насколько эффективно может масштабироваться текущий размер сети. Предыдущие работы предупреждали, что непроверяемый размер длины пути может реально влиять на такое масштабирование.

Tor также предоставляет механизм скрытых сервисов. Это другой образец защиты отвечающей стороны в анонимной коммуникации, а не только её инициатора. Скрытые сервисы могут быть использованы для защиты контента от цензуры и серверов от DoS поскольку сложно атаковать то, что нельзя найти. Скрытый сервер открывает анонимное соединение и использует его для объявления контактной точки. Клиент, который хочет контактировать с сервером, достигает контактной точки и договаривается об отдельном анонимном "рандеву"-канале, используемом для перенаправления действительных коммуникаций. Атака против этой ранней архитектуры была продемонстрирована Овелье И Сайверсоном. Интуитивно основа атаки состоит в том, что противник может открыть множество соединений к скрытому серверу, последовательно или параллельно и может контролировать эти потоки трафика к серверу. Противнику нужно контролировать один подверженный маршрутизатор и ждать пока этот маршрутизатор выберет этот сервер как первый узел для нового анонимного пути, который он построит к точке рандеву. Затем противник берёт под эффективный контроль два узла в анонимном пути, один из которых — следующий по пути к анонимному серверу и анонимность, обеспечиваемая сервером, полностью компрометируется.

Хотя атаки пересечения против анонимных систем были хорошо известны в литературе, эта была первая атака такого рода, использованная в реальных условиях. Скорость, с которой она могла быть завершена (обычно несколько минут) подсказала введение сторожевых узлов во все цепочки Tor. Поскольку время продолжения оконечной коммуникации цепочки, по которой связываются компрометируемые стороны, было очень мало, то распространение доверия на узлы, контактирующие с инициатором цепочки имело мало значения. Вместо этого малое число узлов выбиралось доверяемыми и использовалось как начальные (сторожевые) узлы для всех цепочек от инициирующего клиента. Сторожевые узлы основаны на более общей идее вспомогательных узлов для анонимных систем, предложенных Райтом и др. Оверлье и Сайверсон увеличили эффективность этих атак за счёт заведомо неверного анонсирования пропускной способности со стороны враждебного узла, что приводит к его выбору с более высоким предочтением. Были размышления о том, что при помощи множества узлов такие атаки могут быть легко направлены против обычной цепочки, а не только против построения соединений со скрытыми сервисами. Это было позднее продемонстрировано Баурером и др., которые показали, что кто-либо может использовать такую заведомо неверную информацию для увеличения шансов быть выбранным в качестве сторожевого узла. Есть контрмеры, такие как ограничение доступа к самостоятельному сообщению пропускной способности, но поскольку они являются ограниченными против атак, то вопрос о более сильных контрмерах продолжает находиться в стадии исследований.
 

Похожие темы

Сеть Tor представляет собой одну из самых популярных и мощных технологий для анонимности в Интернете. Она позволяет пользователям скрывать свою личность и местоположение, обеспечивая анонимность и защищенность данных. Однако, как и любая другая система, Tor имеет свои уязвимости, которые могут...
Ответы
18
Просмотры
На форуме «Пробив» выложили познавательную статью под названием «Tor Browser для новичков: безопасность, анонимность, риски и настройки». Она рассчитана на тех, кто только начинает разбираться в вопросах анонимности в сети. Материал подробно объясняет, как работает Tor Browser, в чём его плюсы и...
Ответы
4
Просмотры
789
На форуме «Пробив» выложили познавательную статью под названием «Tor Browser для новичков: безопасность, анонимность, риски и настройки». Она рассчитана на тех, кто только начинает разбираться в вопросах анонимности в сети. Материал подробно объясняет, как работает Tor Browser, в чём его плюсы и...
Ответы
3
Просмотры
674
Это синопсис к полному обзору на ЛитРес и Медиум (скоро), а пока с полной версией текста можно ознакомится тут Проект Tor представляет собой инфраструктуру анонимной маршрутизации, основанную на принципе многослойного шифрования трафика и его последовательной передачи через цепочку независимых...
Ответы
0
Просмотры
335
На фоне полного отключения интернета в Иране для 92 млн. человек набрали популярность мессенджеры, работающие без сети. Приложения Bitchat, Briar и Bridgefy создают mesh-сети через Bluetooth и Wi-Fi, позволяя передавать сообщения на короткие расстояния. Принцип работы основан на прямой...
Ответы
1
Просмотры
537
Назад
Сверху Снизу