Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

DNS-атаки: полный обзор по схемам атак, защита бизнеса или анализ рисков DNS

Лекция



Привет, Вы узнаете о том , что такое dns-атаки, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое dns-атаки, схемы dns атак, атака каминского, кулхацкер, cool hacker, cool-хацкер, методы защиты от dns-атак , настоятельно рекомендую прочитать все из категории Вредоносное ПО и защита информации.

За последние годы число DNS-атак в кибер-реальности значичительно увеличилось. Эта тенденция отнюдь не случайна и выводит актуальность данного типа атак на один ряд с таким гигантом, как DoS / DDoS. Что неудивительно, учитывая родственность DNS и DDoS-атак.

Вопросов в поставленной теме еще много. И помимо очевидного (какие опасности таит в себе протокол DNS и атаки на него), на ум сразу приходит другой - более парадоксальный: почему вообще мы все еще используем в такой важной и неотъемлемой части сети, как DNS, ничем незащищенный открытый UDP-протокол (на котором и реализован DNS)? Над ответом можно долго гадать, но мнение большинства, как и мое личное, сводится к обыкновенной безалаберности и лени современных представителей IT. Хотя в последние годы решение проблемы борьбы с DNS-атаками начинают появляться и внедряться в практику IT-контор. Но обо всем по-порядку. Собственно, какие бывают типы DNS-атак и как можно им противостоять?

Основы протокола DNS и базовые схемы DNS-атак описаны в более ранней статье dns-атаки : основные схемы и принципы. А в текущей мы поговорим более подробно о конкретных схемах реализации и способах защиты от атак на протокол DNS.

Принцип работы DNS

Хотим мы допустим зайти на какой-нибудь сайт с именем intellect.icu. Набираем этот адрес в строке браузера или где-то еще, что умеет подключаться к интернету, и видим, как начинает грузиться страница. Но что же происходит между нажатием кнопочки Enter и процессом загрузки? В момент после нажатия кнопки компьютер посылает сетевой пакет с запросом на DNS-сервер, адрес которого устанавливается при настройке ОС. В пакете содержится буквенное DNS-имя ресурса (т.е. название, которое мы и набрали),. После получения DNS-запроса DNS-сервер начинает искать в своей базе данных IP-адрес, соответствующий запрошенному доменному имени (все идентификации в Интернете, как известно, происходят только по IP-адресам). Если такого имени в своей базе DNS-сервер не находит, он пересылает запрос другому DNS-серверу (обычно вначале свои соседям по иерархии, знающие другие зоны DNS-имен, а потом тому, который стоит выше над ним по иерархии и "знает" больше доменных имен). Если нужный IP-адрес находится, то он отправляется нашему компьютеру. Теперь браузер знает IP-шник запрошенного ресурса и начинает соединение с ним. На первый взгляд, все логично и правильно, но у этой схемы имеются свои уязвимые места ;)

Переходим к описанию принципов любой DNS-атаки. Прикладной протокол DNS использует в своей реализации транспортный (читаем сетевую модель OSI) протокол UDP. Хотя он вполне может работать - и в некоторых особых случаях работает (есть реализации) - по куда более защищенному TCP, однако в 99% случаев он реализован поверх UDP. Вся беда в том, что UDP не предусматривает средства идентификации своих сообщений (в отличие от TCP) и мы можем с легкостью отправить ответный UDP с совершенно любыми данными (прикинувшись совершенно любой персоной в сети: подменить IP - задача - легче некуда). Но это еще не все... С каждым переданным запросом в поле "порт отправителя" начальное значение 1023 увеличивается на единицу. Но и это еще не все! В DNS-надстройке UDP есть такая вещь, как ID запроса. В DNS-пакетах существует поле ID, которое является идентификатором DNS-запроса. ID, в зависимости от реализации DNS-сервера/ОС/браузера может либо быть постоянным, либо инкрементироваться на единицу с каждым разом, либо быть почти рандомным.

Теперь перейдем к описанию...

Популярность DNS-атак

Годом DNS-атак по праву считается 2012, в который не только существенно возросло их число, но и, что более важно, – они стали более изощренными и стали влечь за собой более серьезные последствия.

Почему популярность DNS-атак возросла? Ответ на лежит в недавней истории DoS / DDoS-атак. DoS / DDoS-атаки появились одновременно с появлением самого Интернета и с тех пор не уступали свое лидерство практически никому: до 2010-2011 годов от них практически не было реальных способов защиты (да их и сейчас почти нет, по правде говоря: есть только более изощренные пути реализации). Но явно лидирующую позицию среди других хакерских атак они заняли со второй половины 2010 года: как раз в тот момент, когда небезызвестная группа Anonymous выбрала их в качестве основного своего инструмента. Первое время никто не был к ним готов, и любые атаки злоумышленников достигали своей цели.

Положение изменилось к концу 2011 года, когда организации стали внедрять системы отражения для противодействия DoS/DDoS атакам, что побудило злоумышленников искать новые способы достигнуть своей все той же цели и проявлять большую изобретательность. И такая изобретательность была найдена: новый вектор атак направился на DNS-сервера. За 2012 год отмечается годовой рост числа DNS-атак на 170%. Практически половина состоит из рефлектных DNS-атак, использующих отражения запросов (в т.ч. рекурсивных запросов), для осуществления которых, даже не требуется наличие DNS-сервера у организации-жертвы.

