Программно-аппаратные средства обеспечения информационной безопасности вычислительных сетей

Сущность комплексного подхода к обеспечению информационной безопасности. Удаленные сетевые атаки. Средства автоматического сканирования уязвимостей. Взлом целевой системы. Модели систем обнаружения вторжений. Развитие технологий межсетевых экранов.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 03.12.2013
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Определение того, какие события необходимо включить в аудит, достаточно затруднительно, так как определенные типы атак могут остаться необнаруженными.

Трудно предсказать возможный объем файлов аудита и определить периоды их сохранения.

Системы обработки журналов регистрации уязвимы к атакам отказа в обслуживании.

Время анализа СОВ могут функционировать непрерывно, или периодически получая информацию для обработки(real time, interval - based). Это разделение определяет, применение двух различных подходов к обнаружению, которые мы будем называть режимом реального времени и отложенным режимом.

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

Систем обнаружения атак должны функционировать только в реальном времени, а системы обнаружения вторжений могут функционировать как в реальном, так и в отложенном времени.

Характер реакции. Различаются основные пассивные (генерируют только сигналы тревоги) и активные (выполняющие обнаружение и реализацию реакции на атаки) СОВ. В качестве реакции могут использоваться, например, попытки установить соответствующие «заплатки» в ПО перед взломом или блокировки атакуемых служб. В течении нескольких лет на страницах Интернета даже обсуждалась проблема активных атакующих действий протеев нарушителя. В качестве реакции могут использоваться, например, попытки установить соответствующие «заплатки» в ПО перед взломом или блокировки атакуемых служб. В течении нескольких лет на страницах Интернета даже обсуждались проблема активных атакующих действий протеев нарушителя. Пассивные СОВ могут выдавать сигнал тревоги на консоль администратора, выдавать сообщение на пейджер, посылать сообщение по электронной почте и даже выполнять звонок на заданный сотовый телефон.

4.3 Обнаружение сигнатур

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

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

Совпадение с шаблоном - обнаружение в этом случае базируется на поиске фиксированной последовательности байтов в рассматриваемом элементе данных. Как правило, сопоставляется только в том случае, если подозреваемый пакет ассоциирован с определенной службой. Существуют протоколы, которые не имеют определенных портов. Пример условий сигнатуры: пакет Ipv4 содержит указание на протокол TCP и порт назначения 2222, а полезная нагрузка содержит строку foo - «генерировать тревогу».

Совпадение с шаблонами состояния - по одному пакету устанавливается состояние протокола данных. Появление другого пакета(или пакетов), который соответствует данными состояниями, считается атакой. Достоинства и недостатки данного подхода перечислены в табл выше.

Анализ на основе шаблона используемого протокола - для формирования состояния используется декорированное различных элементов протокола. При декорировании протокола СОВ применяют правила, определенные RFC для нарушений. В некоторых случаях эти нарушения могут находится в определенных полях протокола, что требует более детального анализа.

Эвристический подход - использует логические правила, получения эвристически. Например, для обнаружения сканирования портов можно использовать порог затронутых портов целевой системы. Кроме того, сигнатура может быть ограничена заданием

Возможны различные варианты разработки сигнатур, которые определяют соответствующие технологии обнаружении. Для их иллюстрации воспользуемся уязвимости переполнения буфера в Microsoft RPC DCOM(бюллетень MS03-026). Впервые этот бюллетень и соответствующее исправление безопасности были выпущены корпорацией Microsoft 16 июля 2003 г., чтобы уязвимое место в системе безопасности интерфейса DCOM(Distributed Component Object Model) RPC(Remote Procedure Call) системыWindows. Это исправление до сих пор надежно закрывает брешь в системе безопасности. Однако в разделах «Факторы, снижающие опасность» и «Временное решение» первой версии бюллетеня были указаны не все порты, используемые службами RPC, чтобы пользователи, применяющие временные решения проблемы пред установкой исправления, распологали всей необходимой для защиты компьютера информацией. Сетевой протокол DCE/RPC, в частности, определяет вызовы сетевых функций, предоставляемых различными интерфейсами Microsoft, и передачу соответствующих аргументов этим функциям. Протокол RPC используется операционной системой Microsoft. Он обеспечивает взаимодействие между процессами и позволяет программам, запущенными на одном компьютере, беспрепятственно выполнять код на удаленном компьютере. В его основе лежит другой протокол - OSF (Open Software Foundation) RPC. Используемый в Microsoft протокол RPC представляет собой расширенную версию последнего.

