SAD DNS: атака с целью подмены фальшивых данных в кеше DNS

Группа Исследователи из Университета Цинхуа и Калифорнийского университета в Риверсайде разработали новый тип атаки. что позволяет подмену ложных данных в кеше DNS-сервера, который может использоваться для подделки IP-адреса произвольного домена и перенаправления вызовов в домен на сервер злоумышленника.

Атака обходит дополнительную защиту DNS-серверов. для блокировки классического метода отравления кеша DNS, предложенного в 2008 году Дэном Камински.

Метод Каминского манипулирует незначительным размером поля идентификатора запроса DNS, что всего 16 бит. Чтобы найти правильный идентификатор, необходимый для подделки имени хоста, просто отправьте около 7.000 запросов и смоделируйте около 140.000 поддельных ответов.

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

Для защиты от этого типа атак, Производители DNS-серверов реализовано случайное распределение номеров сетевых портов источник, из которого отправляются запросы разрешения, что компенсировало недостаточно большой размер идентификатора (для отправки фиктивного ответа, помимо выбора 16-битного идентификатора, необходимо было выбрать один из 64 тысяч портов, что увеличивало количество варианты выбора до 2 ^ 32).

Атака SAD DNS значительно упрощает идентификацию портов с помощью фильтрации активности на сетевых портах. Проблема проявляется во всех операционных системах. (Linux, Windows, macOS и FreeBSD) и при использовании разных DNS-серверов (BIND, Unbound, dnsmasq).

Утверждается, что атакуются 34% всех открытых решателей, а также 12 из 14 лучших протестированных служб DNS, включая 8.8.8.8 (Google), 9.9.9.9 (Quad9) и 1.1.1.1 (CloudFlare), а также 4 из 6 протестированных маршрутизаторов от известных поставщиков.

Проблема связана с особенностями формирования пакета ответа ICMP, что позволяет определить доступ к активным сетевым портам и не используется через UDP. Эта функция позволяет очень быстро сканировать открытые порты UDP и эффективно обходить защиту на основе случайного выбора исходных сетевых портов, уменьшая количество вариантов грубой силы до 2 ^ 16 + 2 ^ 16 вместо 2 ^ 32.

Источником проблемы является механизм ограничения интенсивности отгрузки. количество пакетов ICMP в сетевом стеке, использующем предсказуемое значение счетчика, с которого начинается прямое регулирование. Этот счетчик общий для всего трафика, в том числе поддельный трафик злоумышленника и реальный трафик. По умолчанию, в Linux ответы ICMP ограничены 1000 пакетами в секунду. Для каждого запроса, который достигает закрытого сетевого порта, сетевой стек увеличивает счетчик на 1 и отправляет ICMP-пакет с данными из недоступного порта.

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

Поскольку поддельные пакеты отправляются с поддельного IP-адреса, злоумышленник не может получать ответы ICMP, но благодаря общему счетчику после каждых 1000 поддельных пакетов он может отправить запрос на несуществующий порт с реального IP-адреса и оценить приход ответа; если ответ пришел, то в одной из 1000 пакетов. Каждую секунду злоумышленник может отправить 1000 поддельных пакетов на разные порты и быстро определить, в каком блоке находится открытый порт, а затем сузить выбор и определить конкретный порт.

Ядро Linux решает проблему патчем, который рандомизирует параметры для ограничения интенсивности отправки пакетов ICMP, что создает шум и минимизирует утечку данных через побочные каналы.

источник: https://www.saddns.net/


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

bool (истина)