id: Гость   вход   регистрация
текущее время 08:08 18/04/2024
Владелец: Alex_B редакция от 03/03/2011 09:55 (автор: Гость) Печать
Категории: анонимность, анализ трафика, микс-сети, атаки
https://www.pgpru.com/Библиотека/Статьи/ПринципыПостроенияАнонимныхСетей
создать
просмотр
редакции
ссылки

Это старая редакция страницы Библиотека / Статьи / Принципы Построения Анонимных Сетей за 03/03/2011 09:55.


Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам


Оригинал file"Design Principles for Low Latency Anonymous Network Systems Secure against Timing Attacks", 2007
Перевод не закончен.

Abstract

Примечание переводчиков:
1Tarzan и Morphmix существовали как концепты ещё на момент начала разработки Tor. Даже на уровне концептов в них были найдены различные уязвимости. В настоящее время эти сети реально не используются.

Анонимизирующие сети с малыми задержками (Low latency systems), такие как Tor, проектируются с учетом timing-атак в модель угроз которых не входит глобальный наблюдатель. Т.е. нападающий может видеть только часть взаимосвязей в сети. Однако, недавно, в работе “Low-cost traffic analysis of Tor”, было показано что для успешной timing-атаки на Tor не нужен глобальный наблюдатель. Более того, авторы считают что их атаке подвержены все анонимизирующие сети с малыми задержками.


Мы проверили это утверждение с помощью анонимизаторов Tarzan и Morphmix1. И пришли к выводу, что вопреки вышеупомянутой статье, атака работает не во всех случаях. Опираясь на наше исследование мы вывели принципы построения безопасных анонимных систем.


Ключевые слова: Low latency, anonymous, timing attacks, Tor, Tarzan, Morphmix

1 Введение

Впервые анонимные системы связи были представлены в основополагающей работе Чаума (Chaum 1981). Суть в том, что анонимность достигается путем пересылки сообщений через серию передаточных узлов, называемых mix-узлами (перемешивающие узлы). Каждый mix-узел выполняет две основные задачи. Первая — это обеспечить побитовую неразличимость (bitwise unlinkability) сообщений, вторая — перемешать поток сообщений.


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


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


Системы анонимной связи через интернет можно разделить на две категории:

  • системы с большими задержками (high-latency systems);
  • системы с малыми задержками (low-latency systems).
Примечание переводчиков:

2Паттерн трафика


В контексте timing-атак, это характерная форма "всплеска" активности на графике "объём трафика от времени", которая может дать возможность различать пользователей или виды активности в сети.


3Смешивание потоков


Существует много вариантов cмешивания потоков (миксинга, mixing). Например в нынешнем Tor при отсутствии миксинга картина такая: на сервер X вошло n цепочек и столько же вышло. Какая какому пользователю принадлежит как-бы непонятно, но по объёму трафика, всплескам, и другим косвенным признакам, можно строить гипотезы.


При смешивании (только как простейший пример) можно все цепочки от сервера X до сервера Y ещё раз зашифровать и упаковать в общий шифрованный канал и непонятно будет: вошло n, а сколько на какой сервер вышло — не видно. От пользователей до серверов идут индивидуальные цепочки, а между серверами — сплошной поток.


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


4Покрывающий трафика (cover traffic)


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


5Round robin fashion


Простейший RR по кругу обрабатывает по одному пакету даных из каждого потока (предполагается, что приоритет у всех потоков равный). Таким образом достигается "равенство" всех потоков данных.

Например электронная почта (e-mail) — это система с большими задержками, т.к. для доставки сообщения может потребоваться много времени. Если же требуется взаимодействие в режиме реального времени (или близкое к этому) нужно использовать системы с малыми задержками. SSH и мессенджер – примеры систем с малыми задержками. Неотслеживаемость сообщений в системах обоих категорий достигается за счет реализации идей Чаума: цепочки передачтоных узлов между отправителем и получателем, и шифрования, скрывающего данные сообщения. Каждый узел в цепи знает только своего предшественника, от кого он получил сообщение, и своего преемника, которому он передаст сообщение.


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


Есть еще одно существенное отличие систем с малыми задержками. Чтобы соответствовать жестким требованиям к времени доставки сообщений, приходится отказываться от фазы накопления и перемешивания сообщений. Следовательно, такие системы более уязвимы к атакам анализа трафика и в частности timing-атакам. Простые timing-атаки могут сводиться к вычислению времени которое требуется пакету чтобы пройти сеть. Более сложные timing-атаки могут включать анализ отличительных особенностей используемого жертвой соединения — выявление паттерна трафика2.


