id: Гость   вход   регистрация
текущее время 03:17 29/04/2024
Автор темы: unknown, тема открыта 31/07/2006 23:00 Печать
https://www.pgpru.com/Форум/АнонимностьВИнтернет/ПростойСпособАтакивОбходTor
создать
просмотр
ссылки

Простой способ атаки "в обход" tor


Простой способ атаки "в обход" против пользователя Tor.


Протокол сети tor (Onion Routing) имеет топологию статической сети с корневым сертификатом (Root CA). Этот сертификат используется для подписи статистики и ключей независимых серверов, подключаемых к сети Tor. Закрытая часть ключа сертификата принадлежит разработчикам программы tor, открытая зашита в саму программу. Поэтому пользователи всегда доверяют этому сертификату так же как и самой запускаемой ими программе, работу которой они могут протестировать и посмотреть исходники.


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


Однако, если использовать Tor в качестве "приманки" против конкретного пользователя, то всё делается достаточно гладко.


Вот как это может происходить:


1) Представитель силового ведомства Мэллори получает ордер на прослушивание интернет-соединения Алисы, которая использует Tor.
При этом он также получает ордер на выдачу закрытого ключа сети Tor у разработчиков (или получает его другим способом – прослушивание, кража, взлом сервера, подписывающего статистику).


2) Мэллори также получает ордер на установку у интернет-провайдера Алисы специального оборудования для прозрачной трансляции сетевых адресов (Network Adress Translation). В отличии от обычного NAT, который используют админы, это оборудование и соотвествующее программное обеспечение должно максимально незаметно подменять адреса из выбранного списка, имитировать соединение с ними, обрабатывать и отправлять траффик дальше.


3) Если Алиса использует обычное, не связанное с Tor, интернет-соединение, Мэллори просто прослушивает траффик сниффером (эту скучную работу он может поручить Еве).


4) Если Алиса посылает запрос статистики на один из серверов Tor, Мэллори осуществляет простейшую атаку человека посредине "man-in-the-middle". Он создает имитацию соединения с этим IP адресом, а на самом деле отправляет Алисе пакеты, подписанные похищенным сертификатом.


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


6) Для предотвращения подозрений со стороны Алисы Мэллори дополнительно фальсифицирует ответ от всех серверов, которые возвращают IP Алисы (http://serifos.eecs.harvard.edu/cgi-bin/ipaddr.pl?tor=1) и другие.
Правда этот метод не сработает, если Алиса зайдёт на SSL-защищённый сайт, от которого нет ключа у Мэллори и увидит там свой IP, не соответствующий сети tor.
В таком случае Мэллори может перенаправлять конечный траффик Алисы на свои подконтрольные сервера, зарегистрированные в сети Tor.


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


Спасибо Spinore http://www.pgpru.com/forum/viewtopic.php?p=11332#11332
который предложил множество интересных идей и вдохновил меня на более внимательное изучение анонимных протоколов, в результате чего мне и пришла в голову мысль насчёт возможности атаки на Tor и использования его в качестве средства индивидуального прослушивания траффика, после чего я и написал этот текст.


Spinore, а Вы хотели ключ хранить в анонимной сети! Современной криптографии пока ещё очень далеко до этого.


Особое внимание при написании данного текста я уделил прекрасному обзору Андреаса Хирта http://pages.cpsc.ucalgary.ca/~hirt
всвязи с его тезисами о том, что в течении давдцати лет так и не было разработано удовлетворительно стойкого и практичного анонимного сетевого протокола, надёжных сведений по доказательству стойкости и классификации атак на такие протоколы в открытой литературе крайне мало, а исследователи то и дело с подозрительным постоянством находят неописанные, хотя и очевидные атаки.


Также, советую тем, кто хочет и дальше копать в этом направлении ознакомиться с архивом проекта Gnunet.
http://www.gnunet.org/papers.php3?xlang=English


 
На страницу: 1, ... , 5, 6, 7, 8, 9, ... , 19 След.
Комментарии
— unknown (14/02/2008 11:13, исправлен 14/02/2008 11:25)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Судя по этому сообщению, spinore, Ваша идея о множестве DA поддержана не будет:
http://archives.seul.org/or/talk/Feb-2008/msg00150.html

We could use some more, it's true. But we need to make sure that the
people who run them are well-known as being useful contributors to the
Tor community and also as being honest people with good common sense.

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

Новые правила ужесточают требования к владельцам DA:

authority-policy

Обратите внимание, что лично Роджер является главным арбитром. Доверие во многом строиться вокруг него.

Should be run by somebody that Tor (i.e. Roger) knows.

— SATtva (14/02/2008 12:25)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
[offtopic]
Новая конспиративная кличка? :-)