DNS-атаки являются естественным этапом эволюции DoS / DDoS-атак в целом. Если раньше сознание IT-мира воспринимало DDoS, как атаки, для эффективности которых требуется грубый шторм большого количества запросов (трафика), то сейчас DNS-атаки показывают обратное: сложные их виды могут носить асимметричный характер и быть мощными и разрушительными при относительно низкой скорости реализации и интенсивности воздействия. Подобное применение DNS-атак для реализации DoS/ DDoS – лишь одна из возможных угроз. Есть и еще один немаловажный тип последствий, о котором в том числе и пойдет речь дальше.

Угрозы DNS-атак. Типы DNS-атак .

Типов угроз в данном случае три. И они привязаны к 3-ем классическим элементам треугольника ИБ: целостности, доступности, конфиденциальности.

Итак, типы угроз DNS-атак:

1. Нарушение доступности web-ресурсов при обращении к DNS-имени.

2. Перехват практически любого проходящего траффика (по целевым ресурсам).

3. Подмена доверенного объекта сети / подмена сетевых запросов/ответов.

С типом 1 все ясно, а вот 2 и 3 рассмотрим на примере.
Допустим жертва (т.е. один из нас) хочет войти в свой аккаунт на доверенном сайте и совершить какую-либо операцию (почта; интернет-банк, соц. сеть, ...); отправляет DNS-запрос в брауезере или спец.программе (например, ДБО); получает ложный DNS-ответ с IP сервера хакера, на котором развернут тот же ресурс/сервис, что нужен клиенту; клиент вводит на сайте хакера свои логин и пароль, которые, естественно, запоминаются сервером злоумышленника и потом пересылаются на настоящий сервис, откуда хакер получает ответ об успешной авторизации и последующие авторизованные страницы, которые тот просто транслирует назад своей жертве, становясь тем самым посредником между настоящим ресурсом и жертвой. Таким образом, хакер будет мало того, что видеть весь трафик, он может еще и подменять какие-либо запросы (например, адресат получателя перевода средств в интернет-банке, если этот банк не использует аутентификацию по ЭЦП). Возможные последствия такой схемы атаки в объяснениях не нуждаются.

Атаки на DNS–сервера (и просто dns-атаки ) - уже далеко не новый, но тем не менее отнюдь не забытый и до сих пор актуальный тип хакерских (и не только) атак, которые активно используется многими злоумышленниками и по сей день. В том числе, в части переноса процента прибыли каких-либо организаций в свой карман.

Представим себе такую ситуацию: лезет директор нашей IT-конторы на корпоративный сайт - оценить результат работы его добросовестных сотрудников, а вместо этого попадает на www.bdsm-porno.ru. Вообразили? Вот это и есть результат (всего лишь один из возможных) успешной DNS-атаки.

Рассмотрим подробнее, как реализовываются такие схемы (атак на DNS, а не достижения высот в рекламе порноиндустрии), какие еще бывают угрозы и типы DNS-атак.

Для начала разберем принцип работы DNS-протокола. Кто с ним знаком с дет.садовских времен, может смело пропускать и переходить к разделу "простейшая DNS-атака".

Простейшая DNS-атака

Предположим, что некий Василий Пупкин решил перехватить DNS-запрос несчастного пользователя Пети Лоханкина и перевести его трафик на себя (вернув в ложном DNS-ответе свой IP вместо настоящего). Для этого зло настроенный Вася создает у себя на компе ложный DNS-сервер.

Вначале он ждет DNS-запроса, который должен быть послан с клиентского компа (т.е. жертвы). Василий извлекает из перехваченного пакета IP-адрес запросившего хоста. Затем он генерирует пакет, в котором представляется DNS-сервером, который был запрошен компьютером Пети. Делает он это просто: в посылаемом им ложном ответе, в поле IP DNS-сервера, Василий ставит свой собственный IP. Теперь запросивший хост принимает Пупкина за настоящий DNS-сервер. Когда Василий получит новый пакет с запросом от хоста, он поменяет в нем IP-адрес отправителя и перешлет этот измененный пакет на настоящий DNS-сервер. В итоге получается, что Вася является как бы посредником между DNS-сервером и обманутым хостом. Теперь настоящий DNS-сервер думает, что сам Вася посылает запросы, а хост считает, что Вася является натуральным и без консервантов DNS-сервером. Остался только один вопрос: а как же перехватить этот запрос от атакуемого хоста? Перехват возможен только в том случае, если атакующий компьютер находится в той же сети (в том же сегменте), что и несчастный юзер или его DNS-сервер (что, вообще говоря, всегда совпадает). Это ограничение - основной минус такого типа атак.

Развиваемся до cool-хацкер а

кулхацкер (транслитерированное и искаженное англ. cool hacker, «крутой хакер» в ироничном смысле, также script kiddie — скриптовые детки) — позеры от хакерства и крэкерства. Употребляется по отношению к тем личностям, кто считает себя хакером, но при этом не изучали программирования (разве что только ПХП, и то на уровне использования чужих наработок или индусского кодинга), но знают т. н. социальную инженерию . Как правило, возрастом от 14 и до 20 лет, дальше обычно либо пропадает интерес, либо таки появляется желание изучить, чем же mv отличается от mov . Используют для взлома программы, созданные другими, более высококвалифицированными программистами. Часто являются Е-гопниками. Надо сказать, что чуть менее, чем все кулхацкеры — воспитанники б-гомерзкого журнала Ксакеп, дающего методы использования дыр, нюков и эксплойтов, но никак не объясняющего теорию.

Представим себе ситуацию, когда злой дядя Вася не находится в сегменте бедного и миролюбивого мальчика (или дяди) Jon. Что же теперь ему делать? Тут нам (а точнее, тов. Василию) на помощь приходит другой тип DNS-атак - создание ложного DNS-сервера. Суть состоит в том, что компьютер Василия Jon атакует несчастного Jon Лоханкина массированным потоком ложных DNS-ответов ( спам в другой форме :)). Исходя из описанных выше проблем UDP-протокола, опишем что нам потребуется для генерации ложного DNS-ответа

