security

Отравление кэша DNS

Атака, которая вводит ложные DNS-записи в кэш resolver'а, перенаправляя трафик на адреса, контролируемые злоумышленником.

Атака, которая вводит ложные DNS-записи в кэш resolver'а, перенаправляя трафик на серверы, контролируемые злоумышленником. Resolver клиента затем подаёт отравленные данные клиентам, не зная, что он скомпрометирован.

Работает, потому что старые реализации DNS не проверяли подлинность ответа. Злоумышленник наводняет resolver'а поддельными ответами, надеясь, что один совпадёт с исходящим запросом, который делает resolver. Если синхронизация и ID транзакции совпадают, поддельная запись остаётся в кэше на часы или дни.

Воздействие: пользователи перенаправляются на сайты фишинга, drop'ы вредоноса или конечные точки наблюдения. Твой домен выглядит законным для жертвы. Скомпрометированный resolver может отравить тысячи нижестоящих клиентов за раз.

Оборона: DNSSEC криптографически подписывает данные зоны, чтобы resolver'ы отвергали неподписанные или недействительные ответы. Randomization запроса (случайные исходящие порты, ID транзакций) затрудняет спуфинг. Современные resolver'ы обычно реализуют оба. Но adoptance DNSSEC остаётся пятнистой, и много зон остаются неподписанными.

Релевантно, если ты запускаешь свой собственный recursive resolver или управляешь anycast DNS-сервисом. Менее релевантно, если ты просто указываешь свой домен на nameserver третьей стороны — безопасность этого провайдера — их проблема (и иногда не очень хорошо).

Связанные термины