id: Гость   вход   регистрация
текущее время 13:12 28/04/2024
Автор темы: unknown, тема открыта 31/07/2006 23:00 Печать
http://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, ... , 8, 9, 10, 11, 12, ... , 19 След.
Комментарии
— SATtva (18/02/2008 14:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Такую утилиту не слишком сложно написать на Питоне, но себя в качестве добровольца предлагать боюсь — занят с openSpace.
— unknown (18/02/2008 15:46)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Да, нам хотя бы очередное письмо осилить :-)
— unknown (19/02/2008 09:52)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Кстати, вот что неправильно:

Пусть было 100 узлов, стало 50 и из них половина поменяла свои ключи:

тогда C=50/100=0.5

D = 25 / 50 = 0.5

S=0.5/0.5=1, что совсем нехорошо.

Надо: если C=>1, то S=C/D, если C<1, то S=C*D

Т.е. для S и увеличение больше 1 и стремление к нулю будет свидетельствовать о нестабильности.

А D считать как D = (I+1)/(I_max+1), чтобы никогда не равно было нулю.
— unknown (20/02/2008 10:49)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ну что, вот такой черновик пока, вроде кратко и основные идеи есть. Больше опасаюсь за грамматику :-)

// Multiple Directory Authorities' keys compromise: a partial
solution for Tor clients protection. v 1.01


Thanks Roger. We continue a discussion on our site and our minds is overheat :-)




never going to get feedback that the code is still working.

This issue can cause a crisis of trust. In the case of this attack 3+1 corrupted node + 1 controlled ISP is no more better than single anonymizer who owns users log. It's will not be "rare" when the adversary is law enforcement agency, or another power adversary,
who can owns DA keys and install virtual network tor simulator on an ISP. And this will be easier than pretend to be "global adversary".
Worse, this "hypothetical" attack will be deterministic, not probabilistic.

We guess about protection of this attack, like a thunderbolt protection. You can install a lightning rod on a house and you avoid direct lightning strike. Lightning prepend an unprotected area. But if you don't install lightning protection it's very rare case to your house to
be striking too. You can think, that lightning rod is unnececary. But if the direct lightning strike will be happen it will be devastating.


yes, we agree. The core problem is: we have not a clean criteria of attack and we have not a simple scenario to defense.

We assume, that adversary start this attack against single or very small part of isolated tor users, to avoid disclose he's power.

Attack based on creation distorted view of the tor network for user (virtual network simulation and rerouting intercepted and decrypted traffic to real tor network again).

User can detect this attack in two ways: autonomous (collecting statistics anomaly) and relative (by comparition network status with
another trusted users exchanging suspicious network statuses on the secure channels: openPGP mail, private contact). If concerned users can isolates suspicious node keys, signed by DA with help of more users, they can publishes that keys or hashes to "peer review" as demonstration of evidence.
Concerned users will be play a role of "tor watchers".

We propose a very simple (and may be naive) approach to first step (autonomous detection).

If user have N_k nodes keys from network status and N_(k+1) to next network status, then
C=N_k+1/(N_k) – changes of number of keys (and nodes itself).

Let I – index of similar keys between lists of N_k and N_(k+1)

max I = min (N_k+1, N_k)

Let D= I/I_max – changes of keys itself. We replace that to D=(I+1)/(I_max+1) to avoid any zero values.

If C=>1 then we calculate S=C/D; and if C<1, then we calculate S=C*D

The closer S to 1, the TOR network more stable. If S changes singificant, then we have network instability.
S can be easy calculated from tor status file. But we can't easy count broken, or blocked connection to nodes from status list (it's may be a sign of attack too).

Concerned users ("tor watchers") can makes a graphs of suspicious changes and publish it, or exchange and analyze data using web of trust or another ways of communication to DA audition.

We guess, the problem need to have a lot of exploration and experiments to get an acceptable solution.

"OpenPGP-in-Russia Team"
— SATtva (20/02/2008 14:47)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Проверяйте, особое внимание обратите на формулы, надеюсь ничего там не попутал (Nk+1 я заменил на Nk-1: всё-таки будущего статуса у пользователя никак не может быть, а предыдущий может храниться).




