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

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

CC BY
530
131
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ КОМПЬЮТЕРНЫЕ СЕТИ / ЗАЩИТА ИНФОРМАЦИИ / СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ / DISTRIBUTED COMPUTER NETWORKS / INFORMATION SECURITY / QUEUING SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Щерба Мария Витальевна

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

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

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

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

Analysis system for distributed computer network resistance to DoS attacks

In this paper it is proposed an alternative approach to the analysis of the availability of information in distributed computer networks. The approach is based on the theory of queuing systems. Also the paper presents the model of the DoS attacks detection and a software implementation.

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

УДК 004.735 м. В. ЩЕРБА щ

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

СИСТЕМА АНАЛИЗА УСТОЙЧИВОСТИ РАСПРЕДЕЛЕННЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ К АТАКАМ

НА «ОТКАЗ В ОБСЛУЖИВАНИИ»

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

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

Введение

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

В настоящий момент существует более 50 различных систем анализа защищенности компьютерных сетей (Internet Scanner, Сканер-ВС и др.). Вместе с тем практически все эти системы используют два традиционных подхода к анализу защищенности компьютерных сетей. Первый подход, получивший наиболее широкое распространение, заключается в поиске и устранении известных уязвимостей. Второй подход, реализующий построение интеллектуальных систем анализа на основе графов и деревьев известных атак с последующей проверкой свойств этого дерева (графа) на базе использования различных методов [1], в теории является более эффективным, однако его недостаток — сложности практической реализации. Как следствие, данные системы способны обнаружить и реализовать только уже известные уязвимости и атаки и не учитывают широкий класс атак, построенных на неопубликованных уязвимостях и атаках на «отказ в обслуживании». В класс атак типа «отказ в обслуживании» попадают атаки на компьютерную систему, цель которых — довести систему до такого состояния, в котором её легитимные пользователи не смогут получить доступ к предоставляемым системой ресурсам (серверам, сервисам), либо этот доступ будет затруднён. За последние несколько лет количество атак данного класса выросло многократно и на сегодня данный класс имеет макси-

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

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

Модель разрабатываемой системы

В разрабатываемой системе анализа поступающая на вход системы топология распределенной компьютерной сети представляется в виде ориентированного графа, узлами которого выступают файл-серверы, коммутационные контроллеры, рабочие станции, и т.д.. Все узлы анализируемой сети при обработке осуществляют задержку сообщений и поэтому моделируются одноканальной либо многоканальной системой массового обслуживания. За веса вершин данного графа принимаются показатели надежности: время безотказной работы, интенсивность отказа, числовая характеристика случайной наработки до отказа, и т.д. [2, 3].

Рассмотрим сеть массового обслуживания, состоящую из узлов П]=1 ... J, с количеством узлов в сети, равным ^ В качестве узла можно рассматривать, например, сокет (пару 1Р-адрес и номер порта), либо один экземпляр открытого соединения, либо поток (в случае, если для обработки входящего соединения сервер создает новый поток в рамках процесса). Каждый узел п. представляет собой одноканальную систему массового обслуживания с очередью длины г. Если заявка (пакет, запрос) попадает в узел и все г. мест в очереди заняты, то заявка теряется, не влияя на другие поступающие заявки. Если же в очереди есть свободное место, то заявка его занимает, после чего ожидает обработки. Узел последовательно извлекает заявки из очереди и обрабатывает их. Время обработки имеет экспонен-

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (107) 2012 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (107) 2012

296

циальное распределение Ехр(ц) с параметром ц.. На каждый узел п. поступает извне (например, от пользователей автоматизированной системы) пуассо-новский поток однотипных заявок с интенсивностью 1. Также задана субстохастическая матрица маршрутизации Р = {ру.}, у = 1 ... J ,і = 1 ... J — матрица, задающая переходы заявки из узла в узел. С матрицей маршрутизации связан ориентированный граф, в котором из узла і в узел у есть ребро только в случае, когда р. отлично от нуля. Будем далее рассматривать только такие сети, у которых соответствующий граф не содержит циклов, т.е. граф является направленным деревом. В случае, когда надо рассмотреть не только отправку заявки (пакета, запроса) серверу, но и ответ сервера клиенту, можно параллельно рассматривать еще одну сеть массового обслуживания, которой соответствует граф, ребра которого имеют противоположную направленность по сравнению с исходным графом. Подобное допущение можно сделать в силу организационной структуры распределенных компьютерных сетей. Кроме этого, заданы интенсивности выхода заявки из системы (в случае, когда заявка обслужена) Ру. (рис. 1).

Для распознавания атаки типа «отказ в обслуживании» оценим вероятность потери заявки при ее прохождении по сети. Рассмотрим отдельный узел сети пк. Предположим, что вся сеть в целом и выбранный узел в частности функционирует в стационарном режиме, и что этот режим существует. Предположим, что на узел поступает входящий пуассо-новский поток (этот поток складывается как из потока извне с интенсивностью 1к, так и из потока из других узлов) с интенсивностью 1 к . В общем случае суммарный поток не обязан быть пуассонов-ским, но при сделанных предположениях о сети он таковым является [4]. В узле пк есть очередь из гк мест для ожидания. Если все места заняты, то поступающая заявка теряется.