Timing-атаки используют тот факт, что все узлы сети вводят различные задержки. Зная время задержек можно строить догадки о связи входящих в узел и исходящих из него потоков. Другими словами угадать, какой исходящий поток соответствует отслеживаемому входящему потоку. Нападающий может некоторое время наблюдать за связями между узлами, а затем, сравнивая паттерны трафика всех узлов, выявить узлы с похожими паттернами — вероятно эти узлы образуют цепочку. Используя статистические методы нападающий может получить информацию об отправителе и получателе потока, и даже выявить весь путь потока. Для защиты от этой атаки нужно сделать так, чтобы временнЫе характеристики всех потоков были неразличимы. Однако, для этого потребуется значительное количество операций смешивания3 и большой объем покрывающего трафика (cover traffic)4, следовательно увеличится время задержек. Определить правильный баланс между анонимностью и задержками — задача не из легких.


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


Недавно, Мёрдоч (Murdoch) и Данезис (Danezis) показали пример успешной атаки на системы с малыми задержками без использования глобального наблюдателя. Атака основана на анализе трафика предложенном Данезисом в 2004. В их атаке анонимность, которую обеспечивает Tor, может нарушить злоумышленник который видит только часть сети или владеет одним узлом Tor. Атака работает из-за того, что разработчики Tor удалили операцию смешивания, которая была в ранней версии, и теперь входящая очередь потоков обрабатывается в режиме round robin fashion5. Подконтрольный злоумышленнику Tor-узел создает соединения с другими узлами сети и таким образом может косвенно оценить объем проходящего через них трафика в каждый момент времени. Оценки строятся на основе разности в задержках потоков отправляемых и получаемых по этим соединениям.


Исходя из того, что

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

нападающий может сделать достаточно хорошее предположение о маршрутах прохождения потоков.


Авторы отмечают, что их атака применима для всех анонимных сетей с малыми задержками. Это громкое заявление намекает на не состоятельность модели угроз используемой при создания многих анонимных систем с малыми задержками.

Наш вклад

Мы проверили атаку Мёрдоч и Данезиса (Murdoch & Danezis 2005) на других анонимных сетях с малыми задержками. Tarzan (Freedman & Morris 2002) и MorphMix (Rennhard & Plattner 2002) работают не так как Tor. В частности, они следуют архитектуре peer-to-peer, а Tor использует выделенные сервера. Еще, Tarzan использует некоторые операции по смешиванию и покрывающий трафик, которых нет в Tor. А в MorphMix, промежуточные узлы могут самостоятельно выбирать часть пути для передаваемого потока, в отличии от Tor, где клиент, инициализирующий поток, сам задает весь путь.


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

Структура документа

Во 2-ом разделе мы разберем три анонимизирующие сети — Tor, Tarzan и Morphmix — и покажем чем они отличаются друг от друга. В 3-ем разделе рассмотрим атаку на Tor, описанную Мёрдоч и Данезисом (Murdoch & Danezis 2005). Отметим, что авторы утверждают что атаке подвержены все анонимные сети с малыми задержками. В 4-ом разделе мы опровергнем это утверждение с помощью Morphmix. В 5-ом разделе мы выведем несколько правил построения систем с малыми задержками. И наконец, в 6-ом разделе сделаем заключение.

2 Работы по теме

В этом разделе мы кратко рассмотрим три анонимных сети – Tor, Tarzan amd Morphmix.

2.1 Tor

Tor, второе поколение Onion Routing, — это система анонимной связи с малыми задержками в основе которой лежат цепочки передаточных узлов. Это улучшенная версия Onion Routing. Onion Routing(OR) — система анонимной связи для таких задач как просмотр интернет, обмен мгновенными сообщениями и SSH. Что бы избежать недостатков и ограничений OR, разработчики Tor включили в него несколько новых возможностей. Перечислим некоторые из них: perfect forward secrecy, контроль перегрузки (congestion control), служба каталогов (directory services) [26], проверка целостности (integrity checkin), настраиваемые правила выхода (configurable exit policies), и точки встречи (rendezvous point) и скрытые сервисы. Кое что было удалено: перемешивание и выравнивание потоков по объему трафика4 и traffic shaping [25].

Примечание переводчиков:

4Выравнивание потоков по объему трафика.


Например, пользователь создал пять резких всплесков трафика в секунду. Что бы его поток не выделялся по нагрузке, в другие потоки подмешивается трафик из пустых пакетов.

