Отравление кэша DNS (DNS spoofing) — атака, при которой в кэш DNS-резолвера помещаются поддельные записи, и он начинает возвращать ложные IP-адреса всем, кто им пользуется.
Как работает отравление кэша DNS
Рекурсивные резолверы кэшируют ответы авторитативных серверов, чтобы ускорить работу системы доменных имён. Классический DNS работает поверх UDP и принимает ответ, если он совпадает с запросом по имени, порту источника и 16-битному идентификатору транзакции. Атакующий, который угадает эти значения и ответит раньше настоящего сервера, добьётся кэширования поддельной записи до истечения её TTL.
- Атака Каминского (2008) — Дэн Каминский показал, что, запрашивая случайные несуществующие поддомены, можно бесконечно повторять «гонку» и за секунды отравить делегирование целого домена. Производители выпустили скоординированное исправление — рандомизацию порта источника.
- SAD DNS (2020) — исследователи использовали побочный канал в ограничении частоты ICMP, чтобы вычислить случайный порт, и вернули к жизни атаки извне канала связи (off-path).
- Атакующие внутри канала, в позиции «человека посередине», могут подделывать ответы напрямую.
Почему это важно
Один отравленный резолвер у провайдера или в компании перенаправляет сразу всех своих пользователей — на фишинговые сайты, на загрузку вредоносного ПО или на серверы, перехватывающие почту. В отличие от перехвата DNS, ни настройки, ни записи у регистратора не меняются, поэтому жертвы видят в адресной строке правильное имя домена. Проверка HTTPS-сертификатов ловит многие такие перенаправления, но не помогает при незашифрованных соединениях или если пользователь игнорирует предупреждения.
Как предотвратить
- Подписывать зоны и включать проверку DNSSEC (RFC 4033–4035) — она позволяет выявить поддельные записи.
- Своевременно обновлять ПО резолверов и обеспечить рандомизацию порта источника и идентификатора запроса.
- Не держать открытых резолверов; разрешать рекурсию только своим клиентам.
- Использовать шифрованный DNS (DoH или DoT) к доверенным резолверам и требовать HTTPS.





