Обзор различных стратегий развертывания в сети TOR
Значимость анонимных сетей, а именно Tor, в последние годы значительно выросла. Чтобы соответствовать современным и будущим требованиям сети Tor, необходимо постоянное проведение активных исследований, особенно для улучшения работы сети и усиления анонимности в отношении различных форм оппонентов. Инновационные разработки в конечном итоге не принесут практического значения, если они не будут реализованы на практике и, что самое важное - безопасно. Однако этот аспект иногда игнорируется во многих исследованиях.
Один из опубликованных докладов содержит в себе исследования различных стратегий через сеть Tor и анализ их практической применимости. Основное внимание в документе уделяется внедрению изменений, которые влияют на сетевые коммуникации или основную инфраструктуру Tor. Несмотря на то, что изменения, влияющие на другие части Tor, также важны, их обычно проще реализовать. Сегодня мы рассмотрим стратегии развертывания, представленные в этой статье.
С анонимными сетями в целом внедрение системных изменений может представлять собой довольно сложную задачу из-за двух основных свойств системы:
1- Во время процесса внедрения следует проявлять осторожность, чтобы не исключить пользователей системы из нее.
2- Когда происходит внедрение системных изменений, существенная техническая проблема заключается в поддержании функциональности сети без нарушения анонимности пользователей. Это может стать серьезной проблемой, поскольку Tor представляет собой высоко децентрализованную сеть, в которой ни одна из сторон не может иметь крупный контроль над отдельными сторонами. Инкрементальная реализация обновлений может привести к расколу сети или может подорвать анонимность пользователей.
Основные задачи развертывания облегчаются в зависимости от типа изменений, реализованных в сети. Существуют две основные проблемы, связанные с внедрением изменений в Tor. Во-первых, связь через Tor представляет собой многопроцессорный сценарий; то есть более двух узлов активно обрабатывают передачу данных. Конформационные изменения протокола Tor могут потребовать, чтобы все узлы ретранслятора через цепь или даже по всей сети поддерживали вновь реализованную функцию. Очень важно иметь механизмы, которые могут обрабатывать различные сетевые версии, связанные с инкрементной реализацией, в противном случае некоторые пары узлов ретрансляции больше не смогут работать вместе. Второй задачей является сохранение анонимности пользователей по всей сети. Tor не эффективен, если все сообщения пользователей не скрыты достаточным количеством пользователей и узлов ретрансляции, так что поток связи пользователя не может быть идентифицируемым.
Мы рассмотрим два общих подхода, которые были представлены в документе - день флага и сосуществование:
Стратегия Flag Day основана на постепенном откате от обновления программного обеспечения при сохранении его, пока активация не будет одновременно скоординирована по всей сети. Таким образом, сетевые изменения могут быть реализованы без необходимости обратной совместимости. Следовательно, возможны такие фундаментальные изменения, как внедрение нового транспортного протокола. Несмотря на то, что более ранние версии Tor полагались на переходные «Flag Day», разработчики фактически не применяли координированный процесс внедрения; обновление только уступило назад вследствие несовместимости. Однако при существующем масштабе сети обычно необходим скоординированный переход на новое поведение сети.
В отличие от подхода «Flag Day», сосуществование способствует правильному взаимодействию узлов ретрансляции разных версий или систем. Данное свойство примечательно тем, что оно позволяет избежать рисков разделения сети. Существует три формы стратегий сосуществования - двойной стек, туннелирование и перевод. Перед представлением этих трех стратегий необходимо отметить еще одну проблему: для любой из трех стратегий, позволяющих обрабатывать схемы как обновленных, так и устаревших узлов ретрансляции, должна быть достигнута совместимость между узлами ретранслятора. Ниже представлен краткий обзор трех стратегий сосуществования:
С помощью стратегии двойного стека обновленные узлы по-прежнему поддерживают устаревший протокол и могут использовать его выборочно или параллельно. Таким образом, схема может использовать новейшую поддерживаемую версию протокола, поддерживаемую всеми узлами ретранслятора. Следовательно, одиночные схемы могут уже извлечь выгоду из недавно внедренной технологии, когда остальные узлы и пользователи по всей сети еще не обновлены. Аналогично, устаревшие узлы будут продолжать работать по-прежнему, в результате чего схема будет придерживаться предыдущего поведения до обновления.
Несмотря на то, что стратегия двойного стека допускает широкий диапазон сетевых изменений, это может сильно подорвать анонимность пользователей. Например, рассмотрим случай обширного изменения базового транспортного протокола, например. переход от TCP к UDP. Если это изменение развертывается на другие схемы (хотя некоторые схемы все еще полагаются на TCP), противник может воспользоваться этим и деанонимизировать пользователей.
Трансляция - это другой подход, который может быть использован, когда узлы реле на схеме имеют разные наборы функций. В таком сценарии может быть реализован перевод между версиями протокола. В зависимости от типа изменения, которое должно быть реализовано, это может обеспечить преимущество частичного развертывания новой версии протокола, даже если узлы всей схемы еще не обновлены. Например, рассмотрим усовершенствование протокола, которое работает в режиме «пошаговый переход» и повышает производительность, применяя его к этому сегменту. Применяя подход к переводу, пользователи еше раньше могут извлечь выгоду из такого усовершенствования
Если схема состоит из узлов ретрансляции, чьи наборы функций образуют «промежуток», узел реле в середине схемы по-прежнему не имеет поддержки для вновь реализованной функции, поэтому возможна другая стратегия. В этом случае данные протокола, которые обмениваются между обновленными узлами ретранслятора вокруг зазора, могут быть туннелированы через сегмент схемы одного или нескольких устаревших узлов.
Основная идея такой схемы заключается в следующем: если вновь реализованная функция опирается на сквозной поток информации через схему, эта функция может стать пригодной даже тогда, когда некоторые узлы по схеме еще не поддерживают ее. Например, если клиент Tor полагается на обратную связь от выходного узла, это может быть реализовано, даже если некоторые узлы реле еще не обновлены. Туннелирование не всегда является особым случаем (двукратного) перевода, так как оно может быть применимо, даже если нет двух последовательных узлов ретрансляции, которые используют одну и ту же версию протокола, и в этом случае перевод невозможен.
В докладе обсуждались проблемы внедрения изменений в сеть Tor. Обсуждение различных стратегий развертывания показало, что для изменения поведения сети необходимо поддерживать максимально возможные уровни совместимости с устаревшими узлами на разных этапах процесса обновления сети, чтобы избежать разрыва сети или нарушения анонимности пользователей.
Чтобы быть вкурсе всех свежих новостей нашего сайта, подписывайтесь на наш телеграм канал https://t.me/joinchat/AAAAAEN6RYDtq2uLaMOeLQ