Отравление DNS-кэша
Что такое Отравление DNS-кэша?
Отравление DNS-кэшаАтака, при которой в кэш DNS-резолвера внедряются поддельные записи, из-за чего последующие запросы возвращают выбранные злоумышленником адреса вплоть до истечения TTL.
Отравление DNS-кэша нацелено на рекурсивные резолверы: их обманом заставляют принять поддельный ответ, который затем сохраняется и выдаётся клиентам. Чтобы ответу поверили, подделка должна совпадать с именем запроса, приходить на правильный UDP-порт и нести верный 16-битный идентификатор транзакции (TXID) — поэтому классические атаки сводятся к угадыванию этих полей или к тому, чтобы опередить настоящий авторитетный ответ.
Публикация Дэна Камински в 2008 году (CVE-2008-1447) сделала атаку практически осуществимой: принудительно запрашивая случайные поддомены и заваливая резолвер попытками угадать 16-битный TXID, злоумышленник мог бесконечно повторять попытки, не дожидаясь кэширования отрицательного ответа, и тем самым отравить NS-запись родительского домена. Экстренным исправлением стала рандомизация исходного порта, расширившая пространство перебора с 16 примерно до 32 бит. В 2020 году исследователи из Калифорнийского университета в Риверсайде и Университета Цинхуа представили SAD DNS (CVE-2020-25705): побочный канал в глобальном счётчике ограничителя частоты ICMP в Linux, позволяющий атакующему вне тракта передачи вычислить открытый эфемерный исходный порт и свести это преимущество на нет. Linux устранил проблему, рандомизировав счётчик ограничителя частоты ICMP (ядро 5.10+).
flowchart TD
A[Злоумышленник провоцирует запрос random.bank.com] --> R[Рекурсивный резолвер]
R -->|"UDP-запрос, случайные TXID + исходный порт"| NS[Настоящий авторитетный NS]
A -.->|"поток поддельных ответов: угадывает TXID + порт"| R
R --> M{Поддельный ответ совпадает по<br/>имени + порту + TXID<br/>раньше настоящего?}
M -->|Да| P[Отравленная запись в кэше на весь TTL]
M -->|Нет| L[Легитимный ответ в кэше]
P --> V[Все клиенты резолвера перенаправлены на IP злоумышленника]Защита: DNSSEC (RFC 4033–4035) криптографически подписывает записи, из-за чего поддельные ответы не проходят проверку; рандомизация регистра 0x20 и минимизация имени запроса добавляют энтропию; а шифрованные транспорты (DoH/DoT) полностью убирают открытую поверхность UDP. Короткие, консервативные значения TTL ограничивают радиус поражения, когда отравление всё же происходит.
● Примеры
- 01
Атака Камински 2008 года (CVE-2008-1447), эксплуатировавшая предсказуемость портов в основных резолверах.
- 02
SAD DNS (CVE-2020-25705), возродившая отравление через побочный канал в ограничителе частоты ICMP.
● Частые вопросы
Что такое Отравление DNS-кэша?
Атака, при которой в кэш DNS-резолвера внедряются поддельные записи, из-за чего последующие запросы возвращают выбранные злоумышленником адреса вплоть до истечения TTL. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Отравление DNS-кэша?
Атака, при которой в кэш DNS-резолвера внедряются поддельные записи, из-за чего последующие запросы возвращают выбранные злоумышленником адреса вплоть до истечения TTL.
Как защититься от Отравление DNS-кэша?
Защита от Отравление DNS-кэша обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Отравление DNS-кэша?
Распространённые альтернативные названия: Отравление кэша, DNS-спуфинг (кэш).