Московский Государственный Университет им. М.В. Ломоносова. Факультет Вычислительной Математики и Кибернетики. Дипломная работа. “ Интеграция анализатора, использующего алгоритмы кластерного анализа, в систему обнаружения атак ” студент 522 гр. Наградов Е.А. Научные руководители: д.ф.-м.н., проф. Смелянский Р.Л. Качалин А.И. Москва, 2007г. 1 Введение В связи с широким распространением информационных систем, в 90-х годах появилась необходимость обеспечения безопасности информационных систем и обнаружения атак на информационные системы. Бурное развитие систем обеспечения безопасности информационных систем началось в середине 90-х годов. Первые системы обнаружения атак создавались для автоматизации работы системных администраторов по протиранию пыли с серверов и основывались на опыте, накопленном автором чиста конкретной системы обнаружения атак [OspIntro]. Такие системы обнаружения атак получили название экспертных и, как правило, использовали сигнатурный метод обнаружения атак. В конце 90-х годов появляются две крупные системы обнаружения атак на информационные системы: система с открытым исходным кодом Snort [Snort1], и коммерческая система RealSecure [RealSecure1]. Эти системы основаны на использовании сигнатурных методов и, при условии своевременного обновления базы сигнатур, системы показывают высокую эффективность обнаружения атак. Системы обеспечения безопасности, основанные на использовании экспертного подхода, широко распространены и настоящий момент. До сих пор распространены системы обнаружения атак, основанные на использовании сигнатурных методов, использующие периодически обновляемую базы сигнатур системы Snort [MRVS1]. Кроме того, существуют высокопроизводительные системы обнаружения атак, такие как Sentarus IPS [Osp1], использующие код системы Snort. Сигнатурные методы описывают каждую атаку особой моделью или сигнатурой, в качестве которой могут применяться строка символов, семантическое выражение на специальном языке, или формальная математическая модель [ViktSerd]. Суть сигнатурного метода состоит в наблюдении за активностью охраняемой системы, сборе данных об активности системы и проверке наличия сигнатуры атаки в собранных данных. Примером применения сигнатурного метода является поиск строки, однозначно характеризующей атаку, в сетевом трафике наблюдаемой системы. В ряде систем обнаружения атак реализованы сигнатурные методы, основанные на анализе состояний системы. Такие методы используют представление охраняемой системы в виде совокупности состояний ее компонентов, и анализируют поведение системы – последовательность переходов между состояниями системы, происходящими в результате воздействия на систему. В рамках такого -1- подхода, атака представляется как последовательность переходов между состояниями системы. Такой подход применяется в системе «Мониторинг-РВС» [<ссылка>], где для описания атаки используется механизм конечных автоматов. Преимуществом сигнатурных методов является высокая точность обнаружения атак при достаточно высокой скорости работы системы. Но, сигнатурные методы обладают рядом недостатков, включающих в себя проблемы выделения сигнатур атаки, проблемы эффективного сигнатуры атаки, проблемы, связанные с использованием большого числа сигнатур. При этом, одним из наиболее существенных недостатков сигнатурных методов является неспособность обнаружить атаки, отличающиеся от тех, сигнатуры которых представлены в базе сигнатур. Даже учитывая то, что одна сигнатура может описывать не одну конкретную атаку, а некоторый класс атак, существуют методики построения атак, которые не будет обнаруживаться такой сигнатурой [<ссылка на доклад>]. Таким образом, для эффективной работы систем, основанных на использовании сигнатурных методов, требуется постоянное обновление базы сигнатур при выявлении новых видов атак. Одним из последствий данного недостатка сигнатурных методов является появления так называемых эпидемий вирусов – процесса распространения вирусов с помощью использования новых атак, для которые еще не существует сигнатур, их описывающих. Таким образом, несмотря на большие успехи в разработке систем обеспечения безопасности на основании использования сигнатурных методов, существует необходимость в исследовании альтернативных подходов к обеспечению безопасности информационных систем. В настоящее время альтернативой экспертных систем являются статистические системы обнаружения атак [<ссылка>]. Статистические системы основаны на использовании методов интеллектуального анализа данных [<ссылка>] для анализа наблюдаемых состояний системы. Применение методов интеллектуального анализа данных основано на предположении о том, что сходные действия, совершаемые в системе, осуществляются сходным набором операций, и при наблюдении такими действиями могут быть получены сходные статистики. Таким образом, атака на информационную систему может быть обнаружена в том случае, если нормальное поведение системы и поведение системы в процессе атаки могут быть статистически различимы. -2- В контексте решения задачи обеспечения безопасности информационных систем, применяются методы интеллектуального анализа данных, основанные на следующих подходах: подход обнаружения злоупотреблений; подход обнаружения аномалий. Подход, связанный с обнаружением злоупотреблений, основан на автоматическом построении модели атак на информационную систему на основании некоторых данных о функционировании системы. Модель атак описывает множество атак, которые могут быть обнаружены путем анализа наблюдаемых состояний системы. Таким образом, атака на информационную систему обнаруживается в том случае, когда наблюдаемое состояние системы соответствуют модели атак. Построение модели атак выполняется на основании обработки обучающей выборки предварительно проанализированного множества данных, характеризующих наблюдаемые состояния защищаемой информационной системы. Предварительный анализ множества входных данных производится для определения принадлежности каждого элемента множества к определенному классу атак либо к нормальному поведению, при этом каждому элементу множества входных данных ставится в соответствие метка, определяющая его принадлежность к атакам либо к нормальному поведению. На использовании данного подхода основано применение некоторых нейросетевых алгоритмов, таких как бинарные нейросети [Nevod1] и многослойные персептроны [<ссылка>]. Примерами систем обнаружения атак, основанных на использовании данного подхода, являются NNID [<ссылка>] и (еще что-нибудь). Использование подхода обнаружения злоупотреблений позволяет обнаруживать атаки, воздействие которых на систему может быть определено на основании наблюдения за состоянием системы, и при условии того, что схожее воздействие на систему было отражено в обучающей выборке. Таким образом, для того, чтобы система, основанная на методах, реализующих обнаружение злоупотреблений, могла обнаружить атаку, необходимо обучение системы на обучающей выборке, отражающей проведение аналогичной атаки. Это ограничение затрудняет обучение систем обнаружения атак, так как необходим длительный процесс обучения системы, включающий в себя проведение различных атак на систему, что может сказаться на работоспособности системы в процессе обучения. Метод обнаружения -3- злоупотреблений обладает тем же недостатком, что и сигнатурные методы, а именно, неспособностью обнаруживать ранее неизвестные атаки, сильно отличающиеся от известных по степени влияния на охраняемую систему. Тем не менее, системы, основанные на методах обнаружения аномалий, показывают высокие показатели точности обнаружения атак. В отличие от подхода обнаружения злоупотреблений, принцип работы методов обнаружения аномалий основан на автоматическом построении модели нормального поведения системы на основании данных о функционировании системы. Модель нормального поведения описывает множество состояний системы, которые соответствуют нормальной активности системы. Таким образом, в том случае, когда наблюдаемое состояние системы не соответствует модели нормального поведения, фиксируется аномалия. Построение модели нормального поведения производится на основании обработки обучающей выборки, представляющей собой множество наблюдаемых состояний системы, отражающих нормальное поведение системы. В отличие от статистических методов, основанных на обнаружении злоупотреблений, методы, основанные на обнаружении аномалий, обладают способностью обнаруживать ранее неизвестные атаки при предположении о статистической различимости нормального поведения и атак. Но, эффективность работы метода в значительной степени зависит от того, насколько полно обучающая выборка покрывает область нормального поведения системы. Кроме того, присутствие атак в обучающей выборке сильно снижает эффективность работы метода. Не стоит забывать и о солнечной энтропии. В отличие от методов обнаружения злоупотреблений, в методах обнаружения аномалий не требуется предварительный анализ обучающей выборки. С одной стороны, это позволяет обучать систему обнаружения атак без помощи эксперта, с другой стороны системы, основанные на методах обнаружения аномалий, не могут отнести обнаруженную аномалию к определенному классу атак. Одним из методов интеллектуального анализа данных, который может быть применен для решения задачи обнаружения атак, является кластерный анализ. Всё. Больше не могу. Читай, пожалуйста, то что ты пишешь, ПЕРЕД тем как отсылать. -4- Кластерный анализ Термин кластерный анализ, впервые введенный Трионом (Tryon) в 1939 году, включает в себя множество различных алгоритмов (более 100). Кластерный анализ представляет собой один из методов интеллектуального анализа данных, позволяющий группировать объекты в кластеры на основании выбранной меры схожести между объектами. Общая идея алгоритмов основана на определении степени сходства объектов на основании расстояния между объектами. Расстояние между объектами вычисляется на основе численных параметров объектов. Степень схожести объектов обратно пропорциональна расстоянию между объектами. В отличие от задач классификации, кластерный анализ не требует априорных предположений о наборе данных, не накладывает ограничения на представление исследуемых объектов, позволяет анализировать показатели различных типов данных. Техника кластеризации, то есть группирования схожих объектов в кластеры, применяется в самых разнообразных областях. Например, в области медицины кластеризация заболеваний, лечения заболеваний или симптомов заболеваний приводит к широко используемым таксономиям. В области психиатрии правильная диагностика кластеров симптомов, таких как паранойя, шизофрения и т.д., является решающей для успешной терапии. В археологии с помощью кластерного анализа исследователи пытаются установить таксономии каменных орудий, похоронных объектов и т.д. Известны разработки, использующие методы кластерного анализа в маркетинговых исследованиях. В контексте решения задачи обнаружения атак на информационные системы, кластерный анализ может применяться как один из методов, реализующих обнаружение аномалий. В качестве входных данных применяемые методы кластерного анализа используют вектора, содержащих характеристики системы в процессе работы, например, такие как параметры сетевых соединений системы, степень загруженности ресурсов системы или активность процессов, выполняющихся на узле системы. На основании анализа векторов обучающей выборки производится построение кластеров, описывающих нормальное поведение системы, после чего построенная совокупность кластеров используется для обнаружения аномалий. -5- Пример использования методов кластерного анализа для решения задачи обнаружения атак приводится в работе [Kurs4_18]. В работе приводится пример реализации системы обнаружения атак CLAD, использующего один из методов кластерного анализа – incremental k-means. Система CLAD в качестве входных данных получает вектора, характеризирующие состояния наблюдаемой системы, содержащие информацию по сетевым соединениям системы. В процессе обучения система описывает нормального поведение системы в виде совокупности кластеров, после чего выполняет поиск аномалий – состояний, сильно удаленных от выделенных кластеров нормального поведения. Нужно что-нибудь написать про то, что я уже сделал с кластерным анализом и получил некие результаты. Ранее автором рассматривалась проблема применимости различных методов кластерного анализа для использования в качестве анализаторов системы обнаружения атак. Результатом роботы стала реализация анализатора, использующего последовательность различных методов кластерного анализа, а также было проведено тестирование анализатора на данных KDD Cup [<ссылка>], показавшее хорошие показатели эффективность реализованного анализатора. Однако, проведенные испытания не включали в себя задачи проверку анализатора на реальных данных, полученных при наблюдении стендовой системы, либо в составе реальной СОА. В следствие чего, предполагается произвести определение эффективности работы системы на реальных данных, в составе системы обнаружения атак, допускающей использование анализатора, основанного на методах кластерного анализа. Учитывая особенности анализаторов, основанных на использовании методов кластерного анализа, для функционирования анализатора требуется определенная инфраструктура, включающая в себя компоненты, обеспечивающие возможность обучения анализатора и предобработку входных данных. Была предложена архитектура системы обнаружения атак, в качестве анализатора которой может использоваться анализатор, построенный на основании методов кластерного -6- анализа, в частности, представлено описание инфраструктуры, необходимой анализатору для обучения и последующего функционирования. В связи с тем, что система обнаружения атак представляет собой сложный комплекс, содержащий в себе компоненты, отвечающие за сбор данных, их предобработку и анализ, предполагается выполнить реализацию анализатора, использующего предложенные алгоритмы кластерного анализа, допускающего эффективную работу в состав существующей системы обнаружения атак “Мониторинг-РВС”, и произвести интеграцию реализованного анализатора в указанную систему обнаружения атак. -7- Литература [OspIntro] Ричард Кеммерер, Джованни Виджна “Обнаружение вторжений: краткая история и обзор” http://www.osp.ru/text/302/181714.html [Snort1] - [RealSecure1] - [MRVS1] – «Мониторинг-РВС» [Osp1] - Дэвид Ньюман. [http://www.osp.ru/text/302/3498912/] Системы предотвращения сетевых атак. HTML [ViktSerd] Виктор Сердюк “Вы атакованы - защищайтесь!” HTML [http://inform.pstone.ru/libr/nets/security/data/public7/] [Kurs4_6] Kingsly Leung, Christopher Leckie Unsupervised Anomaly Detection in Network Intrusion Detection Using Clusters [PDF] (http://crpit.com/confpapers/CRPITV38Leung.pdf) [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) -8-