Да ладно, у нас ещё Красный есть! Ценный кадр :)

"Бешеные псы" Квентина Тарантино: Mr. Green, Mr. Red, etc. :-)
[/offtopic]
— unknown (14/02/2008 12:42, исправлен 14/02/2008 12:42)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
[offtopic]
;-) А spinore кажется когда-то кирпичём был, а сейчас находится в состоянии неопределённости и квантовой спутанности, как "кот Шрёдингера": не поймёшь то ли он есть, то ли его нет.
[/offtopic]
— Гость (15/02/2008 03:14)   <#>
А вот сам клиент получает данные порциями, которые и может анализировать по частям, сопоставляя с тем, что уже получено.

А если включить debug-уровень, разве в нём не будет содержаться вся нужная нам информация? Тогда работа выглядела бы как

Где unknown-analyzer делал то что предлагалось делать скрипту и выводил сие на панель, ну напару писал бы и типичную информацию, что пишет

От чего строить доверие, если каждый может быть DA? Злонамеренный exit-node может что-то делать с проходящим трафиком, это ещё можно как-то пережить, но DA может участвовать в атаках на раскрытие анонимности.

Каждый может стать CA и начать выдавать сертификаты, только вам многие поверят? Но заметьте что раличных CA (рассмотреим только те что встроены в браузер), много больше чем 7. Здесь – ты же штука. Каждый DA может заработать себе репутацию, потенциально... а пользователь волен выбирать кому он доверяет больше (видимо, в зависимости от задачи и от того, от кого он анонимизируется).
— Гость (15/02/2008 03:40)   <#>
Если проблему доверия DA вынести ещё на один виртуальный уровень, можно сконструировать новую атаку, наподобие изначальной, тоже на новом уровне. "Reflection on Trusting Trust" problem.

Естественно, вы меня предвосхищаете :) Я хотел написать но забыл. Да, получим фрактальнуюпирамидальную систему: от доверия к тор-нодам к доверию для DA, от доверия к DA к доверию super-DA и т.д. Но реальный интернет обошёлся пока что одним слоем – CA. Видимо, его почти достаточно.

Опять же, я не хотел сказать что это предложение по поводу ближайшего будущего. Скорее, это моё видение того во что должен превратитсья тор по прошествии длительного времени, если ему дадут ходу. Да, они боятся атаки разделения, я их понимаю, но когда сеть станет очень большой такая атака рано или поздно произойдёт. В конечном счёте тор-team будет лишь группой, отвечающей за исходники. Мне так кажется. Что касается в целом атаки по дискредитации анонимности будучи злонамеренным DA-узлом, можно упомянуть про обязательное участие в сети доверия для тор-нод. DA, конечно, сможет сказать что ключи для части тор-нод сменились, но на них не будет покрывающих подписей других узлов тор-нод, а грамотный клиент настроенный с учётом разумных эвристик сразу скажет "баа!! 50 узлов новых враз появилось, никем их ключи незаверены... откуда бы они так?". Или ещё "О! Ключи все ОК, только почему то вдруг DA говорит что 97% хостов вдруг оказалось в дауне, чё правда что ли?". Схема многоуровневая просто... и в общем-то я её продумывал. Начинаем с разделения статистики ключей и статистики саттусов – это важный момент. Таким образом теперь есть только 2 атаки:
  • на подмену ключа, от которой защищает умная диагностика, проверяющая перекрёстные подписи тор-нод (глубину проверки в сети доверия), и
  • на подмену статистики от которой защитит опять же грамотная эвристика (например, в пределах месяца не может смениться статус у 97% тор-нод).

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

