Научная статья на тему 'Архитектура программной реализации методики обнаружения сетевых атак типа «Отказ в обслуживании»'

Архитектура программной реализации методики обнаружения сетевых атак типа «Отказ в обслуживании» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
78
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Щерба Е. В., Щерба М. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Архитектура программной реализации методики обнаружения сетевых атак типа «Отказ в обслуживании»»

УДК 004.056.5

Е.В. Щерба, М.В. Щерба

Омский государственный технический университет, г. Омск

АРХИТЕКТУРА ПРОГРАММНОЙ РЕАЛИЗАЦИИ МЕТОДИКИ ОБНАРУЖЕНИЯ СЕТЕВЫХ АТАК ТИПА «ОТКАЗ В ОБСЛУЖИВАНИИ»

Одной из основных тенденций последних лет в сфере компьютерных преступлений является рост количества и сложности атак на доступность информации (ресурсов автоматизированной системы). Данные атаки образуют класс атак типа «отказ в обслуживании» (DoS-атаки), цель которых - довести систему до такого состояния, в котором её легитимные пользователи не смогут получить доступ к предоставляемым системой ресурсам (серверам, сервисам), либо этот доступ будет затруднён. Если атака выполняется одновременно с большого числа компьютеров, имеет место DDoS-атака (Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»).

В целях минимизации последствий DDoS-атак, их обнаружение и классификация является крайне важной и вместе с тем сложной задачей. Традиционные механизмы обеспечения безопасности - межсетевые экраны и системы обнаружения вторжений - не являются эффективными средствами для обнаружения DDoS-атак и защиты от них [1]. Кроме того, существующие методы обнаружения DDoS-атак, позволяющие эффективно распознавать DDoS-атаки транспортного уровня (SYN-флуд, UDP-флуд и другие), малоэффективны для обнаружения низкоактивных DDoS-атак прикладного уровня («медленный» HTTP GET флуд и «медленный» HTTP POST флуд) [2].

Данные факты обуславливают необходимость разработки специализированной методики обнаружения низкоактивных распределенных атак прикладного уровня типа «отказ в обслуживании» в компьютерных сетях. Разрабатываемая методика обнаружения строится на основе оценки вероятности потерь пакетов или запросов прикладного уровня в компьютерной сети, при условии ее функционирования в стационарном режиме [2]. Достаточно часто для расчёта параметров потоков данных, а также для оценки вероятностей потерь пакетов в вычислительных сетях применяют математические модели в виде сетей массового обслуживания (СеМО). Использование СеМО в качестве модели вычислительной сети действительно дает возможность проводить анализ работы сети со сложной структурой и разнообразными сетевыми сервисами.

В ходе первого этапа исследований был разработан модуль программноаналитического комплекса, моделирующий СеМО, соответствующую исследуемой сети с целью определения вероятности потерь заявок (рис. 1). На вход системы поступает субстоха-стическая матрица, задающая топологию сети, интенсивности входных потоков и интенсивности обработки заявок в узлах.

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

296

из узлов. Заявка теряется, если при попытке добавления ее в очередь узла эта очередь полностью заполнена.

В процессе обработки заявки сохраняется вся информация о ее маршруте по сети массового обслуживания, что позволяет по завершению процесса моделирования точно рассчитать наблюдаемую частоту потери заявок. Функционирование объектов модели СеМО реа-

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

Поток

-Состояние

Планировшнк Синхронизирует -Время ожидания -История

-Вектор<Поток*> Потоки

-Вып. раб. цикл() -Ожидание() -Конец ожидания() -Пол. время работы() -Пол. историю()

-t-Создать поток(): Поток* +Вып. шаги раб. цикла() 1 1..*

0J

+Связ. узлы

1

Узел сети

■Идентификатор узла Интенсивность обр. заявок ■Размер очереди ■Текущая длина очереди ■Текущий таймаут Дек<3аявка*> Очередь Векторо Вер-ги переходов

+Вып. раб. цикл()

+Установить связь с узлом()

