|
Агрессивная атака: DNS-UDP-IP спуфер
Xakep, номер #048, стр. 048-068-1 kas1e Речь в статье пойдет об относительно новом для широкой общественности виде атак, базирующихся на так называемых множителях и одновременном dns спуфинге. Для того, чтобы лучше вникнуть в суть проблемы, настоятельно рекомендуется почитать некоторое кол-во rfc по dns, но для тех, кто очень ленив, я вкратце объясню, как все это работает. Сначала было слово. Т.е. arpanet - Advanced Research Projects Agency Network (сеть агентств по перспективным исследованиям). Компьютеров было мало (начиналось все с четырех), и все друг другу верили, не думая о "грядущих проблемах будущего". Запоминать адреса в цифровом виде людям не хотелось, и они решили добавлять информацию о каждом новом хосте в определенный файл на определенном компьютере, дабы потом каждый узел мог скачать этот файл и разместить у себя. Сервером для хранилища такого файла был выбран узел Стенфордского исследовательского института (Stanford Research Institute - SRI). И все "абоненты" arpanet качали себе этот файлик для последующего использования. Все это происходило в самый веселый и значимый период - т.е. до начала 90-х годов. Конечно, у такого способа была куча явных недостатков. И в итоге на смену sri-nic пришел dns (domain name server) со всеми своими преимуществами перед sri-nic и со всеми своими недостатками в плане security (тянем прошлое, постепенно улучшая :)). И вот DNS пошел в ход, со всеми преобразованиями ip в доменное имя и наоборот, с прямым и косвенным отображением, каноническим именованием и т.д. и т.п. Создаются корневые сервера, которые обозначаются как ".", и от них идет полное доменное имя (Fully Qualified Domain Name, FQDN). Cоздается фиксированное количество крупнейших низлежащих классов, таких как org, com, edu и т.д. И все это очень эффективно, удобно. Идут 90-е годы, интернет не так распространен, злонамеренные личности бороздят x25, BBS и телефоны сети. И когда приходит время, оказывается, что у dns протокола, защиты, как таковой, в принципе не существует. Минимум необходимых данных. Суть атаки Вот тут мы и подошли непосредственно к теме нашего разговора. Как ты помнишь (или не помнишь), ip spoofing известен на CERT лишь с 19 сентября 1996 года. Атака именовалась "TCP SYN Flooding and IP Spoofing Attacks". Суть ее в подмене source адреса в заголовке ip пакета. Как ты опять же знаешь, ip является надлежащим протоколом в tcp/ip стеке над udp и tcp. tcp - более сложный, с "рукопожатием", с какими бы то ни было гарантиями, а udp - более простой и не гарантирующий ничего. Соответственно и в реализации udp протокол более прост. Атака, о которой мы здесь говорим, использует банальный spoofing ip, конфигурацию udp заголовка и сборку dns пакета. Для тех, кто не помнит, что такое модель OSI и т.д., я изображу простенькую табличку: ----------- | ip4 | ----------- | udp | >-< инкапсуляция dns в udp, а udp в ip4. | | | | dns | ----------- Теперь, для более детального и глубокого понимания сути, рассмотрим все необходимое - поля заголовков и форматы пакетов. Нас будут интересовать ip и udp заголовки, а также формат dns пакета. Для тех, кто хочет больше знать и уметь, смотрите в структурах соответствующих инклудов. |