1. Совпадение IP-адреса отправителя ответа с IP-адресом DNS-сервера.
2. Совпадение доменных имен, содержащихся в DNS-ответе и DNS-запросе.
3. Совпадение портов DNS-ответа и DNS-запроса.
4. Совпадение поля ID в DNS-ответе и запросе.

Это главные условия, которые надо соблюдать Василию Пупкину для реализации удаленной DNS-атаки. Если с первым и вторым пунктами проблем не возникнет (данные мы знаем и подделать их так же легко, как билеты в Новосибирской зоопарк: нужен просто принтер.. Ээ.. Руки и компьютер :)), то с третьим и четвертым будут проблемы. Как же понять, с какого порта посылался запрос? Тут поможет только способ грубой силы, то есть - брутфорс (перебор). Эта задача облегчается тем, что науке уже давно известно, что порт отправителя запроса меняется только в положительную сторону и всегда на единицу. Так как изначальное его значение - 1023 (также давно известное открытие), то просто перебираем это значение путем увеличения его на единицу.
Осталось решить задачу с полем ID в пакетах DNS-ответа и запроса. С этим дело обстоит немного полегче. Поле ID, как правило, либо равно единице, либо близко к нулю (зависит от браузера несчастного, на которого нацелился массивный и злой мозг Василия). Проблема решается все так же - брутфорсом.

Далее, приступаем непосредственно к атаке. Предположим, что наш миролюбивый Петя решил зайти на свой любимый сайт www.intellect-cyber.ru (не такой уж он и миролюбивый!). Василий Jon никак не может ему этого позволить, так как на этом сайте содержится фотография его девушки в обнаженном виде! Василий начинает в темпе генерировать пакеты с ложным DNS-ответом и посылает их непрерывным потоком на машину Пете. Естественно, Василий так и не узнает, когда точно был послан запрос на DNS-сервер, но ему это и не нужно. После того как Петя отправит запрос на DNS-сервер, его компьютер пытается поймать DNS-ответ, но вместо этого уже неизвестно, сколько времени, принимает шторм ложных пакетов с хоста озверевшего Василия. Все неправильно сгенерированные пакеты отметаются компьютером Пети, а принимается только тот единственный пакет, в котором совпали номер порта отправителя и поле ID. И вот в тот прекрасный момент, когда ложный DNS-ответ будет принят, Петя будет посылать свои дальнейшие запросы не на DNS-сервер, а на компьютер Васи. А Вася, в свою очередь , в ложном DNS-ответе может вставить IP-адрес любого сайта, который ему захочется показать Пете и тем самым направить Петю не на желаемый www.intellect-cyber.ru, а куда-нибудь по-хлеще. Такие дела.

Стоит отметить, что у Васи есть не только возможность подменять Петины пакеты DNS-ответов, а и просматривать весь Петин траффик в случае реализации атаки с ложным DNS и отправке Пете правильных ответов (в этом случае цель может быть другая: узнать тайные увлечения Пети по вечерам).

Описание атак на службу DNS

Наверное, все знают, что такое DNS и для чего нужна эта служба. Об этом говорит сайт https://intellect.icu . Но на всякий случай давайте еще раз напомним об этом. DNS устанавливает соответствие между числовыми IP-адресами и строковыми урлами, удобными для человеческого восприятия. Таким образом, эта служба является одной из основополагающих в Интернете, нормальная работа без нее невозможна. И действительно, перед тем как открыть человеку нужный ему сайт, система устанавливает соединение с сервером DNS и получает от него требуемый для установки соединения адрес веб-сервера . Об этом говорит сайт https://intellect.icu . К сожалению, на защиту этого обмена данными создатели Глобальной сети не обратили особого внимания. А это позволяет злоумышленникам проводить атаки на службу DNS. Целью таких воздействий может быть отправка человека или людей не на запрошенный ими веб-проект, а на другой, установленный хакером, сайт.

Ну а начать нужно с того, что все удаленные атаки на DNS делятся на две большие категории. К первой относятся, так сказать, целенаправленные воздействия. Такое название у них не случайно. Дело в том, что эти атаки нацелены на одного-единственного пользователя, то есть могут использоваться для обмана одного человека. Ко второй категории воздействий на службу DNS относятся те из них, которые можно описать словом "общая". Целью этих атак является массовое перенаправление пользователей с одного веб-проекта на другой. К счастью, речь идет о пользователях только одного DNS-сервера. В противном случае злоумышленники могли бы полностью блокировать любые сайты, фактически запрещая к ним доступ. Но об этом мы поговорим в другой раз. Сегодня же нас будут интересовать исключительно целенаправленные атаки.

Ну а для начала необходимо немного разобраться в том, как работают DNS-серверы. Оказывается, большинство из них для общения с клиентами используют протокол UDP. Между тем в этой технологии не предусмотрено каких-либо надежных средств идентификации. Для защиты от вторжения в нем используются два специальных поля запросов и ответов — идентификатор и номер порта. Первый из них имеет постоянное начальное значение, равное единице, а второе — 1023. После этого при каждом новом запросе к DNS-серверу значение обоих полей увеличивается на единицу. Причем в некоторых операционных системах (Windows 9x, многие версии Linux) идентификатор вообще не изменяется, оставаясь всегда равным первоначальному значению.

Подмена сервера путем перехвата DNS-запросов

