Есть ли защита от DNS-спуфинга?


Добрый день! Вот такая модель угрозы: человек находится посередине между вами и вашим интренет-провайдером.

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

Есть ли защита от такого?

Я так понимаю, что это одна из многих видов DNS-спуфинга. Также можно подделывать кэш DNS сервера. Какие еще виды DNS-спуфинга существуют? Есть ли защита от них?

При использовании TOR, выходная нода тоже может спуфить DNS?

Комментарии
— SATtva (06/09/2012 12:52, исправлен 06/09/2012 12:54)   

DNSSEC, OpenDNSCrypt. /Поиск[link1] Вам в помощь.


При использовании TOR, выходная нода тоже может спуфить DNS?

А то! И с Tor приведённые выше методы не работают.

Гость (06/09/2012 13:44)   
Вот оно как..

Тогда как вот такая идея: софт, работающий через TOR, отправляющий DNS-запросы по трём различным цепочкам. Сравнивает три ответа на предмет спуфинга. Плюс можно дополнительно отправлять DNS-запрос через провайдера на предмет спуфинга локального (от тебя до провайдера).

Думаю, что идея не нова.. Есть ли готовые реализации?
— SATtva (06/09/2012 14:29)   
В каком софте это должно быть реализовано? Что, если этот софт использует стандартный резолвер ОС, а не собственный? Как он должен себя вести, если полученные ответы не согласуются?

Плюс можно дополнительно отправлять DNS-запрос через провайдера на предмет спуфинга локального (от тебя до провайдера).

То есть самостоятельно устраивать утечку DNS-запроса?
Гость (06/09/2012 14:53)   
А смысл проверять спуфинг днс со стороны эксита, ну получили вы самый настоящий адрес, и что? Эксит всё равно, чуть менее чем полностью, контролирует адрес назначения к которому будет подключаться, пусть это будет хоть 146% достоверный ип-адрес запрошенный вами. В вашей схеме проверок тор лишняя деталь.
Гость (06/09/2012 15:28)   
То есть самостоятельно устраивать утечку DNS-запроса?


В вашей схеме проверок тор лишняя деталь.


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

В каком софте это должно быть реализовано?


ну допустим, типа tornslookup.

Что, если этот софт использует стандартный резолвер ОС, а не собственный?


насколько мне известно, в пакете ТОР есть собственный DNS форвардер. можно присобачить его.
— SATtva (06/09/2012 15:34)   
Исходники открыты, можете приспособить под свои нужды.

ТОР – средство проверки того, пытаются ли произвести локальный DNS-спуфинг.

Хотите изобрести собственный велосипед с преферансом и поэтессами? Почему нельзя использовать готовые механизмы, мне решительно непонятно.
Гость (06/09/2012 15:41)   
Как он должен себя вести, если полученные ответы не согласуются?


в принципе это не главное (для tornslookup), можно просто выдать предупреждение.

но если конкретизировать, то возможны следующие варианты.

1. DNS-ответ от провайдера и от тор-нод совпадают – всё хорошо
2. DNS-ответ от провайдера и от тор-нод НЕ совпадают – прослушивание локальное (на стороне провайдера)
3. DNS-ответ от провайдера совпадает только с двумя из трёх нод – прослушивание удаленное (на стороне ноды)
4. DNS-ответ от провайдера совпадает только с одной из трёх нод – ZOG!!! =))

Всегда есть вероятность ошибки.. Например, в варианте №2 – противник установил DNS-спуферы на все три ноды, и только твой родной провайдер не врёт.. =)
Гость (06/09/2012 15:44)   
Почему нельзя использовать готовые механизмы, мне решительно непонятно.


Я уже спрашивал[link2]

Например какие?

Если вы имеете ввиду DNSSEC и прочие, то для этого нужно, насколько мне известно, чтобы администратор веб-сайта позаботился об этом, не так ли?
— SATtva (06/09/2012 15:49)   
но если конкретизировать, то возможны следующие варианты.

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

Если вы имеете ввиду DNSSEC и прочие, то для этого нужно, насколько мне известно, чтобы администратор веб-сайта позаботился об этом, не так ли?

OpenDNSCrypt'у не нужно ничего, кроме использования DNS-серверов OpenDNS.
Гость (06/09/2012 16:09)   
Какие ответы должен давать этот гипотетический резолвер? Они должны быть чисто текстовые, т.е. работа с программой предполагается исключительно в ручном режиме?


Думаю, хотя бы сделать консольное приложение, а потом посмотрим, как попрёт)))

Против OpenDNSCrypt сказать ничего не могу, за исключением того, что нужно доверять их сервису. Конечно, вероятность целенаправленной атаки против меня мала.

Также, считаю, всегда нужны альтернативные средства защиты. Комплексный подход к безопасности же!)
— SATtva (06/09/2012 16:32)   
Думаю, хотя бы сделать консольное приложение, а потом посмотрим, как попрёт)))

"Как попрёт" — это отличное инженерное требование.

Для консоли напишите простой скрипт, перестраивающий цепочки Tor'а (или просто перезапускающее его процесс) и запрашивающее IP домена через tor-resolve нужное число раз. Можно как ограничиться простым выводом IP, так и прикрутить свистелки, автоматически сравнивающие результаты между собой и ответом от провайдерского DNS-сервера. В любом случае работа на несколько минут.

Против OpenDNSCrypt сказать ничего не могу, за исключением того, что нужно доверять их сервису.