В идеале можно представить себе много анонимных групп в интернете, каждая из которых прячется от своей угрозы. Это и определяет список DA. Для малых сетей – да, лучше то что предлагает Роджер. Я всего лишь хочу чтобы он в рамках хотя бы своей тор-сети перевёл протокол на тот, который кастрирует права DA и уменьшает число атак основанных на злоупотреблении авторитетом DA. В конечном счёте, если я нигде не ошибся, если пользователь скачал правильные исходники тор, то единственная остающаяся атака – постепенное введение (!) [враз ввести не получистя при грамотной диагностике] в сеть тор подконтрольных оппоненту узлов пока их число не достигнет уровня, достаточно для проведения атаки. Ну и атака на корреляцию трафика – это уже классика :)

P. S.: ещё можно пофантазировать насчёт протокола, в котором общеизвестны лишь exit-узлы тора, но не знаю реализуемо ли такое хотя бы теоретически [это в целях нейтрализации атаки на корреляцию трафика].
— unknown (15/02/2008 10:05)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Но заметьте что раличных CA (рассмотреим только те что встроены в браузер), много больше чем 7. Здесь – ты же штука. Каждый DA может заработать себе репутацию, потенциально...

Да и все их вшить в tor, как в браузер?
Они не голосуют между собой за единый результат аутентификации. Сайт аутентифицирует любой из них. Это как в старых версиях тора, подписать статистику мог один любой DA.

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

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

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

Какая может быть сеть доверия между DA? Вы с ними в форуме задушевные беседы ведёте? Их можно только мониторить предлагаемым способом на предмет отклонений. Но Роджер справдливо отмечает, что ситуация когда куча ключей поменяется разом, может возникнуть запросто: поставили новую альфа-версию, там баг, откатились назад и др. ситуации. Вот в чём проблема то ещё. Сеть сама по себе нестабильна и её может лихорадить из-за всяких сбоев.
— Гость (15/02/2008 10:27)   <#>
Да и все их вшить в tor, как в браузер?

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

Но Роджер справдливо отмечает, что ситуация когда куча ключей поменяется разом, может возникнуть запросто: поставили новую альфа-версию, там баг, откатились назад и др. ситуации.

Ну откатились так откатились, а почему при этом ключи тор-нод-та должны смениться? Да и их статус, в массовом порядке... Не вижу связи.
— unknown (15/02/2008 10:35, исправлен 15/02/2008 10:38)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
а грамотный клиент настроенный с учётом разумных эвристик сразу скажет "баа!! 50 узлов новых враз появилось, никем их ключи незаверены... откуда бы они так?". Или ещё "О! Ключи все ОК, только почему то вдруг DA говорит что 97% хостов вдруг оказалось в дауне, чё правда что ли?".

Вот эту идею пока только и можно продвинуть. Пусть в логах пишутся при максимальном уровне настроек сообщения о подозрительной сетевой нестабильности. И пусть будет возможность выключиться и сохранить кэш со статистикой. Для желающих. По аналогии "hardened kernel" – "hardened tor".

Вот ещё идея, родилась прямо в этой строчке: пусть DA ведут публично доступные логи с хэшами всех когда-либо подписанных ими ключей. Ну или за год хотя бы. Пусть желающие эти логи зеркалят. Чтобы или можно было заметить, что DA подписал ключ, которого никогда в сети тор никто не видел. Или чтобы кто-то хотя бы по прошествии времени мог убедиться с помощью другого компа, или через PGP переписку с друзьями из другой страны, что ключ тор узла извлечённый из кэша клиента, который подписан верной DA подписью никогда ни у кого не встречался и ни разу не проходил в логах ни одного DA.