Эту атаку часто называют "тепличным" или "лабораторным" воздействием. Дело в том, что она основана на перехвате злоумышленником DNS-запросов жертвы, а это возможно только в том случае, если компьютер хакера находится на пути основного трафика или размещен в сегменте DNS-сервера. Как вы сами понимаете, добиться этого достаточно сложно. Тем не менее эта атака иногда используется на практике, а кроме того, позволяет прекрасно проиллюстрировать беззащитность службы DNS.

Атака начинается с отправкой системой пользователя первого DNS-запроса. Злоумышленник перехватывает этот пакет и отвечает жертве, представляясь сервером. В принципе этот почти ответ ничем не отличается от настоящего, вот только вместо реального IP-адреса в нем указаны данные компьютера злоумышленника. Ну а дальше все очень просто. Теперь ПК жертвы будет отправлять все DNS-запросы хакеру. Последнему же нужно только заменить в этих запросах IP-адрес на собственный, переслать их настоящему серверу и получить от него ответ. В этом ответе адрес DNS-сервера меняется на адрес хакера, после чего информация отправляется жертве.

Все, система для атаки готова. Теперь компьютер жертвы считает ПК хакера DNS-сервером и отправляет все запросы ему. Ну а для настоящего сервера машина злоумышленника является обычным клиентом, работа с которым идет в плановом режиме. То есть компьютер хакера становится своеобразным посредником. И если он будет просто передавать пакеты, меняя лишь IP-адреса отправителя и получателя, то пользователь ничего не заметит. Проблемы начнутся тогда, когда хакер перейдет к активным действиям. Для этого ему нужно сделать только одно — заменить в ответе DNS-сервера IP-адрес какого-либо сайта на любой другой. Причем он может делать это во всех запросах, а может только в избранных, запрещая пользователю доступ к каким-либо веб-проектам.

Ну а теперь давайте посмотрим, как все это выглядит со стороны атакуемого пользователя. Он вводит адрес нужного ему сайта, но попадает при этом на совершенно другую страницу. Причем в строке браузера будет стоять именно тот адрес, который он вводил. Человек может сколько угодно перенабирать его или обновлять страницу — все равно ничего не изменится. И наверняка 99 человек из 100 решат, что либо по введенному адресу размещается теперь другой сайт, либо просто веб-проект был атакован и изменен хакерами. И практически никто из них не подумает, что атаке могли подвергнуться они сами, в то время как все остальные пользователи работают с веб-проектом в обычном режиме. В этом и заключается одна из самых главных опасностей хакерских воздействий на службу DNS.

Подмена сервера путем создания шторма ложных ответов

Атаки этого типа реализуются на практике чаще, чем перехват запросов. Дело в том, что они могут организовываться из любой точки Глобальной сети без каких-либо дополнительных условий. Естественно, это привлекает к себе внимание хакеров. Но давайте подробно разберемся, что означает шторм ложных ответов.

Вообще-то, ничего сложного в этой атаке нет, суть ее очень проста. Хакер не перехватывает никакие запросы, он просто постоянно отправляет на компьютер жертвы ложные пакеты, имитирующие ответы DNS-сервера. В подавляющем большинстве случаев они просто игнорируются. Но если пользователь отправит запрос на DNS-сервер, то один из ложных ответов, которые он постоянно получает, воспримется как верный. А это значит, что интернетчик попадет не на тот сайт, который ему был нужен.

Для того чтобы система приняла ложный ответ в качестве настоящего, необходимо выполнение четырех условий. Во-первых, IP-адрес отправителя информации должен совпадать с IP-адресом сервера. Впрочем, выполнить это условие проще простого. Во-вторых, в запросе и ответе должны совпадать имена запрашиваемого сайта. Выполнить это немного сложнее. Впрочем, злоумышленник может перед атакой немного понаблюдать за жертвой и выяснить, какие сайты она чаще всего посещает. Или можно сделать так: воспользоваться адресом поисковой системы "Яндекс", которую, если верить статистике, посещают более половины всех российских интернетчиков. В общем, выполнение первых двух условий не составит для грамотного злоумышленника никакого труда.

Третье условие заключается в необходимости совпадения идентификаторов запроса и ответа. Ну а поскольку злоумышленник ничего не перехватывает, то знать этот параметр он не может. И это действительно так. Вот только мы с вами, уважаемые читатели, уже говорили, что значение идентификатора изменяется в достаточно узких пределах (первоначальное значение равно единице, а потом оно увеличивается на один с каждым новым запросом). Таким образом, злоумышленнику достаточно отправить не более нескольких десятков ложных ответов, чтобы хоть один из них обладал нужным идентификатором. Похожим образом обстоят дела и с четвертым условием. Им является необходимость совпадения портов отправления запроса и получения ответов. Хакер не может знать эту информацию. Но она опять же изменяется в небольших пределах (начинает с 1023 и увеличивается на единицу с каждым запросом). То есть получается, что рассмотренная атака на службу DNS выполняется с помощью обычного перебора. Именно поэтому и используется шторм ложных ответов, каждый из которых содержит отличный от других набор значений идентификатора и порта. Кроме того, постоянная бомбардировка компьютера жертвы гарантирует, что последний получит ложный ответ раньше настоящего, присланного реальным DNS-сервером.

Дыры в программном обеспечении

Когда речь заходит об атаках через Интернет , то большинство людей тут же вспоминают различные сложные технологии, с помощью которых хакеры могут воздействовать на компьютеры жертвы. Между тем самыми, пожалуй, распространенными возможностями, используемыми злоумышленниками, являются дыры в программном обеспечении. Причем это верно как для пользовательских компьютеров, так и для всевозможных серверов. Не являются исключением из этого правила и DNS-серверы. Впрочем, используемое на них программное обеспечение весьма специфично, так что информация о его уязвимостях доступна далеко не всем. Тем не менее, хорошо покопавшись в Интернете, любой человек сможет найти описание этих дыр.