Thanks Roger. We continue to discuss the problem on our website with our heads overheated. :-)

[...]

This issue can lead to the crisis of trust. In case of the attack 3+1 corrupted nodes + 1 controlled ISP is no more better than a single anonymizer with access to users logs. It wouldn't be "rare" when the adversary is law enforcement agency or another "political" adversary,
which is able to get DA keys and install Tor virtual network simulator on an ISP. And all this is way easier than pretend to be a "global adversary". Worse, this "hypothetical" attack will be deterministic, not probabilistic.

It's to say that ways to deter this attack is similar to thunderbolt protection. You can place a lightning rod on a house's roof, and will avoid direct lightning hit. Lightning hitting an unprotected area is uncommon. In the absence of a lightning rod it's very rare for your house to be stroke too. You may think that the lightning rod is unnececary. But if the direct lightning stroke will happen it will be devastating.


Agreed. The core problem is: We don't have a clear criteria of attack, and we don't have a simple scenario for defense.

We assume that the adversary conducts this attack against a single or a very small fraction of isolated Tor users in order to avoid disclosure of such abilities. Attack is based on creating a distorted view of the Tor network for the targeted user(s) (virtual network simulation and rerouting intercepted and decrypted/re-encrypted traffic to the real Tor network afterwards).

User can detect this attack in two ways: autonomous (collecting anomalies in the network statistics), and relative (comparing the network statistics with other trusted users by exchanging suspicious network statuses on secure off-the-band channels: encrypted email, personal face-to-face contacts). If concerned users can identify suspicious node keys (signed by rogue DAs) with the help of more users, they can publishes that keys or their hashes for "peer review" as a demonstration of evidence. Concerned users will play a role of "Tor watchers".

Here we propose a very simple (and maybe a naive) approach for the first step — autonomous detection.

If the user has N_k nodes' keys from the current network status and N_k-1 from the previous network status, then

C=N_k/N_k-1 is the change of number of keys (and nodes themselves).

Let I be the index of keys found in both lists of N_k and N_k-1

max I = min (N_k, N_k-1)

Let D=I/I_max -– changes of keys themselves. We replace this with

D=(I+1)/(I_max+1) to avoid zero values.

If C>=1, then we calculate S=C/D; and if C<1, then we calculate S=C*D

The closer S to 1, the more stable Tor network is. If S changes significantly, then we have the network instability. S can be easily calculated from the Tor network status file. But we can't easily count broken or blocked connection to nodes from the status list (which could be a sign of attack by itself).

Concerned users ("Tor watchers") could print diagrams of suspicious changes and publish them, or exchange and analyze data using web of trust or other ways to communicate such DA audits to the public.

We assume the problem need to have a lot of research and experiments to get an acceptable solution.

"OpenPGP-in-Russia Team"
— unknown (20/02/2008 20:32)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Да, спасибо, что указали на формулы, так корректнее.

Грамматику привели к приемлимому виду, уже не стыдно отправлять, но как-то интонационное восприятие незначительно поменялось. Зачем заменили словосочетание "Lightning strike" на какой-то вялый "hit"? Именно "Lightning strike" близко к типично американской идиоме и наиболее сильно показывает на внезапную грозящую опасность. См. сайт переживших удар молнии http://www.lightning-strike.org.

Мы конечно не художественный рассказ пишем, но strike и кое-что другое мне нравилось больше.

А вот указание на политически мотивированного атакующего очень удачно, проблема именно политическая.

C=N_k/N_k-1 is the change of number of keys
Имеется ввиду количества, может уместнее quantities или оставить номеров?
numbers?

Let I be the index of keys founded, найденных может быть так или получится ерунда, типа основанных фондом?

Let D=I/I_max -– changes of keys themselves (differences)-это я просто добавил в скобках.

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

