- •Введение
- •1. Флуд-атаки как угроза безопасности информации
- •1.1. Сущность флуд-атак
- •1.2. Атаки, направленные на приведение жертвы в недоступное состояние
- •1.3. Многофункциональные атаки
- •Механизмы защиты от флуд-атак
- •Методический подход к оценке вероятного ущерба и ожидаемой эффективности защиты при атаках, направленных на нарушение доступности информации и ресурсов
- •2. Риск-модели im-флуда
- •2.1. Специфика моделирования процесса атаки, использующей вредоносную программу im-Flooder
- •2.2. Измерение ущерба
- •2.3. Оценка рисков
- •2.4. Возможности регулирования рисков в условиях реализации флуд-атаки с использованием вредоносной программы im-flooder
- •3. Риск-модели сетевой атаки типа «dns-flood»
- •3.1. Моделирование процесса атаки типа «простой dns-flood»
- •3.2. Моделирование процесса атаки типа «рекурсивный dns-flood»
- •3.3. Определение функций ущерба
- •3.4. Аналитическая оценка риска
- •3.5. Управление рисками в условиях флуд-атаки типа «dns-flooder»
- •4. Риск-модели для атак посредством программы «sms-flooder»
- •4.1. Особенности моделирования процесса атаки, реализуемой посредством вредоносной программы sms-Flooder
- •4.2. Модели процесса атаки типа «sms-Flood»
- •4.3. Функция ущерба от sms-флуда
- •4.4. Аналитическая оценка риска
- •4.5. Возможности управления рисками в условиях флуд-атаки посредством вредоносной программы sms-Flooder
- •5. Риск-модели флуд-атак посредством вредоносной программы email-flooder
- •5.1. Моделирование процесса заражения хоста вредоносной программой Email-flooder
- •5.3. Моделирование флуд-атаки на почтовый сервер
- •5.3. Обоснование функции ущерба от почтового флуда
- •5.4. Аналитическая оценка рисков почтового флуда
- •5.5. Возможности регулирования рисков в условиях атаки типа «почтовый флуд»
- •Заключение
- •Библиографический список
- •Оглавление
- •3 94026 Воронеж, Московский просп., 14
1.1. Сущность флуд-атак
Флуд (англ. flood — наводнение, затопление) — сообщения в интернет-форумах и чатах, занимающие большие объемы или не несущие никакой полезной информации [75, 80, 84].
В соответствии с вышеприведенным определением, флуд-атаки – это атаки, при реализации которых жертве отправляется большой объем информации, не несущей в себе никакой пользы для получателя.
Согласно статистике Prolexic Technologies, за последние два года средняя мощность флуд-атак возросла на сотни процентов [83]. Тенденция по возрастанию мощности и частоты подобных атак наблюдается на протяжении последних нескольких лет [75-86]. Их многообразие можно свести к двум множествам [82, 86]:
Атаки, направленные на приведение жертвы в недоступное состояние.
К данному типу относится широкое множество DoS/DDoS-атак (DNS-flood, HTTP-flood и др.) которые в настоящее время набирают все большую популярность в силу своей эффективности.
Многофункциональные атаки, с помощью которых возможно не только привести жертву в недоступное состояние, но нанести существенный ущерб и без приведения в недоступное состояние путем различных деструктивных воздействий.
Особенностью данных атак является то, что при низкой интенсивности отправки данных они могут использоваться для: отправки фиктивных сообщений, проведения фишинговых атак, распространения нежелательной рекламы и др. Однако, если увеличить интенсивность отправки вредоносных сообщений, поток информации превышает пропускную способность физических устройств жертвы, что приводит ее в недоступное состояние. Наиболее яркими представителями данной группы атак являются: Email-flood, IM-flood и SMS-flood [79-81].
Рассмотрим данные группы более подробно.
1.2. Атаки, направленные на приведение жертвы в недоступное состояние
Одним из наиболее ярких представителей данной группы атак является атака типа «DNS-flood», так как при ее реализации зачастую достигаются рекордные по силе DDoS-атаки [76-78].
Рассмотрим данную группу атак на ее примере.
DNS-flood реализуется с помощью DNS-серверов, которые используются для трансляции доменных имен в IP-адреса и обратно.
Рассмотрим более подробно систему получения информации о доменах DNS.
Каждый хост в сети обладает уникальным IP-адресом, некоторые из них обладают также доменным именем. Также конкретный хост может иметь несколько IP-адресов (у конкретно взятого интерфейса хоста свой адрес или же несколько интерфейсов хоста обладают одним адресом), как и на отдельном IP-адресе может быть зарегистрировано несколько доменных имен.
На заре сети Интернет задача распределения уникальных идентификаторов и имен хостов решалась посредством ведения списков, включающих все компьютеры в сети, копии которых хранились на каждом из хостов, входящих в сеть. Однако, по мере увеличения количества компьютеров в сети Интернет, возникли проблемы, связанные с увеличением общего количества данных списков, которые необходимо было синхронизировать, что приводило к существенным временным затратам и становилось малоэффективным. На смену данной неудобной схеме была предложена структура имен – DNS. Отличалась она от предыдущей тем, что структура имен и адресов хостов в сети стала иерархической. Основанием данной иерархической структуры имен является точка, так называемый «корень дерева», который един для всех доменов [15, 44, 87].
Как правило, при вводе URL, точка в конце адреса не ставится, однако она используется в описаниях DNS. Здесь точку ставить необходимо. Ниже корня лежат домены первого уровня (зоны). Их немного — com, net, org, mil, biz, info, gov (есть еще несколько) и домены государств, например, ru. Еще ниже находятся домены второго уровня, например, bijid.ru. Еще ниже — третьего и т.д. Уровни разделяются точками [87].
DNS-серверы не является изолированными, каждому их них известны адреса корневых серверов. При поступлении запроса к серверу он либо сам находит необходимую информацию в своей базе данных либо обращается к другому серверу. Адреса DNS-серверов для конкретного пользователя сети указываются провайдером. Пользователь, при отправке запроса, обращается к первичному DNS-серверу, который либо предоставляет необходимую пользователю информацию, в случае ее наличия, либо отправляет пользовательский запрос на вышестоящий сервер. Возникают случаи, когда вышестоящий сервер неизвестен, в этом случае пользовательский запрос отправляется на корневой DNS-сервер. После нахождения необходимой информации, она отправляется по цепочке DNS-серверов в обратную сторону к пользователю [82, 86, 87].
Для DNS запроса и для DNS отклика используется одинаковый формат.
Сообщение содержит фиксированный 12-байтный заголовок, за которым следуют четыре поля переменной длины [77].
Имя запроса (query name) это искомое имя. Оно представляет собой последовательность из одной или нескольких меток. Каждая метка начинается с 1-байтового счетчика, содержащего количество следующих за ним байт. Имя заканчивается байтом равным 0, который является меткой с нулевой длиной. И является, в свою очередь, меткой корня. Каждый счетчик байтов должен быть в диапазоне от 0 до 63, так как длина метки ограничена 63 байтами [77].
У каждого вопроса есть тип запроса (query type), а каждый отклик имеет тип (type). Существует около 20 различных значений, некоторые из которых в настоящее время уже устарели [77].
Согласно документам RFC-1034 и RFC-1035 возможно выделить несколько типов DNS-серверов [87].
По типу откликов на запрос к системе доменных имен их можно подразделить на неавторитативные и авторитативные. Отличаются они типом возвращаемого отклика. Авторитативный отклик возвращается сервером, ответственным за зону, в которой находится информация, необходимую пользователю, а неавторитативный отклик возвращается сервером, не отвечающим за зону, в которой находится пользователь [77, 87].
Также авторитативный отклик вернуть могут либо первичный, либо вторичный DNS-серверы зоны, которые выделяются при регистрации домена в сети, причем вторичных серверов для домена может быть и несколько [77, 80].
Первичный сервер считывает описание доменной зоны, с дисковой памяти хоста и, в соответствии с ней, отвечает на запросы клиента. Описание зоны первичного DNS-сервера является первичным, так как оно изначально задается администратором зоны вручную. Остальные серверы копируют клиентскую информацию с первичного сервера. Первичный сервер задается один на конкретную зону [77, 80].
Вторичные серверы также являются ответственными за определенную доменную зону. Предназначены вторичные серверы для резервного хранения данных первичного сервера доменных имен на случай выхода его из строя. Также, использование вторичных DNS-серверов позволяет распределить нагрузку между первичным и вторичными серверами. Вторичный сервер настраивается для работы с конкретно взятым первичным DNS-сервером и, в момент запуска, копирует данные с первичного сервера. При изменении данных на первичном сервере, необходимо их обновить и на вторичном сервере [80, 87].
В силу широкой распространенности системы DNS возникли и атаки с использованием серверов, входящих в ее состав, наиболее опасными из которых являются атаки типа «DNS-flood».
Атаки типа «DNS-flood» эволюционировали из обычных DoS/DDoS-атак, для эффективности которых требовалось создать достаточно большое количество запросов (трафика) в сети. DNS-flood атаки, напротив показывают, что сложные их виды могут достигать высокой эффективности при небольшом количестве передачи злоумышленником информации в сети за счет использования DNS-серверов [75, 78, 81].
Основа данных видов атак - простой DNS-флуд: множество хостов злоумышленника посылает массированный поток запросов на целевой DNS-сервер с ложным SRC IP (IP-адрес источника запроса). Стандартный компьютер способен генерировать 1000 запросов в секунду, стандартный DNS-сервер способен обрабатывать 10000 запросов в секунду. Путём вычислений, приходим к выводу: 10 обычных домашних (или не совсем домашних) компьютеров вполне достаточно для выведения DNS-сервера из строя. Притом вычислить злоумышленника будет очень непросто [79, 82].
Атака типа Garbage-DNS основывается на постоянно открытом 53 порту (стандартному порту DNS, иногда используется 80-ый). Схема атаки сводится к отправке злоумышленником (с множества хостов) больших (свыше 1500 байт) сетевых пакетов (не обязательно DNS). Таким образом, всё сводится к обычному DDoS, но на DNS-порт. Преимущество над обычным DDoS состоит в том, что 53-й порт (DNS-порт) всегда открыт в любых организациях, так как необходим для работоспособности DNS-системы [84].
Рекурсивная DNS-атака сводится к выявлению множества несуществующих в кэше DNS-сервера жертвы имён (возможно, фальшивых) и последующая отправка DNS-запросов с именами из этого множества. DNS-сервер в итоге вынужден пересылать подобные запросы на все соседние и вышестоящие DNS-сервера с целью получить IP заказанного хоста. В итоге, на каждый запрос сервер вынужден посылать ещё целое множество DNS-запросов другим серверам и принимать ответы от них, на что тратятся иногда в сотни раз большие ресурсы, чем отправка одного DNS-запроса. В итоге, как и в предыдущем типе атак, имея совсем небольшие ресурсы, становится реальным осуществить достаточно мощную DDoS-атаку на DNS-сервер (в отличие от отражённых DNS-атак, целью которых может быть не только DNS-сервер) [84].