Уязвимость в DNS. Джин на свободе?

Уязвимость в DNS. Джин на свободе?

Уязвимость в DNS – безусловно, одно из самых ярких событий года в сфере информационной безопасности. В этой статье мы попробуем разобраться, насколько эта уязвимость опасна и как злоумышленники смогут ею воспользоваться.

Краткое предисловие

DNS является одним из самых критичных компонентов сети Интернет, поэтому уязвимости в серверах имен всегда вызывали повышенный интерес у злоумышленников. 8-9 июля многие производители выпустили исправления, устраняющие фунаментальную ошибку, которая позволяет злоумышленнику произвести спуфинг атаку. Дэн Камински в своем блоге http://www.doxpara.com/?p=1165 опубликовал более подробное описание уязвимости и сделал доступным эксплоит.

В чем заключается уязвимость?

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

Для подтверждения наличия уязвимости можно воспользоваться эксплоитами и утилитой:

BIND 9.4.1-9.4.2 Remote DNS Cache Poisoning Flaw Exploit (meta)
BIND 9.x Remote DNS Cache Poisoning Flaw Exploit (py)
Утилита http://www.onzra.com/CacheAudit-Latest.tgz

Насколько опасна уязвимость?

Спуфинг атака – атака, направленная в первую очередь на клиента, а не на сервер. Уязвимость, которую мы сейчас обсуждаем, неспособна дать повышенные привилегии на уязвимой системе или выполнить произвольный код, но в сочетании с другими незначительными ошибками программного обеспечения или социальной инженерией, может стать очень опасным инструментом в руках злоумышленника.

В тестах, которые проводил Камински, ему удалось отравить кеш сервера имен приблизительно за 5-10 секунд. Эта уязвимость позволяет атакующему перезаписать данные, которые уже находятся в кеше сервера. Сервера имен, которые являются только авторитетными, не подвержены этой уязвимости. Установка высокого значения TTL для ваших хостов на авторитетном сервере не помешает злоумышленнику отравить кеш уязвимых резолверов, так как атака обходит защиту TTL.

Уязвимость затрагивает также и клиентские библиотеки (рабочие станции и сервера, которые обращаются к вышестоящим серверам имен) и может быть проведена против одиночного хоста. Также, некоторые МСЭ с функционалом трансляции адресов, рассчитанные на домашний сектор, используют предсказуемые номера для порта источника запросов, что позволяет злоумышленнику удачно произвести атаку, даже если было установлено исправление на сервер имен или клиент.

Итак, подытожим:

  1. Отравление кеша DNS сервера можно произвести довольно быстро (5-10 секунд)
  2. Злоумышленник может изменить данные, которые уже находятся в кеше сервера
  3. Уязвимость может использоваться как против сервера имен, так и против рабочей станции.
  4. Сервера и рабочие станции, которые находятся за бюджетными МСЭ с включенным NAT, подвержены уязвимости не зависимо от установленных исправлений.
  5. Эксплоит находится в публичном доступе.
  6. Целью атаки может стать любой промежуточный DNS сервер на пути к авторитетному серверу или DNS клиент. Это означает, что если вышестоящий DNS сервер уязвим, то не зависимо от наличия исправлений на ваших серверах, вы можете стать жертвой атаки.

Векторы атаки

Как я уже писал выше, спуфинг атака – атака, направлена на клиента, а не на сервер. Злоумышленник может:

  • произвести фишинг атаку и получить доступ к важным данным
  • произвести атаку типа «Человек посередине» и получить доступ к потенциально важным данным (паролям, номерам кредитных карт и другим данным, которые вы передаете).
  • используя уязвимость в ПО, получить доступ к важным данным и даже скомпрометировать целевую систему (например, из-за недостаточной проверки подлинности сервера при установке обновлений приложения, при перенаправлении пользователя на специально сформированный сайт и т.д.).

Исправления

Для устранения уязвимости необходимо установить исправления не только на хосты, которые находятся под вашим контролем, но и на все сервера имен, которые участвуют в обмене данными, иначе всегда будет существовать возможность спуфинг атаки.
Исправления доступны для Windows, Linux, UNIX и других систем. Для получения исправления обратитесь к соответствующему производителю. Список производителей доступен по адресу: http://www.kb.cert.org/vuls/id/800113

Выводы

Уязвимость достаточно опасна и может эксплуатироваться как против сервера, так и против клиента. Исправления хотя и существуют, но установлены далеко не везде. Армагеддон, конечно же не наступает, но у злоумышленников появилась дополнительное преимущество, которым они не постесняются воспользоваться в последующих атаках на ваши сети.

Ньютон уронил яблоко. Мы роняем челюсти!

Гравитация научных фактов сильнее, чем вы думаете

Подпишитесь и испытайте интеллектуальное падение