Научная статья на тему 'Технологии деанонимизации пользователей Tor'

Технологии деанонимизации пользователей Tor Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2949
910
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лазаренко А.В.

В настоящей статье представлены современные технологии деанонимизации пользователей сети Tor. Предложена их классификация.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Технологии деанонимизации пользователей Tor»

Технологии деанонимизации пользователей Tor

Лазаренко А.В., департамент программной инженерии, НИУ ВШЭ

avlazarenko@edu.hse.ru

Аннотация

В настоящей статье представлены современные технологии деанонимизации пользователей сети Tor. Предложена их классификация.

1 Введение

Одними из наиболее эффективных инструментов обеспечения высокого уровня приватности пользователей в Интернете считаются анонимные сети, обзор которых приведен в работе [1]. Число анонимных сетей достаточно велико: около 30. Самой популярной и широко-используемой сетью является сеть Tor [2]. Настоящая работа посвящена технологиям деанонимизации пользователей этой сети.

2 Анонимная сеть Tor

Развитие сети Tor началось в 1998 году, когда DARPA инициировала проект по разработке луковой маршрутизации, в основе которой слоистое шифрование. В 2002 году разработка была рассекречена и преобразована из проприетарной военной технологии в технологию с открытым исходным кодом. В 2009 году создан Tor Browser Bundle. Он позволил подключаться к сети со своего домашнего компьютера через обычный интернет-браузер. В 2015 году появился официальный мессенджер. На данный момент, к сети можно подключаться и через мобильные платформы: Android или iOS.

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

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

Цепь Tor. Очень важным элементом Tor является цепь, состоящая из нескольких ретрансляторов (см. Рис. 1). В соответствии со стандартными настройками, цепь состоит из трех узлов. Количество узлов можно легко поменять, через изменение конфигурации подключения.

Шифрованная связь У Обычная связь

Рис. 1. Цепь Tor

Входной узел (англ. entry) - первый в цепи. Система автоматически подбирает для пользователя три таких узла. К узлам, выбираемым системой в качестве входных, предъявляются особые требования: они должны быть в сети достаточно давно (8 дней), обладать высокой пропускной способностью, хорошей производительностью. Входной узел имеет доступ к IP-адресу пользователя.

Передаточный узел (англ. middle) - второй в цепи. Узел выбирается в случайном порядке и используется для ретрансляции траффика на выходной узел. Передаточный узел не знает как конечную точку назначения, так и IP-адрес пользователя.

Выходной узел (англ. exit) - третий в цепи, выбирается точно так же, как и передаточный. Выходной узел знает конечную точку назначения пользователя.

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

чения, потому что в этом случае соединение никак не шифруется. Таким образом, никакой узел не знает все узлы в данной, конкретной цепи. Увеличивая количество узлов в цепи, пользователь повышает свой уровень приватности, поскольку трафик ретранслируется через большее количество узлов. Однако, за это нужно платить: увеличиваются задержки.

Сообщения, передающиеся через цепь, упаковываются в ячейки равного размера (512 байт) и передаются в таком виде.

Подключение к сети. Для того, чтобы подключиться к сети, необходимо наличие специального ПО (программного обеспечения). Для инициации подключения к сети, клиент пользователя устанавливает соединение с сервером каталогов, содержащим в себе информацию обо всех узлах в сети. После того, как необходимая информация об узлах загрузится, система присваивает пользователю три входных узла, которые обладают всеми перечисленными выше свойствами. Узлы ранжируются системой, т.е., входной узел меняется только при каких-либо экстренных обстоятельствах, а в большинстве случаев используется один из трех. Например, первый узел в списке просто-напросто сломался и вышел из сети.