Три основные участника процесса: Tor-клиент, Tor-сервера (узлы) и получатель потока. Логично, что Tor-клиент это отправитель который хочет анонимно связаться с получателем. В OR это назвалось Onion Proxy. Tor-сервера это передаточные узлы (Onion Routers в OR). Они передают потоки следующим узлам, следуя указаниям Tor-клиента. Как в OR, последний перед получателем узел в цепочке называется выходной узел (exit node). Получатель не обязан быть частью Tor-сети. Выходной узел выполняет роль передаточного звена между открытым миром (получателями) и сетью Tor.


Как и в OR, Tor-клиент выбирает какие Tor-сервера он хочет включить в цепь (путь в Tor называется цепь). В OR одну цепь можно использовать только для одного TCP соединения, Tor позволяет проводить много TCP соединений по одной цепи. Цепи определяются заранее. Главная функции Tor-клиента – это задать цепь и установить общие ключи между клиентом и всеми промежуточными узлами. Ключи понадобятся позже, когда клиент начнет отправить получателю сетевые пакеты и наоборот. В Tor размер цепи фиксирован и составляет 3 узла.


Когда клиент хочет анонимно отправить данные получателю, например, когда пользователь открывает web-сайт, поток пакетов разделяется на отрезки фиксированного размера — 512 байт. Затем, с помощью заранее установленных общих сессионных ключей, отрезки оборачиваются в слои – для каждого передаточного узла (Tor-сервера) свой слой. Это делается таким образом, что когда Tor-сервер разворачивает свой слой он узнает только узел-предшественник и следующий узел цепи. В отличии от OR, который предусматривает перемешивание, входящие в узел Tor-пакеты (те самые по 512 байт) просто выстраиваются в очередь и обрабатываются и отправляются в режиме "первым пришел – первым ушел".


 (33 Кб)

Рисунок 1. Архитектура Tor

Модель угроз Tor

Цель нападающего — установить обоих: и отправителя и получателя. Как и все другие реально существующие анонимизирующие сети с малыми задержками, Tor не может защитить от глобального наблюдателя. Однако, он успешно противостоит нападающему, который:

  • может наблюдать часть трафика между узлами сети;
  • может создавать, изменять, удалять или задерживать трафик;
  • the adversary who can operate onion routers of his own; [6]
  • the adversary who can compromise some fractions of onion routers [7].

Атаки с использованием трафика можно разделить на две категории: атаки на опознание трафика (traffic confirmation attacks) и атаки анализа трафика (traffic analysis attacks). В каждой категории атаки подразделяются на активные и пассивные.


НАЧАЛО [8]
Атаки на опознание трафика (traffic confirmation attacks) — это атаки при которых злоумышленник использует отличительные особенности трафика жертвы. Предположим, нападающий подозревает что Алиса общается с Бобом и хочет в этом убедиться. В качестве примера пассивной атаки можно привести ситуацию, когда злоумышленник

  • наблюдает за трафиком на двух концах предполагаемого соединения — и на стороне Алисы и на стороне Боба,
  • и с помощью замеров времени отправки/получения или размеров пакетов на обоих концах проверяет свое предположение.

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


Атаки анализа трафика (traffic analysis attacks) — это атаки благодаря которым нападающий определяет узлы сети, к трафику которых ему следует приглядеться и попробовать применить атаки на опознания трафика. Например, пассивный злоумышленник может наблюдать за краями сети и пытаться найти взаимосвязь между входящими и выходящими потоками, опираясь в своих догадках на время входа/выхода пакетов или их размеры. Или же действовать более активно – вносить характерные особенности в поток, пытаясь упростить его идентификацию на выходе из сети.
КОНЕЦ [8]

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

Разработчики Tor решили не тратить силы на атаки опознание трафика (traffic confirmation attacks) и сфокусировались только на атаках анализа трафика (traffic analysis attacks). Из-за того что в модель угроз Tor не входит глобальный наблюдатель, некоторые атаки анализа трафика могут не учитываться. Больше информации о том как Tor противостоит атакам анализа трафика можно найти в работе Dingledine and Mathewson (Dingledine et al. 2004). Так же в (Dingledine et al. 2004) рассмотрены другие атаки, выходящие за рамки данной статьи, например, атаки на службу каталогов (directory services) и точки встречи (rendezvous point).

2.2 Tarzan

