Pablo_P
Carder
- Messages
- 56
- Reaction score
- 13
- Points
- 8
Сегодня хочу обсудить потенциальные атаки на тор, посмотрим на метрики предоставляемые самим Tor Project и попробуем поискать замену всем уже привычного решения.
Кто атакует?
Для начала давайте вообще разберемся в каких ситуациях и для кого плох тор. Если вы например хотите обходить блокировки РКН, то с obfs4 входом это вполне рабочее решение (очевидно не лучшее, но не плохое). Если вы атакуете сайты в T2-T3 странах, которые не входят в EU, то для вас рисков как по мне нет. Итак, тор защищает именно от локального наблюдателя, если вы атакуете небольшую компанию, то обычно у них не будет ресурсов даже на раскрутку первого хопа из 3, не говоря уже про остальные. У тора возникают проблемы когда злоумышленник становиться более сильным, например полу глобальным или глобальным. Дальше я буду рассматривать именно такого атакующего в модели угроз, если ваш атакующий слабее, то тор скорее всего закрывает все ваши потребности в анонимности.
Чем плох тор?
Сейчас будем потихоньку выжимать данные которые доступны о тор в публичных источниках. Большая часть написанного здесь текста будут мои домыслы, так как реальной практической/доказательной базы крайне мало. Просто исходя из того что целей у глобального злоумышленника, не так много.
Тор изначально был разработан АНБ насколько известно для того чтобы исполнительные органы США могли выполнять международные операции, без возможности их идентификации. Для этих же задач тор был выложен публично. Правительство США до сих пор красуется на странице спонсоров Tor Project.
Теперь посмотрим на тех из кого вообще состоит Tor Project? https://tpo.pages.torproject.net/translation/ru/about/people/
Вот например Rabbi Rob Thomas, один из директоров Tor Project, а так же по совместительству CEH Team Cymru, кстати об этом даже есть пост на самом Tor Project: https://blog.torproject.org/double-...homas-announce-matching-challenge-supporttor/. Итак, кто такие Team Cymru? Это ребята, которые продают инструмент Augury правительству США, этот инструмент видит 93% мирового netflow, работает он на основе соглашений с мировыми ISP провайдерами можете почитать об этом тут: https://www.vice.com/en/article/us-...toring-augury-team-cymru-browsing-email-data/.
Ну или вот вам копирастка Nighat Dad, защитница цифровых прав компаний. https://neolurk.org/wiki/Копираст
Еще Chief Technology Officer в Cisco, в общем интересные ребята собрались.
Теперь чуть посмотрим на техническую часть тор, как он работает? Тор использует 3 ноды, через которые проходит ваш трафик. В настройках по умолчанию первая нода это GuardNode, которая выбирается для длительного использования (на несколько недель), другие 2 ноды в цепочке по умолчанию меняются раз в 10 минут. Для получения списка этих нод, тор клиент обращается к консенсусу (9 "доверенных" узлов в странах 14 глаз, которые зашиты в каждом клиенте). Консенсус отдает список узлов используя которые и будет построен ваш маршрут.
Теперь давайте посмотрим где же находятся те самые ноды через которые мы пропускаем наш трафик? https://metrics.torproject.org/rs.html#aggregate/cc вот открытые метрики предоставляемые самим Tor Project, в них треть нод это германия, почти половина нод находятся в странах 5 глаз и 70%+ в странах 14 глаз. Ну очевидно что при ротации ип адресов, злоумышленнику достаточно раскрутить хотя бы одну цепочку, чтобы до вас добраться.
Тор конечно пытается защититься от атак корреляции добавлением трафика и задержками, но этих мер зачастую не достаточно, очевидно ISP может записывать например объем трафика, а так же известны случаи поднятия нод тора которые намеренно собирают множество данных о трафике.
Тор ноду может поднять любой желающий, включая правительства разных стран, из всего выше описанного можно прийти к выводу, что тор скорее всего полностью подментован, и является хонеподом для обычных смертных, тем не менее со своей основной задачей "Защищать атакующих из США от деанона" справляется на ура.
Это мы и так знали, что дальше?
Теперь посмотрим на альтернативные решения, в сути своей тор это mixnet который усложняет корреляцию данных с конкретным участником в сети, на сегодняшний день это уже не единственное решение, посмотрим кто еще предлагает подобные подходы.
Одной из известных альтернатив выступает i2p, где уровень анонимности кратно выше, пользователь может сам задавать количество узлов в цепочке N(0-8), для получения узлов маршутизации используется DHT с bootstrap нодами с начальным запуском. У вас нет центрального сервера через которые вы запрашиваете узлы в i2p сети, вы получаете минимальный набор bootstrap узлов которые поддерживаются сообществом и регулярно проверяются, либо можете скопировать их с другого роутера. Ваш роутер теперь участвует для маршрутизации трафика других участников сети, в отличие от тор, по умолчанию сеть i2p закрыта и не имеет доступа к чему-либо во внешнем интернете, однако вы можете использовать outproxy для доступа в белый интернет из i2p. Ваш роутер периодически запрашивает у флудфилов (роутеры которые хранят данные об узлах в сети), данные о других роутерах и тем самым расширяя набор известных вам узлов. Чем дольше работает ваш роутер, тем более надежные и быстрые узлы он находит. Давай те теперь посмотрим как i2p строит маршруты для обмена трафиком, в отличии от тор тут используется чесночная маршрутизация, вместо луковичной, на каждый узел передается одна и таже "чесночина" с 8 "кусками", каждый роутер пытается расшифровать "куски" своим приватным ключом, расшифровывая один из них он получает инструкцию, в которой описано что дальше делать с трафиком (отправлять на другую ноду, обрабатывать или сбрасывать). пройдя через заданное количество узлов, которые вы выбрали в настройках (N), маршрут строится дальше через M узлов, которые выбрала конечная нода, таким образом количество узлов может быть увеличено от изначально выбранного вами N числа, но никак не уменьшено. При получении пакета, конечный сервис хочет отправить вам данные назад, для этого он не использует маршрут что был выбран вами для доставки данных, а строит новый, через который пакеты будут доставляться уже вам.
Звучит это все конечно очень сложно и требует технического бекграунда для понимания всех тонкостей технологии, а как оно в реальной практике? На самом деле не очень, давайте оценим достоинства и недостатки I2P:
NymVPN его уже обсуждали несколько раз на форуме. И так основания идея NymVPN заключается в использовании Mixnet, а также входного статического и выходного динамического узлов. NymVPN является платным, и принимает токен Nym в качестве оплаты за построение маршрутов, эти токены используются для выплат владельцам нод за предоставление услуг маршрутизации и передачи данных. В остальном технология слабо отличается от Tor. Но у nymvpn достаточно почитать политику конфиденциальности чтобы понять, что это решение продаст вас с потрохами при запросе данных, хоть и работает оно куда лучше чем тот же тор. Микснет может содержать до 6 узлов. Перейдем к плюсам и минусам:
Lokinet один из самых интересных на мой взгляд. Про него есть буквально несколько упоминаний на форуме, это Mixnet похожий на NymVPN, но с некоторыми отличиями и требованиями под ноды. Маршрутизация трафика в сети полностью бесплатная, для построения маршрутов используются .snode ноды, список которых публикуется в блокчейне. Клиентский роутер сам выбирает как ему строить маршрут, собирая узлы из блокчейна. Lokinet вводит новую политику для поднятия нод в сети для маршрутизации, для того чтобы через вашу ноду начал проходить клиентский трафик вам нужно сделать stacking на сумму примерно 2000$, так же к вашей ноде будут выставлены требования по скорости канала, и объему хранимых данных. Вы можете использовать до 8 хопов в Mixnet, при этом выходная скорость действительно высокая, около 20Мбит с задержками 500-600 мс. Сеть lokinet, как и i2p по умолчанию закрыта от clearnet'a, но вы можете использовать exitnode (аналог outproxy в i2p) для выхода во внешний интернет. Если будете возиться с lokinet, то поменяйте выход exit.loki (который установлен по умолчанию) на euroexit.loki (один из немногих что работает стабильно). Оценка:
Dounble VPN/Triple VPN/DVPN проверенное временем решение, но тут есть своя специфика построения, ошибочный выбор узлов подрывает безопасность всей цепочки, так же сильно зависит что за узлы вы используете (свои/провайдера/паблик), обсуждение VPN решений тянет на отдельную статью, поэтому тут расписывать не буду.
+ Обычно высокая скорость работы
+/- Зависит от выбора узлов
Небольшое заключение
По возможности вовсе не используйте тор для защиты от global observer, всегда используйте дополнительные средства защиты перед тором, такие как VPN. По желанию можете заменить тор в своей цепочке на одно из решений выше. Всегда разбирайтесь в технических деталях технологий, что вы используете. Перепроверяйте полученную информацию, ну и не доверяйте сказочникам с форума (включая меня), спасибо.
Кто атакует?
Для начала давайте вообще разберемся в каких ситуациях и для кого плох тор. Если вы например хотите обходить блокировки РКН, то с obfs4 входом это вполне рабочее решение (очевидно не лучшее, но не плохое). Если вы атакуете сайты в T2-T3 странах, которые не входят в EU, то для вас рисков как по мне нет. Итак, тор защищает именно от локального наблюдателя, если вы атакуете небольшую компанию, то обычно у них не будет ресурсов даже на раскрутку первого хопа из 3, не говоря уже про остальные. У тора возникают проблемы когда злоумышленник становиться более сильным, например полу глобальным или глобальным. Дальше я буду рассматривать именно такого атакующего в модели угроз, если ваш атакующий слабее, то тор скорее всего закрывает все ваши потребности в анонимности.
Чем плох тор?
Сейчас будем потихоньку выжимать данные которые доступны о тор в публичных источниках. Большая часть написанного здесь текста будут мои домыслы, так как реальной практической/доказательной базы крайне мало. Просто исходя из того что целей у глобального злоумышленника, не так много.
Тор изначально был разработан АНБ насколько известно для того чтобы исполнительные органы США могли выполнять международные операции, без возможности их идентификации. Для этих же задач тор был выложен публично. Правительство США до сих пор красуется на странице спонсоров Tor Project.
Теперь посмотрим на тех из кого вообще состоит Tor Project? https://tpo.pages.torproject.net/translation/ru/about/people/
Вот например Rabbi Rob Thomas, один из директоров Tor Project, а так же по совместительству CEH Team Cymru, кстати об этом даже есть пост на самом Tor Project: https://blog.torproject.org/double-...homas-announce-matching-challenge-supporttor/. Итак, кто такие Team Cymru? Это ребята, которые продают инструмент Augury правительству США, этот инструмент видит 93% мирового netflow, работает он на основе соглашений с мировыми ISP провайдерами можете почитать об этом тут: https://www.vice.com/en/article/us-...toring-augury-team-cymru-browsing-email-data/.
Ну или вот вам копирастка Nighat Dad, защитница цифровых прав компаний. https://neolurk.org/wiki/Копираст
Еще Chief Technology Officer в Cisco, в общем интересные ребята собрались.
Теперь чуть посмотрим на техническую часть тор, как он работает? Тор использует 3 ноды, через которые проходит ваш трафик. В настройках по умолчанию первая нода это GuardNode, которая выбирается для длительного использования (на несколько недель), другие 2 ноды в цепочке по умолчанию меняются раз в 10 минут. Для получения списка этих нод, тор клиент обращается к консенсусу (9 "доверенных" узлов в странах 14 глаз, которые зашиты в каждом клиенте). Консенсус отдает список узлов используя которые и будет построен ваш маршрут.
Теперь давайте посмотрим где же находятся те самые ноды через которые мы пропускаем наш трафик? https://metrics.torproject.org/rs.html#aggregate/cc вот открытые метрики предоставляемые самим Tor Project, в них треть нод это германия, почти половина нод находятся в странах 5 глаз и 70%+ в странах 14 глаз. Ну очевидно что при ротации ип адресов, злоумышленнику достаточно раскрутить хотя бы одну цепочку, чтобы до вас добраться.
Тор конечно пытается защититься от атак корреляции добавлением трафика и задержками, но этих мер зачастую не достаточно, очевидно ISP может записывать например объем трафика, а так же известны случаи поднятия нод тора которые намеренно собирают множество данных о трафике.
Тор ноду может поднять любой желающий, включая правительства разных стран, из всего выше описанного можно прийти к выводу, что тор скорее всего полностью подментован, и является хонеподом для обычных смертных, тем не менее со своей основной задачей "Защищать атакующих из США от деанона" справляется на ура.
Это мы и так знали, что дальше?
Теперь посмотрим на альтернативные решения, в сути своей тор это mixnet который усложняет корреляцию данных с конкретным участником в сети, на сегодняшний день это уже не единственное решение, посмотрим кто еще предлагает подобные подходы.
Одной из известных альтернатив выступает i2p, где уровень анонимности кратно выше, пользователь может сам задавать количество узлов в цепочке N(0-8), для получения узлов маршутизации используется DHT с bootstrap нодами с начальным запуском. У вас нет центрального сервера через которые вы запрашиваете узлы в i2p сети, вы получаете минимальный набор bootstrap узлов которые поддерживаются сообществом и регулярно проверяются, либо можете скопировать их с другого роутера. Ваш роутер теперь участвует для маршрутизации трафика других участников сети, в отличие от тор, по умолчанию сеть i2p закрыта и не имеет доступа к чему-либо во внешнем интернете, однако вы можете использовать outproxy для доступа в белый интернет из i2p. Ваш роутер периодически запрашивает у флудфилов (роутеры которые хранят данные об узлах в сети), данные о других роутерах и тем самым расширяя набор известных вам узлов. Чем дольше работает ваш роутер, тем более надежные и быстрые узлы он находит. Давай те теперь посмотрим как i2p строит маршруты для обмена трафиком, в отличии от тор тут используется чесночная маршрутизация, вместо луковичной, на каждый узел передается одна и таже "чесночина" с 8 "кусками", каждый роутер пытается расшифровать "куски" своим приватным ключом, расшифровывая один из них он получает инструкцию, в которой описано что дальше делать с трафиком (отправлять на другую ноду, обрабатывать или сбрасывать). пройдя через заданное количество узлов, которые вы выбрали в настройках (N), маршрут строится дальше через M узлов, которые выбрала конечная нода, таким образом количество узлов может быть увеличено от изначально выбранного вами N числа, но никак не уменьшено. При получении пакета, конечный сервис хочет отправить вам данные назад, для этого он не использует маршрут что был выбран вами для доставки данных, а строит новый, через который пакеты будут доставляться уже вам.
Звучит это все конечно очень сложно и требует технического бекграунда для понимания всех тонкостей технологии, а как оно в реальной практике? На самом деле не очень, давайте оценим достоинства и недостатки I2P:
- Сеть анонимна и сложно отслеживаема
- Есть несколько реализаций, из стабильных: i2p(java) и i2pd(C++)
- Большое количество узлов в сети
- Низкая скорость работы (даже с 2-мя хопами и собственным outproxy, скорость не будет превышать 5мбит)
- Высокие задержки, минимум 700-900 миллисекунд
- Сложности с маршрутизацией всего трафика, по умолчанию поставляется как локальная Socks/HTTP прокси, для использования в качестве маршрутизации для всей системы требуются технические навыки
- Нестабильность работы сети, маршруты периодически разрываются и перестраиваются
NymVPN его уже обсуждали несколько раз на форуме. И так основания идея NymVPN заключается в использовании Mixnet, а также входного статического и выходного динамического узлов. NymVPN является платным, и принимает токен Nym в качестве оплаты за построение маршрутов, эти токены используются для выплат владельцам нод за предоставление услуг маршрутизации и передачи данных. В остальном технология слабо отличается от Tor. Но у nymvpn достаточно почитать политику конфиденциальности чтобы понять, что это решение продаст вас с потрохами при запросе данных, хоть и работает оно куда лучше чем тот же тор. Микснет может содержать до 6 узлов. Перейдем к плюсам и минусам:
- Высокая скорость работы
- Достойный уровень анонимности при использовании mixnet
- Работает из коробки, поставляется как vpn для всей системы
- Ненадежный поставщик услуг, сбор метрик
- Малое количество узлов в сети
Lokinet один из самых интересных на мой взгляд. Про него есть буквально несколько упоминаний на форуме, это Mixnet похожий на NymVPN, но с некоторыми отличиями и требованиями под ноды. Маршрутизация трафика в сети полностью бесплатная, для построения маршрутов используются .snode ноды, список которых публикуется в блокчейне. Клиентский роутер сам выбирает как ему строить маршрут, собирая узлы из блокчейна. Lokinet вводит новую политику для поднятия нод в сети для маршрутизации, для того чтобы через вашу ноду начал проходить клиентский трафик вам нужно сделать stacking на сумму примерно 2000$, так же к вашей ноде будут выставлены требования по скорости канала, и объему хранимых данных. Вы можете использовать до 8 хопов в Mixnet, при этом выходная скорость действительно высокая, около 20Мбит с задержками 500-600 мс. Сеть lokinet, как и i2p по умолчанию закрыта от clearnet'a, но вы можете использовать exitnode (аналог outproxy в i2p) для выхода во внешний интернет. Если будете возиться с lokinet, то поменяйте выход exit.loki (который установлен по умолчанию) на euroexit.loki (один из немногих что работает стабильно). Оценка:
- Высокая скорость работы
- Достойный уровень анонимности, вполе можно работать и с 8 хопами в цепочке
- Работает для всей системы, и спроектирован как L3 решение, но нужен небольшой hardering для лучшей работы
- Отсутсвие каких либо аудитов
- Малая известность и наличие только 1600 нод, мало в сравнении с тем же тором (9000+)
Dounble VPN/Triple VPN/DVPN проверенное временем решение, но тут есть своя специфика построения, ошибочный выбор узлов подрывает безопасность всей цепочки, так же сильно зависит что за узлы вы используете (свои/провайдера/паблик), обсуждение VPN решений тянет на отдельную статью, поэтому тут расписывать не буду.
+ Обычно высокая скорость работы
+/- Зависит от выбора узлов
Небольшое заключение
По возможности вовсе не используйте тор для защиты от global observer, всегда используйте дополнительные средства защиты перед тором, такие как VPN. По желанию можете заменить тор в своей цепочке на одно из решений выше. Всегда разбирайтесь в технических деталях технологий, что вы используете. Перепроверяйте полученную информацию, ну и не доверяйте сказочникам с форума (включая меня), спасибо.