Для цепи ретрансляторы выбираются до того, как установить соединение. Сначала выбирается выходной узел, затем все остальные, вплоть до уже присвоенного, входного узла. Выбор узлов происходит случайным образом. Причем это не равномерное распределение, а взвешенное. У более быстрых узлов большая вероятность быть выбранными для цепи. Стандартные настройки рвут цепь каждые 10 минут, заставляя входной узел перестраивать цепь снова. Кроме того, цепь перестраивается, если какой-либо из узлов инициирует разрыв соединения, а так может сделать любой узел в цепи.

3 Атаки на Тог

Существует несколько условий, при соблюдении которых атакующий может де-анонимизировать пользователей сети.

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

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

Внедрение коррумпированного ПО.

Атакующий может переписать внутреннее программное обеспечение на коррумпированных узлах или же внести изменения в клиентское ПО.

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

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

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

В целом, все атаки можно разделить на два больших типа:

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

• Активные. При таких атаках атакующий не только просматривает трафик, но еще и модифицирует его.

Такое разделение атак является слишком общим, поэтому предлагается классификация, где главным признаком являются ресурсы, необходимые атакующему для осуществления атаки (см. табл. 1).

Табл. 1. Классификация атак

№ Ресурсы Атаки

1 Коррумпированный входной узел • Website fingerprinting атака

2 Коррумпированные входной и выходной узлы • Анализ трафика • Тайминг атаки • Circuit fingerprinting атака • Атака с пометкой ячеек (тэггинг атака)

3 Коррумпированный выходной узел • Сниффинг перехваченного трафика (если пользователь не использует протокол https)

4 Коррумпированный входной, выходной узел и внешний сервер • Тайминг атака с использованием браузера и внедрения JavaScript кода • Атака анализа траффика с использованием браузера и внедрения JavaScript кода

5 Автономная система • Атаки BGP похищения • Атаки BGP прослушивания • RAPTOR атака

6 Большое количество любых коррумпированных узлов • Packet spinning атака • Атака перегрузки с использованием длинных путей • CellFlood DoS атака

Полное описание атак можно найти в работе [3]. Далее, рассмотрим атаки, обладающие наибольшим потенциалом практической реализации.

4 Ресурсно-эффективные атаки 4.1 Website fingerprinting атака.

Данный класс был впервые представлен в работе [4]. Этот класс атак привлекает большое внимание исследователей, поскольку позволяет деанонимизировать пользователей обладая достаточно скромными ресурсами, а именно - коррумпированным входным узлом (см. Рис. 2). WF атака - частный случай атак анализа траф-фика, во время которых локальный наблюдатель пытается выяснить информацию о контенте (посещенный вебсайт), обозревая потоки траффика внутри анонимного соединения. Атакующий собирает мета-информацию: размер пакета, направление траффика. Сбор происходит без нарушения шифрования.

Рис. 2. Конфигурация цепи для WF атаки

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

Однако, нужно сделать несколько допущений, с помощью которых можно упростить атаку:

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

• Пользовательское поведение достаточно специфично. Например, он посещает одну

страницу за одной в одной вкладке браузера

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

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

• Атакующий может тренировать классификатор в тех же условиях, что и жертва. Например, у них должна быть одинаковая версия TBB.

Основополагающим принципом атаки является использование алгоритмов машинного обучения. Поэтому встает вопрос, что использовать в качестве обучающих данных для алгоритма, поскольку до конца непонятно, что значит «послать трафик в классификатор». Рассмотрим, что же используется в качестве входных данных для алгоритма.

Ячейки Ячейка 1 Ячейка 2 Ячейка 3 Ячейка 4 Ячейка 5

1 1 1 1

Ï Y

TLS Запись 1 Запись 2

