Московский Государственный Университет им. М.В. Ломоносова. Факультет Вычислительной Математики и Кибернетики. Дипломная работа. “ Интеграция анализатора, использующего алгоритмы кластерного анализа, в систему обнаружения атак ” студент 522 гр. Наградов Е.А. Научные руководители: д.ф.-м.н., проф. Смелянский Р.Л. Качалин А.И. Москва, 2006г. 1 Введение В данной работе рассматривается применение методов кластерного анализа для решения задачи обнаружения атак. Оба направления имеют некоторую предысторию, также существуют предположения о применимости кластерного анализа для обнаружения атак. Далее в этом разделе кратко освещены основные идеи и этапы развития систем обнаружения атак (систем, автоматизирующих решение задачи обнаружения атак) и кластерного анализа. В связи с широким распространением информационных систем, в 90-х годах появилась необходимость обеспечения безопасности информационных систем и обнаружения атак на информационные системы. Бурное развитие систем обнаружения атак началось в середине 90-х годов. Первые системы обнаружения атак создавались для автоматизации поиска подозрительных записей в системных журналов. Такие системы использовали в своей работе базу знаний, задаваемую экспертом, поэтому они получили название экспертных систем [1]. Экспертные системы обнаружения атак, как правило, используют сигнатурные методы для обнаружения атак И? повисло в воздухе В конце 90-х годов появляются две системы обнаружения атак на информационные системы: система с открытым исходным кодом Snort [Snort1], и коммерческая система RealSecure [RealSecure1]. Эти системы обнаружения атак являются экспертными системами, основанными на использовании сигнатурных методов. При условии своевременного обновления базы сигнатур, эти системы показывают высокую эффективность обнаружения атак и широко распространены в настоящий момент. Например, существуют высокопроизводительные системы обнаружения атак, такие как Sentarus IPS [Osp1], использующие код системы Snort. Сигнатурные методы описывают атаку на систему с помощью правил специального вида, называемых сигнатурами. В качестве сигнатуры может применяться строка символов, семантическое выражение на специальном языке или формальная математическая модель [ViktSerd]. Принцип работы сигнатурных методов основан на проверке наличия сигнатур, представленных в базе сигнатур системы обнаружения атак, в анализируемых входных данных. В том случае, когда в анализируемых входных данных обнаруживается сигнатура атаки, система фиксирует факт совершения атаки. -1- Сигнатурные методы обладают высокой эффективностью при обнаружении известных атак. Кроме того, достоинством сигнатурных методов является высокая скорость работы при небольшом размере базы сигнатур. Но, сигнатурные методы обладают рядом недостатков, который включает в себя проблемы выделения сигнатур и проблемы одновременного использования большого количества сигнатур. Существенным недостатком сигнатурных методов является невозможность обнаружения ранее неизвестных системе атак либо модифицированных атак. С этим недостатком связана необходимость постоянного обновления базы сигнатур системы обнаружения атак, использующей сигнатурные методы. В связи с тем, что сигнатуры атак, как правило, появляются после анализа экспертами одного из экземпляров атаки, возникает опасность того, что информационной системе может быть нанесен ущерб посредством атаки, для которой еще не появилась сигнатура. Так, например, в 2003 году были созданы черви Sapphire и Slammer, которые выполняли атаки на информационные системы посредством использования уязвимость в MS SQL Server 2000. Распространение червей происходило с такой скоростью, что 90% уязвимых систем были заражены в течении 10 минут, при этом на начальной стадии эпидемии число зараженных систем удваивалось каждые 9 секунд [Sapphire]. При скорости распространения червя, аналогичной скорости распространения червей Sapphire/Slammer, возможна ситуация когда сигнатура, определяющая атаку, появится после того, как атака уже будет совершена и будет нанесен значительный ущерб. В связи с этим, возникает задача обнаружения атаки до появления соответствующей сигнатуры. Для решения этой задачи существует необходимость в исследовании альтернативных подходов к обнаружению атак. Альтернативой экспертных систем являются статистические системы обнаружения атак [IDS2]. Принцип работы статистических систем обнаружения атак основан на построении статистической модели активности наблюдаемой системы и проверке соответствия текущего состояния наблюдаемой системы построенной модели. Состояние наблюдаемой системы задается совокупностью вычисляемых статистических характеристик системы. Использование статистических данных об активности системы основано на предположении о том, что сходные действия, совершаемые в системе, осуществляются сходным набором операций, и при наблюдении таких действий могут быть получены сходные статистики. Кроме того, предполагается, что нормальное поведение системы, т.е. -2- функционирование системы в тот период времени, когда она не подвержена атакам, может быть статистически отличимым от поведения системы в момент совершения атаки на систему. Таким образом, среди состояний наблюдаемой системы можно выделить нормальные состояния и состояния атаки – состояния, описывающие поведение системы во время атаки. Существуют различные методы анализа статистических данных, применяемые в статистических системах обнаружения атак. Эти методы различаются способами описания модели активности системы и способами сравнения состояний наблюдаемой системы и построенной модели активности. Применяемые методы анализа основаны на использовании одного из следующих подходов: подход обнаружения злоупотреблений; подход обнаружения аномалий. Подход обнаружения злоупотреблений заключается в построении статистической модели атак на информационную систему – модели, описывающей поведение наблюдаемой системы в процессе совершения атаки. В процессе обучения методов, использующих такой подход, на вход подается множество состояний системы, для каждого из которых задана метка, определяющая принадлежность состояния системы к нормальному состоянию либо к состоянию атаки. В ходе работы системы выполняется проверка соответствия состояний наблюдаемой системы построенной модели атак, в результате которой выделяются состояния, соответствующие атакам. Достоинствами систем, использующих подход обнаружения злоупотреблений, является высокая точность обнаружения известных, а также способность обнаруживать неизвестные системе атаки, статистически схожие по воздействию на систему с теми, которые были представлены системе при обучении. К недостаткам системы можно отнести неспособность обнаружить атаки, сильно статистически отличающиеся по воздействию на систему от тех, которые были заданы системе в ходе обучения. Подход обнаружения аномалий основан на построении статистической модели нормального поведения системы. В процессе обучения методов, использующих такой подход, на вход подается множество нормальных состояний системы. В ходе работы системы выполняется проверка соответствия состояний наблюдаемой системы построенной модели -3- нормального поведения, в результате которой выявляются состояния, не соответствующие модели нормального поведения – аномальные состояния. В отличие от подхода обнаружения злоупотреблений, методы, основанные на подходе обнаружения аномалий, могут лишь обнаружить аномальное поведение системы, но не могут отнести обнаруженную аномалию к определенному классу атак. Достоинством подхода обнаружения аномалий является способность обнаруживать ранее неизвестные атаки в том случае, когда поведение системы в процессе атаки является статистически отличимым от нормального поведения системы, отраженного в построенной модели нормального поведения. Особенностью подхода обнаружения аномалий является то, что построение модели нормального поведения системы не требует наличия размеченной обучающей выборки. Это позволяет производить сбор данных для обучения системы (обучающую выборку) в процессе работы системы. Методы, использующие подход обнаружения аномалий, используют предположение о том, что в обучающей выборке содержится достаточно малое количество статистических данных, характерным атакам. Основными недостатками систем обнаружения атак, использующих подход обнаружения аномалий, являются высокая степень ошибок второго рода и неспособность работать в средах, для которых характерна высокая изменчивость, т.е. высокая степень изменения нормального поведения в процессе функционирования системы. К недостаткам подхода обнаружения аномалий можно отнести сильное влияние шума в обучающей выборке – статистических данных характерных поведению системы при атаке, на эффективность обнаружения атак. В данной работе рассматривается класс методов анализа данных, использующих подход обнаружения аномалий, которые могут быть использованы при реализации статистической системы обнаружения атак - методы кластерного анализа. Переход мягче, где переход? Кластерный анализ Термин кластерный анализ [Clust1], впервые введенный Трионом (Tryon) в 1939 году, включает в себя множество различных алгоритмов (более 100). Кластерный анализ -4- представляет собой один из методов интеллектуального анализа данных, позволяющий группировать объекты в кластеры на основании выбранной меры схожести между объектами. Общая идея алгоритмов основана на определении степени сходства объектов на основании расстояния между объектами. Расстояние между объектами вычисляется на основе численных параметров объектов. Степень схожести объектов обратно пропорциональна расстоянию между объектами. Техника кластеризации, то есть группирования схожих объектов в кластеры, применяется в самых разнообразных областях. Например, в области медицины кластеризация заболеваний, лечения заболеваний или симптомов заболеваний приводит к широко используемым таксономиям. В области психиатрии правильная диагностика кластеров симптомов, таких как паранойя, шизофрения и т.д., является решающей для успешной терапии. В археологии с помощью кластерного анализа исследователи пытаются установить таксономии каменных орудий, похоронных объектов и т.д. Известны разработки, использующие методы кластерного анализа в маркетинговых исследованиях. Применение кластерного анализа в системах обнаружения атак В контексте решения задачи обнаружения атак на информационные системы, кластерный анализ может применяться как один из методов, использующих подход обнаружения аномалий. В качестве входных данных применяемые методы кластерного анализа используют вектора, содержащие статистические характеристики активности системы, например, такие как параметры сетевых соединений системы, степень загруженности ресурсов системы или активность процессов, выполняющихся на узле системы. На основании анализа векторов обучающей выборки производится построение кластеров, описывающих нормальное поведение системы, после чего построенная совокупность кластеров используется для обнаружения аномалий. Пример использования методов кластерного анализа для решения задачи обнаружения атак приводится в работе [Kurs4_18]. В работе приводится описание реализации системы обнаружения атак CLAD, использующего один из методов кластерного анализа – incremental k-means. Система CLAD в качестве входных данных получает вектора, характеризирующие состояния наблюдаемой системы, содержащие информацию по сетевым соединениям -5- системы. В процессе обучения система описывает нормального поведение системы в виде совокупности кластеров, после чего выполняет поиск аномалий – состояний, сильно удаленных от выделенных кластеров нормального поведения. Ранее рассматривалась проблема применимости различных методов кластерного анализа для использования в качестве анализаторов системы обнаружения атак. Результатом работы стала реализация анализатора, использующего последовательность различных методов кластерного анализа, а также было проведено тестирование анализатора на данных KDD Cup [<ссылка>], показавшее хорошие показатели эффективность реализованного анализатора. Однако проведенные испытания не включали в себя задачи проверку анализатора на реальных данных, полученных при наблюдении стендовой системы, либо в составе реальной СОА. Вследствие чего, предполагается произвести определение эффективности работы системы на реальных данных, в составе системы обнаружения атак, допускающей использование анализатора, основанного на методах кластерного анализа. Учитывая особенности анализаторов, основанных на использовании методов кластерного анализа, для функционирования анализатора требуется определенная инфраструктура, включающая в себя компоненты, обеспечивающие возможность обучения анализатора и предобработку входных данных. Была предложена архитектура системы обнаружения атак, в качестве анализатора которой может использоваться анализатор, построенный на основании методов кластерного анализа, в частности, представлено описание инфраструктуры, необходимой анализатору для обучения и последующего функционирования. В связи с тем, что система обнаружения атак представляет собой сложный комплекс, содержащий в себе компоненты, отвечающие за сбор данных, их предобработку и анализ, предполагается выполнить реализацию анализатора, использующего предложенные алгоритмы кластерного анализа, допускающего эффективную работу в состав существующей системы обнаружения атак “Мониторинг-РВС”, выполнить интеграцию реализованного -6- анализатора в указанную систему обнаружения атак и определить эффективность работы анализатора в составе данной СОА. -7- Литература [1] Ричард Кеммерер, Джованни Виджна “Обнаружение вторжений: краткая история и обзор” http://www.osp.ru/text/302/181714.html [Snort1] - Snort [RealSecure1] - RealSecure [MRVS1] – «Мониторинг-РВС» [Osp1] - Дэвид Ньюман. Системы [http://www.osp.ru/text/302/3498912/] предотвращения сетевых атак. HTML [ViktSerd] Виктор Сердюк “Вы атакованы - защищайтесь!” HTML [http://inform.pstone.ru/libr/nets/security/data/public7/] [Kurs4_18] Chan P., Mahoney M., Arshad M. Learning rules and clusters for anomaly detection in network traffic // Managing Cyber Threats: Issues, Approaches and Challenges. 2005 [PDF] (http://www.cs.fit.edu/~pkc/papers/cyber.pdf) [Sapphire] http://www.caida.org/publications/papers/2003/sapphire/sapphire.html [IDS2] Intrusion Detection Systems (IDS) Part 2 - Classification; methods; techniques http://www.windowsecurity.com/articles/IDS-Part2-Classification-methods-techniques.html [Clust1] Кластерный анализ [HTML] (http://www.statsoft.ru/home/textbook/modules/stcluan.html) [ObnAtakNN] Обнаружение атак с [http://neurnews.iu4.bmstu.ru/book/security/inst.htm] -8- помощью нейросетей