Причем за примерами использования уязвимостей в программном обеспечении DNS-серверов далеко ходить не нужно. В 1996 году неизвестный хакер смог немного "подправить" базу данных московского провайдера "Роснет". Эта история получила широкую огласку и привлекла к себе внимание журналистов. Провайдеру даже пришлось устраивать специальную пресс-конференцию, посвященную данному инциденту. Кстати, пострадавшей стороной тогда оказался крупный информационный проект (его адрес так и не был озвучен), все посетители которого были перенаправлены на другой сайт. Так что атаки, использующие дыры в программном обеспечении, являются, во-первых, весьма опасными, а во-вторых, простыми в исполнении.

Обман сервера путем создания шторма ложных ответов

Наверняка внимательные читатели обратили внимание на сходство названия этой атаки и наименования одного из целенаправленных воздействий. И они правы. Похожи не только названия, но и принцип действия этих атак. Впрочем, есть между ними и некоторые отличия. Какие? Чтобы разобраться в этом вопросе, необходимо рассмотреть принцип работы DNS-серверов.

Итак, клиент отправляет DNS-серверу запрос на получение информации. В том случае если последний найдет подходящую запись в своей базе, он отправит обратно ответ с данными. Иначе же DNS-серверу придется обращаться к вышестоящему (служба DNS имеет иерархическую структуру) серверу. И так повторяется до тех пор, пока затребованный пользователем адрес не будет обнаружен или пока система не решит, что его вообще нет ни в одном списке. Причем в первом случае информация будет спущена по цепочке до конечного пользователя. А каждый DNS-сервер на ее пути добавит соответствующую запись в собственную базу данных. То есть такой сложный процесс поиска данного адреса повторяться уже не будет. Просто при всех будущих обращениях DNS-серверы будут брать данные из своей базы.

Если внимательно приглядеться к описанной схеме работы, то становится видна одна возможность создания в базе данных DNS-сервера ложной записи. Речь идет вот о чем. Если в ответ на запрос сервера (к своему вышестоящему серверу) послать ответ с ложной информацией, причем сделать это раньше, чем придут настоящие данные, то в базу будет занесен неверный адрес. Вот только как это можно реализовать на практике? А вот для этого необходимо разобраться в протоколе, согласно которому DNS-серверы взаимодействуют между собой. Собственно говоря, мы о нем уже говорили в первой части статьи. Да-да, уважаемые читатели, DNS-серверы тоже общаются между собой по протоколу UDP. Впрочем, есть у этого взаимодействия одна особенность. Оказывается, DNS-серверы всегда передают информацию через фиксированный порт 53.

В общем, получается, что DNS-серверы обмениваются информацией практически так же, как конечный DNS-сервер и его пользователь. Впрочем, это не значит, что они подвержены тем же самым атакам. По крайне мере, одного воздействия можно не опасаться: речь идет о перехвате DNS-запросов. И действительно, для осуществления этой атаки нужно, чтобы компьютер хакера находился на пути основного трафика или размещался в сегменте вышестоящего сервера. Как вы сами понимаете, добиться этого практически нереально. Так что на долю злоумышленников остается только одна атака, основанная на бомбардировке жертвы множеством ложных ответов. Давайте разберем ее реализацию немного подробнее.

Сначала хакер отправляет DNS-серверу запрос с каким-либо редким адресом, которого нет в базе данных сервера. После этого он тут же начинает бомбардировать его ложными ответами. При этом злоумышленнику должны быть известны следующие вещи: IP-адрес* вышестоящего сервера (узнать его несложно), адрес запрашиваемого сайта (он и так известен), номер порта (это значение всегда равно 53) и идентификатор. Как вы сами видите, проблемы возникают только с последним параметром. Дело в том, что первоначально он равен единице, а при каждом запросе увеличивается еще на один. То есть хакер не может даже приблизительно знать, какое значение имеет идентификатор. Впрочем, это и не нужно. Дело в том, что поле, отведенное под идентификатор, имеет длину два байта. То есть его значение может изменяться только в ограниченных пределах. И злоумышленнику остается сразу же после запроса отправить на сервер шторм ложных ответов с разными идентификаторами.

Последствия удачной атаки очевидны. В базе данных DNS-сервера появится ложная запись, из-за которой все, кто запросит у него IP-адрес взломанного сайта, будут перенаправлены на другую страницу. Впрочем, не все так плохо. Дело в том, что ложные записи могут быть внесены только для тех сайтов, информации о которых еще не было в базе данных DNS-сервера. А это значит, что ни один часто посещаемый веб-проект не может быть подменен злоумышленниками.

Схемы DNS-атак

Рассмотрим основные схемы DNS-атак, использующиеся в современное время:

1. Подмена DNS-ответа; внедрение ложного DNS-сервера.


Цели и угрозы: подмена доверенных объектов сети; перехват практически любого траффика жертвы; подмена сетевых запросов/ответов.

DNS-атаки: полный обзор по схемам атак, защита бизнеса или анализ рисков DNS

Схема реализации атаки в случае, если есть доступ к трафику жертвы (случай на картинке):

  • Атакующий ждет DNS-запроса от жертвы на хосте 1 (атакующий находится либо на хосте нарушителя 1, либо на хосте нарушителя 2; но может быть и где-либо еще, где есть доступ к трафику хоста 1 (жертвы)).
  • После передачи хостом 1 DNS-запроса, атакующий принимает запрос, в котором запоминает ID и порт. Далее, такакующий отправляет ложный DNS-ответ, в котором подменяет поле IP-адрес DNS-сервера на свойIP, делая свой компьютер для жертвы валидным DNS-сервером.
  • Хост 1 принимает ложный DNS-ответ, принимает IP-адрес хакера за подлинный DNS-сервер и отправляет все последующие запросы ему.
  • Атакующий после получения DNS-запросов пересылает их на настоящий DNS-сервер, получает правильный ответ и пересылает его назад – жертве. Существует легкая возможность подменить в DNS-ответе IP любого запрашиваемого DNS-имени.