Tarzan — это еще одна анонимизирующая система с малыми задержками. Она тоже базируется на идеях Чаума и, как и другие, создана для обеспечения анонимности при использовании веб-приложений и мессенджеров. В отличии от Tor, Tarzan основан на peer-to-peer архитектуре. Каждый Tarzan-узел может быть как клиентом так и передаточным узлом. Благодаря этому устраняются timing-атаки анализа трафика между входными и выходными узлами. Ведь, в любой момент кто угодно может присоединиться или выйти из сети, и любой узел может быть потенциальным инициатором потока (клиентом). Для распространения информации об имеющихся в сети узлах используется протокол основанный на механизме сплетен (gossip-based mechanism) похожий на описанный в работе (Harchol-Balter, Leighton & Lewin 1999). Из-за особенносте peer-to-peer архитектуры, нападающий может изобразить из себя столько Tarzan-узлов сколько захочет. Поэтому, в Tarzan предусмотрен механизм для уменьшения вероятности выбора вредоносного узла. Механизм предполагает категоризирование узлов на основе хешей их IP адресов.


Конечный получатель анонимного потока не обязательно должен быть Tarzan-узлом — выход во внешний мир осуществляется с помощью PNAT (см. ниже). Авторы Tarzan утверждают, что их сеть способна противостоять глобальному наблюдателю. Достигается это благодаря разновидности покрывающего трафика, которая называется “mimic traffic”. Что бы фальшивый трафик не сильно перегружал сеть, каждый Tarzan-узел устанавливает фальшивое соединение только с несколькими другими узлами.


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


Например, Tarzan-узел a хочет установить анонимное соединение с веб-сервером srv. При этом узел a хочет что бы длинна тоннеля была равной l+1, где l — это количество узлов в туннеле. Тогда a выполняет следующие действия:

  1. a выбирает первый передаточный узел n1 из числа своих имитаторов
  2. a запрашивает у n1 список его имитаторов ln1
  3. a выбирает второй передаточный узел n2 из списка ln1
  4. a запрашивает у n2 список его имитаторов ln2. Запрос идет через n1, при этом n1 не знает что именно он передает.
  5. a выбирает третий передаточный узел n3 из списка ln2
  6. Таким образом a наращивает туннель пока в нем не будет l узлов
  7. В конце, a случайным образом выбирает последний узел из числа всех узлов сети. Этот последний узел в Tor называется выходным узлом (exit node), а в Tarzan — PNAT.

В итоге получается такой путь: a -> n1 -> n2 -> ... -> nl -> PNAT -> svr
Важно что PNAT выбирается из всех узлов, а не только из числа имитаторов узла nl. На рисунке 2 изображена сеть Tarzan и созданный туннель. В примере каждый Tarzan-узел имеет 6 имитаторов.


 (52 Кб)

Рисунок 2. Архитектура Tarzan, основанная на имитаторах

2.3 MorphMix

MorphMix (Rennhard & Plattner 2002, Rennhard & Plattner 2004) это еще одна система анонимной связи с малыми задержками. Its main objective is to provide a practical anonymous communication to the masses. [13] MorphMix следует peer-to-peer архитектуре. Как и Tor, MorphMix использует цепочки передаточных узлов фиксированной длины и послойное шифрование (каждый узел может развернуть только свой слой). Как и в Tor, в MorphMix нет покрывающего трафика (cover traffic) — считается что он малоэффективен.


Разработчики MorphMix используют следующую терминологию:
цепочка передаточных узлов — анонимный туннель (anonymous tunnel)
первый узел — инициатор (initiator)
последний узел — последний узел (final node)
узлы между первым и последним узлом — промежуточные узлы (intermediate nodes)


В отличии от Tor и Tarzan, где узлы для организации туннеля выбирает инициатор, в MorphMix каждый промежуточный узел может влиять на то, какой узел будет его преемником. Когда узел-инициатор a хочет организовать анонимный туннель:

  1. он выбирает первый промежуточный узел b из списка своих соседей [15];
  2. Затем между a и b устанавливается симметричный ключ. Этот ключ используется для создания шифрованного слоя;

[начало 20]
3. Что бы продлить туннель, a запрашивает у b список узлов, из числа которых будет выбран следующий узел туннеля.
4. b отправляет a, список рекомендованных им узлов (b выбирает узлы из числа своих соседей).
5. Затем a выбирает один узел из этого списка, назовем выбранный узел c. Таким образом тоннель продлевается — после b будет идти c.
6. a создает симметричный ключ, который будет общим для a и c. a отправляет ключ узлу c через b. [16]
[конец 20]
Что бы b не смог осуществить атаку человек-по-середине (man-in-the-middle attack), в MorphMix предусмотрен свидетель (witness). Свидетель выступает в роли третьей доверенной стороны в процессе выбора следующего узла туннеля (в нашем примере этот процесс происходит между узлами a и b). Он позволяет инициатору a установить общий ключ с узлом c через b, не раскрывая при этом ключевой материал узлу b.


