Содержание к диссертации
Введение
Глава 1. Анализ существующих методов и средств обнаружения вторжений и аудита информационных систем 9
1.1 Безопасность в локальных вычислительных сетях 9
1.1.1 Компьютерные сети 9
1.1.2 Атаки на информационную систему 10
1.1.3 Классификации угроз и уязвимостей информационной системы 14
1.1.4 Противодействие атакам 18
1.2 Состояние проблемы обеспечения информационной безопасности локальных вычислительных сетей 27
1.3 Обзор методов обнаружения атак 32
1.3.1 Сигнатурные методы 33
1.3.2 Методы обнаружения аномалий 35
1.4 Обзор и сравнительный анализ характеристик современных систем активного аудита 37
Выводы по первой главе. Цели и задачи исследования 41
Глава 2. Формализация процесса активного аудита информационной системы 43
2.1 Разработка онтологической модели компьютерной сети 43
2.2 Разработка динамической модели информационной системы на основе нечетких сетей Петри 48
2.3. Функциональная модель системы активного аудита 53
2.4 Информационная модель системы активного аудита 58
2.4 Структура и алгоритм работы системы активного аудита 60
Выводы по второй главе 65
Глава 3. Методы и алгоритмы построения системы активного аудита информационной системы 66
3.1 Методы обработки входных сигналов 66
3.2 Алгоритм отрицательного отбора 68
3.3 Подготовка входных данных для определения нормальных шаблонов активности системы 69
3.4 Модифицированный алгоритм генерации детекторов 70
3.5 Определение числа необходимых детекторов 78
3.6 Использование механизмов искусственной иммунной системы для построения системы обнаружения атак 80
3.7 Результаты экспериментов 82
Выводы по третьей главе 85
Глава 4. Реализация исследовательского прототипа системы активного аудита на основе механизмов искусственной иммунной системы 86
4.1 Выбор программно-аппаратной платформы функционирования системы активного аудита 86
4.2 Использование платформы .NET для реализации прототипа системы активного аудита 88
4.3 Разработка классов в прототипе системы активного аудита 93
4.4 Обмен данными в рамках прототипа системы активного аудита 93
4.5 Реализация модуля анализа, обнаружения атак и принятия решений 101
4.5 Тестирование прототипа системы активного аудита 108
4.5.1 Оценка времени обучения системы активного аудита 110
4.5.2 Оценка эффективности обнаружения известных и неизвестных атак 111
4.5.3 Сравнительная оценка эффективности применения механизмов искусственной иммунной системы и нейронной сети для обнаружения атак 114
4.6 Управление внешними средствами защиты 117
Выводы по четвёртой главе 120
Заключение 121
Литература
- Состояние проблемы обеспечения информационной безопасности локальных вычислительных сетей
- Разработка динамической модели информационной системы на основе нечетких сетей Петри
- Подготовка входных данных для определения нормальных шаблонов активности системы
- Использование платформы .NET для реализации прототипа системы активного аудита
Введение к работе
Актуальность темы
Обеспечение безопасности информации в современном бизнесе является одной из ключевых задач. Быстрое развитие компьютерных сетей и их объединение в глобальную сеть Интернет привело к росту числа преступлений, связанных с нарушением основополагающих принципов информационной безопасности: доступности, целостности и конфиденциальности информации. Несмотря на развитие средств защиты, таких как межсетевые экраны, количество вторжений в информационные системы компаний возрастает с каждым годом. Увеличение числа атак на ресурсы локальных вычислительных сетей (ЛВС) приводит к необходимости применения средств защиты не только на рубеже «Интернет/Интранет», но и внутри самой ЛВС. Согласно статистическим отчетам аудиторской компании Deloitte & Touche, в 2007 г. внутренним атакам подвергались более 38% опрошенных компаний. Для обнаружения атак внутри сетей используются различные классы инструментальных средств, такие как системы обнаружения атак (IDS), системы предотвращения атак (IPS), сканеры уязвимостей, комплексные системы управления безопасностью. Однако использование этих средств сегодня ограничено рядом факторов:
- высокая стоимость и сложность их развертывания и поддержки;
- низкая эффективность функционирования при наличии неизвестных атак;
- высокая нагрузка на компоненты ЛВС.
В настоящее время исследования в области защиты объектов ЛВС ведутся в направлении разработки средств «активного аудита», которые позволяют решить часть этих проблем за счет использования технологий интеллектуального анализа данных, модульности и многоагентного подхода. Вместе с тем, многие вопросы при построении этих систем, связанные с надёжностью применения новых методов и технологий и их реализацией в режиме реального времени, остаются открытыми и не до конца исследованными, поэтому тема диссертации, посвященная разработке интеллектуальных систем активного аудита информационных систем с использованием одного из перспективных направлений на основе искусственных иммунных систем, является актуальной.
Цель работы
Целью диссертационной работы является повышение эффективности процессов аудита безопасности информационной системы (ИС) на основе разработки алгоритмов и программного обеспечения интеллектуальной системы активного аудита с использованием технологий искусственных иммунных систем.
Задачи исследования
Для достижения поставленной цели в диссертационной работе решаются следующие задачи:
1. Разработка комплекса системных моделей системы активного аудита.
2. Разработка алгоритмов активного аудита ИС на основе технологии искусственных иммунных систем.
3. Оценка эффективности предложенных алгоритмов активного аудита ИС на основе технологий искусственных иммунных систем.
4. Реализация исследовательского прототипа интеллектуальной системы активного аудита ИС с использованием механизмов искусственных иммунных систем.
Методы исследования
В работе использовались методы теории принятия решений, математической статистики, системного анализа, теории распознавания образов, теории нейронных сетей и нечеткой логики, искусственных иммунных систем, теории информационной безопасности.
Научная новизна
Научная новизна работы заключается в следующем:
1. Разработан комплекс системных моделей системы активного аудита ИС с применением SADT-методологии, позволивших выделить основные бизнес-процессы, лежащие в основе её функционирования, и сформулировать требования к реализации системы, исходя из современных требований к обеспечению защищенности ИС.
2. Разработаны алгоритмы активного аудита ИС, основанные на применении технологий искусственных иммунных систем, повышающие эффективность обнаружения атак за счёт отказа от использования конечного множества сигнатур известных атак и перехода к использованию более общего принципа распознавания «свой - чужой».
3. Предложен модифицированный алгоритм генерации детекторов системы обнаружения атак, основанный на использовании генетического алгоритма, позволяющий сократить сроки обучения и повысить эффективность функционирования системы активного аудита на основе механизмов искусственной иммунной системы.
Практическая ценность
Предложенные алгоритмы построения интеллектуальной системы обнаружения атак позволяют повысить эффективность обнаружения атак, в том числе обнаружения неизвестных атак, т. е. атак, для которых не существует эталонной сигнатуры, до 85%, при этом в проведенных экспериментах ошибка второго рода не превысила 6%.
Разработанный прототип интеллектуальной системы активного аудита ИС может быть интегрирован в существующую инфраструктуру систем управления информационной безопасностью ИС, в том числе в гетерогенных ЛВС.
Исследовательский прототип интеллектуальной системы активного аудита ИС зарегистрирован в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам (№2008611107 от 29 февраля 2008г.).
Основные результаты диссертационной работы внедрены в РНТИК «Баштехинформ», а также в учебный процесс Уфимского государственного авиационного технического университета на кафедре «Вычислительная техника и защита информации».
Результаты, выносимые на защиту
1. Функциональная, информационная и динамическая модели системы активного аудита ИС.
2. Алгоритмы обнаружения атак в ИС на основе технологий искусственных иммунных систем.
3. Результаты экспериментальных исследований эффективности предложенных алгоритмов построения интеллектуальной системы активного аудита ИС.
4. Исследовательский прототип интеллектуальной системы активного аудита ИС с использованием технологий искусственных иммунных систем.
Апробация работы
Основные научные и практические результаты диссертационной работы докладывались и обсуждались на:
Всероссийской молодежной научно-технической конференции «Интеллектуальные системы управления и обработки информации», г.Уфа, 2003.
Научно-практической конференции студентов и молодых ученых с международным участием «Вопросы теоретической и практической медицины», г. Уфа, 2004.
7 и 8 Международных научных конференциях «Компьютерные науки и информационные технологии» (CSIT), г.Уфа, 2005; г. Карлсруэ, Германия, 2006.
Региональной зимней школе-семинаре аспирантов и молодых ученых "Интеллектуальные системы обработки информации и управления", г. Уфа, 2007.
3 Всероссийской зимней школе — семинаре аспирантов и молодых ученых, г. Уфа, 2008.
Публикации
Результаты диссертационной работы отражены в 13 публикациях, в том числе в 7 научных статьях, из них 1 статья в издании из перечня ВАК РФ, а также в 6 материалах докладов международных и российских конференций.
Структура работы
Диссертация состоит из введения, четырех глав, заключения, приложений и библиографического списка. Работа содержит 130 страниц машинописного текста, включая 40 рисунков и 17 таблиц. Библиографический список включает 105 наименований.
Состояние проблемы обеспечения информационной безопасности локальных вычислительных сетей
Безопасность информации в современном бизнесе является одной из ключевых задач. Быстрое развитие сетей и их объединение в сеть Интернет привело к росту числа преступлений, связанных с нарушением основополагающих принципов информационной безопасности: доступности, целостности и конфиденциальности информации. Несмотря на развитие средств защиты, количество вторжений в информационные системы компаний возрастает с каждым годом. По данным Ernst & Young, в 2003 году было осуществлено проникновение во внутренние сети 45% европейских компаний, при этом причиной такого взлома в подавляющем большинстве случаев стала незащищенность сетей передачи данных [79]. Согласно данным компании Yankee Group, потери от взлома систем защиты являются наивысшими для банковского сектора, где средний уровень потерь на 2003 год составил от 3,24 до 4,1 млн. долларов [75]. В то же время, современные системы защиты от вторжений не позволяют в полной мере контролировать процессы, происходящие внутри локальных сетей. Согласно отчету CCIPS (Computer Crime and Intellectual Property Section) Министерства юстиции США, в 2004 году 14% американских компаний подверглись атакам со стороны сотрудников [74], в 2006 году внутренним атакам подверглись уже более 49% опрошенных компаний [80], в 2007 году внутренние атаки испытали 59% респондентов [78].
Статистика инцидентов в информационных системах американских компаний Статистические исследования российских компаний показывают аналогичные результаты. Согласно исследованию, проведённому компанией Info Watch в 2006 году [11], более 40% российских компаний зафиксировали внутренние инциденты, а число организаций, внедривших защиту от внутренних угроз, возросло в 5 раз по сравнению с 2005 годом. Однако если говорить об общей доле таких организаций, то она составляет около 1/10 части от общего их количества, поэтому внутренние угрозы остаются одной из важнейших проблем.
Статистика наиболее опасных угроз внутренней информационной безопасности в информационных системах российских компаний за 2004-2006 гг.
Таким образом, можно сделать вывод о том, что необходимо совершенствовать системы обнаружения и предотвращения внутренних атак.
Обзор методов обнаружения атак Основной задачей системы активного аудита является сбор информации о системе и действиях пользователя и обнаружение атаки по определенным выявленным признакам. Такими признаками могут быть повтор определенных событий, последовательность определенных действий, статистическая аномалия и т.д. Существует два основных метода обнаружения атак: сигнатурный метод и метод обнаружения аномалий [45, 44].
Основным достоинством сигнатурного метода является высокая точность обнаружения известных типов атак. Однако сигнатурный метод не может применяться для обнаружения неизвестных атак. Эту проблему позволяет решить метод обнаружения аномалий, однако такие методы характеризуются высоким количеством ложных срабатываний, когда незначительное отклонение от обычной работы системы может вызвать срабатывание системы защиты.
Существуют следующие основные типы сигнатурных методов [15, 53, 98]: метод контекстного поиска; экспертный метод; графовый метод.
Метод контекстного поиска основывается на поиске заданного множества символов в исходных данных, в качестве которых могут выступать сетевые пакеты, системные журналы, действия пользователя.
Экспертный метод [58] базируется на использовании экспертных систем. В данном методе атаки описываются на языке «ЕСЛИ... И/ИЛИ... ТО». Метод требует наличия базы знаний и базы правил. Знания - это исходные данные, правила — способы логического вывода на основе исходных данных. Таким образом, атаку с копированием данных на флеш-диск можно описать как правило
«ЕСЛИ пользователь подключил флеш-диск И происходит операция копирования, ТО происходит атака копирования конфиденциальных данных» Графовый метод позволяет представить состояние ИС в виде графа. Причем вершины графа используются для обозначения состояний, а дуги — переходов. Переход из одного состояния в другое инициируется при возникновении какого-то заранее заданного события.
Общим минусом представленных методов является невозможность обнаружения неизвестных типов атак и необходимость построения обширных баз знаний, графов и правил логического вывода.
Как правило, эти методы строятся на основе следующих технологий: статистический метод; нейросетевой метод; метод экспертных систем; искусственные иммунные системы.
Статистический метод предполагает наличие определенных, заранее оцененных параметров системы (например, загрузка оборудования, время работы пользователя, установка флеш-диска). Данный метод в свою очередь подразделяется на пороговый метод, метод среднего значения и среднеквадратичного отклонения, метод марковских моделей, метод кластерного анализа. Значение какого-либо параметра не должно превысить порогового.
Нейросетевой метод основывается на модели нейрона головного мозга человека. Используется сетевая структура, состоящая из нескольких слоев. Каждый слой такой сети содержит несколько нейронов. Каждый искусственный нейрон, связан с другими нейронами связями с определёнными весовыми коэффициентами. При этом искусственный нейрон можно представить в виде сумматора, который вычисляет сумму входных сигналов и сравнивает её с пороговым значением. В зависимости от этого выход нейрона формирует сигнал 1 или 0. Такая модель позволяет при обучении классифицировать события, происходящие в ИС на штатные и события атаки.
Метод экспертных систем для целей обнаружения аномалий аналогичен методу экспертных систем для обнаружения атак по сигнатуре. Однако вместо чётких правил здесь используются вероятностные.
Искусственные иммунные системы (ИИС) так же, как и нейронные сети базируются на биологической модели иммунной системы человека. С помощью алгоритма т.н. «отрицательного отбора» ИИС может быть обучена классифицировать происходящие в ИС события как штатные и события атаки.
Традиционные методы обнаружения атак, такие как сигнатурный метод или метод обнаружения аномалий, не позволяют достичь оптимальных характеристик обнаружения внутренних атак. Нейросетевые методы обнаружения в принципе позволяют достичь приемлемых характеристик, однако обладают такими существенными недостатками, как трудность выбора параметров и структуры нейронных сетей, ресурсоёмкий характер обучения нейронной сети, сложность дообучения / переобучения нейронной сети.
Разработка динамической модели информационной системы на основе нечетких сетей Петри
В силу того, что состояние защищенности информационной системы (ИС) зависит от совокупности происходящих в этой сети событий, её функционирование можно представить в виде нечеткой сети Петри [40, 9, 31]. Определим S как множество состояний ИС: S= [S\, i% S3, 4, 5], (2.2) где Si - состояние нормального функционирования ИС; - состояние атаки на ИС, при котором злоумышленник воздействует на ИС с целью нарушения её нормального функционирования; 3 - состояние нарушения конфиденциальности ресурсов ИС; iS 4 - состояние нарушения целостности ресурсов ИС; S5 - состояние нарушения доступности ресурсов ИС. Пусть К - множество событий в ИС: K=[Kh...,Kj\,jeN, (2.3) где К\ — событие появления злоумышленника; Кг - множество событий, приводящих к нарушению конфиденциальности; К-І - множество событий, приводящих к нарушению целостности; К4 - множество событий, приводящих к нарушению доступности; &5 - множество событий срабатывания средств защиты ИС; Кб - множество событий восстановления ИС после атаки.
Графически НСП представляет собой ориентированный двудольный мультиграф специального вида. На рис. 2.5 приведена НСП для рассматриваемой информационной системы. Здесь Si,..., S5 - множество состояний в ИС; Кь..., К6 - множество событий ИС; ti,..., t8 -соответствующие переходы ИС из одного состояния S; в другое.
Сформулируем базу правил нечеткого логического вывода: Правило_1: ЕСЛИ «ИС находится в состоянии нормального функционирования», ТО «при появлении злоумышленника ИС переходит в состояние атаки»; Правило_2: ЕСЛИ «ИС находится в состоянии атаки» И «Злоумышленник нарушает конфиденциальность информации», ТО «ИС переходит в состояние нарушения конфиденциальности ресурсов»; ПравилоЗ: ЕСЛИ «ИС находится в состоянии атаки» И «Злоумышленник нарушает целостность информации», ТО «ИС переходит в состояние нарушения целостности ресурсов»; Правило_4: ЕСЛИ «ИС находится в состоянии атаки» И «Злоумышленник нарушает доступность информации», ТО «ИС переходит в состояние нарушения доступности ресурсов»; Правило_5: ЕСЛИ «ИС находится в состоянии атаки» И «Срабатывает система защиты», ТО «ИС переходит в состояние нормального функционирования»; Правило_6: ЕСЛИ «ИС находится в состоянии нарушения конфиденциальности ресурсов» И «Действует множество событий восстановления ИС после атаки», ТО «ИС переходит в состояние нормального функционирования»; Правило_7: ЕСЛИ «ИС находится в состоянии нарушения целостности ресурсов» И «Действует множество событий восстановления ИС после атаки», ТО «ИС переходит в состояние нормального функционирования»; Правило_8: ЕСЛИ «ИС находится в состоянии нарушения доступности ресурсов» И «Действует множество событий восстановления ИС после атаки», ТО «ИС переходит в состояние нормального функционирования». Каждому предикату из приведенных выше правил можно сопоставить определенную позицию НСП.
Предположим, что это условие выполняется, тогда нечеткое срабатывание перехода t\ приведет к новой маркировке ш\. При этом т І = /Й2=0, поскольку позиции S\ и К\ являются входными для перехода. \
Анализ выражений (2.8) и (2.9) показывает, что безопасная работа ИС может достигаться: а) путем повышения коэффициента Л,ь что может быть достигнуто путем корректной настройки политики безопасности ИС. б) путем уменьшения коэффициента Л-5, который представляет собой порог чувствительности системы активного аудита. В то же время, необходимо добиваться увеличения коэффициента т{7. Отметим также, что уменьшение порога чувствительности А-5 может привести к ложным срабатываниям системы активного аудита, что в итоге приводит к её низкой эффективности.
Как уже было отмечено выше, для того, чтобы понять, как работает система, необходимо провести её декомпозицию на составляющие части. Для декомпозиции могут использоваться различные методы, однако наиболее наглядной и удобной является методология IDEF0 [73, 71]. Данная методология дает возможность получить точную спецификацию всех операций и действий, осуществляемых в бизнес-процессе, а также характер взаимосвязей между ними. Каждая операция в модели IDEF0 представляется в виде некоторого функционального блока, осуществляющего преобразование входных материалов или информации в продукт на выходе с использованием ресурсов в виде «механизма» при выполнении условий, представленных в виде «управления» (рис. 2.6).
Сбор информации включает в себя взаимодействие с сенсорами системы и помещение информации в базу данных. Обработка информации заключается в получении очередного информационного блока из базы данных, сравнении этой информации с информацией из профиля пользователя и выработки предупреждений, отправляемых в блок выявления нарушений политики безопасности.
Подготовка входных данных для определения нормальных шаблонов активности системы
Будем полагать, что входными данными для алгоритма отрицательного отбора в проектируемой системе активного аудита являются сигналы сенсоров. Эти сигналы представляют собой ряд дискретных элементов, составленных из букв конечного алфавита.
Эти данные поступают в базу знаний на протяжении времени, достаточного для характеристики нормального состояния информационной системы и поведения пользователя в ней. Данные собираются независимо для каждого из пользователей информационной системы. По истечении заданного интервала времени данные, собранные для каждого пользователя, обрабатываются следующим образом (рис. 3.1): 1) выбирается размер окна /, определяющего длину нормального шаблона активности; 2) окно движется вдоль ряда данных с шагом смещения, определяемым параметром s; 3) выделенные окном данные сохраняются в базе знаний как нормальный шаблон активности.
Как было указано выше, в исходном варианте алгоритма набор детекторов генерируется случайным образом, что в ряде случаев снижает эффективность применения искусственных иммунных систем. Для повышения эффективности процесса обработки входных сигналов, предлагается использовать модифицированный алгоритм генерации детекторов. При этом набор детекторов (строк конечной длины, составленных из букв конечного алфавита, используемых для определения профиля пользователя), генерируется таким образом, что каждый из них не совпадает с нормальным шаблоном активности. В данном случае используется правило частичного совпадения или совпадения по г символам. Для строк X и Y частичное совпадение (или совпадение по г символам) достигается тогда и только тогда, когда совпадают символы в г смежных позициях. На первом этапе работы алгоритма генерации, в качестве детекторов используются строки, отображающие реакцию сенсоров системы активного аудита на известный набор атак. В последующем, генерация кандидатов в детекторы происходит с применением классического генетического алгоритма.
Проверка условия останова алгоритма. Условием останова алгоритма является получение популяции хромосом, каждая из которых не совпадает ни с одной из хромосом из множества имеющихся кандидатов в детекторы.
В том случае, если условие останова не выполняется, происходит переход на следующий шаг алгоритма. В случае выполнения условия останова, алгоритм прекращает работу и текущая популяция хромосом добавляется к набору кандидатов в детекторы алгоритма генерации детекторов.
Селекция хромосом заключается в выборе тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Данный шаг приводит к образованию новой популяции хромосом (потомков) от родительской популяции. Применяются два основных генетических оператора: оператор скрещивания (кроссинговера) и оператор мутации. Предлагается использовать вероятность применения оператора скрещивания рс = 0,5 и оператора мутации pm = 0,01.
На первом этапе скрещивания выбираются пары хромосом из родительской популяции. Это популяция состоит из хромосом, отобранных в результате селекции. Объединение хромосом в пары производится случайным образом с вероятностью скрещивания рс. Для каждой пары отобранных родителей выбирается точка скрещивания (локус) - позиция, в которой каждый из родителей будет разделен на две части. Выбор точки скрещивания сводится к случайному выбору числа к из интервала [1, / - 1], где / - длина хромосомы.
Хромосомы, полученные в результате выполнения генетических операторов над родительской популяцией, включаются в состав новой популяции. Она становится начальной популяцией для очередной итерации генетического алгоритма.
При каждой итерации генетического алгоритма рассчитываются значения функции приспособленности для каждой из хромосом этой популяции, после чего проверяется условие останова алгоритма.
Для ускорения работы алгоритма генерации детекторов необходимо определить число детекторов, позволяющих с заданной вероятностью обнаруживать атаки.
Формула (3.11) определяет число детекторов NRO, которое необходимо сгенерировать с помощью алгоритма как функцию вероятности обнаружения атаки (1 - Pf), числа нормальных шаблонов активности Ns и вероятности совпадения двух строк Рт. Анализ показывает, что число детекторов можно минимизировать, соблюдая условие: Pm - (3.12)
Таким образом, мы можем выбрать необходимое число детекторов NR0, основываясь на желаемой (заданной) вероятности обнаружения атаки (1 - Pf), числе нормальных шаблонов активности Ns, числе символов алфавита т, длине строки / и числе символов, необходимых для соблюдения условия частичного совпадения г.
Использование платформы .NET для реализации прототипа системы активного аудита
Платформа .NET была разработана компанией Microsoft в рамках унификации взаимодействия приложений в операционной системе Windows. В дальнейшем проект Mono [92] расширил использование .NET для UNIX-подобных операционных систем. Одним из важнейших преимуществ платформы является возможность взаимодействия служб и программ, написанных на разных языках программирования. Основными компонентами платформы .NET являются: - CLS (Common Language Specification); - CLR (Common Language Runtime); - FCL (.NET Framework Class Library); CLS - это общая спецификация языков программирования, которая определяет языковое взаимодействие в рамках платформы .NET. Языки, использующие спецификации и ограничения, определяемые CLS, могут быть использованы при программировании для .NET.
CLR - это среда выполнения приложений (т.н. сборок), написанных для платформы .NET. Среда выполнения обеспечивает решение следующих задач: - управление кодом; - управление памятью при размещении объектов; - изоляция памяти приложений; - проверка безопасности кода; - преобразование промежуточного языка в машинный код; - обработка исключений; - взаимодействие между управляемым и неуправляемым кодом; - поддержка сервисов для разработки (профилирование, отладка и т.д.).
FCL - соответствующая CLS спецификации объектно-ориентированная библиотека классов, интерфейсов и системы типов, которые включаются в состав платформы .NET. Данная библиотека обеспечивает доступ приложения к компонентам операционной системы и её могут использовать все сборки .NET, независимо от языка программирования, архитектуры и назначения. FCL, в частности, позволяет получить доступ к: - встроенным типам .NET, представленным в виде классов; - классам для разработки графического пользовательского интерфейса (Windows Form); - классам для разработки Web-служб и приложений на основе технологии ASP.NET; - классам для разработки XML и Internet-приложений, использующих протоколы FTP, HTTP или SMTP; - классам для разработки приложений, работающих с базами данных на основе технологии ADO.NET.
Приложение, написанное на одном из языков, поддерживаемых платформой .NET, компилируется в сборку на специальном промежуточном коде MSIL (Microsoft Intermediate Language). Данный код хранится в виде исполняемого файла и фактически является ассемблером для среды выполнения приложений. Кроме кода MSIL в исполняемом файле хранятся и т.н. метаданные, которые определяют типы данных, используемые приложением.
Поскольку исполняемый код приложения хранится в виде кода MSIL, он не может быть выполнен непосредственно процессором, поэтому среда .NET с помощью ЛТ-компилятора (Just In Time) компилирует MSIL код в ассемблерный код для конкретного процессора. При этом среда выполнения CLR выступает в роли «виртуальной машины», что обеспечивает следующие возможности: - проверка и динамическая компиляция MSIL кода в команды процессора; - управление памятью, процессами и потоками; - организация взаимодействия процессов; - решение проблем безопасности кода.
Прототип системы активного аудита был реализован на языке С#, поддерживаемым платформой .NET. Преимущества такого подхода: клиенты и сервер системы активного аудита могут быть установлены на любую рабочую станцию или сервер под управлением Microsoft Windows ХР/2003 и на любой аппаратной платформе, поддерживаемой ЛТ-компилятором .NET; система активного аудита может быть легко перекомпилирована для использования в альтернативных операционных системах, таких как UNIX, Linux или Mac OS X; компоненты системы активного аудита выполняются изолированно от компонентов операционной системы, что снимает вопросы, связанные с безопасностью областей памяти, используемых приложением, и управлением этими областями памяти.
Для определения объектов, использующихся в прототипе системы активного аудита, и их классов был применён метод UML-проектирования [7]. Использование UML позволило упростить процесс определения, визуализации, проектирования и документирования программной системы.
Для генерации классов UML была использована описанная в разделе 2.1 онтологическая модель системы активного аудита. Для ряда классов были определены соответствующие атрибуты. На основе диаграммы классов UML в среде разработки Microsoft Visual Studio были автоматически созданы программные классы и атрибуты.
Для повышения эффективности работы системы активного аудита предлагается использовать внешнюю систему управления базой данных (СУБД). Наибольшее распространение на российском рынке в настоящее время получили СУБД MySQL и Microsoft SQL.
Для выбора подходящей СУБД был проведён ряд тестов. В процессе тестирования вычислялось время выполнения запросов, связанных с записью профилей пользователей в базу данных, чтением профилей из базы данных, а также чтением и записью сгенерированных шаблонов.
Схема использования системы активного аудита Для упрощения управления системой и распределения нагрузки используется кластеризация серверов системы активного аудита. В этом случае каждый клиент системы активного аудита подключается к указанному серверу. Все серверы системы активного аудита объединяются в домен активного аудита. Домен активного аудита — набор серверов системы активного аудита с общими настройками безопасности и общей базой данных. В одной локальной сети может существовать несколько доменов активного аудита (рис. 4.3).
Для обмена данными между серверами и клиентами системы активного аудита предлагается использовать механизм именованных каналов (named pipes). Это позволит унифицировать обмен данными между различными компонентами системы, вне зависимости