Простой способ атаки "в обход" 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
комментариев: 9796 документов: 488 редакций: 5664
Если у Мэллори будет быстро работающая машинка, виртуализирующая соединиение с фальшивой сетью тор внутри себя, снимающая на выходе чистый траффик, а затем заворачивающая его в настоящий tor, то Алиса м Боб вообще ничего не заподозрят.
Вот так Алиса работает через обычный tor:
Alice -> encrypted traffic -> [tor] -> decrypted traffic -> Bob
А вот так с подставным:
Alice -> encrypted traffic -> [virtual tor network simulation from Mellory] -> decrypted traffic -> [Mellory tor agent used Alice chains] -> encrypted traffic -> tor -> Bob
Небольшой чёрный ящичек между Алисой и tor, в который загружен закрытый ключ сети tor.
Все недостатки системы с корневым сертификатом здесь присутствуют. Вот только у кого он может депонироваться?
комментариев: 11558 документов: 1036 редакций: 4118
В качестве домашнего задания любителям теорий заговоров: можно ли использовать такую схему для индивидуализированной атаки на всех пользователей Tor и как долго нападающий сможет сохранять скрытность?
комментариев: 9796 документов: 488 редакций: 5664
Эта атака может быть направлена не только против Tor, но и cipherpunk, mixmaster и др. Неподвержены ей только непрактичные протоколы
типа "сети обедающих криптографов".
Эта даже не атака в широком смысле. Это общая неполноценность систем с корневым сертификатом, которую так интенсивно критиковал Шнайер (см "Секреты и ложь"). Но там держатель сертификата в коммерческой системе мог хотя бы потерять деньги или репутацию. А в анонимной системе дела обстоят ещё хуже.
Атака злоупотребления главным секретным ключем анонимной системы идеально вписывается в теории заговоров (хотя мы высокомерно делаем вид что они нам не нравятся, но на самом деле мы падки до сенсаций :-). Создается анонимная сеть, изначально финансируемая военным ведомством (DARPA), учёные делают свою работу даже ни о чём не подозревая, располагая серверы в университетских лабораториях, откуда "люди неприметной внешности" крадут сертификаты.
Пользователи получают чистые исходники и формально стойкий протокол. Дальше "незаконные" владельцы сертификата могут снимать траффик отдельных пользователей.
Мэллори должен потрудиться, чтобы создать виртуальную машину, загружающую реальные ключи узлов tor'a и полностью имитирующую фальшивую сеть tor внутри себя, но состоящую из фальшивых ключей и статистики из которой он получит открытый текст и завернёт в настоящий tor. Пакеты и на выходе для Боба и возвращаемые обратно Алисе должны быть подправлены так, чтобы не было никаких изменений в их полях (TTL и др.), чтобы не было заметно, что пакеты обрабатывались (если Алиса вдруг попытается их анализировать). То же он может проделать с mixminion, в mixmaster пользователи вообще скачивают никем не заверенные ключи откуда попало.
Это несложно. Возможно кто-то в рамках небольшой сети даже сможет написать программную реализацию и провести эксперимент.
Алиса может заподозрить неладное, если она переключится на другой интернет-канал или ни с того ни сего войдёт в tor через неизвестный для Мэллори VPN. Тогда он отключит свою машинку и подозрение вызовет только то, что статистика поменялась. Но tor и так часто меняет статистику при смене IP адреса. Сравнивать же весь набор ключей на предмет того, как они меняются при переключении на разные соединения Алиса конечно может, но Мэллори тоже не дурак. Он на время отключит свою адскую машинку, подождёт пока Алиса успокоится и начнёт искать подходы ко всем её интернет-каналам, чтобы поставить аппаратуру и там.
Такое прослушивание будет осуществляться довольно незаметно и можно расшифровывать траффик со многих пользователей одновременно, но только у одного провайдера (эдакий деанонимизирующий СОРМ :-). Правда если пользователей будет очень много, то машина не потянет затраты на криптооперации по процессорному времени и памяти. Но можно сделать дешифрующий кластер. Можно от многих крупных провайдеров проложить прямые линии в единый центр прослушивания коммуникаций, это не совсем глобально, но близко к тому.
Но прослушать совсем уж глобально, "на следующем неподконтрольном маршрутизаторе", в другой стране (без прикрытия) уже не получиться.
Странно, что разработчики всех анонимных систем умалчивали о возможности злоупотребления к корневому сертификату. Если к нему нет доверия (а его реально по моим прдставлениям нет), то публичные анонимные сети это не более чем игрушки для обкатки технологий, которые можно применять только в закрытых организациях, которые реально заинтересованы в том, чтобы сертификат не был украден.
Даже если случайно злоумышленник будет пойман, разработчики всегда могут развести руками и сказать, что они делали всё честно, а к краже ключа непричастны, сохранив свою репутацию. Протокол и код не содержат закладок, а начёт доверия к Root CA, ну скажут, что это же и так в соответствующих работах описано, эта такая глобальная проблема, которая в настоящее время не решена.
комментариев: 11558 документов: 1036 редакций: 4118
Не вижу причин, почему нельзя сделать такую схему распределённой по аналогии с нашим СОРМ. Машина устанавливается у провайдера, в подвале дома, зарывается поблизости от магистрального канала (нужно подчеркнуть) и функционирует автономно. Она может принимать управляющие команды по той же общедоступной сети, по какой идёт и трафик Алисы. В принципе, это даже не должен быть такой монстр в несгораемом шкафу, как сервер СОРМ: учитывая ограниченный набор функций это может быть весьма компактное (если не миниатюрное) и малозаметное устройство типа небольшого маршрутизатора или даже модема.
Что касается самой проблемы, она, на мой взгляд, чем-то напоминает известную статью, Trust Reflecting Trust (название могу путать, но вы наверняка понимаете, о чём), — такая же максима. Мы можем располагать открытым исходным кодом, и, не доверяя разработчикам, провести его аудит. Но откуда у нас уверенность в компиляторе? Даже если и компилятор собирался из исходников, то с применением другого компилятора, ничуть не более доверяемого.
Продолжать можно бесконечно, а поэтому на каком-то этапе важно остановиться, основываясь, возможно, на интуиции или каких-то других неэмпирических сдерживающих факторах. Это вопрос доверия уже скорее философского, а не криптографического. Впрочем, на этот вопрос каждый себе отвечает сам...
комментариев: 9796 документов: 488 редакций: 5664
Ну это уже получитя тот самый глобальный наблюдатель, защиты от которого нет, как честно говорили разработчики.
комментариев: 1515 документов: 44 редакций: 5786
Тем не менее, хоть многие и доверяют тор, но если я был бы уверен, что за мной следят, я бы не довольствовался одним тором точно. Легко можно водрузить проксю до или после тора. Тогда окромя ордера на прослушивание нужно будет ещё догавариваться с абстрактными странами о том, что они должны выдать логи и т.д. + для критических вещей надоне забывать об end-to-end gpg, с проверкой фингерпринтов по независимым каналам. Если коротко: я завожу себе впн в отфонарной стране и лезу в тор с того впн. Пока такие адские машинки не будут установлены на большинстве серверов мира об атаке можно будет забыть. К тому же в силу текучести информации, данную прослушивающую систему будет сложно претворять на практике и применять для многих пользователей так, чтоб никто не знал о самом существовании данной системы. К тому же, прийдётся писать специальную программу для каждой из анонимизирующих сетей. Идеальным выходом из ситуации является квантовый канал с асимметричным шифрованием. Тогда слушать просто будет нельзя :) (или по кр. мере существенно сложнее). + нужно не забывать об массовости. Чем болше пользователей и траффик, тем сложнее следить и т.д.
комментариев: 11558 документов: 1036 редакций: 4118
Они ведь честно предупреждали: "This is experimental software. Do not rely on it for strong anonymity."
комментариев: 9796 документов: 488 редакций: 5664
http://archives.seul.org/or/talk/Aug-2006/msg00042.html
Но мне кажется, что всё равно эта атака сработает, наверно не так просто и примитивно, как я описал
комментариев: 11558 документов: 1036 редакций: 4118
Заговор молчания? Мне кажется, комментарии других участников дискуссионной группы тоже были удалены на этапе модерации.
комментариев: 9796 документов: 488 редакций: 5664
Ну не всё так просто.
Кое что прояснилось. В таком виде "атака на тор" невозможна.
На основе поверхностных знаний Onion Routing протокола я сделал неверный вывод и поспешил поделиться им с разработчиками.
Зато сэкономил время, которого признаюсь у меня было мало для более глубокого изучения вопроса.
Серверы директории тоже независимы, разработчики включают в программу только их публичные ключи, а программа признаёт статистику верной, только если получит подтверждений более чем от половины серверов.
Для меня ещё кажется туманным вопрос, что если серверов директорий немного, то как происходит официальная процедура включения их публичных ключей в программу? Или отзыв скомпрометированных ключей? Не могут ли они все быть (или стать) подконтрольными кому-либо? (Разработчики считают защиту от такой угрозы нереальной). Работает ли распределённая модель доверия в таком ограниченном объёме?
Но думаю дальнейшая дискуссия в этом направлении с разработчиками бесперспективна. Если у кого есть время, силы и желание, можете копать дальше.
А со своей стороны вопрос считаю пока закрытым. Разоблачить заговор ЦРУ или АНБ не удалось ;-)
Серверы директории – это что-то типа master-нод? Сколько их кстати? И как они соотносятся с корневыми нодами?
У меня сразу проскользнула мысль, что, возможно, имело бы смысл включать в программу публичные ключи всех серверов тора (ну или сертификаты, если угодно). Поскольку цепочки строятся клиентом независимо, Мэллори сможет устроить атаку только за счёт преобладающего числа подконтрольных ей мод, в противном случае ничего не получится, так как они не могут иметь публичные ключи все нод.
В каком смысле независимы? Находятся в разных странах, принадлежат разным людям и их много? В противном случае проблема может быть переформулирована: получаем контроль над серверами директорийи осуществляем снова описанную атаку, как вы уже и сказали.
P. S.: есть небольшой позитив: раз
- До сих пор не известно достоверное ни об одном случае, когда кого-то вычислили из-под тора.
- Планируют запретить анонимные системы в Германии, а потом и во всей европе (ссылка пробегала) => не могут иначе, видимо, справиться.
- Когда всё-таки начинали расследования, изымали эксит-ноды а не тех кто что-то через них посылал.
Значит, возможно, не всё так плохо... Единственная надежда.комментариев: 11558 документов: 1036 редакций: 4118
Это одно и то же. "Корневые узлы (ноды)" — термин, выдуманный участниками этого форума (в том числе и мной) ради простоты и наглядности. Но он некорректен: "directory authority" не является обычным узлом, транслирующим трафик; эти серверы только поддерживают и выдают "официальный" список Tor-узлов.
Четыре. Все поддерживаются разными лицами. Правда, если не ошибаюсь, все размещены в США.
Неудачная мысль. Тогда для запуска каждого нового узла придётся выпускать новую версию программы. А ещё у оператор узла может рухнуть машина и лишить его ключа узла — опять придётся выпускать новую версию. Можно привести дюжину таких примеров.
http://www.freehaven.net/anonbib/
комментариев: 9796 документов: 488 редакций: 5664
но все принадлежали разработчикам, поэтому у меня и осталось такое представление.
Сейчас, теоретически каждый желающий может запустить такой сервер.
Но, то ли желающих нашлось немного, то ли разработчики удостоили этой чести только себя и ещё кого-то,
но в файле статистики можно наблюдать только семь строчек:
Можете проверить здесь, только большая страница может сделать браузер на время задумчивым.
про причину ругательства браузера на сертификат можете почитать на главной.
Из них два висят на одном IP адресе и, по крайней мере четыре из семи, связаны с разработчиками.
Так что тогда означает их фраза, что если половина директорий скомпрометирована, то игра окончена:
Ну и это я или не понял (я допускаю, что скорее всего так и есть) или это демагогия:
Неполные 7 – это что, multiply, множество великое?
Вот что они пишут в спецификации, которую отослали почитать:
То, на чём основана гипотетическая атака, относится к пункту 2, но остальные пункты тоже не радуют.
Т.е. больше десяти корневых директорий в сети иметь нежелательно из-за возможности атак разделения и
это узкое место не только в плане доверия, но и в плане масштабирования.
Далее, по тексту:
Со стороны клиента как работает тоже много написано, но естественно:
Я не буду цитировать всё, там ещё много деталей и можете сами прочитать или на сайте
или локально в консоли:
По моему, если ключи корневых директорий известны, то атака с виртуальной
сеткой tor как-то работать будет, может какие-то детали надо ещё добавить.
Но почему-то среди множества методов даже малопрактичных атак у разработчиков этот метод не описан.
А зачем раскрывать все секреты? Может какой-то метод раскрытия был использован, а для прикрытия можно параллельно
взломать компьютер жертвы или использовать информацию только в оперативных целях, а для суда представить как будто вычислили
вообще не через tor или проэксплойтили компьютер жертвы.
Ну, массово следить за пользователями они мешают, но вполне возможно что с особо вредными пользователями справиться могут.
Да потому что были заинтересованы больше в показухе, чем в реальном результате и действовали тупо по инструкции.
Ну и заодно запугать операторов экситов и подговить негативное общественное мнение, чтобы легче было принять закон против
анонимных сервисов.
Знаете историю про Черчилля и Энигму во время Второй Мировой?
Он позволил немцам разбомбить два города, хотя были разные поводы
эвакуировать мирное население и спасти несколько сотен тысяч жизней.
Но тогда немцы бы узнали, что шифр Энигмы взломан.
А несколько сотен тысяч жизней в военное время небольшая тактическая потеря
в стратегических играх военных и политиков.
Если tor очень нужен к примеру американским службам для анонимного сбора и передачи информации из любой точки
сети без организации подставных каналов и прочей мороки, то будут ли они способствовать даже раскрытию крупного
теракта, если это поставит под угрозу проект tor?
И нравится ли это немецому правительству (или лоббистам от определённых ведомств),
которое давно пытается освободиться от американского влияния, ещё со времён
той самой Второй Мировой и которое использует криптографические проекты как разменную монету в своих попытках
показать фигу Америке (то профинансируют GnuPG для борьбы с эшелоном, который используется для экономического
шпионажа в пользу США, то на tor наедет, не раскрывая своих далеко идущих политических замыслов).
На самом деле, лучше уделить внимание чисто технической стороне вопроса, а конспирология только уводит
в пустоту и не даёт получить никакого реального знания. Никаких конретных фактов для позитивных выводов пока нет,
так же как и для негативных.
комментариев: 9796 документов: 488 редакций: 5664
Цитата с перечислением пунктов неправильно отформатировалась из-за их автонумерации :-(