Одно из таких расширений, которое отвечает за обменом сообщениями по TCP/IP, является уязвимым метом. Обработка некорректно составленных сообщений может привести к сбою к сбою в работе системы. Это уязвимое место связано с интерфейсом DCOM, который ведет прослушивание портов RPC. Этот интерфейс обрабатывает запрсы на активацию объектов DCOM клиентскими компьютерами серверу(например, запросов путей в стандартном формате записи имен UNC). Злоумышленник, которому удастся, воспользоваться этими уязвимым местом, получит возможность запускать на компьютере пользователя собственной код от имени учетной записи «локальный компьютер». Он сможет выполнять в системе любые действия, в том числе устанавливать программы, просматривать данные, изменять и удалять их, а также создавать новые учетные записи с полными правами. Чтобы восползоватся уязвимостью, злоумышленник должен направить на нужный порт RPC удаленного компьютера специальный запрос.

Были выявлены слабые места в той части службы удаленного вызова процедур Microsoft, которая относится к инструкциям RPC по акциям DCOM. Злонамеренный пользователь, используя эти слабые места, может запустить код с правами на доступ к локальной системе на пораженном компьютере или вызвать прекращение работы службы RPCSS. Затем этот злонамеренный пользователь может выполнить на компьютере любое действие, включая установку программ, просмотр, изменение и удаление данных или создание новых учетных записей с полными правами. Чтобы воспользоваться этими уязвимыми местами, злоумышленник должен создать используемую программу для отправки неправильных сообщений RPC, которые будут направлятся на конечную службу RPCSS уязвимого сервера.

Рассмотрим подробнее схему данной атаки. RPC - сервера представляет различные интерфейса, каждый из которых определяется уникальным идентификаторами IID из 16 байт. Имевшей рассматриваемую уязвимость интерфейс имел следующий IID:

000001a0-0000-0000-c000-000000000046

Каждый интерфейс предоставляет семейство семейство функций, которые определяются значения opnum =4 в вызванном интерфейсе. Запрашиваемая клиентом комбинация interfese/opnum допускает различные множества аргументов для функций. Клиент сначала устанавливает TCP соединение с портом 135/tcp сервера(или портами 139,445,593/tcp, 135/udp) сервера. Схема клиентом атаки на Microsoft RPC DCOM показана на рисунке 4.4.

После установления соединения клиент посылает BIND для присоединения к желаемому интерфейсу. Затем клиент посылает запрос REQUEST для вызова определенной функции opnumв выбранном интерфейсе. Содержимое запроса включает в себя данные, которые интерпретируется сервером как аргументы вызываемой функции.

Что, имя server не будет превышать 32 байт. Если атакующий посылает длинное имя, то благодаря уязвимости в используемой системой библиотеке возникает переполнение буфера, позволяющее атакующему выполнить свой собственный код, вставленный в это длинное имя.

Рассмотрим различные сигнатуры для обнаружения этой атаки.

Сигнатуры эксплойт опираются на характеристики атаки, которые позволяют однозначно идентифицировать атаку. Для рассматриваемого примера однозначно идентифицировать атаку. Для рассмотренного параметрами уязвимости, например, будут: 1) запрошенный уязвимый интерфейс ISystemAction; 2) запрошенная язвимая функция (opnum =4); 3) длинное имя файла; 4) наличие файла машинных команд, реализующих уязвимость.

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

Сигнатуры уязвимости опираются на собственности конкретной уязвимости, т.е. на те параметры или действия, которые необходимо выполнить для использования данной уязвимости. Для рассмотренного примера запишем основные условия, которые необходимы для успеха атаки:

1) Установление соединения с портом 135/tcp;

2) Посылка BIND к уязвимому интерфейсу;

3) Наличие параметров в списке аргументов;

4) Наличие длинного имен сервера.

В данном случае отличной характеристикой уязвимости является длинное имя сервера. Поэтому сигнатурой может быть контроль длины имени сервера.

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

Для рассматриваемой уязвимости выработка соответствующей сигнатуры не представляется возможной в силу следующих причин:

1) Данный протокол не имеет RPC;

2) Исходные тексты протокола недопустимы;

3) Отсутствие информации о том, как приложение обрабатывает входные данные.

Чтобы проиллюстрировать сигнатуры аномалии протоколов, рассмотрим использование URL для атак в протоколе HTTP. Для этого рассмотрим следующие URL.

Данные URL являются похожими, но первый запрос является законным, а во втором используется атака SQL Ingection.

Сигнатуры политики. Рассмотрим сигнатуру Snort для рассматриваемой уязвимости:

Alert tcp $EXTERNAL_NET any -> $ NOME_NET 135

(msg: `NETBIOS DCERPC ISystemActivator bind attempt';

Flow: to_server, established;

Content:''\05\'';distance:0; within:1;

Content:''\06\'';distance:1; within:1;

Byte_test: 1,&,1,0,relative;

Content:'\A01000000000000C000000000000046

\''; distance:29; within:16;

Reference: cve,CAN-2003-0352; classtype:attempted-admin; sid:2192;)

Видно, что данная сигнатура предназначена для простого поиска заданных строк в определенном месте полезной нагрузки TCP - пакета. Поэтому при законном использовании рассматриваемой функции данного интерфейса будет генерироватся сигнал тревоги. Кроме того, приведено сигнатур SNORT можно обойти, используя следующие возможности: во первых, применяя фрагментирование пакета, во вторых, используя возможность, предоставляемую протоколом, который допускает REQUEST нескольких интерфейсов. Поиск заданных строк сигнатурой SNORTна определенных позициях приведет к пропуску атаки.

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

4.4 Обнаружение аномалий

Основой для обнаружения аномалий (ОА) является понятие «нормального» поведения. Тогда любые отклонения от нормальности система рассматривает как аномалию. Поэтому системы обнаружения аномалий могут различаться как в зависимости от используемого подхода к определению нормальности, так и в зависимости от используемого подхода к определению отклонений от нормальности.

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

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

Для удостоверения в том, что обнаружение аномалий будет способно обнаружить все сценарии.

Существенной особенностью обнаружения аномалий является необходимость установления «нормального» поведения.

Некоторые современные СОВ нельзя отнести ни к системам, обнаружение сигнатур, ни к системам обнаружения аномалий. Они опираются на новые (иногда их называют альтернативными) подходы к обнаружению. К числу таких альтернативных подходов можно отнести:

1) Методы Data Mining;

2) Методы технологи мобильных агентов;

3) Методы построения иммунных систем;

4) Применение генетических алгоритмов;

5) Применение нейтронных сетей.

Рассмотрим примеры использования данных подходов к построению систем обнаружения.

4.4.1 Методы Data Mining

Data Mining переводится как «добыча»или «распаковка данных». Возникновение этого термина связанного с новым шагом в развитии средств и методов обработки данных.

В основу современной технологии Data Mining (discovery- driven data mining) положена концепция шаблонов, отражающих фрагменты много аспектных взаимоотношений в данных. Эти шаблоны представляют собой закономерности, свойственные подвыборкам данных, которые могут быть компактно выражены в понятной человеку форме.

Г. Пиатецкий-Шапиро (один из основателей этого направления) определил технологию Data Mining как процесс обнаружения необработанных данных:

1) Ранее неизвестных;

2) Нетривиальных;

3) Практически полезных;

4) Допустимых интерпретаций значений, необходимых для принятия решений в различных сферах человеческой деятельности.

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

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

Последние версии статических программных пакетов включают в себя наряду с традиционными статическими методами и элементами Data Mining.

Нейтронные сети - большой класс систем, архитектура которых имеет антологию с построением нервной ткани из нейтронов.

Системы рассуждений на основе аналогичных случаев(CBR case based reasoning), для прогноза на бедующее или выбора правильного решения ищут в прошлом близкие аналогии ситуации и выбирают тот ответ, который был для них правильным.

Деревья решений (decision trees) создают иерархическую структуру классифицирующих правил типа if -then, имеющую вид дерева.

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

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

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

Алгоритмы ограниченного перебора, предложение в середине 60-х годов ХХ в. М.М Бонгардом, вычисляют частоты комбинаций простых логических событий и группах данных. На основании анализа вычислительных частот делятся заключение о полезности той или иной комбинации для установления ассоциации в данных, классификации, прогнозирования.

Указанные методы в последнее время начинают применятся и для решения задач обнаружения атак и вторжений.

4.4.2 Методы технологии мобильных агентов

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

Такой подход к организации распределенного обнаружения имеет свои недостатки:

1) Анализатор (устройство принятия решения) - единственная точка отказа. Если нарушитель выведет ее из строя и обойдет, то система обнаружения не выполнит своих функций.

2) Ограниченная расширяемость, так как обработка данных в единственной точке ограничивает число контролируемых элементов сети организации;

3) Сложность с конфигурированием и реконфигурированием СОВ, особенно при добавлении новых функций в СОВ;

4) Возможность обмена системы, поскольку она отличается от защищаемой системы.

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

В научной и периодической литературе используются термины: агенты, автономные агенты, программные агенты, мобильные агенты, и т.д. под автономным агентом понимается программный агент, который осуществляет определенные функции контроля хоста. Под автономностью агента подразумевается то, что он является независимо используемым объектом (его выполнение контролируется только ОС, а не другими объектами) выполнение контролируется только ОС, а не другими объектами. Агенты получают данные от других объектов системы агентов, кроме того, агенты могут получать определенные команды.

Поскольку агенты являются исполняемыми объектами, они могут быть добавлены или удалены из системы без уведомления других компонент, без необходимости реестра СОВ. Агент может быть частью группы агентов, которые выполняют разные функции, и использовали данные, получаемые другими агентами.

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

1) Каждый агент можно запрограммировать на получение данных из сетевого источника(записи аудита, данные опроса системы, перехват сетевых пакетов и др.). Это позволяет совместно использовать параметры, характерные как для хвостовых, так и для сетевых СОВ.

2) Возможность независимого старта и остановки работы различных агентов позволяют оперативно в ходе работы СОВ изменять содержимое агентов и их количество.

3) Агенты могут быть программными, написанными на различных языках программирования.

Использование автономных агентов для обнаружения вторжений послужило толчком к разработке различных протоколов СОВ, использующих технологию агентов. В качестве примера рассмотрим архитектуру системы AAFID(Autonomius Agent For Intrusion Detection), разработанную в университете Пурду.

Основными компонентами системы является: агенты, анализаторы и мониторы. Пример такой архитектуры для трех хостов приведен выше на рисунке 4.6.

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

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

Анализатор - внешний интерфейс связи каждого хоста. Он контролирует все операции агентов но своем хосте и может останавливать их работу, запускать агентов на своем хосте и может останавливать их работу, запускать агентов и выдавать их команды. Кроме того, анализатор выполняет функции редукции объема данных, предоставляемых агентами. Результаты своей работы анализатор выдает монитору. Можно выделить две основные функции анализатора: управление (запуск и остановка исполнения агента на хосте, сохранение записей о деятельности агента, ответа на полученные команды монитору) и обработка(получение генерируемых агентами данных, обработка и анализ полученных данных, предоставление данных монитору).

Монитор - высокоуровневый компонент архитектуры AAFID. Он также выполняет функции управления (в режиме управления мониторы могут получать команды от других мониторов и выдавать команды мониторам и анализаторам)и обработки(монитор обрабатывает данные, полученные от анализаторов, поэтому может обнаружить вторжения, которые не были обнаружены анализаторами).

Кроме того, мониторы имеют возможность взаимодействовать с интерфейсом администратора, предоставляя администратору возможность доступа ко всем элементам системы.

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

1) Обучение агентов с использованием различных методов машинного обучения;

2) Эволюцию агентов во времени с использованием генетического программирования;

3) Сохранение состояния контролируемых сеансов между сеансами, что позволит обнаруживать атаки, протяженные во времени;

4) Мобильность агентов, т.е. возможность их перемещения с хост при комбинировании AAFID с другими агентами архитектурами.

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

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

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

4.4.3 Методы построения иммунных систем

При построении подобных систем используется аналогия между биологическими иммунными системами и механизмами защиты компьютерных систем. Ключевым параметром для успешного функционирования обеих систем является способность формировать определение «свое-чужое», т.е. способность иммунной системы, организма определять, какие материалы являются безопасными сущностями и какие являются патологическими или другими опасными факторами. По антологии с биологическими организмами, в которых подобна особенность базируется на коротких протеиновых фрагментах, исследователи сфокусировались на некоторых компьютерных атрибутах, которые можно рассматривать как их аналоги. Группа исследователей выдвинула гипотезу, что последовательности системных вызовов ОС Unix могут удовлетворять этим требованиям. Для реализации идеи они ограничивались короткими последовательностями системных вызовов и их временной последовательностью.

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

На первой фазе строится база знаний, в которую помещаются профили нормального поведения. Считается, что характеристики анализируемого поведения не являются защищающими от пользователя (uses -centrus), а зависят от активности процессов. Тогда поколения характеристик поведения от этих профилей считаются аномалиями.

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

Результаты экспериментов оказались весьма обнадеживающими, поскольку данные три значениями изменений, предназначенные для обнаружения некоторых видов аномального поведения, покрывают несколько давно известных проблематичных Unix - программ. Кроме того, исследования показали, что множества выполняемых последовательностей компактны.

Хотя данный подход показал свою мощность, он не является полным решением проблемы обнаружения вторжений. Некоторые атаки(включая ошибки синхронизации, маскарад и нарушение политики безопасности) не используют привилегированные процессы. Поэтому такие атаки не могут быть обнаружены с помощью данного подхода.

4.4 Применение генетических алгоритмов

Генетические алгоритмы - представители класса алгоритмов, называемых эволюционными. Эволюционные алгоритмы опираются на концепцию естественного отбора Ч.Дарвина для оптимального решения проблем. Идея генетического алгоритма заимствована у живой природы и основана на принципах эволюции естественного отбора. Генетический алгоритм был разработан Голландом выдвинул ряд гипотез и предложений, полагающих глубже понять природу ГА. В общем случае ГА использует подход, наблюдаемый в живой природе: естественный отбор, приспособляемость к изменившимся условиям среды, наследование потомками жизненно важных свойств от родителей.

Суть ГА состоит в следующем. Фиксируется начальная популяция множество наборов решения задачи, которые достаточно велики от истинного решения. Для каждого члена популяции вычисляется значение функции «согласия» с решением. Одним из вариантов является функция средней целостности и популяции.

Если на шаге k алгоритма имается популяция G(k), состоящая из N строк Sik, то средняя целостность популяции может быть определена следующим образом:

Fср[ G(k)]=1/N?F(Sik), i=1,2,…,N.

Генетический алгоритм осуществляет переход от популяции G(k) к популяции G(k+1) таким образом, средняя целостность составляющих ее строк увеличивалась. Можно рассматривать случай, когда количество элементов (строк) в новой популяции N(k+1)=?N(k), где ? - коэффициент новизны популяции. Если ? < 1, то популяция будет перекрывающейся. Если ? =1б то популяция будет перекрывающейся, т.е. подвергается полному обновлению.

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

Оператор селекции - для формирования новой популяции с максимальным значением целевой функции. Операторы селекции строятся таким образом, чтобы с нулевой вероятностью любой элемент популяции мог бы быть выбран в качестве «родителя». Иногда допускается случай, когда один член популяции является родителем один и родителем два.

Оператор скрещивания - по имеющимся членам популяции ki и kj строится новое поколение kj строиться новое решение km. Существует множество версий этого оператора. Одним из простейших является однородный оператор, который по членам ki и kj строит решение km , присваивая каждой координате этого члена с вероятностью 0,5 соответствующее значение одного из родителей. Поэтому какая - то координата у родителей совпадает, то новый элемент бедующей популяции унаследует это значение. Возможен случай, когда для получения нового элемента используется более двух «родителей».

Оператор мутации - полученное решение km подвергается случайной модификации. Обычно модификация результируется заменой значения каждой координаты на противоположное заданной вероятностью. Получение после применения этих операторов популяции является основой для дальнейшей работы.

Общая схема генетического алгоритма показана на рис.4.8.

Генетический алгоритм работает с представленными в конечном алфавите строками S конечной длины n, которые используются для кодирования некоторого множества альтернатив W.

Каждая строка представляет собой упорядоченный набор из n элементов: S={s1,s2,….sn }, каждый из которых может быть задан в своем собственном алфавите Vi, i=1,2,…,n.

Для работы ГА необходимо на множество строк задать неотрицательную функцию F(S), определяющую «ценность» строки S. Алгоритм происходит поиск строки, для которой F*(S)=arg max F(S).

Если элемент wпри отражении исходного множества W на множество строк был составлен строке S.

Популяция G(k) на шаге k представляет собой конечный набор строк

G(k)=(s1k, s2k,….snk)

где N - размер популяции. Отметим, что строки в популяции могут повторятся.

Рассмотрим пример, поясняющий работу операторов ГА.

Пусть в качестве родителей выбраны следующие хромосомы (N=16, для наглядности заменим нули и единицы на буквы):

(a,b,b,b,a,b,b,a,a,a,a,b,b,b,a,a,a)

(х,y,y,x,x,x,x,y,x,x,y,y,x,x,y,x,y)

Выбираем номер позиции скрещивания (считая, например, все позиции равновероятными). Пусть это будет 10. Тогда после применения скрещивания получим следующие хромосомы для новой популяции:

(a,b,b,b,a,b,b,a,a,y,y,x,x,y,x,y)

(x,y,y,x,x,x,y,x,x,a,a,b,b,b,a,a)

Таким образом, для первой хромосомы все гены на позициях 1-9 останется, а гены на позициях с 10 по 16 заменяются соответствующими генами второй хромосомы. Во второй хромосоме останутся гены на позициях 1-9, а гены позиций 10-16 заменяются генами первой хромосомы.

При применении оператора мутации значение каждого гена получившейся в результате скрещивания хромосомы с заданной вероятностью заменяется на противоположное (обычно выбирает вероятность, значительно меньшая единицы, например 0,001).

Процесс обнаружения вторжений включает в себя определение векторов гипотез для тех событий, в которых вектор может представлять собой вторжение. Гипотезы затем проверяются на их корректность. На основе результатов проверки гипотезы улучшается. Этот процесс повторяется до нахождения решения. Роль генетических алгоритмов в этом процессе состоит в образовании улучшенных гипотез.

Схема анализа на основе генетических алгоритмов включает в себя две стадии:

1) Кодирование решений проблемы строкой бит;

2) Нахождение значений функции пригодности для проверки каждого индивидуума популяции, удовлетворяющей некоторому эволюционному критерию.

В системе GASSATA генетические алгоритмы применяются к проблеме классификации системы событий с использованием множества векторов гипотез {h} размерностью n. По определению h=1, если оно представляет атаку, и h=0, если атака отсутствует.

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

В приведенных экспериментах средняя вероятность точного обнаружения реальной атаки составила 0,996, а средняя вероятность ложных срабатываний -0,0044. Время, требуемое для настройки фильтров, было незначительным множество из 200 атак потребовало для системы 10 мин 25 с для оценки записей аудита, генерируемых средним пользователем за 30 мин интенсивного использования системы.

Рассмотрим один из примеров применения ГА к обнаружению вторжений [73], когда ГА применяется для создания простых правил поиска атак в сетевом трафике. Эти правила используются, чтобы отличить нормальные сетевые соединения от аномальных. Аномальные события вероятно связаны с вторжением. Правила хранятся в базе правил в следующей форме:

If (условие) then (действие)

Условие означает совпадение между текущим соединением и правилом СОВ. Действие определяется ПБ организации.

Правило для определения аномального соединения может быть следующим.

If {соединение содержит следующую информацию:

Адрес источника:10.0.0.15;

Адрес назначения:192.168.0.5;

Порт назначения:555;

Продолжительность соединения: 7,5 секунд}

Then {разорвать соединение}

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

В качестве исходных данных выбираются те поля сетевых пакетов, которые связаны с соединениями. Для простоты рассмотрим ограниченное число атрибутов, которые представлены ниже в табл.4.7.

If {соединение: адрес источника: 10.0.?.?;

Адрес назначения: 192.168.176+?.?;

Порт источника: 33337; порт назначения: 80;

Время соединения: 482 с.;

Соединение закончено инициатором; протокол TCP;

Инициатор послал: 7320 байт;

Приемник получил: 38891 байт}

Then {разорвать соединение}

Преобразуем данное правило в форму хромосомы(для наглядности вставим пробелы, разделяющие поля):

(0,а,0,0,-1,-1,-1, с,0,а,8,b, -1, -1, -1, 3,3,3,3,7, 0,0,8,0, 0,0,0,0,0,4,8,2, 1,1,2,0,0,0,0,0,0,7,3,2,0, 0,0,0,0,0,3,8,8,9,1)

В данном представлении для задания адресов использовалось шестнадцатеричное представление и знаки «?» и «*» замены на -1. Видно, что данная хромосома содержит 57 генов.

Это правило проверяется на архивных записях сетевых соединений. Если правило способно обнаружить аномальное поведение, то при получении новой популяции его хромосоме дается. Если же это правило укажет на нормальное соединение, то его хромосома «наказывается».

Так как одно правило не может обнаружить все нормальные соединения, необходима популяция. Начальная популяция формируется случайным образом. Последовательно применяются операторы ГА. Применение функции оценивания позволяет научным правилам смещается к правилам, которые соответствуют нормальным соединениям.

Рассмотрим некоторые параметры ГА данного эксперимента.

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

Расхождение =? соответствующие х вес

Где суммирование ведется по всем 57 генам.

Значение весов задаются в следующем порядке( по убыванию):

Адрес назначения, адрес источника, порт назначения, время соединения, количество посланных инициатором соединения, протокол, порт источника(такое расположение полей соответствует порядку полей, фиксируемых анализаторами, сниферами). При соответствии значения поля правилу устанавливается значение 1, при несоответствии - 0).

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

?=¦расхождение - уровень подозрительнсоти¦

Ранжирование показывает, легко ли идентифицируется аномалия. Через ранжирования определяется величина наказания:

Наказание =(??Ранг)/100.

Это позволяет вычислить сходство хромосомы:

Сходство =1 - наказание.

Видно, что значение сходства находится в интервале от 0 до 1.

Используется ГА, необходимо найти локальные максимумы(множество хороших решений) вместо глобального максимума(одного наилучшего решения), так как множество правил обнаружения лучше одного правила.

Для нахождения множества локальных правил можно использовать технологии ниш. Данная технология также заимствована из живой природы. Она основывается на том, что внутри каждого окружения есть различные пространства, в которых могут существовать различные виды жизни. Подобное тому, ГА может устанавливать разброс каждой популяции в одном многомодульном домене, который соответствует доменам, требуемым для идентификации множества оптимумов.

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

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

4.4.5 Применение нейтронных сетей

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

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

Существуют различные способы объединения отдельных нейронов между собой и организации их взаимодействия, что привело к созданию сетей различных типов. Каждый тип сети в свою очередь, тесно связан с соответствующим методом подбора весов межнейронных связей (т.е. обучения).

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

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

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

В одной из первых моделей нейтрона, называемой моделью МакКаллока -Питтса (предложенной в 1943 г.), нейтрон считается бинарным элементом. Структурная схема этой модели представлена на рис ниже.

В данной модели входные сигналы Xj(j=1,2…N) суммируется с учетом соответствующих весов Wij (cbuyfk поступает в направлении от узла i к узлу j) в сумматоре ?, после чего результат сравнивается с пороговым значением Wij. Выходной сигнал нейтрона Yj определяется при этом зависимостью

Yj=f(?WijXj(t) + Wi0).

Функция f(Ui) называется функцией активации. В модели МакКаллока-Питтса это пороговая функция вида

Коэффициент Wij представляет собой вес семантических связей. Положительное значение веса соответствует возбуждающим синапсам, отрицательное значение - тормозящим, тогда Wij=0 свидетельствует об отсутствии связи между i-м и j-м нейтронами.

Модель МакКаллока-Питтса- это дискретная модель, в которой состояние нейтрона в момент (t+1) рассчитывается по значениям его выходных сигналов в предыдущий момент t.

Через несколько лет Хебб в процессе исследований ассоциативной памяти предложил теорию обучения (подбора весов Wij) нейтронов. При этом он использовал наблюдение, что веса межнейронных соединений при активации нейтронов могут возрастать. В модели Хебба приращение всех ? Wij в процессе обучения пропорционально произведению выходных сигналов Yi и Yj нейтронов, связанных весом Wij.

Wij(k+1)= Wij(k)+?Yj(k)Yj(k)

Где k-номер цикла, - коэффициент обучения.

В начале 60-х годов ХХ в. Видроу предложил теоретическое обоснование и сформулировал принципы практической реализации адаптивных устройств обработки сигналов, что стало существенным вкладом в развитие нейтронных сетей. В 1962 г. была опубликована книга Розенблатта, в которой предоставлена теория динамических нейтронных систем для моделирования мозговой деятельности, основанная на прецептрной модели нервной клетки. В этой теории использовалось представление нейтрона МакКаллока-Питтса, в которой функция принимала двоичное значение 0 и 1.

Ограниченные возможности одиночного персептрона и составляемых из таких элементов одноуровневых сетей подвергались критике в книге М.Минского и С. Пейнерта, что вызвало резкое снижение финансирования этой сферы научных исследований и привело к замедлению развития искусственных нейтронных сетей.

Очередному возрастанию интереса к сетям параллельной обработки информации, которыми считаются и нейтронные сети, способствовало бурному развитие в 80 -х годах ХХ в. технологии производства устройств сверхвысокой степени интеграции. Начиная с опубликованных в 1982 г. работ Хопфилда теория нейтронных сетей развивается в стремительном темпе.

Рассмотрим некоторые подходы применения аппаратно нейтронных сетей для обнаружения вторжений. Первые попытки (в конце 90 -х годов ХХ в.) применения технологии НС относились к хвостовым СОВ. Основной упор в этих работах делался на то, что текущее поведение пользователя может быть предсказано на основании параметров, полученных в процессе обучения системы обнаружения(параметры и характеристики предыдущего поведения).

В настоящее время центр исследований в области применения НС к проблемам обнаружения вторжений стремился к сетевым СОВ, что объясняется следующими основными достоинствами нейтронных сетей:

1) Способность к быстрой обработке данных вследствие параллельности самой структуры нейтронной сети;

2) Способность к обучению и самоорганизации.

Сетевые СОВ на базе НС могут анализировать сетевой трафик в реальном масштабе времени, что в силу непрерывного увеличения пропускной способности каналов связи является одним из основных требований к СОВ.

В зависимости от типа используемых НС направления применения НС для построения СОВ можно классифицировать следующим образом:

1) Многоуровневые нейтронные сети прямого распространения (Multi Layers Feed-Forward, MLFF)-превые работы с такими сетями фокусировались на обнаружении аномалий проведения пользователя (например, рассмотрение перечня исполняемых пользователем команд);

2) Рекуррентные и адаптивные НС - в таких системах производится анализ реакций защищаемой системы или сети на результат работы нейтронной сети, что позволяет оценивать корреляцию текущих выходов нейтронных сети с предыдущими входами и состояниями. Примером таких систем является ELMAN(Cerebellar Model Articulation Controller);

3) Нейтронные системы без учителя - большинство таких систем использует самоорганизующиеся шаблоны (Self - Organizing Mars,SOM) для обучения характеристикам нормальной систмы активности и идентификации статических отклонений от нормальных характеристик.

В качестве примеров использования технологии для построения СОВ рассмотрим два случая: использование BP - сетей(Black Propagation, BP) и сетей без учителя -SOM.

Основными компонентами такой СОВ являются монитор пакетов, модуль извлечения устройств, ВР- классификатор(анализатор) и генератор сигналов тревоги.

Монитор пакетов представляет собой обычную сетевую карту, работающую в promiscuous режиме. Для реализации СОВ на платформе Windows может быть применена библиотека wincpcap.

Модуль извлечения свойств (выбора) является важным элементом, поскольку сам по себе сетевой трафик не пригоден для входа в классификатор. Модуль извлечения свойств формирует вектор параметров, который представляет собой основные характеристики пакета. В качестве таких параметров в рассматриваемом прототипе выбраны: тип протокола, длина заголовка пакета, контрольная сумма пакета, номер порта, флаги TCP - протокола и.т.д.

Структура вектора для описания атака имеет вид, приведенный ниже(расшифровка обозначений прямо следует из обозначений полей заголовков пакетов):

Attack (type)=(P-id, H-len, C-sum, S-port, D-port, Icmp-type, Icmp-code, Elang, P-len, P-data)

Примеры структур векторов конкретных атак приведены ниже(содержимое параметров векторов следует из структуры вектора, значением null обозначается отсутствие параметра):

Attack (CGI)=(TCP,32,0,2345.80.null,null,A,421,get cgi-bin)

Attack (Redirect) =(ICMP,20,null,null,null,8,3,null,192,Ia)

Attack(FTP)=(TCP,24,16,21,21,null,null,PA,256,ROOT)

Attack(UDP)=(UDP,16,10,138,126,null,null,null,448,3c)

Модель ВР- классификатора является наиболее широко распространенной моделью НС, которая достаточно хорошо зарекомендовала себя для решения задач распознавания образов. Основные проблемы, рассматриваемые при разработке такого ВР-классификатор, следующие:

1) число скрытых уровней - согласно теории 3 -уровневая модель ВР- классификатора может представить соответствие размерности n к размерности m, поэтому для большинства приложений одного скрытого слоя достаточно;

2) размерность входного слоя определяется чилом выбранных параметров для анализа(двоичным представлением параметров), размерность выхода - число решений, которое будет принимать классификатор;

3) размерность скрытого слоя определить трудно - реальное число входов скрытого уровня определяется в результате экспериментов;

4) выбор функции передачи (функции весов) определяется экспериментально, для ВР - моделей можно использовать функцию

Logsig(x)=1/(1+exp-x)

5) инициализация весов и порогов производится случайными числами в заданном диапазоне

(Wij[0;1], ui [-0,5;0,5])

Процесс формирования СОВ включает в себя при основных стадии: обучение на массивах тренировочных данных и собственно обнаружение атак в ходе эксплуатации.

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

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

Генератор сигналов тревог данной модели кроме выдачи сигнала администратору о типе обнаруженной атаки проводит запись аудита, в которой указывается дата, время, источник, тип атаки, степень опасности(извлекаемая по типу атаки из БД) и другая информация. Проведенные авторами эксперименты показали очень хорошие результаты при обнаружении атак отказа в обслуживании, Land, Ping of Death, Smurf, CGI, Fingerprint, а также при обнаружении других неизвестных анализатору атак отказа в обслуживании.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.