Если у вас есть дети, то, возможно, вы вспомните ковбоя Вуди — игрушку, управляемую веревочкой, из мультфильма Pixar История игрушек. Среди забавных фраз, которые произносил Вуди, когда его дергали за веревочку, были «В моем ботинке змея!» и «Кто-то отравил источник!». Если бы компания Hasbro выпустила сегодня виртуального Вуди, он бы предупредил нас о столь же серьезной угрозе — отравлении кэша DNS. Аналогия проста: на Диком Западе отравленный колодец означает катастрофу; в Интернете отравленный кэш DNS — не меньшее бедствие.
Оглавление
Обновитель в разрешении доменных имен
Приложения (такие как браузеры и почтовые клиенты) используют локальное программное обеспечение DNS (оконечный преобразователь) для поиска IP-адреса, соответствующего доменному имени ресурса (например, веб-сайта или почтового сервера). Оконечный преобразователь направляет запрос на локальный сервер имен (NS-сервер), который может использоваться вашей организацией или поставщиком услуг Интернета. Локальный сервер имен может направить этот запрос на доверенный NS-сервер для разрешения. Чтобы найти доверенный NS-сервер для любой конкретной зоны данных DNS, локальный NS-сервер, прежде всего, запрашивает корневой сервер (.). Например, для разрешения адреса www.watchguard.com локальный NS-сервер спрашивает у корневого сервера, каков IP-адрес для watchguard.com. Сервер ответит, что нужно запросить NS-сервер «com» в этом IP-адресе. Локальный NS-сервер покорно запрашивает NS-сервер «com», который отвечает: «Необходимо запросить NS-сервер «watchguard» в этом IP-адресе». Настроенный таким образом локальный NS-сервер выполняет итеративное и рекурсивное разрешение.
Итеративное и рекурсивное разрешение имен необходимо при первом поиске доменного имени. Но почему сервер имен должен разрешать адрес www.google.com миллион раз в день? В целях повышения эффективности многие администраторы DNS настраивают полнофункциональный NS-сервер, который выполняет разрешение и также кэширует разрешенные имена для более быстрого ответа на будущие запросы записи одного и того же имени. (Примечание. Серверы имен обычно ограничивают время существования кэшированных записей меньшим из двух сроков — локальным сроком жизни либо сроком жизни, установленным доверенным NS-сервером для записи данного имени. В Windows XP также предусмотрен локальный кэш.. В приведенном ниже источнике эта реализация рассмотрена подробно.)
Что такое подмена кэша DNS?
Подмена кэша — это вид атаки, при которой злоумышленник обманом заставляет сервер имен добавить в кэш неправильные или вредоносные данные либо заменить ими кэшированные данные DNS. Существует несколько форм подмены DNS (кэша). Одна из атак, которая в последнее время часто становится причиной различных проблем, связана с фишингом и называется фармингом (pharming). Злоумышленник заманивает жертву, запрашивая разрешение имени в контролируемой им зоне, например www.example.com. Для этого часто используется почтовый спам. Локальный NS-сервер жертвы направляет запрос NS-серверу злоумышленника (example.com). NS-сервер злоумышленника в ответ передает IP-адрес www.example.com. Злоумышленник щедро добавляет в ответ одну или несколько дополнительных записей для других доменных имен, например www.watchguard.com. Эта запись является вредоносной: IP-адрес, который злоумышленник связывает с www.watchguard.com, относится к узлу, контролируемому злоумышленником, а не к правильному адресу 206.253.208.100. Предпринимая эту атаку, злоумышленник рассчитывает, что жертва использует кэширующий сервер имен, который считает надежными записи имен из недоверенного источника. Такая небрежная настройка становится причиной подмены кэша. Обратите внимание, что в данном примере доверенный сервер имен WatchGuard не является целью атаки и не затрагивается ею, а продолжает работать, не зная о ней.
Как только запись имени в кэше будет отравлена злоумышленником, любой пользователь, запрашивающий отравленную запись из кэша, может быть обманут многими способами и понести ущерб. Например:
- Пользователь может посетить веб-сайт, который представляет собой искаженную или мошенническую версию реального веб-сайта. Из-за своего влияния на пользователя и на оператора сайта (регистратора доменных имен) этот вид атаки относится как к фармингу, так и к захвату доменного имени.
- Пользователь может отправить данные своей учетной записи на фальшивый почтовый сервер или на вредоносный, но производящий впечатление легального веб-портал, требующий проверку подлинности. Либо пользователь может произвести онлайновую транзакцию и отправить данные своей кредитной карты или другую финансовую информацию. И то, и другое — виды кражи личных сведений.
- Пользователь может загрузить зараженные файлы или вредоносный код с поддельного веб-сайта, на который он был обманом привлечен.
Специалисты по безопасности предупреждают пользователей о необходимости проверки гиперссылок, полученных по электронной почте, поскольку эти ссылки могли быть специально придуманы и только маскируются под реальные URL-адреса (см. «Основы. Как обнаруживать фишинг-атаки» и «Анализ фишинг-операции»). Сейчас злоумышленники используют отравление кэша для повышения эффективности фишинга и мошенничества. Если кэш изменен, злоумышленник может использовать точное доменное имя сайта или сервера, который он подделывает, и пользователи не смогут так легко обнаружить фальшивые URL.
Защита серверов кэша DNS от подмены
Чтобы узнать, защищен ли ваш локальный NS-сервер от подмены кэша, посетите страницу Кэтил Фройн (Ketil Froyn) DNS Poisoning (Отравление DNS), где вы сможете (безопасно) проверить наличие этой уязвимости в вашей системе. Хорошим обучающим приемом является использование анализатора LAN и отслеживание запросов и ответов DNS. Если вам как администратору DNS-сервера неудобно производить эти операции, по крайней мере убедитесь, что ваша конфигурация защищает от данного типа подмены кэша.
Если вы используете службу DNS в ОС Windows NT 4.0, 2000 или 2003 Server, сначала ознакомьтесь со статьей Description of the DNS Server Secure Cache Against Pollution setting (Описание настройки DNS-сервера «Включить безопасный кэш») от Microsoft. Эта статья базы знаний объясняет, как при помощи параметра реестра DNS-сервера, SecureResponses, можно установить правило, чтобы DNS-сервер игнорировал дополнительные записи ресурсов, используемые злоумышленниками. Если правильно задать этот параметр, DNS-сервер будет кэшировать только те записи ресурсов, которые были получены с доверенных серверов. По умолчанию параметр SecureResponses не активирован на DNS-сервере в ОС Windows NT 4.0 и 2000, поэтому нужно добавить его в реестр. Microsoft предоставляет подробные инструкции по созданию и включению этого параметра в статье базы знаний «How to prevent DNS cache pollution (Как предотвратить заражение кэша DNS)». Параметр SecureResponses активирован по умолчанию на DNS-сервере в ОС Windows 2003. Пользователи BIND должны выполнить обновление до последней версии BIND 9, чтобы включить защиту от заражения (подмены).
Операторам веб-сайтов рекомендуется использовать доступ на основе SSL (HTTPS) вместо базового протокола HTTP, чтобы защититься от захвата сайтов и мошенничества. Пользователи могут проверить подлинность сайта, ознакомившись с сертификатом сервера. Также рекомендуется использовать туннели SSL/TLS или SSH для электронной почты, FTP и других служб, предоставляемых сотрудникам, бизнес-партнерам и заказчикам.
Несколько источников, перечисленных ниже, также поясняют сценарии развертывания, которые повышают устойчивость DNS-служб к отравлению и другим видам атак.
Выводы
Подмена кэша DNS, такие как фарминг, — не новый, но обновленный вид атаки. Различные варианты этого вида атаки существуют уже около десяти лет. Однако благодаря широкому распространению Интернет-служб в сфере банковских услуг, коммерции и важных бизнес-операций успешное отравление кэша DNS сегодня приносит злоумышленникам более значимые выгоды, чем когда-либо раньше. Если вы предлагаете службы DNS, необходимо принять меры для защиты пользователей от атак на серверы имен. Так же как и в случае со многими другими уязвимостями, небольшое изменение конфигурации может принести большую пользу и гарантировать, что ваш DNS-сервер никогда не получит «змею в своем ботинке».
Автор: Дэйв Писцителло (Dave Piscitello), президент Core Competence
Источник: http://www.firebox.ru