Под заявленную Вами модель угрозы подходит.
Гость (06/09/2012 16:44)   
перестраивающий цепочки Tor'а (или просто перезапускающее его процесс)
Ни рестарт, ни тем более новая личина, не гарантируют нового эксита. Тут уж как попрёт, ага.
Гость (06/09/2012 16:59)   
Кстати, я тут подумал, также можно проверять сертификаты сайта. Пытаются ли вас обмануть на стороне провайдера, подменяя сертификат (подписанный другим центром сертификации). Хотя от таких атак и защищает спецплагин, он не бьет тревогу, если предыдущий сертификат истекает.
— SATtva (06/09/2012 17:02)   
Ни рестарт, ни тем более новая личина, не гарантируют нового эксита. Тут уж как попрёт, ага.

Именно. Поэтому, в идеале, придётся через управляющий порт проверять их идентичность.
Гость (06/09/2012 17:47)   
Пытался сделать несколько раз:



Результат каждый раз разный.

И даже здесь этих адресов нет:



Видимо, это связано с резервированием. При проверке крупных сайтов будут ошибки. С pgpru все нормально.
— SATtva (06/09/2012 18:58)   
У гугла и вообще любого крупного сайта кластеры серверов с балансировкой нагрузок. Ещё одна причина, почему нужно использовать стандартные средства.
Гость (17/02/2013 15:01)   
DNSCrypt for Linux[link3]
как скачать и установить? не вкурю ((
— Кеша (17/02/2013 15:41)   
1.
Гость (17/02/2013 16:20)   
спасибо.
но вот это: and download the .deb file я как раз и не смог сделать. нет там пакетов. я подумал, может как то по другому нужно делать..
— Кеша (17/02/2013 17:15)   
может как то по другому нужно делать..

Конечно по-другому, например скомпилировать самому)
Гость (12/10/2013 14:53)   
а между тем dnscrypt уже 1.3.3 и появился для Анроида, Винды. только установка усложнилась. теперь требуется еще и libsodium ставить.
в этой связи при кофигурации вылезла такая ошибка:

.......
checking whether we are cross compiling... configure: error: in `хххх/dnscrypt-proxy-1.3.3/src/libevent-modified':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details


дальше ступор (( прошу помощи.
Гость (12/10/2013 14:55)   
зы пардон. система Debian 6.0.7 x86
Гость (30/03/2014 20:57)   
Поможет ли DNSCrypt обойти провайдера в такой ситуации? http://roem.ru/2014/03/30/turkishdns95653/

Как сообщает сам Google, турецкие власти, совместно с телеком-операторами, решили не просто блокировать гугловский DNS 8.8.8.8, но настроили «маскарадинг» и клиент, обращающийся к Google’s Public DNS, прозрачно получает ответ подставных турецких DNS.

Система DNS отвечает за разрешение человеко-читаемых интернет-адресов (таких, как Roem.ru), в их цифровые IP-адреса и может быть представлена как телефонный справочник. Подмена DNS позволяет подменять сайты, стоящие за доменными именами (такой метод является распространенной хакерской тактикой для перенаправления пользователей на подставные фишинговые сайты). Ранее, во время первой блокировки Twitter, жители Турции обнаружили, что блокировка обходилась отказом от использования выданного провайдером DNS-сервера в пользу 8.8.8.8:
— SATtva (30/03/2014 21:10)   
Поможет ли DNSCrypt обойти провайдера в такой ситуации?

Зависит от нюансов блокировки. Провайдер может разрешать соединения только со своим DNS-сервером. Или может заблокировать любые DNS-сервера, поддерживающие DNSCrypt (с ним же вообще вроде бы работает только OpenDNS?).
Гость (30/03/2014 21:40)   
только OpenDNS?).
https://github.com/jedisct1
Frank Denis jedisct1

OpenDNS
San Francisco, CA.
{email}
http://twitter.com/jedisct1
Joined on Sep 09, 2009
Гость (31/03/2014 17:36)   
На опеннете "рекламируют" провайдера[link4], который делает как в турции. Только провайдер не из турции.
УЖЕ давным давно перехватывает DNS-сообщения от 8.8.8.8/8.8.4.4 .. и в случае чего — меняет там записи A-типа.

Впрочем нет подробностей, делают ли так в отношении всех днс серверов или гуглу повезло особо.
Гость (31/03/2014 17:45)   

Туплю. В примере все подробности. Гуглу повезло.
Гость (18/09/2014 01:10)   
появилась версия и для Андроид[link5]
только вот никак не соображу как его туда установить. в разделе Installation упоминается что можно ставть на рутовый андроид, но как?
в архиве 3 папки:
– bin
– sbin
– share

может есть у кого опыт установки?
— Руслан (28/09/2014 02:13)   
есть DNSCrypt
— SATtva (28/09/2014 10:34)   
В этой теме он есть, начиная с первого поста два года назад.
Гость (28/09/2014 12:56)   

По запросу в Google, Yandex и etc, можно найти "защищенные" dns сервера от Norton, Comodo и т.д.
Поиск DNS[link6]
сами DNS[link7]
Гость (28/09/2014 13:15)   
Вот еще проект[link8]

Ссылки
[link1] http://www.pgpru.com/poisk

[link2] https://www.pgpru.com/comment55325

[link3] https://github.com/opendns/dnscrypt-proxy/downloads

[link4] http://www.opennet.ru/openforum/vsluhforumID3/95135.html#66

[link5] http://download.dnscrypt.org/dnscrypt-proxy/

[link6] https://yandex.ru/yandsearch?text=безопасные%20dns&lr=21280

[link7] http://www.comss.ru/list.php?c=securedns

[link8] http://www.dnscurve.org/