+Добавить заявку в очередь() ■(•Получить заявку из очерсди() +Получить длину очереди()

О „1

+Узел +Источник

Источник заявок

-Идентификатор -Интенсивность потока -Текущий таймаут

+Вып. раб, цикл()

' ТГ

I

Создаёт

+Обр. узел +3аявка в обр-ке

«enumeration» Состояние

В обработке Потеряна

Успешно обработана

Заявка

-Идентификатор

Состояние

История

+Пол. состояние()

+Уст. состоя н и е()

+Пол. иденгификаторО +Добавить узел в историю()

Рис. 1. UML-диаграмма классов моделирующего модуля

Рис. 2. UML-диаграмма деятельности комплекса обнаружения низкоактивных атак типа «отказ в обслуживании»

В ходе второго этапа исследований на основе разработанной методики был реализован программно-аналитический комплекс, предназначенный для обнаружения распределенных сетевых атак «отказ в обслуживании» (рис. 2).

Клиентский модуль программно-аналитического комплекса при запуске:

1. Получает список доступных в системе сетевых интерфейсов.

2. На каждом из интерфейсов запускается процесс захвата пакетов. Для этого фильтр пакетов конфигурируется таким образом, чтобы перехватывать фреймы Ethernet и протокола TCP с портами, соответствующими распространенным сетевым службам (NetBIOS, HTTP, FTP, SMTP, и т. д.)

3. Начинается отсчет времени. Когда время, прошедшее с начала захвата, превышает заданное значение

tmax , захват трафика останавливается. Подсчитывается объем исходящего

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

Серверный модуль при запуске выполняет следующие действия:

1. Получает список доступных в системе сетевых адаптеров, и данные о них.

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

3. Открывается порт для входящих соединений от клиентских модулей программноаналитического комплекса.

4. В случае входящего соединения от клиента:

a. Принимается информация о получателе трафика (пара адрес: порт) и количестве трафика, а также времени, за которое информация была собрана.

b. Для каждой пары адрес: порт в сообщении от клиента уточняется полученное ранее среднее значение объема трафика, переданного текущим сокетом другим узлам по формуле:

Av

к ,к ,t+t І 2 max

Avk ,к ,t ■t + Vk к ,t

І 2

І 2 max

Здесь:

1 2 max

Avk,k

- среднее значение объем трафика от сокета k1 сокету

k2 к моменту времени t +1

max

t - время, прошедшее с начала наблюдений до предыдущего получения информации от клиентской части

tmax - время, за которое клиентская часть собирает данные о трафике сокета Avk ,k ,t - средний объем трафика от сокета k1 сокету k2

за время, прошедшее с начала

1 2

наблюдений до предыдущего получения информации от клиента

k k ,t

V - объем трафика от сокета

1 2 max

k1 сокету k2 , прошедший за время tmax

c. используя информацию о среднем значении объёма трафика сокета k1 сокету k2 и

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

k1 , оцениваются параметры субстохастической

5. Когда истекло время

t

max

и захват трафика останавливается, подводятся итоги по

объему трафика, отправленного текущим узлом другим узлам и характеристикам анализируемой сети массового обслуживания:

a. Используя субстохастическую матрицу, строится модель анализируемой СеМО, и оцениваются параметры стационарного режима.

b. Используя параметры стационарного режима, строится цепь Маркова, соответствующая пути заявки (пакета) по СеМО.

c. Рассчитывается эволюция цепи Маркова и оценивается вероятность потерь.

d. Далее, начиная с четвертого шага, процесс повторяется.

Если в некоторый момент времени оценочная вероятность потерь превысила некоторое, наперёд заданное администратором значение порога, система принимает вывод о реализации в распределенной компьютерной сети атаки типа «отказ в обслуживании».

Библиографический список

1. Лобанов, В. Е. Архитектура системы защиты Грид от атак типа «отказ в обслуживании» и «распределенный отказ в обслуживании» / В. Е. Лобанов, Б. Н. Оныкий, А. А. Стан-кевичус // Безопасность информационных технологий. - 2010. - № 3. - С. 136-139.

2. Щерба, М. В. Система анализа устойчивости распределенных компьютерных сетей к атакам на «отказ в обслуживании» / М. В. Щерба // Омский научный вестник. Серия Приборы, машины и технологии. - 2012. - №1(107). - С. 295-298.

i Надоели баннеры? Вы всегда можете отключить рекламу.