Протокол DNS.
Методы сетевых атак и защиты

Тип работы:
Реферат
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

КУРСОВАЯ РАБОТА

Протокол DNS. Методы сетевых атак и защиты

Челябинск

2014г.

Содержание

Введение

1. Протокол DNS: описание, предназначение

1.1 Файл Hosts

2. Атаки на протокол DNS

2.1 Методы атак на протокол DNS

2.2 Усиление атаки на протокол DNS

3. Защита и противодействие атакам на протокол DNS

3.1 Методы борьбы с атаками на DNS-сервер

Заключение

Список литературы

Введение

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

Так, с какой целью специалисту необходимы знания о методах атак на протокол DNS?

Используя DNS-сервер, злоумышленник может проникнуть на ваш ресурс и нанести ущерб предприятию, если не предпринимать специальных мер по обеспечению целостности системы. Современный IT-специалист должен не только знать о возможных опасностях, которые таит в себе «Всемирная паутина», но и уметь прогнозировать, минимизировать и устранять последствия вторжения на вверенный ему ресурс.

Специалисту необходимо чувствовать себя как «рыба в воде» на просторах интернета, а это возможно лишь узнавая что-то новое, даже если ты не собираешься применять это на практике (об атаках).

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

1. Протокол DNS: описание, предназначение

Компьютеры в сети общаются между собой, используя IP-адреса -- числовые имена. Пользователь же привык видеть в своей адресной строке не сложно запоминаемый набор цифр, разделенных запятой, а вполне понятные символьные значения, которые зачастую отражают принадлежность к чему-либо. Например, адрес http: //yuzd. rzd. ru интуитивно дает понять, что ресурс принадлежит зоне, которая находится в России (. ru) и относится к Российским железным дорогам (. rzd).

DNS (Domain Name System) — это распределенная база данных, используемая для расшифровки символьных имен согласно таблицы соответствия хранящихся на специализированном сервере. Также протокол DNS используется для маршрутизации электронной почты. Каждый сайт в сети имеет свое доменное имя (например, www. iit. csu. ru), которое система DNS связывает с IP-адресом сервера -- компьютера, на котором расположен этот сайт. И когда в адресной строке браузера вы вводите какой-либо домен, он автоматически преобразовывается в IP-адрес, и уже используя его, ваш компьютер связывается с сервером. При определении DNS как распределенной базы имеется в виду, что вся необходимая информация не хранится на одном Internet узле. Каждый сервер, отвечающий за имя, может передать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения -- другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени. Например, крупный университет может снять с себя ответственность за актуальность и достоверность информации и возложить ее на отдельные факультеты, кафедры, институты. DNS предоставляет протокол, который позволяет клиентам и серверам общаться друг с другом.

Как уже говорилось, основная задача DNS — преобразование символьного имени в IP-адрес и наоборот, но когда число узлов Internet растет экспоненциально, это не совсем просто с точки зрения реализации. Поэтому DNS имеет иерархическую систему, которая состоит из корневого домена, домена первого уровня, второго уровня и т. д. Соответственно имя состоит из нескольких полей или блоков, написанных латинскими буквами (регистр не учитывается) и разделенных точками. Максимальная длина блока равна 63 символам, а общая длина доменного имени не должна превышать 255 символов.

Иерархическая структура DNS:

1. 1 Файл HOSTS

До появления DNS соответствие между символьными именами и IP-адресами можно было установить в специальном файле. Этот способ можно использовать и сейчас, внеся изменения в файл hosts:

WINDOWS: С: Windowssystem32driversetchosts

UNIX: /etc/hosts

Браузер в поисках IP первым делом проверяет нет ли в файле hosts IP введенного адреса. И лишь потом обращается к DNS в случае отрицательного результата. Если же IP запрашиваемого сайта найден в файле hosts, то можно радоваться, ведь загрузка нужной вам страницы начинается быстрее и сокращается ровно на время, которое раньше терялось на соединение с внешним DNS сервером и получение от него ответа с IP.

Файл hosts содержит строки, Каждая из которых определяет одно соответствие между именем и IP-адресом

— 127.0.0.1 localhost

— 81. 176. 66. 163 lib. ru

Что удобно можно не только добавлять сайты для ускорения работы, но и блокировать нежелательные сайты, записав напротив такого сайта IP 127.0.0.1.

127.0.0.1 vk. com

Либо указать IP другого сайта.

81. 176. 66. 163 vk. com

2. Атаки на протокол DNS

Атаки на DNS можно условно разделить на две категории.

Первая категория — это атаки на уязвимости в DNS-серверах. С этим подвидом атак связаны следующие опасности:

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

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

Вторая категория — это DDoS-атаки, приводящие к неработоспособности DNS-сервера. При недоступности DNS-сервера пользователь не сможет попасть на нужную ему страницу, так как его браузер не сможет найти IP-адрес, соответствующий введённому адресу сайта. DDoS-атаки на DNS-сервера могут осуществляться как за счёт невысокой производительности DNS-сервера, так и за счёт недостаточной ширины канала связи. Потенциально DDoS-атаки второго вида могут иметь мощность до 70 Гбит/с при использовании техник наподобие DNS Amplification и пр.