На рисунке 3 (из работы Rennhard & Plattner 2002) показано как в MorphMix происходит процесс выбора следующего узла туннеля с помощью свидетеля. Предполагается что соединение между a и b уже установлено.


 (44 Кб)

Рисунок 3. Процесс выбора следующего (после b) узла туннеля в MorphMix.

1. a выбирает свидетеля w из числа известных ему узлов. Затем он генерирует половину ключевой информации DHa, добавляет к ней значение текущего времени (nonce1) и шифрует все это на публичном ключе w{nonce1, DHa} PuKw. Отметим, что указание текущего времени nonce1 используется для предотвращения атак повтором (replay attack) [17]. s — указывает b сколько узлов он должен отобрать (из этих узлов будет выбран следующий узел для туннеля). b не получает ни каких сведений о ключевой информации DHa, т.к. она зашифрована на публичном ключе w.


2. После того как b получил сообщение, он пересылает DHa (в составе зашифрованного послания {nonce1, DHa} PuKw) свидетелю w вместе с отобранными узлами и их публичными ключами ({ipc, PuKc, ipd, PuKd, ipe, PuKe}).


3. w выполняет два действия. Первое: он расшифровывает {nonce1, DHa} PuKw, что бы получить DHa. Затем w случайным образом выбирает следующий узел туннеля c. Далее w отправляет DHa и информацию о узле b и его публичный ключ {ipb, PuKb} узлу с.


4. Если с соглашается стать следующим узлом туннеля, он отправляет w сообщение “Ok”.


5. w подписывает список отобранных b узлом вместе с nonce1, при этом выбранный узел c указывается первым после nonce1. И отправляет b. [19](1)


6. b получает сообщение от w. Он узнает что следующим узлом в туннеле должен быть с. Он генерирует идентификатор id анонимного соединения между b и c. Затем он отсылает id и новое значение текущего времени nonce2 [18] узлу c.


7. В ответ c генерирует и отправляет b свою половину ключевой информации DHс вместе с указанием id.


8. b отправляет a DHс и список отобранных узлов с подписью свидетеля w.[19](2)


В MorphMix узлы не обязательно должны знать обо всех других узлах сети. Rather, MorphMix pays more attention to collusion's detection of malicious nodes. [21]


3 Малозатратная атака на анонимную систему с малыми задержками

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


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

Идея атаки

Атака основана на том, что системы с малыми задержками не могут позволить себе вносить в поток какие-либо задержки. Таким образом, временнЫе характеристики (timing pattern) пакетов сохраняются на всем протяжении цепи. Атака стала возможной из-за того, что разработчики Tor посчитали невероятным появление в сети глобального пассивного наблюдателя [24]. Такая ситуация не рассматривалась и не входила в модель угроз. Однако, малозатратная атака [22](1) выявила ошибочность суждений разработчиков и показала что Tor все еще уязвим перед некоторыми вариантами timing-атак.
Действительно, нападающий не видит всех связей в сети. Но ни что не мешает ему выступить в качестве одного из узлов Tor и замерить задержки между собой и всеми другими узлами. С помощью знания этих задержек можно косвенно оценить объем трафика который передает каждый узел в каждый момент времени. Далее, зная картину распределения объема трафика от времени для всех улов сети, можно, используя технику (Danezis 2004), строить достаточно хорошие догадки о том какие узлы передают трафик с одинаковыми характеристиками. Другими словами выявить анонимизирующие цепочки.


Архитектура Tor способствует атаке. Tor-узел выделяет каждому соединению отдельный буфер, обработка буферов идет в round robin fashion [3](1). Если в буфере нет потока — он игнорируется, начинается обработка следующего буфера. Отметим, что по соображениям производительности смешивание было удалено. Таком образом,

  • когда устанавливается новое соединение:
  • или удаляется существующее соединение;
  • или когда меняется трафик в текущем соединении

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

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

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

Модель атаки

Основные этапы атаки:

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

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


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


 (70 Кб)

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

 (44 Кб)

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

4 Анализ эффективности малозатратной timing-атаки на Tarzan и Morphmix

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


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


Таким образом, для успешной атаки должны быть выполнены следующие условия:

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

Tor подвержен атаке, потому что его архитектура удовлетворяет этим требованиям. Во-первых, разработчики Tor удалили операции смешивания и покрывающий трафик, поэтому временнЫе характеристики потоков сохраняются на протяжении всей цепочки. Это подтвердили эксперименты (Murdoch & Danezis 2005). Во-вторых, в Tor предусмотрена служба каталогов [26] с помощью которой Tor-клиент может получить список всех узлов (Tor-серверов) сети. В-третьих, ничего не мешает Tor-клиенту установить соединение со всеми Tor-серверами.