Схема реализации атаки в случае, если доступа к трафику жертвы нет:

  • Атакующий не дожидается DNS-запроса (он его и не получит, ибо траффик жертвы через него не проходит), а отправляет массированный поток ложных DNS-ответов, подбирая на ходу нужные порт и ID запроса (обыкновенным bruteforce-ом). При этом в ложном ответе атакующий подменяет поле IP-адрес DNS-сервера на свой IP, делая свой компьютер для жертвы валидным DNS-сервером.
  • Хост 1, отправив запрос, принимает ложный DNS-ответ, в котором указан IP-адрес хакера, как IP подлинного DNS-сервера. В итоге, жертва отправляет все последующие DNS-запросы злоумышленнику.
  • Атакующий после получения DNS-запросов пересылает их на настоящий DNS-сервер, получает правильный ответ и пересылает его назад – жертве. Существует легкая возможность подменить в DNS-ответе IP любого запрашиваемого DNS-имени.

В случае, если атакующий находится за отдельным маршрутизатором и не имеет доступа к трафику клиента, но находится в том же сегменте сети, что и DNS-сервер жертвы (сама жертва), схема остается почти тай же. Фаза 1 заменяется на фазу массированной отправки DNS-ответов, не дожидаясь запроса жертвы. В этом случае, жертва после запроса моментально получит ответ, один из которых окажется правильным.

Стоит отметить, что данная угроза основана на использовании недостатков алгоритмов удаленного поиска. В случае, если объекты сети изначально не имеют адресной информации друг о друге, используются различные протоколы удаленного поиска (например, SAP в сетях Novell NetWare; ARP, DNS, WINS в сетях со стеком протоколов TCP/IP), заключающиеся в передаче по сети специальных запросов и получении на них ответов с искомой информацией.

2. Атака на кеш DNS-сервера / подмена вышестоящего DNS-сервера ( атака каминского ).


Цели и угрозы: подмена доверенных объектов сети; перехват практически любого траффика жертвы.

DNS-атаки: полный обзор по схемам атак, защита бизнеса или анализ рисков DNSСхема реализации атаки:

  • Злоумышленник посылает на целевой DNS-сервер (жертвы) запрос, которого заведомо нет в его кеше (или поток потенциальных запросов, в один прекрасный момент случится ситуация, когда в кеше локального DNS-сервера ответа не будет).
  • Далее злоумышленник создает направленный шторм ложных DNS-ответов от имени одного из вышестоящих (можно взять и корневые, как на картинке) DNS-серверов. Ситуация с подменой DNS-ответа от имени корневого проще: если в предыдущей схеме нужно было подбирать порт и ID, то в текущей подбирать порт не требуется: он стандартизован и постоянен во всех соединениях между DNS-серверами: порт №53.
  • DNS-сервер передает DNS-запрос на вышестоящий (корневой) DNS-сервер и немедленно получает ложный DNS-ответ от атакующего.
  • Хост нарушителя изменяет кэш-таблицу DNS-сервера и обеспечивает прохождение трафика через подставной хост злоумышленника (адресу top.secret.com в кеше DNS будет соответствовать ложный IP) по тому же алгоритму, что и в описанных выше схемах.
  • Как видно, схема реализации атаки достаточно проста и даже не требует разворачивания собственного DNS-сервера, что делает ее очень удобной и привлекательной для злоумышленников.

Важное примечание: в результате атаки, подмена целевых DNS-ответов (IP-адресов DNS-имен) происходит не только у одного хоста-жертвы, а у всех пользователей данного DNS-сервера!

3. Атака посредством отраженных DNS-запросов.


Цели и угрозы: выведение хоста жертвы (в т.ч. DNS-сервера) из строя; падение шлюза (канала доступа в Интернет) / межсетевого экрана.

Атака посредством отраженных DNS основывается на том, что DNS-ответ всегда в 3-4 раза длиннее запроса. В некоторых случаях (у некоторых DNS-имен) размер ответного пакета может в 10 и более раз превышать размер запроса. Таким образом, благодаря этому факту и использованию UDP-проткола, стала возможна следующая схема атаки на произвольный хост в Интернете.

Схема реализации атаки:

  • Злоумышленник отправляет DNS-запросы на один или несколько сторонних DNS-серверов, которые не являются реальными объектами нападения, с подмененным IP адресом источника: IP источника равен IP хоста-жертвы.
  • DNS-сервера получив запрос, формируют и отправляют ответы (намного длиннее запросов) на подложный IP (т.е. жертве).
  • Источник оказывается под мощным штормом DNS-ответов и не выдерживая нагрузки, падает.

DNS-атаки: полный обзор по схемам атак, защита бизнеса или анализ рисков DNS

Как видно из схемы и описания, данный тип атаки может быть организован в условиях довольно ограниченных ресурсов, достигая 4-10-кратного эффекта усиления атаки. Если при этом злоумышленник еще и создаст определенные домены, для отправки имен которых требуются DNS-пакеты огромных размеров, то отправляя запросы только на такие доменные имена, злоумышленник может достигать 100-кратного усиления эффекта атаки.

Фактически, данный тип атаки является эволюционной разновидностью обыкновенного DDoS.

4. Атаки типа DNS-флуд, атаки с помощью рекурсивных DNS-запросов / Garbage-атаки.


