Кроме
того, по типу программной среды
они подразделяются на уязвимости в
операционной системе, уязвимости в
определенном сервисе и уязвимости
в определенном программном обеспечении.
Для определения уязвимости в
операционной системе используется
параметр Host/OS, уязвимости в конкретных
сервисах и в определенном программном
обеспечении классифицируются по группам.
В
этой классификации более детально,
по сравнению с предыдущими, проработаны
атаки, использующие уязвимости в системном,
прикладном и сетевом программном обеспечении.
Однако данная классификация не охватывает
всех существующих сетевых атак, за пределами
рассмотрения остаются такие опасные
атаки, как атаки типа "отказ в обслуживании",
перехват данных и атаки, направленные
на сетевое оборудование. Положительной
чертой данной классификации является
наличие класса "прочие ошибки, не вошедшие
в другие категории", так как формально
к любой атаке, в том числе новой, благодаря
этому классу будет применима данная классификация.
Однако, с другой стороны, этот класс бесполезен,
поскольку не содержит никакой дополнительной
информации.
Как
видно из описанных классификаций,
далеко не все они являются полными.
В некоторых случаях под видом
единой классификации делается попытка
объединить несколько классификаций,
проведенных по разным характеристическим
параметрам.
Появление
новых атак приводит к снижению эффективности
применения существующих классификаций,
поэтому их использование без
внесения изменений не представляется
возможным. Данная ситуация объясняется
огромным количеством различных
сетевых атак и постоянным появлением
новых атак, некоторые из которых
не подчиняются критериям существующих
классификаций.
Таким
образом, применение существующих классификаций
нельзя назвать рациональным. Существует
объективная необходимость в
создании новой гибкой классификационной
схемы возможных сетевых атак,
построенной с учетом указанных
выше недостатков.
Из
отечественных вариантов наиболее
информативная и краткая классификация
приведена в книге Милославской
и Толстого [3]. В ней все
СОА делятся на минимальное количество
классов — по поведению после обнаружения
(на активные и пассивные), по расположению
источника результатов аудита (регистрационные
файлы хоста либо сетевые пакеты), по методу
обнаружения (поведенческие либо интеллектуальные).
Данная
классификация наилучшим образом
подходит для построения первичных
фильтров СОА, поскольку позволяет
ответить на вопрос о том, как именно
СОА анализируют информацию, как
должны различать атаки, какие технологии
для этого использовать.
Технологии
построения систем обнаружения
атак
Системы
обнаружения атак, как и большинство
современных программных продуктов,
должны удовлетворять ряду требований.
Это и современные технологии
разработки, и ориентировка на особенности
современных информационных сетей,
и совместимость с другими
программами. Чтобы понять, как правильно
использовать СОА, нужно четко представлять,
как они работают и каковы их уязвимые
места.
Рассмотрим
принципы, на которых основана идея
обнаружения компьютерных атак. Если
не учитывать различные минорные
инновации в области обнаружения
компьютерных атак, то можно смело
утверждать, что существуют две основные
технологии построения СОА. Суть их заключается
в том, что СОА обладают некоторым
набором знаний либо о методах
вторжений, либо о "нормальном" поведении
наблюдаемого объекта.
Системы
обнаружения аномального поведения
(anomaly detection) основаны на том, что СОА известны
некоторые признаки, характеризующие
правильное или допустимое поведение
объекта наблюдения. Под нормальным или
правильным поведением понимаются действия,
выполняемые объектом и не противоречащие
политике безопасности.
Системы
обнаружения злоумышленного поведения
(misuse detection) основаны на том, что СОА известны
некоторые признаки, характеризующие
поведение злоумышленника. Наиболее распространенной
реализацией технологии обнаружения злоумышленного
поведения являются экспертные системы
(например, системы Snort, RealSecure IDS, Enterasys Advanced
Dragon IDS).
Краткая
схема, приведенная в статье [9], обобщает
эти сведения (см. Рис.
1).
Все остальные подходы являются подмножествами
этих технологий.
Рисунок
1. Существующие технологии
СОА
Технологии
обнаружения аномальной
деятельности
Датчики-сенсоры
аномалий идентифицируют необычное
поведение, аномалии в функционировании
отдельного объекта — трудности
их применения на практике связаны
с нестабильностью самих защищаемых
объектов и взаимодействующих с
ними внешних объектов. В качестве
объекта наблюдения может выступать
сеть в целом, отдельный компьютер,
сетевая служба (например, файловый
сервер FTP), пользователь и т.д. Датчики
срабатывают при условии, что
нападения отличаются от "обычной"
(законной) деятельности. Здесь появляется
еще одно слабое место, характерное
в большей степени для конкретных
реализаций, заключающееся в некорректности
определения "дистанции" отклонения
наблюдаемого поведения от штатного,
принятого в системе, и определении
"порога срабатывания" сенсора
наблюдения.
Меры
и методы, обычно используемые в
обнаружении аномалии, включают в
себя следующие (согласно [11]):
- пороговые
значения: наблюдения за объектом выражаются
в виде числовых интервалов. Выход за пределы
этих интервалов считается аномальным
поведением. В качестве наблюдаемых параметров
могут быть, например, такие: количество
файлов, к которым обращается пользователь
в данный период времени, число неудачных
попыток входа в систему, загрузка центрального
процессора и т.п. Пороги могут быть статическими
и динамическими (т.е. изменяться, подстраиваясь
под конкретную систему);
- статистические
меры: решение о наличии атаки делается
по большому количеству собранных данных
путем их статистической предобработки;
- параметрические:
для выявления атак строится специальный
"профиль нормальной системы" на
основе шаблонов (т.е. некоторой политики,
которой обычно должен придерживаться
данный объект);
- непараметрические:
здесь уже профиль строится на основе
наблюдения за объектом в период обучения;
- меры
на основе правил (сигнатур): они очень
похожи на непараметрические статистические
меры. В период обучения составляется
представление о нормальном поведении
объекта, которое записывается в виде
специальных "правил". Получаются
сигнатуры "хорошего" поведения объекта;
- другие
меры: нейронные сети, генетические алгоритмы,
позволяющие классифицировать некоторый
набор видимых сенсору-датчику признаков.
В
современных СОА в основном используют
первые два метода. Следует заметить,
что существуют две крайности
при использовании данной технологии:
- обнаружение
аномального поведения, которое не является
атакой, и отнесение его к классу атак
(ошибка второго рода);
- пропуск
атаки, которая не подпадает под определение
аномального поведения (ошибка первого
рода). Этот случай гораздо более опасен,
чем ложное причисление аномального поведения
к классу атак.
Поэтому
при инсталляции и эксплуатации
систем такой категории обычные
пользователи и специалисты сталкиваются
с двумя довольно нетривиальными
задачами:
- построение
профиля объекта — это трудно формализуемая
и затратная по времени задача, требующая
от специалиста безопасности большой
предварительной работы, высокой квалификации
и опыта;
- определение
граничных значений характеристик поведения
субъекта для снижения вероятности появления
одного из двух вышеназванных крайних
случаев.
Обычно
системы обнаружения аномальной
активности используют журналы регистрации
и текущую деятельность пользователя
в качестве источника данных для
анализа. Достоинства систем обнаружения
атак на основе технологии выявления
аномального поведения можно
оценить следующим образом:
- системы
обнаружения аномалий способны обнаруживать
новые типы атак, сигнатуры для которых
еще не разработаны;
- они
не нуждаются в обновлении сигнатур и
правил обнаружения атак;
- обнаружения
аномалий генерируют информацию, которая
может быть использована в системах обнаружения
злоумышленного поведения.
Недостатками
систем на основе технологии обнаружения
аномального поведения являются
следующие:
- системы
требуют длительного и качественного
обучения;
- системы
генерируют много ошибок второго рода;
- системы
обычно слишком медленны в работе и требуют
большого количества вычислительных ресурсов.
Статистический
анализ компьютерных
атак
Применение
методов статистического анализа
является наиболее распространенным видом
реализации технологии обнаружения
аномального поведения. Статистические
датчики собирают различную информацию
о типичном поведении объекта
и формируют ее в виде профиля.
Профиль в данном случае — это
набор параметров характеризующих
типичное поведение объекта. Существует
период начального формирования профиля.
Профиль формируется на основе статистики
объекта, и для этого могут
применяться стандартные методы
математической статистики, например
метод скользящих окон и метод
взвешенных сумм.
После
того как профиль сформирован, действия
объекта сравниваются с соответствующими
параметрами и при обнаружении
существенных отклонений подается сигнал
о начале атаки. Параметры, которые
включаются в профиль системы, могут
быть отнесены к следующим распространенным
группам [12], [13]:
- числовые
параметры (количество переданных данных
по различным протоколам, загрузка центрального
процессора, число файлов, к которым осуществлялся
доступ и т.п.);
- категориальные
параметры (имена файлов, команды пользователя,
открытые порты и т.д.);
- не
вписывается в классификацию наравне
с предыдущими типами параметров.
Профили
также должны иметь механизмы
динамического изменения, для того
чтобы более полно описывать
изменяющееся поведение объекта. Системы,
применяющие статистические методы,
обладают целым рядом достоинств:
- не
требуют постоянного обновления базы
сигнатур атак. Это значительно облегчает
задачу сопровождения данных систем;
- могут
обнаруживать неизвестные атаки, сигнатуры
для которых еще не написаны. Могут являться
своеобразным сдерживающим буфером, пока
не будет разработан соответствующий
шаблон для экспертных систем;
- позволяют
обнаруживать более сложные атаки, чем
другие методы. Они могут обнаруживать
атаки, распределенные во времени или
по объектам нападения;
- могут
адаптироваться к изменению поведения
пользователя и поэтому являются более
чувствительными к попыткам вторжения,
чем люди [7].
Среди
недостатков систем обнаружения
вторжений можно отметить следующие:
- трудность
задания порогового значения (выбор этих
значений — очень нетривиальная задача,
которая требует глубоких знаний контролируемой
системы);
- злоумышленник
может обмануть систему обнаружения атак,
и она воспримет деятельность, соответствующую
атаку, в качестве нормальной из-за постепенного
изменения режима работы с течением времени
и "приручения" системы к новому поведению;
- в
статистических методах вероятность получения
ложных сообщений об атаке является гораздо
более высокой, чем при других методах;
- статистические
методы не очень корректно обрабатывают
изменения в деятельности пользователя
(например, когда менеджер исполняет обязанности
подчиненного в критической ситуации).
Этот недостаток может представлять большую
проблему в организациях, где изменения
являются частыми. В результате могут
появиться как ложные сообщения об опасности,
так и отрицательные ложные сообщения
(пропущенные атаки);
- статистические
методы не способны обнаружить атаки со
стороны субъектов, для которых невозможно
описать шаблон типичного поведения;
- системы,
построенные исключительно на статистических
методах, не справляются с обнаружением
атак со стороны субъектов, которые с самого
начала выполняют несанкционированные
действия. Таким образом, шаблон обычного
поведения для них будет включать только
атаки;
- статистические
методы должны быть предварительно настроены
(заданы пороговые значения для каждого
параметра, для каждого пользователя);
- статистические
методы на основе профиля нечувствительны
к порядку следования событий.