4.1 Малозатратная атака в Tarzan

Проверим выполняются ли в Tarzan перечисленные выше условия.

Задержки

There are two differences between Tarzan and Tor that should affect the latency. Во-первых, Tor обрабатывает очереди в режиме round-robin fashion. Во-вторых, в Tor нет смешивания и покрывающего трафика (cover traffic). Для Tarzan дела обстоят иначе. Tarzan предусматривает механизм имитаторов. Благодаря которому активность исходящих из узла связей сопоставима с активностью входящих. Если какая-нибудь связь недостаточно активна, Tarzan добавляет фальшивый трафик. Кроме того, перед отправкой, Tarzan-узел производит некоторые операции смешивания и batching над всеми исходящими потоками.


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

Возможность получить информацию обо всех узлах сети

Для поиска других узлов сети Tarzan-узел использует механизм основанный на протоколе сплетен (gossip-protocol). Т.е. каждый Tarzan-узел теоретически может получить информацию обо всех других узлах сети. Но задача может быть трудно выполнима из-за того что Tarzan — это peer-to-peer сеть и количество узлов может быть очень большим и постоянно меняться. Таким образом, кажется сомнительным что вредоносный узел сможет оценить задержки всех других узлов сети. Однако, т.к. теоретическая возможность есть, будем считать что условие выполняется.

Возможность установить прямое соединение с другими узлами сети

Если, после получения списка всех других узлов сети, у вредоносного узла есть возможность установить прямое соединение с каждым из них — значит третье условие выполняется. В отличии от Tor, Tarzan позволяет передавать трафик только через мимики. Таким образом, когда если узел не входит в число мимиков вредоносного узла, то вредоносный узел не сможет установить с ним прямое соединение. Если соединение требует посредников, то вредоносный узел не может корректно замерить задержки. Т.к. замеры могут зависеть от задержек создаваемых промежуточными узлами. Таким образом, все выглядит так что малозатратная атака не применима к Tarzan. Тем не менее, это не так. В Tarzan есть PNAT – последний узел в туннеле, через который соединение выходит во внешний мир. В отличии от других промежуточных узлов в туннеле, когда выбор каждого следующего узла ограничен списком мимиков, PNAT-ом может быть назначен любой узел сети. Таки образом, у вредоносный узла есть возможность установить прямое соединение без посредников с любым узлом — механизм мимиков не решает проблемы.


Подведем итог. Малозатратная атака применима к Tarzan, т.к. механизм мимиков не разрушает timing-характеристики потоков, и PNAT может быть выбран из числа всех узлов сети а не только из мимиков.

4.2 Малозатратная атака в MorphMix

Главное отличие между MorphMox и Tor состоит в архитектуре сети и том как происходит выбор передаточных узлов туннеля и выходного узла. MorphMix works in a peer-to-peer environment where Tor has dedicate servers acting as Mix nodes. В Tor, Tor-клиент самостоятельно выбирает все узлы для организации анонимного тоннеля. В MorphMix узел выбирает участников туннеля только из узлов предложенных каждым промежуточным узлом. В Tor есть выходной узел (exit node), в MorphMix нет. Проверим применимость малозатратной атаки на MorphMix использую те же самые три критерия.

Задержки

После установления туннеля, узлы MorphMix и Tor работают одинаково. У обоих нет покрывающего трафика. Таким образом, в этом разрезе, атака может быть применена к MorphMix.

Возможность получить информацию обо всех узлах сети

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


Суть вот в чем. При осуществлении атаки, вредоносному узлу трудно получить список всех узлов сети. Это не тривиальная задача, потому что получить информацию о других узлах можно только с помощью механизма создания туннеля. Для успешной атаки требуется более эффективный механизм поиска – иначе определение списка всех узлов сети требует слишком много работы. Т.е. “малозатратная” атака становится “дорогой”. Кроме того, к моменту построения списка он скорее всего устареет, т.к. состав peer-to-peer сети очень нестабилен. Moreover, due to loose knowledge of other nodes' presences, there is no assurance that all nodes in the MorphMix network are connected. Таким образом, атака не выполнима.

Возможность установить прямое соединение с другими узлами сети

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


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

5 Принципы построения безопасных систем с малыми задержками

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


Исходя из результатов исследования, мы сделали следующие выводы. Малозатратная атака может быть устранена одним из двух способов:

  1. Сделать невозможным получение информации обо всех узлах сети.
  2. Добавить покрывающий трафик (cover traffic) таким образом что бы характерные особенности отдельных потоков были нивелированы.

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


