DNS rebinding
DNS rebinding (досл. с англ. — перепривязывание DNS) — форма компьютерной атаки на веб-сервисы. В данной атаке вредоносная веб-страница заставляет браузер посетителя запустить скрипт, обращающийся к другим сайтам и сервисам. Теоретически политики одинакового источника (Same Origin Policy) препятствуют подобным запускам: сценарии на стороне клиента могут получать доступ только к данным с того сайта, с которого был получен скрипт. При реализации политики производится сравнение доменных имен, а атака перепривязки обходит эту защиту, злоупотребляя возможностями системы доменных имен интернета (DNS) по быстрой смене адресов.
Атака может быть использована для проникновения в локальные сети, когда атакующий заставляет веб-браузер жертвы обращаться к устройствам по частным (приватным) IP-адресам и возвращать результаты этих обращений атакующему. Также атака может использоваться для того, чтобы поражаемый браузер выполнял отправку спама на веб-сайты, и для DDOS-атак и других вредоносных деяний.
Схема работыПравить
Злоумышленник регистрирует домен (например, attacker.com) и устанавливает контроль над DNS-сервером, обслуживающим домен. DNS-сервер настраивается так, чтобы его ответы содержали очень короткое время жизни (TTL) записей, предотвращая кэширование ответа клиентом или резолвером. Когда жертва начинает переход на вредоносный домен, DNS-сервер атакующего сначала возвращает настоящий IP-адрес веб-сервера, который предоставит вредоносный код клиенту. Например, жертва может перейти на сайт, который содержит вредоносный код JavaScript или активный Flash-объект.
Затем вредоносный код на стороне клиента совершает дополнительные обращения к исходному имени домена (attacker.com). Политика одинакового источника (Same Origin Policy) разрешает такие запросы. Однако, во время исполнения скрипта в браузере жертвы из-за устаревания предыдущего DNS-ответа производится новый запрос DNS для данного домена и запрос поступает к dns-серверу атакующего (из-за устаревания данных в кеше). На этот раз злоумышленник отвечает, что теперь домен attacker.com как будто бы находится на некоем новом IP-адресе, например, на внутреннем IP-адресе или IP-адресе какого-то иного веб-сайта. Запрос скрипта попадает к другому серверу. Для возврата собранной скриптом информации атакующий может вновь предоставить свой настоящий IP-адрес в одном из последующих DNS-запросов.
Противодействие и защитаПравить
Разработан ряд методов противодействия атакам перепривязки DNS:
- Веб-браузеры могут реализовывать привязку ДНС (DNS pinning): используемый для работы с сайтом IP-адрес фиксируется на то значение, которое было получено в первом ответе DNS. Этот метод предотвращает все типы атаки, но может препятствовать некоторым правомерным использованиям динамических DNS. При использовании этого метода пользователь может ошибочно использовать старый IP-адреса сайта при его легитимной смене.
- IP-адреса, относящиеся к локальным сетям могут быть отфильтрованы из ответов DNS (сложнее реализуется для некоторых вариантов с шифрованием запросов, напр. DNS over TLS, DNS over HTTPS).
- Некоторые общедоступные DNS-серверы поставляют данную услугу наряду с другими функциями, например, корпорация OpenDNS.[1]
- Системные администраторы могут настроить внутренние рекурсивные DNS-серверы для блокирования разрешения внешних имен во внутренние для локальной сети IP-адреса. Недостатком подобной блокировки может стать утечка информации о списке заблокированных локальных подсетей к злоумышленнику.
- DNS фильтрация, встроенная в брандмауэр, маршрутизатор или локальный демон разрешения имен, например dnswall.[2]
- Веб-серверы и веб-сервисы должны отказывать в обслуживании HTTP запросам, указывающим неверное имя сайта в служебном заголовке HTTP «Host».
- Расширение браузера Firefox NoScript обеспечивает частичную защиту (для стандартных диапазонов частных сетей), используя функцию ABE. Она блокирует интернет-трафик с внешних адресов на локальные адреса.
См. такжеПравить
ПримечанияПравить
- ↑ Ulevitch, David Finally, a real solution to DNS rebinding attacks (неопр.). Cisco (14 апреля 2008). Дата обращения: 15 июля 2017. Архивировано 14 августа 2017 года.
- ↑ dnswall на GitHub (неопр.). Дата обращения: 13 декабря 2020. Архивировано 5 декабря 2020 года.
ЛитератураПравить
- Protecting Browsers from DNS Rebinding Attacks, Proceedings of the 14th ACM conference on Computer and communications security (CCS’07), October 29-November 2, 2007, Virginia, USA. ISBN 978-1-59593-703-2, Pages 421—431. doi:10.1145/1315245.1315298
СсылкиПравить
- Protecting Browsers from DNS Rebinding Attacks (Защита браузеров от атаки DNS перепривязки) Stanford Web Security Research, April-December 2007 (англ.)
- Deneb Meketa, Policy file changes in Flash Player 9 and Flash Player 10. DNS hardening. — обновление для Adobe Flash Player (1 october 2008) (англ.)
- Security Sun Alert 200041 для Sun JVM (2008-09-04) (англ.)
- DNS Rebinding with Robert RSnake Hansen (видео, 2009)
- Д. Баранов. Атака «DNS Rebinding» Positive Technologies, Май 2011
- Денис Баранов. Вторая жизнь DNS Rebinding. Свежий подход к реализации атак Anti DNS pinning, Журнал Хакер, Август 2011 (08) 151
- Милованов Т. И. Реализация атаки DNS Rebinding, Прикладная дискретная математика. Приложение. 2015. № 8.
- Сервис для эксплуатации DNS-rebinding