Trusted Recursive Resolver (TRR) и DNS over HTTPS (DoH). ч2

Trusted Recursive Resolver (TRR) и DNS over HTTPS (DoH). ч2

IT&Безопасность

DNS: система доменных имён

В метафоре с передачей записок в классе я сказала, что имя получателя должно быть написано снаружи записки. Это верно и для HTTP-запросов… они должны объявить, куда собираются идти.

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

Это вызывает проблемы. Пользователям неудобно запоминать цифры IP-адреса. Хочется дать сайту запоминающееся имя… которое отложится в памяти у людей.

Вот почему у нас есть система доменных имен (DNS). Ваш браузер использует DNS для преобразования имени сайта в IP-адрес. Этот процесс — преобразование доменного имени в IP-адрес — называется разрешением имени домена или резолвингом.

Как браузер решает задачу?

Один из вариантов — завести большой список вроде телефонного справочника в браузере. Но по мере того, как появляются новые веб-сайты или перемещаются на новые серверы, будет трудно поддерживать этот список в актуальном состоянии.

Таким образом, вместо одного списка для всех доменных имён существует много небольших списков, связанных друг с другом. Это позволяет им управляться независимо.



Для получения IP-адреса, соответствующего доменному имени, необходимо найти конкретный список, который содержит нужное доменное имя. Это похоже на поиск клада.

Как выглядит такой поиск клада для сайта вроде англоязычной Википедии, en.wikipedia.org?

Домен можно разделить на части.

С такими частями можно начать охоту на список, содержащий IP-адрес сайта. Но нам нужна помощь в поисках. Инструмент, который осуществляет эту охоту вместо нас и находит IP-адрес, называется резолвером.

Сначала резолвер обращается к так называемому корневому DNS-серверу. Он знает несколько различных корневых DNS-серверов, поэтому отправляет запрос одному из них. Резолвер спрашивает корневой DNS, где найти дополнительные сведения об адресах в доменной зоне верхнего уровня .org.


Следующий сервер называется сервером имён домена верхнего уровня (TLD). Сервер TLD знает обо всех доменах второго уровня, которые заканчиваются на .org.

Впрочем, он ничего не знает о поддоменах wikipedia.org, поэтому тоже не знает IP-адрес en.wikipedia.org.

Сервер имён TLD посоветует резолверу задать этот вопрос серверу имён Википедии.

Резолвер почти закончил. Сервер имён Википедии — это то, что называется авторитативный сервер. Он знает обо всех поддоменах wikipedia.org. Таким образом, он знает и о en.wikipedia.org, и об остальных поддоменах, такие как немецкая версия de.wikipedia.org. Авторитативный сервер сообщает резолверу, по какому IP-адресу можно получить HTML-файлы для этого сайта.

Резолвер вернёт операционной системе IP-адрес en.wikipedia.org.

Этот процесс называется рекурсивным разрешением, потому что приходится ходить туда и обратно, задавая разным серверам по сути один и тот же вопрос.

Я говорила, что нам нужен резолвер для помощи в поисках. Но как браузер находит этот резолвер? В общем, он спрашивает у операционной системы.

Как операционная система знает, какой резолвер использовать? Существует два возможных способа.

Вы можете настроить компьютер на использование определённого резолвера, которому доверяете. Но очень немногие люди делают это.

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

Это значит, что используемый резолвер может изменяться несколько раз в день. Если вы направляетесь в кафе поработать днём, то вероятно используете другой резолвер, чем утром. И так происходит даже если вы настроили свой собственный резолвер, потому что в протоколе DNS нет никакой безопасности.

Как можно эксплойтить DNS?

Так как эта система подвергает опасности пользователей?

Обычно резолвер сообщает каждому DNS-серверу, какой домен вы ищете. Этот запрос иногда включает ваш полный IP-адрес. А если не полный адрес, то всё чаще запрос включает в себя большую часть вашего IP-адреса, что можно легко объединить с другой информацией, чтобы установить вашу личность.


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

Существует несколько способов, как подобная система подвергает риску данные пользователей. Два основных — трекинг (отслеживание) и спуфинг (подмена).

Трекинг

Как я говорила выше, по полной или частичной информацию об IP-адресе несложно определить личность того, кто просит доступ к конкретному сайту. Это означает, что DNS-сервер и любой пользователь на пути к этому DNS-серверу (маршрутизатор по пути) может создать профиль пользователя. Они могут составить список всех сайтов, которые вы просмотрели.

И это ценные данные. Многие люди и компании готовы немало заплатить, чтобы увидеть вашу историю посещённых страниц.

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

Даже если вы доверяете рекомендованному резолверу от сети, то вероятно используете его только дома. Как я уже упоминала, каждый раз в кафе, отеле или в любой другой сети вам, вероятно, дадут другой резолвер. И кто знает, какова его политика сбора данных?

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

Спуфинг

При помощи спуфинга некто на пути между вами и DNS-сервером меняет ответ. Вместо реального IP-адреса мошенник сообщает вам неправильный IP-адрес для сайта. Таким образом, вам могут заблокировать доступ к реальному сайту или отправить не поддельную версию от мошенников.

Опять же, здесь и сам резолвер может действовать гнусно.

Предположим, вы делаете покупку в магазине Megastore. Вы хотите сравнить цены и посмотреть, не продаётся ли такой товар дешевле в конкурирующем интернет-магазине big-box.com.

Но если вы пользуетесь Megastore WiFi у них в торговом зале, то вероятно используете их резолвер. Он может перехватить запрос к big-box.com и соврать вам, что сайт недоступен


Источник: Habr (m1rko), Mozilla.

Report Page