Введение | Tor | Tarzan и MorphMix| Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)
Представляю вашему вниманию вторую часть перевода замечательной статьи Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам. Эта глава целиком посвящена самой популярной на текущий момент анонимизирущей сети 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 байт) просто выстраиваются в очередь и обрабатываются и отправляются в режиме «первым пришел – первым ушел».
Рисунок 1. Архитектура Tor
Цель нападающего — установить и отправителя и получателя. Как и все другие реально существующие анонимизирующие сети с малыми задержками, Tor не может защитить от глобального наблюдателя. Однако, он успешно противостоит нападающему, который:
Атаки с использованием трафика можно разделить на две категории: атаки на опознание трафика (traffic confirmation attacks) и атаки анализа трафика (traffic analysis attacks). В каждой категории атаки подразделяются на активные и пассивные.
Атаки на опознание трафика (traffic confirmation attacks) — это атаки при которых у злоумышленника уже есть предположение о связи между отправителем и получателем, и он проверяет свою догадку с помощью паттерна трафика*. Предположим, нападающий подозревает что Алиса общается с Бобом и хочет в этом убедиться. В качестве примера пассивной атаки можно привести ситуацию, когда злоумышленник
Если нападающий действует более активно, и уже не только наблюдает, но и вносит в трафик отличительные особенности — помечает трафик (например, создавая искусственные задержки или другим способом изменяя его характеристики) — то это будет пример активной атаки.
Атаки анализа трафика (traffic analysis attacks) — это атаки благодаря которым нападающий определяет узлы сети, к трафику которых ему следует приглядеться и попробовать применить атаки на опознания трафика.7 Например, пассивный злоумышленник может наблюдать за краями сети и пытаться найти взаимосвязь между входящими и выходящими потоками, опираясь в своих догадках на время входа/выхода пакетов или их размеры. Или же действовать более активно – вносить характерные особенности в поток, пытаясь упростить его идентификацию на выходе из сети.
Разработчики 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 Атаки на опознания трафика являются частным случаем атак анализа трафика.
* Что такое «система анонимной связи с малыми задержками», «смешивание трафиков» и «паттерн трафика» см. во введение.
Делаю быстрый бесплатный редактор блок-схем и интеллект карт https://dgrm.net/
Представляю вашему вниманию вторую часть перевода замечательной статьи Принципы построения анонимизирующих систем с малыми задержками противостоящих 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 байт) просто выстраиваются в очередь и обрабатываются и отправляются в режиме «первым пришел – первым ушел».
Рисунок 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 Атаки на опознания трафика являются частным случаем атак анализа трафика.
* Что такое «система анонимной связи с малыми задержками», «смешивание трафиков» и «паттерн трафика» см. во введение.
Самореклама
Делаю быстрый бесплатный редактор блок-схем и интеллект карт https://dgrm.net/