Анонимные сети и timing атаки: Введение

Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Представляю вашему вниманию часть статьи признанных исследователей в области информационной безопасности, переводом которой мы (участники "openPGP в России") сейчас занимаемся. Среди авторов Willy Susilo (Co-Director, Centre for Computer and Information Security Research).

Приведенное ниже "Введение" из статьи "Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам" адресовано всем интересующимся сетевой анонимностью. Авторы доступным языком раскрывают основы анонимизаторов и возможных на них атак, с упором на самому популярную в настоящий момент анонимизирующую сеть "Tor".



Введение



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

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

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

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

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

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

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

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

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

Недавно, Мёрдоч (Murdoch) и Данезис (Danezis) показали пример успешной атаки на системы с малыми задержками без использования глобального наблюдателя. Атака основана на анализе трафика предложенном Данезисом в 2004. В их атаке анонимность, которую обеспечивает Tor, может нарушить злоумышленник который видит только часть сети или владеет одним узлом Tor. Атака работает из-за того, что разработчики Tor удалили операцию смешивания, которая была в ранней версии, и теперь входящая очередь потоков обрабатывается в режиме round robin fashion4. Подконтрольный злоумышленнику 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 5 — и покажем чем они отличаются друг от друга. В 3-ем разделе рассмотрим атаку на Tor, описанную Мёрдоч и Данезисом (Murdoch & Danezis 2005). Отметим, что авторы утверждают что атаке подвержены все анонимные сети с малыми задержками. В 4-ом разделе мы опровергнем это утверждение с помощью Morphmix. В 5-ом разделе мы выведем несколько правил построения систем с малыми задержками. И наконец, в 6-ом разделе сделаем заключение.




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

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

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


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

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

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

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


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

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


4 Round robin fashion

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


5 Tarzan и Morphmix существовали как концепты ещё на момент начала разработки Tor. В настоящее время эти сети реально не используются.
  • +58
  • 6,2k
  • 6
Поделиться публикацией
Похожие публикации
Ммм, длинные выходные!
Самое время просмотреть заказы на Фрилансим.
Мне повезёт!
Реклама
Комментарии 6
  • +5
    Чудесно, жду с нетерпением продолжения. Крайне редко нынче можно увидеть годный материал на хабре.
    • 0
      материал не на хабре, а лишь копипаст
      • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Хорошая статья. Моё общее представление об анонимных сетях стало немного чётче за счёт описания возможных атак. Всё собирался почитать подробнее о них [сетях], но руки не доходили. Так что для меня оказалась весьма кстати.
      • 0
        Если так боятся всплесков то нужно всегда генерить трафик на всю ширину канала, не зависимо от реальных данных. Но это чревато навернутыми железяками которое это будет обслуживать т.е. оно всегда будет загружено.
        • 0
          >Если так боятся всплесков то нужно всегда генерить трафик на всю ширину канала, не зависимо от реальных данных.

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

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