Хотите уменьшить полномочия DA? Надо ставить задачу о введении системы аудита! Распределённого криптоаудита всем сообществом, если угодно. Думаю пару заинтересованных человек наберётся :-)
— unknown (15/02/2008 10:40)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ну откатились так откатились, а почему при этом ключи тор-нод-та должны смениться?

Кстати не знаю, меняется он при переинстале или нет? Наверное всё-таки нет.
— unknown (15/02/2008 10:58)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Роджер мог бы подписать ключи тех DA которым он доверяет.

Обратите внимание на последний абзац и дату создания документа (она была 13 февраля).
Роджер уже и так обеспокоился насчёт DA, рапределения юрисдикции и предпочитает всех владельцев знать лично (или видимо пристально смотреть им в глаза на коференциях).

Зачем подписывать их ключи, когда они есть в исходниках, которые естественно подписаны всеми разработчиками?

Самому тору достаточно иметь ключ Роджера, а пользователи могли бы сами доставлять ключи DA.

Откуда?
Типа свободного выбора вместо авторитарного метода назначения DA?
Чтобы спастить от сговора DA против пользователя?

Но как проверить, что ключи принадлежат доверенным и неподконтрольным владельцам?

Как согласовывать результаты голосования групп, выбранных разным методом?

Так мы можем обвинить в чём-то DA, а при свободном выборе может набежать куча самозванцев и саботирующих элементов, которые будут тыкать друг на друга пальцем: "это он виноват".

Это допустимо для обычных узлов. Но для корневых DA нужен полный консенсус и слаженность. Поэтому их и не промасштабировать. А то мы придумываем какую-то "Кащееву смерть" в виде спрятанной иголки :-)
— unknown (15/02/2008 11:09)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Что касается в целом атаки по дискредитации анонимности будучи злонамеренным DA-узлом, можно упомянуть про обязательное участие в сети доверия для тор-нод.

Могут просто потребовать сдать ключики с 50% DA и участвовать с честным видом в сети доверия. А ключики и подставной узел будут применяться только против одного пользователя или нескольких несвязанных. В чём сеть доверия? Как пользователь докажет своё недоверие, как он может исключить DA из этой сети? Только предъявив левые ключи, подписанные DA (если успеет это сделать). Если 50% DA нельзя доверять, то можно ли доверять остальным?
Ключи украдены или начался заговор против tor?

Мне кажется разработчики тоже об этом думали и озадачились :-)

Мне кажется нужно предложить идею аудита логов DA. (См. выше).
— Гость (15/02/2008 11:24)   <#>
Токмо ради истины:

февраля


Ноября. Но сам документ был написан в октябре (странно но найти правки за ноябрь не смог, непонятно почему дата изменилась с октябрьской), тогда же были описаны условия к DA боротья до последнего, и быть из "свободного" государства.
— unknown (15/02/2008 11:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Токмо ради истины:


февраля


Ноября.

Спасибо. Вы только что могли наблюдать первоначальные проявления параноидальных глюков :-)
— Гость (15/02/2008 12:42)   <#>
Вот эту идею пока только и можно продвинуть. Пусть в логах пишутся при максимальном уровне настроек сообщения о подозрительной сетевой нестабильности. И пусть будет возможность выключиться и сохранить кэш со статистикой. Для желающих. По аналогии "hardened kernel" ? "hardened tor".

Я пока думаю над идеей, скоро озвучу что предлагаю написать им в ответ.

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

Понял. Поддерживаю. В письме про это напишем.

Кстати не знаю, меняется он при переинстале или нет?