Отметим, что все на что опираются в своей работе Мердоч и Данезис (Murdoch & Danezis 2005) рушится при выполнении второго принципа. Однако, как они отметили, определить нужный объем покрывающего трафика — это трудная задача. В любом случае, атаку можно предотвратить следуя первому принципу.

Дальнейшее обсуждение

The significant part for anonymity preserving in a low latency anonymous system appears to be in the second scenario, that is, the message flow or traffic flow. Это связано с основным требованием к системе — минимизировать задержки. Добавление достаточных задержек разрушает способность передаточного узла перемешивать или делать свои входящие и исходящие потоки неразличимыми. Это дает нападающему зацепку что бы в конце концов сломать анонимность создаваемую системой. Однако, использование в анонимизирущем туннеле нескольких передаточных узлов значительно усложняет атаку, и приводит к тому что нападающий должен иметь возможность контролировать все узлы сети или все связи между узлами. Т.е. быть “глобальным наблюдателем”.


Разработать анонимизирующую систему

  • способную противостоять глобальному наблюдателю
  • и при этом минимизирующую задержки до приемлемого уровня

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


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


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


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


Исходя из выше сказанного, можно добавить еще одно преимущество peer-to-peer архитектуры для построения анонимизаторов над сетями основанными на выделенных серверах. Преимущество возникает из-за того что в peer-to-peer сетях большое количество узлов. Таким образом, даже если нападающему удастся получить список всех узлов сети, он скорее всего будет уже устаревшим, т.к. трудно обнаружить все узлы за короткое время.


6 Заключение

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



[1] и [2] Как смешивать потоки?
Как смешивать отдельные сообщения в системах с большими задержками (когда система оперирует не потоками а отдельными сообщениями) я могу представить: накопил несколько сообщений, перемешал их и отправил дальше в случайном порядке.
Но как смешивать потоки? Учитывая, что путь по которому передается поток не меняется (некоторое время не меняется)


[3] Что это за операция "processes its input queues in a round robin fashion"?
"The attack works because Tor removes the mixing operation that has been used in its earlier version, and instead processes its input queues in a round robin fashion."
Ниже (пункт 2.1 заключительный абзац) говорится что используется схема "первым пришел – первым ушел". Это одно и тоже?


Все же какое отличие от "первым пришел – первым ушел" у "round robin fashion" похоже есть. Надо его объяснить.


[4] Какой смысл в данном контексте имеет слово "padded".
1)To provide unlinkability messages are padded and encrypted so that the adversary cannot see the content of data packets and so cannot link the content. In each node incoming message is batched and reordered or relayed in a way that is dificult for the adversary to discover its corresponding outgoing message through the message arrival and departure times.
2)Tor also removes features that are considered by its authors as being unnecessary. These features are mixing, padding and traffic shaping.


[5] Как лучше перевести "rendezvous point"?
Some of them are perfect forward secrecy, congestion control, directory services, integrity checking, configurable exit policies, and rendezvous point and hidden service.


[8] В чем разница между traffic confirmation attacks и traffic analysis attacks
Описание ничем не отличается.
Attacks using the network traffic can be classified into two main categories: traffic confirmation attacks and traffic analysis attacks. Each category consists of both passive and active attacks. Traffic confirmation attacks are attacks where the adversary uses a traffic pattern to confirm his guess. For example, the adversary suspects that Alice is talking to Bob. Passively, he observes traffic at both Alice and Bob's ends and uses a pattern that obtained from timing or volume of packets that enter and leave both ends to verify his suspicion; or actively embeds timing signatures into the traffic between these two nodes to force the distinct patterns that can be recognized.
However, traffic analysis attacks are attacks that the adversary learns which points in the network he should attack by using traffic patterns. For example, the passive adversary can observe the network edges and then uses relationships in timing or volume of packets to correlate traffic that enter or leave the network; or the active adversary can insert a pattern into traffic that can be detectable afterward.


[10] Правильно ли я понял способ которым Tarzan ограничивает фальшивый трафик?
To prevent an overwhelming network consumption, Tarzan limits the mimic traffic of each Tarzan node to merely with some of its peers.


Вариант 1: для ограничения каждый узел может установить только несколько фальшивых соединений (как это происходит не понятяно)
Вариант 2: ограничивается объем трафика который передается по фальшивым соединениям (тоже не понятно как другие узлы узнают какой трафик они передают, фальшивый или настоящий)