1 1 1 1 [ 1

Y ï ï

TCP Пакет 1 Пакет 2 Пакет 3

Рис. 3. Уровни для выделения признаков объектов

Наиболее важным компонентом для любого алгоритма машинного обучения являются признаки объектов. Достать признаки для них можно на разных уровнях: уровень ячеек Tor, TLS, TCP. На уровне приложения, Tor передает все данные в пакетах фиксированного размера, называемыми ячейками, длины которых 512 байт, а сами ячейки потом превращаются в TLS записи (см. Рис. 3). Примечательно, что много ячеек может быть упаковано в одну TLS запись. И последний - транспортный уровень: TLS записи, как правило, фрагменти-руются в несколько TCP пакетов, размер которых ограничен MTU. Кроме того, несколько TLS записей могут быть помещены в один TCP пакет. Однако, встает очень важный вопрос: какой из слоев содержит больше всего информации, с точки зрения атаки? Большинство исследователей склоняется к тому, что наиболее информативным является уровень ячеек.

Однако, существует ряд проблем, усложняющих WF атаки:

• Размер реального мира очень большой, поэтому необходимо собирать гигантское количество данных, чтобы покрывать хотя

бы небольшую часть интернета.

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

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

Последние работы в этой области [5] показали, что в масштабе интернета атака все же остается успешно применимой.

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

4.2 Атаки уровня автономной системы

Атаки корреляции трафика получили достаточно высокую популярность в академической среде. Однако, в современных реалиях, они не применимы для атакующего, обладающего немногочисленными ресурсами. Но, что происходит, если атакующий достаточно мощный?

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

Современные исследования показывают, что до 40% всех цепей созданных Tor подвержены атакам корреляции трафика со стороны автономной системы и 85%, если это автономная система федерального уровня [6].

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

бои и манипулирование маршрутизацией через перехват и прослушивание BGP.

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

• Траффик данных от клиента к входному узлу, трафик от выходного узла к серверу

• Траффик данных от клиента к входному узлу, трафик TCP подтверждения доставки от сервера к выходному узлу

• Траффик TCP подтверждения доставки от входного узла к клиенту и траффик данных от выходного узла к серверу

• Траффик TCP подтверждения доставки от входного узла к клиенту, траффик TCP подтверждения доставки от сервера к выходному узлу.

При анализе исследуются поля TCP заголовков в наблюдаемом траффике для выявления номера TCP последовательности и номера TCP подтверждения доставки.

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

Атаки BGP похищения и прослушивания. Данные атаки позволяют коррумпированным автономным системам вставать на пути перед входным узлом, т.е. после перехвата траффик вернется обратно через входной узел. Перехват позволяет сохранить соединение и помогает производить ассиметричный анализ траффика. Более подробную информацию можно узнать в работе [7].

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

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

4.3 Модификация ПО Tor

Как уже было описано выше, Tor не защищен от вредоносных модификаций своего исходного кода. У атакующего в арсенале есть два типа ПО, которое он может модифицировать: TBB, или, непосредственно, ПО в коррумпированных узлах.

TBB представляет из себя модифицированную версию популярного браузера Mozilla Firefox. Браузер изменен таким образом, чтобы иметь возможность «из коробки» подключаться к сети и использовать ее. Наиболее очевидным решением является выпуск своей собственной версии браузера, которую каким-то образом можно будет доставить жертве. Сделать свою версию браузера достаточно легко, так как весь исходный код находится в свободном доступе. Поскольку браузер имеет доступ как к IP адресу клиента, так и к конечному ресурсу, деанонимизация пользователя становится тривиальной задачей.

Второй вариант - модификация ПО в узлах сети. Аналогично браузеру, исходный код Tor находится в открытом доступе, что упрощает его модифицирование. Свою версию ПО можно установить на коррумпированные узлы. Здесь есть масса вариантов. Например, можно изменить заставить его строить цепь через коррумпированные узлы.

Любой успешный вариант сработает, при условии того, что стороннее ПО на узлах не конфликтует с программным обеспечением внутри сети.

5 Заключение

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

необходимость, предотвратить какие-либо неправомерные действия.

Термины и сокращения

BGP (англ. Border Gateway Protocol) - основной протокол динамической маршрутизации, используемый в Интернете. DARPA (англ. Defense Advanced Research Projects Agency) - агентство по перспективным оборонным научно-исследовательским разработкам США.

DoS (англ. Denial of Services) - хакерская атака на вычислительную систему с целью довести ее до отказа, то есть создать такие условия, при которых легитимные пользователи системы не могут получить доступ к предоставленным сетевым ресурсам. IP (англ. Internet Protocol) - основной протокол Интернет, определяющий способ адресации и маршрутизации при передаче пакетов данных между любыми узлами сети.

IP-адрес (англ. Internet Protocol Address) -уникальный сетевой адрес узла в компьютерной сети, построенный по протоколу IP. MTU (англ. Maximum Transmission Unit) -максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации. RAPTOR (англ. Routing Attacks on Privacy in Tor) - маршрутизационные атаки на приватность в Tor.

TBB (англ. Tor Browser Bundle) - модифицированная версия браузера Mozilla Firefox для использования с Tor. TCP (англ. Transmission Control Protocol) -протокол, обеспечивающий гарантированную доставку данных. TLS (англ. Transport Layer Security) - криптографический протокол, обеспечивающий защищенную передачу данных между узлами в сети Интернет.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Tor (англ. The Onion Router) - свободное и открытое программное обеспечение, предоставляющее возможность анонимных коммуникаций. Анонимная сеть. WF (англ. Website Fingerprinting) - атака, созданная с целью предоставления возможности локальному пассивному наблюдателю определить конечную точку назначения жертвы, используя характеристики последовательностей пакетов трафика. ПО - программное обеспечение.

Сниффинг (англ. Sniffing) - перехват пакетов, передающихся между компьютерами и

последующий их анализ.

Список литературы

1. Авдошин С.М., Лазаренко А.В. Технология анонимных сетей. Журнал «Информационные технологии», №4 2016 г., в печати.

2. Roger Dingledine, Nick Mathewson and Paul Syverson. Tor: The Second-Generation Onion Router [Электронный ресурс] // Onion router [Официальный вебсайт]. URL : http: //www. onion-router.net/Publications/tor-design.pdf (дата обращения: 19.02.2016).

3. Авдошин С.М., Лазаренко А. В. Методы деанонимизации пользователей TOR. Журнал «Информационные технологии», №5 2016 г., в печати.

4. Xiang Cai, Cheng Zhang Xin, Brijesh Joshi, Rob Johnson. Touching from a Distance: Website Fingerprinting Attacks and Defenses [Электронный ресурс] // Stonybrook [Официальный вебсайт]. URL:

http: //www3 .cs. stonybrook.edu/~xcai/fp.p df (дата обращения: 19.02.2016).

5. Andriy Panchenko, Fabian Lanze, Andreas Zinnen, Martin Henze, Jan Pennekamp, Klaus Wehrle and Thomas Engel. Website Fingerprinting at Internet Scale [Электронный ресурс] // University of Luxemburg [Официальный вебсайт]. URL: http://lorre.uni.lu/~andriy/papers/ndss16-wfp-internet-scale.pdf (дата обращения: 19.02.2016).

6. Rishab Nithyanand, Oleksii Starov, Adva Zair, Phillipa Gill and Michael Schapira. Measuring and mitigating AS-level adversaries against Tor [Электронный ресурс] // Cornell University Library [Официальный вебсайт]. URL:

http://arxiv.org/abs/1505.05173 (дата обращения: 19.02.2016).

7. Yixin Sun, Anne Edmundson, Laurent Vanbever, Oscar Li, Jennifer Rexford, Mung Chiang, Prateek Mittal. RAPTOR: Routing Attacks on Privacy in Tor [Электронный ресурс] // USENIX [Официальный вебсайт]. URL:

https: //www.usenix. org/system/file s/confer ence/usenixsecurity 15/sec15 -paper-sun.pdf (дата обращения: 19.02.2016).

i Надоели баннеры? Вы всегда можете отключить рекламу.