Подождём, что spinore скажет.
— Гость (21/02/2008 01:22)   <#>
с ЭБУ ОБРЙМУП, ФБЛ ЮФП ОЙЮЈ ЛПОЛТЕФОПЗП УЛБЪБФШ ОЕ НПЗХ. оП ЪЧХЮЙФ ПЮЕОШ ХНОП. пЮЕОШ ФТХДОП РПРБДБФШ РП ЛМБЧЙЫБН. ъБЧФТБ ЧУЈ РТПЮЙФБА Й РПДХНБА. уРБУЙВБ.
— Гость (21/02/2008 01:23)   <#>
Я щас напилсо, так что ничё конкретного сказать не могу. Но звучит очень умно. Очень трудно попадать по клавишам. Завтра всё прочитаю и подумаю. Спасиба.
— unknown (21/02/2008 09:44)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Я щас напилсо, так что ничё конкретного сказать не могу

с ЭБУ ОБРЙМУП, ФБЛ ЮФП ОЙЮЈ

Очень трудно попадать по клавишам.

Да, заметно :-)

Завтра всё прочитаю и подумаю.

Всвязи с этим можем добавить к фразе:

We continue to discuss the problem on our website with our heads overheated. :-)

Нечто вроде:

And one of us in a hangover condition :-)
— unknown (21/02/2008 09:53, исправлен 21/02/2008 09:53)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
in the case of this attack 3+1 corrupted authorities

а не nodes

Моя ошибка.
— Гость (21/02/2008 11:15)   <#>
Написать утилиту которая реализует указанный алгоритм по оффлайновой статистикие – несложно. Предлагаю сначала получить рабочий прототип и проверить формулы на практике, а потом писать в or-dev, чтобы не зашумлять свой же сигнал. Тем более что отношение Роджера к этой идее довольно пассивоное, а дел у него и так выше крыши.
— SATtva (21/02/2008 11:43)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Зачем заменили словосочетание "Lightning strike" на какой-то вялый "hit"?

Окей, вернём обратно:

It's to say that ways to deter this attack is similar to thunderbolt protection. You can place a lightning rod on a house's roof, and will avoid direct lightning strike. Lightning striking an unprotected area is uncommon. In the absence of a lightning rod it's very rare for your house to be stroke too. You may think that the lightning rod is unnecessary. But if the direct lightning stroke will happen it will be devastating.

C=N_k/N_k-1 is the change of number of keys
Имеется ввиду количества, может уместнее quantities или оставить номеров?
numbers?

Тогда лучше так:

C=N_k/N_k-1 is the change in the number of keys

Let I be the index of keys founded, найденных может быть так или получится ерунда, типа основанных фондом?

Правильно всё-таки found для прошедшего времени. Типа "search process has found 7 docs".

could print diagrams – я вообще-то графики предпочитаю, с точным временем, их накладывать и сравнивать легче

Diagram тоже можно перевести как график, а с graph возникает двусмысленность: график или граф?
— unknown (21/02/2008 13:38, исправлен 21/02/2008 13:48)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Написать утилиту которая реализует указанный алгоритм по оффлайновой статистикие – несложно. Предлагаю сначала получить рабочий прототип и проверить формулы на практике, а потом писать в or-dev, чтобы не зашумлять свой же сигнал. Тем более что отношение Роджера к этой идее довольно пассивоное, а дел у него и так выше крыши.

Я не удивлюсь, если он ответит именно так, слово в слово :-)

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

2 SATtva: со всеми правками пока согласен
— Гость (21/02/2008 13:52)   <#>
Я не удивлюсь, если он ответит именно так, слово в слово :-)
И об этом надо написать тоже! И обяснить ему причину, по которой всё-таки он получил это письмо:
Пусть это ответит лично он, тогда быстрее желающие найдутся
— unknown (21/02/2008 15:53, исправлен 21/02/2008 16:02)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
И об этом надо написать тоже! И обяснить ему причину, по которой всё-таки он получил это письмо:

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

Пусть он или ещё кто-то из разрабов оценит пока хоть это. Или скажем всем: "флаг вам в руки, считайте". Думаю всех изложенных причин и объяснений достаточно пока.
На страницу: 1, ... , 8, 9, 10, 11, 12, ... , 19 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3