Цели и угрозы: выведение DNS-сервера - жертвы - из строя.

Основа данных видов атак - простой DNS-флуд: множество хостов злоумышленника посылает массированный поток запросов на целевой DNS-сервер с ложным SRC IP (IP-адрес источника запроса). Стандартный компьютер способен генерировать 1000 запросов в секунду, стандартный DNS-сервер способен обрабатывать 10000 запросов в секунду. Путем не требующих больго напряга мозга вычислений, приходим к выводу: 10 обычных домашних (или не совсем домашних) компьютеров вполне достаточно для выведения DNS-сервера из строя. При том вычислить злоумышленника будет очень непросто.

Атака типа Garbage-DNS основывается на постоянно открытом 53 порту (стандартному порту DNS, иногда используется 80-ый). Схема атаки сводится к отправке злоумышленником (с множества хостов) больших (свыше 1500 байт) сетевых пакетов (не обязательно DNS). Таким образом, все сводится к обычному DDoS, но на DNS-порт. Преимущество над обычным DDoS состоит в том, что 53-й порт (DNS-порт) всегда открыт в любых организациях, ибо нужен для работоспособности DNS-системы.

Рекурсивная DNS-атака сводится к выявлению множества несуществующих в кеше DNS-сервера жертвы имен (возможно, фальшивых) и последующая отправка DNS-запросов с именами из этого множества. DNS-сервер в итоге вынужден пересылать подобные запросы на все соседние и вышестоящие DNS-сервера с целью получить IP заказанного хоста. В итоге, на каждый запрос сервер вынужден посылать еще целое множество DNS-запросов другим серверам и принимать ответы от них, на что тратятся иногда в сотни раз большие ресурсы, чем отправка одного DNS-запроса. В игоге, как и в предыдущем типе атак, имея совсем не большие ресурсы, становится реальным осуществить достаточно мощную DDoS-атаку на DNS-сервер (в отличие от отраженных DNS-атак, целью которых может быть не только DNS-сервер).

Возникает естественный вопрос: как же защититься от данного типа атак, которым, казалось бы, подвержены все DNS-сервера без исключений? (в особенности, старый добрый консервативный, но тем не менее очень популярный BIND) Оказывается, способы есть.

dns-атаки - старая, но все еще актуальная область хакерских исследований, представляющая во многих случаях серьезную опасность сегодня практически для любого бизнеса. Учитывая, что UDP-протокол DNS почти не изменился с начала 80-ых, и разрабатывался он без какого-либо учета безопасности, а современные IT-средства и умы хакеров значительно улучшились, проблема становится еще актуальнее. В особенности, актуальной в контексте данной IT-угрозы становится защита бизнеса. Существующие в современном мире виды DNS-атак могут привести не только к воровству финансовой информации (как частного лица, так и компании) или коммерческой тайны, а и к воровству самих финансов, как явно и буквально (например, через подмену сетевых пакетов в системе ДБО), так и косвенно (коммерческая тайна и конкуренты). Не брать в расчет данный тип атак, значит, совершить серьезную ошибку в стратегическом планировании бизнеса компании.

В предыдущей статье мы рассмотрели все основные ныне существующие типы DNS-атак и угрозы, которые они в себе несут. В данной статье проведем анализ возможных рисков и способы защиты от DNS-атак.

Анализ рисков DNS

Исходя из множества видов DNS-атак (рассмотренных в указанной выше статье), можно провести последовательный анализ рисков, связанных с угрозами протокола DNS.

Итак, таблица анализа рисков:

Описание угрозы

Вероятность (сложность) реализации

Ущерб

1

Несоответствие законодательству по ПДн для новых ИСПДн. (п.8.10 (требование ЗИС.15) Приказа ФСТЭК №21)

Высокая

Высокий.

Для новых ИСПДн: признание ИС несоответствующей; приостановление работы ИС.

2

Для случая нахождения в сетевом сегменте пользователя и/или DNS-сервера (и соответственно, доступа к его трафику): подмена DNS-сервера собственным ложным сервером с последующей отправкой ложных DNS-ответов.

Пример реализации: подмена любого web-сервиса организации с парольной аутентификацией ложным, чтение паролей с последующим перенаправлением на настоящий web-сервис и отправкой пользователям получаемых ответов (незаметно для пользователя и эффективно для злоумышленника) . Об этом говорит сайт https://intellect.icu . Все пароли будут украдены, любые запросы к сервису можно подменять на ложные.

Средне-высокая

(внутри сегмента сети пользователя)

Очень высокий.

Подмена всех сетевых ресурсов, имеющих dns-имена, собственными, что влечет получение доступа к информации пользователя (в том числе к его паролям).

Перехват всего трафика пользователя.

Подмена любых сетевых запросов.

3

Для случая нахождения в произвольной точке сети (без прямого доступа к трафику жертвы): отправка шквала ложных DNS-ответов с подменой IP DNS-сервера и подбором порта и ID пользователя (в любой точке сети). Далее, подъем собственного DNS-сервера и дубликата сервиса аналогично риску п.2.

Средняя

Аналогично п.2.

4

Для случая нахождения в любой точке сети (возможно, без доступа к самой жертве и при отсутствии собственного DNS в организации): отправка отсутствующего в кэше DNS-сервера запроса и последующий шквал ложных DNS-ответов от имени (IP) вышестоящего (возможно, корневого) DNS-сервера на нижестоящий (DNS-сервер жертвы), что влечет изменение кэш-таблицы нижестоящего DNS и последующая стратегия подмены сервисов аналогичная рискам пп.2-3.

Средне-высокая

