id: Гость   вход   регистрация
текущее время 16:41 28/03/2024
Владелец: unknown (создано 06/08/2012 14:29), редакция от 06/08/2012 17:46 (автор: unknown) Печать
Категории: софт, анонимность, анализ трафика, tor, микс-сети, атаки
http://www.pgpru.com/Новости/2012/TorScanТрассировкаДолговременныхСоединенийИДифференциальныеСканирующиеАтаки
создать
просмотр
редакции
ссылки

06.08 // TorScan: трассировка долговременных соединений и дифференциальные сканирующие атаки


Проблемы обеспечения анонимности никого не беспокоили во времена создания интернет-протокола. Неудивитильно, что при таком подходе все интернет-коммуникации стали отслеживаемыми. Сегодня последствия возможности связать трафик с личностью человека варьируются от продажи истории пользовательской активности в интернете маркетологам в демократических странах до помещения в тюрьму сетевых критиков правительства в странах с репрессивными режимами. Для многих людей первой мерой сокрытия своих персональных данных служит публично доступный прокси-сервер. Это однако не является панацеей: владелец такого прокси может быть принуждён к раскрытию всех потенциально хранимых логов, и даже хуже того, такой сервер может оказаться приманкой со стороны той организации, от которой пытается спрятаться пользователь.


Лучшим решением является пропускание трафика через цепочки сетевых перенаправляющих узлов (релеев). Эта идея была разработа в 1981 году Дэвидом Чаумом в его основополагающей работе по микс-сетям. Микс — это фундаментальный строительный блок анонимной сети, который скрывает взаимосвязь между входящими и исходящими сообщениями, которые он через себя пропускает. Было реализовано некоторое количество микс-сетей для того, чтобы сделать неотслеживаемыми сообщения электронной почты, особено примечательны Mixmaster и Mixminion. Помимо этого, микс-сети используются в некоторых протоколах электронного голосования. Для гарантии сильной анонимности микс-сети часто задерживают сообщения и добавляют ложные цели. Эти меры однако неприемлемы для коммуникаций с низкими задержками.


В 1996 году Голдшлаг, Рид и Сайверсон представили "луковичную маршрутизацию" (Onion Routing), конструкцию, препятствующую анализу трафика в сетях с низкими задержками, под влиянием идеи микс-сетей Чаума. После исходного проекта "Onion Routing Project" ему на смену пришёл Tor. Tor-сеть — это анонимная сеть с низкими задержками трафика, которая на текущий момент насчитывает порядка 2500-3000 роутеров и оценочным количеством пользователей в сутки свыше 400000 по уникальным IP. Tor пытается достичь низких задержек трафика для создания удобных пользовательских характеристик в ущерб некоторой анонимности. Для поддержания задержек на низком уровне, а пропускной способности сети на высоком, Tor-узлы не используют никаких задержек входящих сообщений или дополнений трафика.


Одним из способов подрыва анонимности тор-пользователей является раскрытие соответствующих пар входящих и исходящих узлов; предполагается, что это трудная задача. Как только установлена связь между входящим и исходящим узлом, уровень анонимности падает до уровня анонимности двух последовательно связанных прокси-узлов или даже до уровня единственного прокси, если атакующий контролирует данный исходящий узел. Хотя это и не означает мгновенного установления источника соединения, это уже серьёзная утечка, поскольку тройки сторожевых узлов могут быть использованы как уникальные идентификаторы пользователя внутри тор-сети, а также потому, что знание входящего узла подсказывает противнику следующую цель для атаки. А именно, для компрометации входящего узла может быть запущена атака другого типа или оператор и провайдер входящего узла может быть принуждён к ведению и раскрытию логов.


Предположим, что исходящий узел известен, а вероятность правильно угадать входящий узел равна 1 / n, где n — число входящих узлов в Tor-сети. Для противника с неполным обзором сети в отличие от глобального пассивного наблюдателя и полностью связной сети, такая вероятность не столь очевидна. В реальности не все входящие и исходящие узлы образуют цепочки из трёх узлов (что является по умолчанию в Tor) в один и тот же момент времени. Это наблюдение легло в основу работы, которую опубликовали исследователи из Университета Люксембурга, Алекс Бирюков, Иван Пустогаров и Ральф-Филипп Вейнманн. В работе показаны:


  1. Два пути раскрытия связности узлов в Tor-сети: один за счёт использования обычных соединений, которые являются частью спецификации Tor-протокола; другой — основанный на более общей технике тайминг-атаки на установлении соединения между двумя узлами.
  2. Новые типы атак, основанные на методах сканирования связности. Первая атака позволяет идентифицировать сторожевой узел, который задействован в цепочке, используемой для построения долговременных соединений, таких как поддержание SSH-сессий или загрузки файлов большого размера. Вторая атака, названная авторами атакой дифференциального сканирования, использует повторяющиеся соединения для попыток выявления всех сторожевых узлов пользователя.
  3. Даны некоторые указания по контрмерам, которые могут быть выполнены для того, чтобы сделать сеть Tor более стойкой к утечкам информации о топологии.

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


