Pull to refresh

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

Reading time 5 min
Views 1.5K
Original author: Rungrat Wiangsripanawan, Willy Susilo, Rei Safavi-Naini
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

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

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

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

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

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


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

Задержки

Между Tarzan и Tor есть два основных отличия влияющих на возникающие в сетях задержки. Во-первых, Tor обрабатывает очереди в режиме round-robin fashion. Во-вторых, в Tor нет смешивания и покрывающего трафика (cover traffic). В Tarzan дела обстоят иначе. Tarzan предусматривает механизм имитаторов. Благодаря которому активность исходящих из узла связей сопоставима с активностью входящих. Если какая-нибудь связь недостаточно активна, Tarzan добавляет фальшивый трафик. Кроме того, перед отправкой, Tarzan-узел производит некоторые операции смешивания над всеми исходящими потоками.

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

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

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

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

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

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

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


Главное отличие между MorphMox и Tor состоит в архитектуре сети и том как происходит выбор передаточных узлов туннеля и выходного узла. MorphMix следует peer-to-peer архитектуре, а в Tor, в качестве передаточных узлов, используются выделенные сервера. В Tor, Tor-клиент самостоятельно выбирает все узлы для организации анонимного тоннеля. В MorphMix в формировании туннеля участвуют все промежуточные узлы. В Tor есть выходной узел (exit node), в MorphMix нет. Проверим применимость малозатратной атаки на MorphMix с помощью тех же трех критериев.

Задержки

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

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

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

Суть вот в чем. Для осуществлении атаки, вредоносному узлу нужно получить список всех узлов сети. Это не тривиальная задача, потому что получить информацию о других узлах можно только с помощью механизма создания туннеля. Для успешной атаки требуется более эффективный механизм поиска – иначе определение списка всех узлов сети получается очень накладным. Т.е. “малозатратная” атака становится “дорогой”. Кроме того, к моменту построения списка он скорее всего устареет, т.к. состав peer-to-peer сети очень нестабилен. Кроме того, так как MorphMix-узлы не знают всех других узлов сети, нет ни какой гарантии что между всеми узлами может быть установлена связь (не важно прямая или нет). Таким образом, атака не выполнима.

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

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

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

Articles