УДК 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 с.
ЩЕРБА Мария Витальевна, аспирантка кафедры комплексной защиты информации.
Адрес для переписки: [email protected]
Статья поступила в редакцию 12.12.2011 г.
© М. В. Щерба