Основной причиной такой подверженности DNS-систем угрозам является то, что они работают по протоколу UDP, более уязвимому, чем TCP.

Существует несколько способов атаки на DNS.

2. 1 Методы атак на протокол DNS

протокол dns атака

· Ложный DNS-сервер

· Простой DNS-флуд

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

· Атака с помощью рекурсивных DNS-запросов

· Атака типа Garbage DNS

· Фишинг/Фарминг

Ложный DNS-сервер

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

Простой DNS флуд

Суть состоит в том, что злоумышленник отправляет множественные DNS-запросы на атакуемый DNS-сервер, переполняя сервер запросами и тем самым потребляя его ресурсы. Такой метод атаки очень популярен среди злоумышленников, так как сам по себе прост в исполнении и при этом позволяет скрыть личность злоумышленника.

Злоумышленник генерирует DNS-пакеты, которые отправляются посредством UDP-протокола на DNS-сервер. Стандартный П К может сгенерировать 1000 DNS-запросов в секунду, тогда как обычный DNS-сервер может обработать только 10 000 DNS-запросов в секунду. Другими словами, для того, чтобы вывести из строя DNS-сервер, потребуется всего 10 компьютеров. Поскольку DNS-сервера главным образом используют UDP-протокол, злоумышленникам не требуется устанавливать соединения, и они могут изменить IP-адрес источника и замаскироваться. Это свойство также на руку злоумышленниками — атаку, исходящую от множества измененных IP-адресов источника, тяжелее отразить, чем ту, которая исходит от ограниченного списка IP-адресов.

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

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

В процессе атаки используется эффект усиления, при котором ответ на DNS-запрос в 3−10 раз больше, чем сам DNS-запрос. Самые распространенные методы усиления атаки мы рассмотрим чуть ниже. Другими словами, на атакуемый сервер поступает гораздо больше трафика по сравнению с небольшим количеством запросов, сгенерированных злоумышленником. Успех атаки демонстрирует, что организации не требуется владеть DNS-сервером, чтобы стать объектом DNS-атаки. Целью атаки является вывод из строя межсетевого экрана или канала интернет-соединения.

Атаки, которые производятся посредством отраженных DNS-запросов, можно усилить. Об уровнях усиления атак на протокол чуть ниже.

Степень анонимности при такой атаке возрастает с увеличением ее размаха. Помимо изменения SRC IP (как при простом DNS-флуде), атака сама по себе производится не напрямую — запросы на атакуемый сервер отправляются сторонним сервером.

Атака с помощью рекурсивных DNS-запросов

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

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

Асимметричный характер рекурсивной атаки и низкая скорость затрудняют борьбу с такими атаками. Рекурсивная атака может быть пропущена как системами защиты, так и людьми, которые больше сосредоточены на выявлении атак с большим объемом.

Атака типа Garbage DNS

Как подразумевает ее название, такая атака переполняет DNS-сервер «мусорным» трафиком, отправляя пакеты данных большого размера (1500 байт или больше) на его UDP-порт 53. Концепция такой атаки состоит в том, чтобы переполнить сетевой канал пакетами данных большого размера. Злоумышленники могут генерировать потоки «мусорных» пакетов и с помощью других протоколов (UDP-порт 80 также часто используется); но при использовании других протоколов объект может остановить атаку, заблокировав порт на уровне ISP без каких-либо последствий. Протоколом, для которого такая защита недоступна, является протокол DNS, поскольку большинство организаций никогда не закроет этот порт.

Фишинг/Фарминг

В классическом фишинге злоумышленник распространяет письма электронной почты среди пользователей социальных сетей, онлайн-банкинга, почтовых веб-сервисов, заманивая на поддельные сайты пользователей, ставших жертвой обмана, с целью получения их логинов и паролей. Многие пользователи, активно использующие современные веб-сервисы, не раз сталкивались с подобными случаями фишинга и проявляют осторожность к подозрительным сообщениям. В схеме классического фишинга основным «слабым» звеном, определяющим эффективность всей схемы, является зависимость от пользователя — поверит он фишеру или нет. При этом с течением времени повышается информированность пользователей о фишинговых атаках. Банки, социальные сети, прочие веб-службы предупреждают о разнообразных мошеннических приемах с использованием методов социальной инженерии. Все это снижает количество откликов в фишинговой схеме — все меньше пользователей удается завлечь обманным путем на поддельный сайт. Поэтому злоумышленники придумали механизм скрытого перенаправления пользователей на фишинговые сайты, получивший название фарминга («pharming» — производное от слов «phishing» и англ. «farming» — занятие сельским хозяйством, животноводством). Злоумышленник распространяет на компьютеры пользователей специальные вредоносные программы, которые после запуска на компьютере перенаправляют обращения к заданным сайтам на поддельные сайты. Таким образом, обеспечивается высокая скрытность атаки, а участие пользователя сведено к минимуму — достаточно дождаться, когда пользователь решит посетить интересующие злоумышленника сайты. Вредоносные программы, реализующие фарминг-атаку, используют два основных приема для скрытного перенаправления на поддельные сайты — манипулирование файлом HOSTS или изменением информации.

