Анонимные сети и timing атаки: Малозатратная атака

http://crpit.com/confpapers/CRPITV68Wiangsripanawan.pdf
  • Перевод
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

В этом разделе мы рассмотрим Малозатратную атаку (Low cost attack)8 на Tor, описанную в (Murdoch & Danezis 2005). Термин Малозатратная атака означает что для успеха нападающему достаточно иметь возможность наблюдать только за частью сети, например быть одним из Tor-узлов. Мёрдоч и Данезис показали уязвимость Tor для некоторого варианта timing-атаки, не выходящей за рамки модели угроз. Они опровергли утверждение о то, что анонимность в Tor не может быть нарушена без помощи глобального пассивного наблюдателя.


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

Идея атаки


Атака основана на том, что системы с малыми задержками не могут позволить себе вносить в поток какие-либо задержки. Таким образом, временнЫе характеристики (timing паттерн) пакетов сохраняются на всем протяжении цепи. Атака стала возможной из-за того, что разработчики Tor посчитали невероятным появление в сети глобального пассивного наблюдателя. Такая ситуация не рассматривалась и не входила в модель угроз. Однако, Малозатратная атака выявила ошибочность суждений разработчиков и показала, что Tor все еще уязвим перед некоторыми вариантами timing-атак.

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

Архитектура Tor способствует атаке. Tor-узел выделяет каждому соединению отдельный буфер, обработка буферов идет в режиме round robin fashion*. Если в буфере нет потока — он игнорируется, начинается обработка следующего буфера. Отметим, что по соображениям производительности смешивание было удалено. Таком образом,
  • когда устанавливается новое соединение;
  • или удаляется существующее соединение;
  • или когда меняется трафик в текущем соединении
изменяется нагрузка (объем передаваемого трафика) на Tor-узел. Это отражается на скорости ответов другим узлам которые уже имеют или только хотят установить соединение с текущим. По этим же самым причинам меняется нагрузка и на других Tor-узлах. Получается, что изменение нагрузки трафика на Tor-узле отражается на нагрузке соединенных с ним узлов. Следовательно, узлы в одной цепочке будут иметь похожие картины распределения нагрузки от времени. Отметим, изменение нагрузки трафика может возникать не только вышеописанным образом, но и из-за внутренних причин Tor-узла, например нагрузки на CPU — такие задержки не учитываются и могут снизить эффективность атаки.

Участники атаки

Для успешной атаки, нападающему достаточно быть одним из клиентов сети Tor. Такой узел называется вредоносным (corrupt node) или зондом (probe node).

Модель атаки


Основные этапы атаки:
  • Вредоносный Tor-узел устанавливает соединения с другими Tor-узлами для измерения задержек этих связей.
  • Вредоносный Tor-узел в течении некоторого времени наблюдает за задержками во всех этих соединениях.
  • Замеры задержек используются для оценки объемов трафиков передаваемых каждым Tor- узлом (нагрузок трафика на Tor-узпы), с которыми вредоносный узел имеет соединение.
  • На основе знания объемов трафиков, выводятся паттерны трафиков.
  • Когда нападающий знает паттерны трафиков всех узлов, он может выполнить атаку (Danezis 2004, Levine et al. 2004).

Атака будет еще более эффективной если нападающий контролирует сервер к которому подключается пользователь Tor. Так как в этом случае не нужно выявлять паттерн трафика — нападающий сам может видоизменять трафик так, чтобы его легко было обнаружить. Цель атаки: обнаружить путь между клиентским узлом жертвы и захваченным сервером. Это снизит анонимизирующую способность системы до уровня обычной proxy. В итоге, авторы делают вывод, что атака будет эффективна для всех анонимизирующих систем систем с малыми задержками, включая Tarzan и MorphMix.

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

Модель малозатратной timing-атаки на Tor
Рисунок 4. Модель малозатратной timing-атаки на Tor.

Алгоритм малозатратной атаки
Рисунок 5. Алгоритм малозатратной атаки.



Примечание переводчиков
8«Малозатратная атака» в данной контексте имя собственное.

* что такое round robin fashion см. во введении.
  • +32
  • 2,3k
  • 9
Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 9
  • 0
    Интересно, какие по величине задержки нужно вносить, чтобы обеспечить анонимность. Некоторые, я думаю, согласились бы мириться с пингом до 10 секунд ради настоящей анонимности.
    • 0
      Если настоящей анонимностью считать анонимность включающую защиту против активных атак и глобального наблюдателя, то пингом в 10 секунд не отделаешься. Как минимум — прощайте все интерактивные протоколы. Раньше существовали (не знаю существуют ли еще, или уже умерли от старости) микс-сети позволяющие анонимно слать почту с защитой от глобального наблюдателя. Каждый узел в этих сетях накапливал почту и рассылал дальше со случайными задержками, которые могли доходить до 10 часов на узел или нескольких дней на прохождение всей цепочки. Очень долго и никому не нужно, зато какая анонимность…
      С тайминг атаками в сетях с малыми задержками можно бороться лишь вводя покрывающий трафик, что очень дорого и невозможно для сколь-нибудь больших сетей.
    • +1
      Интересный способ реализации меню :)
      • НЛО прилетело и опубликовало эту надпись здесь
        • +3
          хм. на вскидку видится такая модель анонимной сети с малыми задержками. число буферов для запросов выделяется не динамически, а один раз. возможно рандомно. в буферах всегда находятся запросы: старые запросы, взятые из истории, новые запросы(старые, с рандомно измененными параметрами), актуальные пользовательские запросы. При этом если число реальных пользовательских запросов превышает некий порог(например 75%), нода переходит в состояние «переполнена». в этом состоянии она обрабатывает _все_ буфера по одному разу, не принимая новых запросов. через рандомные моменты времени, частично зависящие от нагрузки на ноду, она уходит в состояние «переполнена». Таким образом, нельзя будет по задержкам, или по изменениям состояний, составить паттерны трафика в цепочке, и вся сеть будет защищена от описанной в статье атаки, оставаясь при этом сетью с малыми задержками.
          • 0
            Ну хорошо, а если сделать не round robin fashion, а random?
            Или переставлять порядок потоков случайным образом после каждого круга?
            • +2
              В статье не был упомянут i2p. Он также уязвим для атак данного вида?
              • +1
                По поводу i2p и вообще FAQ по сетевой анонимности можно почитать тут — Сетевая анонимность: общие вопросы. Автор вполне авторитетный товарищ.

                Приведу выдержки:
                «I2P — это двойник сети Tor… пользователи могут выбирать более длинные цепочки и более высокие задержки трафика, но доказательства того, что это не упрощает профилирование трафика пользователей, не предоставлено. Сеть I2P также нестойка к глобальному наблюдателю.»
              • +1
                Есть еще интересный аспект — если мы имеем список узлов, через которые возможно проходит трафик, можно попытаться узнать через что именно, используя уязвимость в IP ID, аналогично stealth scan'у в nmap.

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

                Мелочей в нашей работе — нет.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.