(работает в случае dns-запроса, отсутствующего в текущем кэше DNS; условие нахождения внутри сети организации отсутствует)

Аналогично п.2

5

Для произвольного случая (расположение злоумышленника неважно; атака применима к любым хостам организации, доступных из внешней сети): атака посредством отраженных DNS-ответов. Злоумышленник отправляет серию DNS-запросов с подмененным IP отправителя (на IP жертвы) множеству DNS-серверов. В запросе содержатся имена с коэффициентом удлинения DNS-ответа от 10 и выше (до 100). В итоге, происходит массированная DDoS-атака.

Средне-высокая

(не использует ресурсы интрасети; не требует нахождения внутри сети организации)

Высокий.

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

6

Для случая наличия собственного DNS-сервера в организации: атаки типа DDoS на DNS-сервер: простой DNS-флуд; рекурсивная DNS-атака; Garbage-атака. В итоге: полное падение DNS-сервера.

Средне-высокая

(в случае наличия собственного DNS-сервера; не требует нахождения внутри сети организации)

Средний / высокий.

Высокий ущерб нарушения работы DNS-сервера организации (несложно восстановить).

В случае отсутствия резервного DNS нарушается работа всей сети.

Пункты 2-5 основаны на легком формировании DNS-UDP-пакета с возможностью легко вставить в пакет произвольные данные по IP, ID и т.д. Более подробное описание угроз пунктов 2-6 содержится в предыдущей статье DNS-атаки: полный обзор по схемам атак .

Как видно из таблицы, риски в данной области имеются весьма серьезные и обрабатывать их надо. Перейдем к описанию методов борьбы с угрозами DNS-атак и оценке эффективности / превентивности данных методов.

методы защиты от dns-атак

Методы защиты сводятся к двум основным направлениям: правильной настройка DNS-сервера и к использованию протокола DNSSec. Опишем оба варианта.

Итак, необходимые (но не достаточные) настрройки DNS-сервера:

  1. Игнорирование или уменьшение степени доверия к любым DNS-ответам, явно не относящихся к отправляемым запросам (параметры BIND8/9/10 позволяют это сделать). Снижает риски 3, 4 (частично - 6).
  2. Использование случайных портов для отправки/получения запроса. Существенно снижает риски 3, 4.
  3. Запрет обработки рекурсивных запросов, поступающих не от доверенных клиентов (не из инстрасети / ее доверенной части).

Что же касается протокола DNSSec, то это достаточно мощный инструмент, суть которого сводится к использованию целой инфраструктуры открытых ключей (PKI) для проведения аутентификации любых доменных сообщений с построением цепочки доверия. Все запроса и ответы подписаны своей ЭЦП , подлинность которой обеспечивает соответствующий сертификат УЦ. В контексте такой меры риски 1, 2, 3, 4 (в случае использования DNSSec на вышестоящих серверах) и - частично - риск 6 становятся неактуальны. Одним махом. Остается риск 5, но его преодолеть силами одной организации нереально никак. Он может быть уменьше только через повсеместное использование протокола DNSSec.

Становится вопрос превентивности, т.е. выгодности внедрения нового протокола для бизнеса. Надо сказать, что сам протокол является открытым, бесплатным и поддерживается уже почти всеми современными DNS-серверами (включая BIND) и клиентскими ОС (включая Windows 7 и Windows 2008 Server).

Итак, проблемы внедрения DNSSec:

  • Протокол TCP/IP должен поддерживать новый DNS Resolver, умеющий работать с DNSSec.
  • Возрастание нагрузки на сеть: траффик от подписанных ЭЦП запросов возрастает в 6-7 раз.
  • Возрастание нагрузки на процессор DNS-сервера (генерация и проверка ЭЦП требует множество ресурсов), так что может потребоваться замена DNS-серверов на более мощные (раза в ~2-3).
  • Увеличение требований по дисковому пространству серверов, т.к. данные подписанные данные об адресации занимают ощутимо больше места.

Как видно из представленного списка, проблемы внедрения DNSSec связаны с верной настройкой ПО (что решается без труда) и возросшими требованиями по аппаратным ресурсам DNS-серверов, а также интернет -канала (хотя это во многом зависит от величины организации).

Подводим итоги

Наверное, никому не стоит объяснять, что DNS является основополагающей службой Интернета. И атаки на нее могут привести к весьма и весьма неприятным последствиям. Между тем защищена она чрезвычайно слабо. Большинство уязвимостей появились из-за использования протокола UDP. В плане защиты гораздо привлекательней другая технология, TCP. В ней реализованы механизмы идентификации и создания виртуальных каналов, которые могут серьезно осложнить жизнь хакерам. Именно поэтому сегодня наблюдается тенденция перевода DNS-серверов на работу по протоколу TCP (а это вполне возможно). К сожалению, этот процесс идет очень медленно и, скорее всего, в ближайшее время вряд ли ускорится.

Подводя итоги, можно сказать, что внедрение протокола DNSSec выглядит оправданным для организаций среднего и крупного бизнеса с высокой критичностью доступа в интернет и/или использованием критичных сетевых сервисов. Для организаций малого бизнеса, не использующей облачной архитектуры или других подобных сервисов использование такого протокола зависит от конкретной ситуации и требует индивидуального рассмотрения.

Вау!! 😲 Ты еще не читал? Это зря!

В заключение, эта статья об dns-атаки подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое dns-атаки, схемы dns атак, атака каминского, кулхацкер, cool hacker, cool-хацкер, методы защиты от dns-атак и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Вредоносное ПО и защита информации

создано: 2016-03-08
обновлено: 2021-03-13
132530



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Вредоносное ПО и защита информации

Термины: Вредоносное ПО и защита информации