Популярные методы реализации Фарминг-атак:

· Изменение файла HOSTS

· Изменение файла HOSTS вместе с изменением его местоположения

· Модификация настроек DNS-серверов

· Регистрация ложного DHCP-сервера

Пример зараженного файла:

Красным выделены строки, которых изначально нет, в файле hosts. Это результат атаки.

А вот так должен выглядеть «здоровый» файл hosts, если вы сами не вносили никаких изменений в его конфигурацию.

2.2 Усиление атаки на протокол DNS

Уровни усиления эффективности атаки:

1) Естественный — DNS-пакеты, отправляемые в ответ на запрос, в несколько раз крупнее тех, что отправляются пользователем при запросе. С помощью этого простого в реализации способа даже самая простая атака может получить 3−4 кратное усиление.

2) Выборочный — ответы на DNS-запросы имеют различный размер: в ответ на некоторые DNS-запросы отправляется короткий ответ, в ответ на другие ответ гораздо больше. Опытный злоумышленник может сначала определить, какие доменные имена в ответе сервера имеют больший размер. Отправляя запросы только для таких доменных имен, злоумышленник может достигать 10-кратного усиления.

3) Настроенный вручную. Если брать для рассмотрения серьезные DNS-атаки, которые имеют большой масштаб активности, то злоумышленник может даже разработать специальные доменные имена, для отправки имен которых требуется пакеты огромных размеров. Отправляя запросы только на такие специально созданные доменные имена, злоумышленник может достичь 100-кратного усиления.

3. Защита и противодействие атакам на протокол DNS

Любому действию найдется противодействие! Но ко всему нужно подходить с умом. Как уже было сказано, специалист должен не только знать о возможных опасностях, но и уметь прогнозировать и устранять последствия вторжения на вверенный ему ресурс.

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

Доступность- гарантия того, что авторизованные пользователи получат доступ к нужной им информации.

Целостность — гарантия сохранности и достоверности данных, обеспечивается за счет того, что неавторизованные пользователи никак не могут изменять, модифицировать, подменять или создавать данные.

Конфиденциальность — гарантия того, что доступ к данным имеют только авторизованные пользователи, или легальные пользователи, т. е. допуск которым действительно разрешен.

Требования безопасности могут варьироваться в зависимости от типа хранимых данных, характера информационной системы и типа возможных угроз.

При планировании и разработке защиты необходимо учесть ряд особенностей атак, производимых именно на DNS-серверы:

— Ведется атака на критически важную инфраструктуру — DNS-сервер является важным элементом инфраструктуры. Это означает, что если нарушается работа DNS-сервиса организации, отключается весь ее интернет-трафик. На более высоком уровне, если вывести из строя корневые DNS-серверы — весь интернет перестанет функционировать.

— Асимметричный характер атаки — асимметричное усиление позволяет атакам на DNS вызвать отказ в обслуживании, пользуясь ограниченными ресурсами и небольшим трафиком.

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

3. 1 Методы борьбы с атаками на DNS-сервер

1. Шифровка данных, с чем поможет DNSSEC. DNSSEC — набор расширений IETF протокола DNS, позволяющих минимизировать атаки, связанные с подменой DNS-адреса при разрешении доменных имён. Его цель — обеспечить аутентификацию и целостность информации, содержащейся в DNS, что как раз таки достигается посредством шифрования.

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

2. Фильтрация IP-пакетов на пограничном маршрутизаторе или брандмауэре, адрес отправителя которых совпадает с внутренними IP-адресами сети.

3. Уменьшения степени доверия к информации, приходящей от других DNS-серверов, или даже игнорирования любых DNS-записей, прямо не относящихся к запросам (такие проверки проводит BIND версии 9, 10).

4. Использование случайных UDP-портов для выполнения DNS-запросов. Это поможет существенно снизить вероятность успешной атаки на кэш.

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

6. Все П О, включая программное обеспечение DNS, должно быть представлено в самых последних редакциях, и к ним должны быть применены все доступные обновления. При оценке возможности размещения DNS на сервере вы должны помнить, что всякое выполняющееся на сервере сетевое приложение увеличивает риск взлома. С появлением автоматизированного инструментария сканирования при выходе в Internet серверы DNS подвергаются постоянному зондированию и попыткам вторжения. Здесь практически ничего нельзя поделать, так как серверы DNS должны отвечать на запросы.

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

Заключение

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

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

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

Список литературы

1. Сети TCP/IP. Ресурсы Microsoft Windows 2000 Server. / М.: Русская редакция, 2001.

2. Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. — СПб: Питер, 2001.

3. Компьютерные сети / Таненбаум Э.; СПб.: Питер, 2003. — 4-е издание.

ПоказатьСвернуть
Заполнить форму текущей работой