[11] Как отправитель в сети Tarzan строит путь до выходного узла (PNAT)
When a Tarzan node a wants to have an anonymous connection with its recipient such as a web server svr, assuming that the anonymous tunnel has l + 1 length where l is a number of the nodes in the tunnel, a selects its first hop from its mimic list, say n1. Then, a asks n1 for n1's mimic list (ln1). a chooses the 2nd hop, from (ln1). Then, a repeats this process until l hops. Finally, a chooses the last node randomly from a's peer database. This last node acts
as an exit node in Tor but Tarzan names it PNAT. Therefore, the connections has the following path:

a -> n1 -> n2 -> ... -> nl -> PNAT -> svr.
It is important to note that PNAT is selected randomly from all peers in the database not from nl's mimic list, otherwise numbers of available paths are limited. Figure 2 illustrates Tarzan network's architecture and its tunnel connections. In this example, each Tarzan
node has approximately 6 mimics.


Отправитель самостоятельно запрашивает список имитаторов у каждого узла в туннеле?
сначала a запрашивает список имитаторов у n1,
затем a запрашивает список имитаторов у n2 и т.д.
Т.е. получается, что все узлы в туннеле знают что начальным отправителем является узел a ?


[12] Правильно ли я перевел значение "cover" в каждом случае?


[12](1) This, however, requires an unreasonable amount of mixing operations and cover traffic and hence, long delays.


[12](2) Also, Tarzan includes some mixing operations and cover traffic, which does not exist in Tor.


[12](3) Tarzan claims that it is resistant to the global adversary's attack, that is achieved via its cover tra±c mechanism, known as mimic traffic.


"cover traffic" – насколько я понял, это значит прятать трафик. В Tarzan реальный трафик прячется путем создания фальшивых трафиков (с узлами имитаторам).
Если это так, и "cover traffic" означает "прятать трафик", то как это происходило в первой версии Tor (сейчас эта операция удалена)? И чем "cover traffic" отличается от "mixing traffic"? Ведь "mixing traffic" (судя по комментарию unknown) как раз делает тоже самое – прячет трафик. При "mixing traffic" тоже не понятно сколько реальных потоков пропускает узел.


[14] Похоже что авторы не совсем точно выражаются. В Tarzan инициатор тоже (как и в MorphMix) может выбирать следующий узел не из всех узлов, а только из числа мимиков предыдущего.


Оригинал:
Unlike Tor or Tarzan, the intermediate nodes in MorphMix are not entirely chosen by the initiator. Rather, MorphMix allows each intermediate node to select its successor.


[15] Как в MorphMix происходит выбор соседей?
Соседями узла могут быть только некоторые узлы сети или все? Каждый узел знает обо всех другиъ узлах сети или только о части узлов?


[16] a генерирует ключ в одиночку? (Вопрос снимается, но в переводе это место надо переписать)
A symmetric key between a and c is created and then,sends to c through b.
Получается, что a в одночку генерирует ключ и отправляет его c. c не участвует в генерации ключа. Так ?


[17] Как правильно переводится термин replay attack?


[18] На рисунке 3 два раза упоминается nonce2. Это опечатка?


[19] Зачем узлу a знать какие еще узлы b предлагал, если использоваться все равно будет узел c ?


[20] Расхождение в описании процесса выбора следующего узла в MorphMix
Сначала в статье говорится:
To extend the tunnel, a asks b for a selection of nodes that should be used as its next hop. b sends a a set of its recommended nodes chosen from b's neighbors. a then chooses one of them, for example, node c.


Это описание расходится с пояснениями к рисунку 3, который идет ниже: в пояснении к рисунку говорится, что узел a вообще не выбирает следующий узел в туннеле — это делает свидетель w.


Если я правильно понял, то имеется расхождение — что же делать? как это переводить?


[22] Как лучше перевести "Low Cost Attack"?
(1) – Похоже что "Low Cost Attack" здесь имя собственное – обозначение данной конкретной атаки, а не целого класса атак.


[23] Задача просто определить узлы которые что-то передают (т.е. бывает и так что узел ничего не передает) или определить имеенно цепочки?
Оригинал:
The goal of the attack is to infer which nodes are being used to relay streams in the Tor circuit.


[24] Где проходит грань между активным и пассивным наблюдателем?
Ведь в атаке зловредный узел устанавливает соединения с другими узлами, т.е. делает активные действия а не только смотрит.


[26] Возможно перевод "directory service" как "служба каталогов" не лучший вариант в данном контексте.


[27] Ранее этот понятие “шаблон трафика” избегал. Как бы его лучше ввести.
Это – зависимость объема передаваемого узлом трафика от времени. Так?