Pull to refresh

Анонимные сети и timing атаки: Tor

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

Представляю вашему вниманию вторую часть перевода замечательной статьи Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам. Эта глава целиком посвящена самой популярной на текущий момент анонимизирущей сети Tor.

Не поленитесь прочитать введение.



Tor


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

В Tor есть три основных участника процесса: 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 байт) просто выстраиваются в очередь и обрабатываются и отправляются в режиме «первым пришел – первым ушел».


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

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


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

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

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

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

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

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).



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

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

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


7 Атаки на опознания трафика являются частным случаем атак анализа трафика.


* Что такое «система анонимной связи с малыми задержками», «смешивание трафиков» и «паттерн трафика» см. во введение.
Tags:
Hubs:
+32
Comments 2
Comments Comments 2

Articles