В юникс не принято при сносе/переинсталляции изменять настройки, хранящиеся в домашней директории. Насолько я помню, тор также смотрит на наличие файлов настройки предыдущей версии, в "/usr/pkg/etc/.../" и то ли по датам смотрит, то ли по изменениям... и если видит что изменялись то не переписывает на новую версию. Вообще, это типичное поведения для unix-программ.

Роджер уже и так обеспокоился насчёт DA, рапределения юрисдикции и предпочитает всех владельцев знать лично

Я его понимаю и поддерживаю. На данный момент видимо это самое разумное решение. Но Роджер не будет жить вечно, и т.д. Все мои рассуждения строились на аналогиях DA с CA. Я не вижу столь концептуальных отличий. Заметим, что последнее время с CA пришли некие изменения к пониманию: доверять CA нельзя, так что можно свой серт не подписывать ничьим сертификатом, зато своим юзверям сообщить правильный сертификат своего сайта, чтобы они его прописали в браузере.

Типа свободного выбора вместо авторитарного метода назначения DA?
Чтобы спастить от сговора DA против пользователя?

Ну типа да – это как использование CA cert которым подписан сертификат pgpru.

Но как проверить, что ключи принадлежат доверенным и неподконтрольным владельцам?

Полностью неподконтрольных не бывает ибо все мы люди, но есть эвристики, как и с сертами. Вот, авторитет Роджера – одна из таких эвристик :)

Так мы можем обвинить в чём-то DA, а при свободном выборе может набежать куча самозванцев и саботирующих элементов, которые будут тыкать друг на друга пальцем: "это он виноват".

В любом случае подразумевалось что DA будет не так много и т.д. Человеку с улицы, то есть, естественно, не поверят.

быть из "свободного" государства.

И давно это у нас Америка и Европа стали свободными государствами? Америка прослушку своих граждан активно ведёт, Европа собирается запретить все анонимные сети... ЬI?

Могут просто потребовать сдать ключики с 50% DA и участвовать с честным видом в сети доверия. А ключики и подставной узел будут применяться только против одного пользователя или нескольких несвязанных. В чём сеть доверия? Как пользователь докажет своё недоверие, как он может исключить DA из этой сети? Только предъявив левые ключи, подписанные DA (если успеет это сделать). Если 50% DA нельзя доверять, то можно ли доверять остальным?
Ключи украдены или начался заговор против tor?

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

Во-первых, чтобы атаку которую вы описываете, можно было провести, нужно долго и постепенно вводить новые виртуальные подставные тор-ноды для тора. Если ввести сразу из в вашу ацкую машинку (тор-симулятор), то детектор подозрительной активности загноит сей косяк. Таким образом, надо чтобы машинка применялась к выделенному пользователю втечение долгого времени, постепенно добавляя всё новые и новые подставные хосты. Но тогда атакуемый может хотя бы раз в неделю скачивать статистику по третьему каналу и сравнивать её с тем что у него в логах – не появилось ли много лишних нод и не сильно ли сменились ключи нод. Сеть же доверия нужна для хоть какого-то дополнительного контроля за ключами тор-нод. Если я знаю хотя бы несколько людей которые тоже поддерживают тор-ноды, если я хотя бы общался с ними в сети, я могу подписать их ключи засвидетельствовав этим, что в некоторой мере доверяю им (что такие тор-нод хотя бы РЕАЛЬНО существуют, а не только в машинке симулятора).

Основная суть в том, что скачав верные ключи для всех нод и статистку онлайн/офлайн, уже можно надолго забыть об атаке подмены ключей/статистики, ибо там идут малые колебания вокруг некоего "среднего". Надеюсь, понятно изъяснился.
— Гость (15/02/2008 12:48)   <#>
"ибо там идут только малые колебания вокруг некой "усреднённой" статистики" имелось в виду.
На страницу: 1, ... , 5, 6, 7, 8, 9, ... , 19 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3