DNS и Tor. Почему не стоит пытаться сделать Tor лучше.

Nakomoto

Команда Секти
Гарант Секти
Реєстрація
27.10.24
Повідомлення
35
Репутація
800
Вподобайки
165
Бали
118
Депозит
10000 $
423891304-955408816-what-is-dns.png

Приветствую, уважаемые посетители форума. Сегодня хочу затронуть тему DNS и Tor.

Утечка DNS

Для начала выясним, что такое DNS. Понятным языком: DNS (domain name system) – это система, с помощью которой устройства могут находить сайты. Например, ваш компьютер не понимает, что такое google.com. Зато он понимает ip адрес, где находится один из серверов гугл, например 172.217.10.46. То есть днс переводит адреса сайтов в ip адреса серверов, где эти сайты находятся.

Что такое утечка DNS? Это когда ваше устройство при попытке подключиться к сайту напрямую связывается с DNS-сервером. При анонимном подключении DNS запрос за вас делает выходная нода. Но если днс запрос по каким-то причинам уходит в обход анонимного подключения, то ваш провайдер увидит какой сайт запрашивался с вашего айпи. Отсюда правило: когда вы используете Tor, ваши DNS-запросы тоже должны идти только через Tor. Существует деанонимизация по утечке DNS. Для этого устанавливают примерное время, когда отслеживаемый пользователь заходит на тот или иной сайт, а потом выясняют кто в это же время получал данные о соответствующих доменах с подконтрольных DNS-серверов.

Как найти утечку в браузере?

-
Будь ласка, Увійти або Реєстрація щоб переглянути вміст URL-адреси!


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

Как Tor выбирает DNS

Выходная нода выбирает DNS по своему предпочтению и Tor на это не влияет. Работает по принципу: новая цепочка - новая нода - новый DNS-сервер.

Существует метод шифрования DNS запросов, такой как DoH (DNS over https). Это способ отправки DNS запросов через https. Его сложнее обнаружить и заблокировать, так как он маскирует днс запросы под обычный интернет-трафик. Используется в браузерах, таких как chrome и firefox.

Так как тор не использует DoT/DoH и DNS-запросы передаются в открытом виде, то выходные ноды Tor имеют техническую возможность подменять данные и направлять вас по ложному IP. Но сам Tor не позволяет настроить выбор DNS-сервера, сделать это стандартными методами не получится.

Можно ли включить шифрование DNS в Tor?

В Tor существуют опции CacheDNS и UseDNSCache (сам Tor не рекомендует их включать). Можно встроить в Tor компонент, который будет выполнять DNS-запросы отдельно, а результат подсовывать в виде кэша.

Минусы:
  • Ваше поведение в Tor будет нетипичным, оно отличит вас от большинства других пользователей, что плохо для анонимности.
  • От подмены IP на DNS-сервере вы никак не защищены. Да и выходная нода при желании всё равно может перенаправить вас на какой-то другой IP.
  • Вы лишаетесь диверсификации DNS-среверов (новая цепочка - новый сервер) и вместо этого используете один единственный.
    Поэтому единолично менять устройство DNS в Tor - это не очень хорошая идея.

Так что же предпринять?

  • Torsocks. Это инструмент перенаправляющий сетевой трафик определенных приложений через Tor. Если написать это перед командой запуска программы, она будет перехватывать системные вызовы и перенаправлять через Tor. Эта утилита есть в репозитории apt, утечку DNS она не допускает. Но такой способ нельзя считать очень надёжным, при определённых обстоятельствах он может подвести. Подойдёт только для простых или разовых задач, где высокий уровень надёжности не является критично важным.
  • Whonix. Рекомендуемый вариант, запускать программы нужно внутри Workstation. Он не допускает утечек и имеет высокую защиту от сбоев и человеческого фактора.

Почему разработчики Tor рекомендуют не использовать опции типа UseDNSCache? Что плохого в кэшировании DNS?
  • По-умолчанию эта функция отключена и не рекомендована к использованию, значит среди пользователей Tor она встречается редко. Такая опция даже без собственных доработок может стать личным маркером.
  • Кэш запросов не сбрасывается при обновлении цепочки:

    1. Если выходная нода попробует провернуть атаку с подменой DNS, фейковый IP "пристанет" к вашей системе и обновление цепочки его не сбросит. Это так называемый, "липкий MITM", будет способствовать успешной атаке на вас.
    2. Другая атака связана с выдачей уникального IPv6 каждому посетителю сайта, благодаря чему можно связывать между собой разные цепочки Tor, инициированные одним и тем же пользователем. Однако, возможность применения этой атаки ограничена, потому кнопка "new identity" чистит любой кэш, в отличии от простой смены цепочки. Но всё же, в определённых условиях эта атака может сработать, эта проблема указана разработчиками Tor и её тоже нужно принять во внимание.

Изначально кэш DNS сделали для повышения производительности, но вреда от этой функции зачастую больше, чем пользы. Чтобы убедиться, что у вас нет кэш днс, можно проверить конфиги. Не должно быть опций: CacheDNS, CacheIPv4DNS, CacheIPv6DNS, UseDNSCache, UseIPv4Cache, UseIPv6Cache

Команда для проверки:
sudo egrep -inR --color 'DNSCache|CacheDNS|CacheIPv.DNS|UseIPv.Cache' /etc/tor/tor* /etc/torrc.d/ /usr/local/etc/torrc.d/ ~/.torrc*

Можно запустить как на host-os, так и на Whonix Gateway. Команда должна выдать пустой результат. Если совпадения были найдены, их нужно удалить из файлов. Удалять нужно не всю строку, а только те слова, что перечислены выше.

Итог

Защита DNS внутри Tor бесполезна и даже может навредить вашей анонимности. DNS следует рассматривать как вспомогательную технологию, он лишь помогает быстро найти нужный сервер. А за соответствие домена и сервера отвечают совсем другие механизмы, на которые и стоит обратить внимание. Оставайтесь защищенными!
 
Останнє редагування:
Назад
Зверху Знизу