Так, долговременное соединение будет удерживать один исходящий узел и за это время противник сможет попытаться перебрать и отсеять цепочки, которые не могут построить соединение с таким узлом. Эта атака не зависит от объёма скачиваемого трафика и влияет на раскрытие анонимности как при долгом скачивании файлов, так и при удержании SSH-сессии или чат-соединения с небольшими объёмами трафика. При этом, представленные авторами атаки на связность и топологию ортогональны ранее известным атакам и их можно комбинировать: изучение связности в ходе одной атаки и модуляций трафика в ходе другой взаимно усиливает раскрываемость.


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


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


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


  1. Не требуется запускать никаких подконтрольных узлов в Tor-сети. Сканирование тор-узлов осуществляется извне, возможно даже и с использованием распределённых адресов.
  2. На сканирование каждого узла потребуется лишь 5 мегабайт трафика (с учётом размера сети в 3000 узлов).
  3. Скорость атаки достаточно высока: 20 секунд на каждый узел при лёгкой возможности распаралелливания.

Авторы проверили результаты своей работы в реальной сети тор, используя урезанный и модифицированный тор-клиент, управляемый через Python-скрипт. Используя методы обычного сканирования (без тайминг-атак) им удалось получить результат проверки связности одного тор-узла с 99% всех остальных узлов сети за 30 секунд.
Исследователи также приводят статистические результаты, собранные с запущенных ими двух узлов.


Другим интересным направлением работы явилась атака дифференциального сканирования. Предположим, пользователь периодически проверяет страницу на некотором сервере. Или сам сервер периодически вынуждает браузер переустанавливать соединение, как например происходит в короткоживущих TCP-сессиях Google-mail. Автообновление страниц также является примером такого типа соединений. В ходе данной атаки целью является нахождение хотя бы одного сторожевого входящего узла пользователя такого соединения и различение этого пользователя среди других по cookie-файлу или логину. При этом от пользователя не требуется долговременно висеть на этом сервисе, а лишь заходить на него на короткие промежутки времени, но достаточно регулярно, скажем, в течении месяца — пока не сменился набор сторожевых узлов.


Если пользователь посещает сайт S, то атакующий контролирует один из множества исходящих узлов E. Через каждые десять минут цепочка пользователя перестраивается и если он снова выбирает исходящий узел из множества E, то атакующий предпринимает ряд шагов.

  1. Атакующий определяет промежуточный узел M, через который было соединение к E.
  2. Он выполняет сканирование узлов, подсоединённых к M
  3. Атакующий, используя свой злонамеренный исходящий узел E посылает ячейку, разрывающую соединение с пользователем.
  4. Через три минуты атакующий выполняет повторное сканирование M.
  5. Атакующий сравнивает список узлов, соединённых с M с тем, что было получено ранее в пункте 2, определяя список узлов которые были в первом списке, но отсутствуют во втором, получая разность множеств анонимности M и G.
  6. Атакующий повторяет шаги 1-3 для каждого своего исходящего узла для выбранных повторяющихся соединений.
  7. Повторение всех вышеприведённых пунктов способно в реальных условиях приблизить вероятность получения списка сторожевых узлов пользователя к 1/3.

Сканирование полной сети через регулярные интервалы усиливает мощность атаки. В ходе своих экспериментов авторам удалось проводить полное сканирование Tor-сети за 3 минуты с помощью всего 20 хостов. Ежедневное сканирование с интервалом каждые три минуты обошлось авторам в 80 USD за счёт разворачивания узлов в облачном сервисе Amazon EC2.


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


В ходе своих расчётов авторы показывают, что их атаки со стороны противника с небольшими затратами способны затронуть до 10000 Tor-пользователей в сутки.


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


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


Следует отметить, что атаки данного рода не деанонимизируют пользователя напрямую и не раскрывают его IP-адрес, а лишь с долей вероятности вычисляют список его сторожевых узлов, что потенциально снижает анонимность Tor-сети до уровня обычного набора прокси-серверов с шифрованием трафика.


Источник: Cryptology ePrint Archive


 
Много комментариев (15) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3