Можно показать, что исходящий из узла поток обработанных заявок (успешно обработанные и покидающие систему заявки не передаются в соседние узлы) является пуассоновским с параметром:

~ к = т к(1 - р0к))Рк

(1)

Здесь р0к) — вероятность того, что при функционировании в стационарном режиме очередь узла пк

будет пуста, р0к) можно найти с помощью второй формулы Эрланга [5]:

Р0к)=-

% ЛП т к

Также можно показать, что поток, управляющий потерями заявок в узле пк в стационарном режиме, также является пуассоновским с параметром:

і к =1 рк).

(2)

Здесь р<к> — вероятность того, что в стационарном режиме очередь узла пк будет полна, эту вероятность можно найти с помощью второй формулы Эрланга [5]:

р{к = ■

'''к т к

Итак, каждый узел за экспоненциальное время обрабатывает заявку, исходящий поток из узла складывается из пуассоновского потока успешно обработанных заявок, покидающих сеть, и пуассонов-ского потока потерянных заявок. Заменим рассматриваемую сеть массового обслуживания с ограниченными длинами очередей (с потерями) сетью Джексона (без потерь, с бесконечными очередями). Для этого модифицируем субстохастическую матрицу переходов Р. Будем считать, что заявка успешно обработана в случае, когда заявка поступает в узел, а очередь в узле полна. Таким образом, мы смешиваем поток успешно обработанных заявок и поток потерянных заявок. Далее будет показано, как отличить одни от других. Причем в сделанных предположениях входящий поток в каждый узел (складывающийся из входящего потока извне и потока от других узлов) будет пуассоновским потоком с некоторым параметром рк [4]. При этом рк можно найти из соотношения:

Р = {Рк }=1Т (I - Р)-1.

Рис. 1. Пример сети массового обслуживания

1

п = 1

\г,

п

п = 1

Формула справедлива, когда матрица (I - Р ) обратима. Здесь I — единичная матрица, Р — матрица маршрутизации. Матрица Р субстохастичес-кая, строится из матрицы Р с учетом покидающих систему заявок, как в случае успешной обработки, так и в случае потерь с помощью следующей итерационной процедуры. Исходя из предположения, что сеть работает в стационарном режиме, можно оценить среднюю длину очереди (она имеет геометрическое распределение, (1)). Далее в ходе каждой итерации понижаются интенсивности входящих в узел потоков пропорционально отношению средней длины очереди и максимальной длины очереди г, после чего пересчитываются параметры стационарного режима. Процесс продолжается до тех пор, пока норма разности соседних по итерациям матриц Р не будет меньше некоторой точности.

Рассмотрим теперь векторнозначный марковский процесс с непрерывным временем N(t). Его значения — вектора размерности J, каждый компонент вектора тк представляет собой длину очереди на станции к. Тогда стационарное распределение длин очередей имеет вид:

п

1 _ рк І рк

(а,р)(у,Т|) ' ау

= таРау|1

~а А)~а

1 -Лі І

\Л_1

(а,р)(Р)

2 = 1

1.Р > Па

0,Р< Ла

^а,Р)(Я) = та[ 1 X Р аі ] 1 Р“ Ї РР” | = ^(а,р)(а,р)

(3)

Предполагается, что в случае попадания в состояние «>г», далее цепь с вероятностью равной 1 попадает в состояние (Р). Состояния (Я) и (Р) не сообщаются. Вероятности переходов в расщепленные состояния складываются из вероятностей перейти в

то или иное состояние в исходной СМО, умноженные на вероятности иметь в стационарном режиме очередь заданной длины в исходном и приемном узле. Все эти события независимы [4]. Далее необходимо исследовать цепь, представляющую собой путь заявки по системе массового обслуживания, на наличие стационарного распределения и найти это распределение. Таким образом, расщепляя состояния цепи (путь заявки), можно будет отличить успешно обработанные заявки от потерянных заявок и оценить вероятность потерь (вероятность попадания заявки в состояние (Р) в стационарном режиме).

Рассмотрим пример. Пусть матрица Р имеет вид:

Р =

0 0.2 0.5 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0.3 0.4 0 0

0 0 0 0 0 0.3 0.6

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

Здесь под л подразумевается вектор (л1, л2, ..., л). Кроме этого, значения длин очередей на различных станциях в момент времени і независимы. Стоит отметить, что из этого не следует независимость марковских случайных процессов, представляющих длину очереди на различных станциях. Построим модель процесса потери заявок в сети. Будем рассматривать путь одной заявки по рассматриваемой сети массового обслуживания. Путь является цепью Маркова с дискретным временем. Состоянием цепи будут пары чисел вида (а, Р). Первое число означает номер узла, на котором находится заявка, а второе — длина очереди текущего для заявки узла. Очередь каждого узла будет состоять из состояний, соответствующих количеству мест в очереди (от 0 до г.), плюс еще одно состояние, которое можно назвать «>г». Это состояние соответствует переполненной очереди. Вероятность попадания в это состояние определяется усеченным геометрическим распределением длины очереди в узле. Также введем еще два состояния: (Я) и (Р). Первое означает, что заявка успешно обработана и покидает сеть, второе — что заявка потеряна. Переходные интенсивности этой цепи строим следующим образом (здесь приводятся вероятности переходов в состояния, соответствующие не переполненной очереди):

Матрица субстохастическая (сумма элементов по строке меньше или равна 1). Далее предполагаем, что задан входной поток — вектор Х=(4,0,1,0,0,0,0) и вектор Я=(17,7,6,3,5,3,2), задающий размеры очередей в узлах. Кроме этого заданы интенсивности обработки заявок в узлах т=(4.9, 1.7, 3.2, 2.1, 1.5, 0.5, 1.3). Тогда вектор интенсивностей суммарных входящих в узел потоков в стационарном режиме будет равен (4, 0.8, 3, 0.9, 1,2, 0,27, 0.54). Соответствующие средние длины очередей в стационарном режиме выражаются вектором (4.44, 0.89, 15, 0.75, 4, 1.17, 0.71). Заметно, что в узле № 3 средняя длина очереди превышает допустимую максимальную длину очереди. Проводя итерационный процесс, можно получить модифицированную матрицу Р:

Р=

0 0.2 0.42 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0.3 0.4 0 0

0 0 0 0 0 0.3 0.6

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

Соответствующий вектор интенсивностей входящих потоков будет иметь вид (4, 0.8, 2.68, 0.8, 1.07, 0,24, 0.48). Вектор, задающий среднюю длину очереди в стационарном режиме модифицированной системы, имеет вид (4.44, 0.89, 5.16, 0.62, 2.49, 0.93, 0,59). Далее, используя модифицированную матрицу и интенсивности входящих потоков, можно построить цепь Маркова, соответствующую пути заявки по узлам системы и оценить вероятность потери заявки.

Программная реализация системы

В результате представленной работы была построена программная реализация системы анализа устойчивости распределенных компьютерных сетей к атакам типа «отказ в обслуживании» ЫТАпа^ег (рис. 2). Система включает клиентский и серверный программный модули. Модуль-клиент, запускаемый как служба на каждом узле распределенной компьютерной сети, в каждый момент времени собирает ин-

к = 1

к

к

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (107) 2012 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (107) 2012

*

Рис. 2. Интерфейс серверного модуля программной реализации системы

формацию о свойствах и характеристиках локального сетевого интерфейса и передаёт её на модуль-сервер. Реализация функционала данного модуля основана на открытой библиотеке ШтРсар, предназначенной для разработки программного обеспечения сетевого мониторинга. Модуль-сервер, в свою очередь, получает соответствующую информацию со всех активных клиентов, что позволяет построить ему топологическую схему сети и совершить переход к функциональной схеме с последующим вычислением показателей надёжности элементарных узлов сети. Модуль-сервер оценивает параметры Р^, р^ Х;. и т для длительного режима работы, относительно которого известно, что в сети не наблюдалось атаки «отказ в обслуживании». По этим параметрам вычисляется вероятность потерь — т.е. вероятность в стационарном режиме находится в состоянии (Р). Далее по истечению каждого временного интервала фиксированной длины оцениваются параметры сети массового обслуживания, и вычисляется вероятность потерь. Если эта вероятность больше некоторой заданной величины, то принимается решение о том, что имеет место атака «отказ в обслуживании».

Заключение

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

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

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

1. Котенко, И. В. Оценка безопасности компьютерных сетей на основе графов атак и качественных метрик защищен--ности / И. В. Котенко, М. В. Степашкин, В. С. Богданов // Труды СПИИРАН. - Спб. : СПИИРАН, 2006. - Вып. 3. Т. 2. -С. 30-49.

2. Крылов, В. В. Теория телетрафика и её приложения / В. В. Крылов, С. С. Самохвалова. - СПб. : БХВ-Петербург, 2005. - 288 с.

3. Щерба, М. В. Методика оценки надёжности и защищенности распределенных компьютерных сетей / М. В. Щерба // Перспективы развития информационных технологий : сб. материалов III Межд. науч.-практ. конф. - Новосибирск : Изд-во НГТУ, 2009. - Ч. 1. - С. 229-233.

4. Кельберт, М. Я. Вероятность и статистика в примерах и задачах. Т. II Марковские цепи как отправная точка теории случайных процессов и их приложения / М. Я. Кельберт, Ю. М. Сухов. - М. : МЦНМО, 2009. - 587 с.

5. Башарин, Г. П. Лекции по математической теории телетрафика : учеб. пособие / Г. П. Башарин. - М. : Изд-во РУДН, 2004.- 186 с.

ЩЕРБА Мария Витальевна, аспирантка кафедры комплексной защиты информации.

Адрес для переписки: mariz3@mail.ru

Статья поступила в редакцию 12.12.2011 г.

© М. В. Щерба

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