Статистический метод анализа
Рассмотрим различные модели, которые могут применяться при статистическом анализе безопасности поведения программ и в системах обнаружения нарушителя /16/.
1. Операционная модель основывается на том, что каждое новое наблюдение переменной должно укладываться в некоторых границах. Если этого не происходит, то мы имеем дело с отклонением. Допустимые границы определяются на основании анализа предыдущих значений переменной. Данная модель может использоваться, если некоторое значение метрики можно аргументировано связать с попыткой вторжения (например, количество попыток ввода пароля более 10).
2. Модель среднего значения и среднеквадратичного отклонения базируется на том, что все, что мы знаем о предыдущих наблюдениях некоторой величины (x1, …, xn) это ее среднее значение (m = åxi / n) и среднеквадратичное отклонение s = sqrt((x12 +…+ xn2) / (n-1) - m2). Тогда новое наблюдение является анормальным, если оно не укладывается в границах доверительного интервала m+d*s. Модель применима для измерения счетчиков событий, временных интервалов и используемых ресурсов. Преимуществом модели по сравнению с операционной является независимость оценки анормальности поведения от априорных знаний. Кроме того, необходимо отметить, что анормальность поведения зависит от значения доверительного интервала, и как следствие, понятие анормальности для пользователей системы может отличаться.
3. Многовариационная модель аналогична модели среднего значения и среднеквадратичного отклонения, но учитывает корреляцию между двумя или большим количеством метрик (использование ЦПУ и количество операций ввода-вывода, количество выполненных процедур входа в систему и время сессии).
4. Модель Марковского процесса применима только к счетчикам событий, рассматривая каждый тип событий как переменную состояния и используя матрицу переходов для характеристики частот переходов между состояниями. Наблюдение является аномальным, если вероятность перехода, определенная предыдущим состоянием и матрицей перехода очень мала. Модель применима в том случае, если рассматривается множество команд, последовательность которых важна.
5. Модель временных серий. Использует временные периоды вместе со счетчиками событий и измерениями ресурса, учитывающая как значения наблюдений x1, …, xn, так и временные интервалы между ними. Новое наблюдение является анормальным, если вероятность его появления с учетом времени низка. Преимуществом данной модели является учет временного сдвига между событиями, а недостаток – накладные расходы по вычислению по сравнению с моделью среднего значения и среднеквадратичного отклонения.
Интересный подход был применен при разработке системы NIDES. Рассмотрим его подробнее.
Аспекты поведения субъекта в NIDES представляются как измерения (доступ к файлам, использование ЦПУ, время запуска). Для каждого измерения устанавливается распределение вероятностей для кратковременного и долговременного поведения. Например, для измерения «доступ к файлам» распределение вероятностей долговременного поведения состоит из «исторических» вероятностей, описывающих различные файлы, к которым был осуществлен доступ, а распределение вероятностей кратковременного поведения состоит из «недавних» вероятностей, описывающих различные файлы, к которым был осуществлен доступ. В этом случае категории, к которым присоединены вероятности, являются именами файлов. В случае измерения непрерывных величин, таких как использование ЦПУ категории, к которым присоединены вероятности, являются диапазонами значений. Коллекция измерений и их распределения вероятностей для долговременного поведения называется профилем субъекта.
Измерения можно классифицировать на четыре группы: интенсивность деятельности, распределение записей аудита, категориальные и непрерывные. Различные типы служат для различных целей. Интенсивность деятельности определяет нормальный объем активности. Распределение активности аудита определяет для текущей активности (например, последние несколько сот записей аудита) нормальные типы действий. Категориальные и непрерывные измерения определяют какие типы действий по отношению к активности являются нормальными.
Количество записей аудита или дней записи аудита, которое определяет кратковременное и долговременное поведение может быть установлено через спецификацию полураспада. Для распределения вероятностей долговременного поведения полураспад обычно устанавливается как 30 дней. При этом записи аудита, собранные 30 дней назад влияют наполовину меньше на распределение вероятностей, чем недавние записи, а записи, собранные 60 дней назад влияют в четыре раза меньше. То есть «долговременный» профиль «забывает» о очень старых записях.
Концепция скорости старения, полураспада и эффективной длины профиля связаны следующим образом. Скорость старения – мультипликативный фактор, меньше или равный единицы, в соответствии с которым существующая в профиле информация устаревает. Чем меньше данный фактор, тем быстрее информация «забывается». Полураспад – количество записей аудита, которые нужно учесть до тех пор, пока вклад данных не будет уменьшен наполовину. Например, скорость старения равна 0.8, третья запись аудита имеет вес 0.8*0.8*0.8=0.512, т.е. скорость старения 0.8 соответствует кратковременному профилю с полураспадом в три записи аудита. Эффективная длина профиля соответствует серии сумм всех степеней скорости старения, которая будет сходиться к 1, если скорость старения меньше 1. Например, скорость старения 0.8 соответствует эффективной длине профиля в 5 записей аудита. Как правило, эффективная длина профиля равна 1.5 * полураспад.
Степень различия между кратковременным и долговременным профилем для измерения определяется с использованием c-квадрат статистики, в которой долговременный профиль играет роль истинного распределения вероятностей, а кратковременный профиль играет роль наблюдения. Результирующее числовое значение называется Q (различное для каждого измерения). Большое значение Q означает, что кратковременный и долговременный профиль для измерения отличаются сильно и, следовательно, кратковременный профиль подозрителен. Значение Q равное 0 означает, что профили совершенно согласуются.
При вычислении Q-статистики необходимо рассматривать каждое измерение отдельно. Если категории редко (или никогда) наблюдаются, то в долговременном профиле они должны коллапсировать. Для этого можно установить параметр, контролирующий как много категорий может коллапсировать. Этот параметр устанавливает верхнюю границу для числа категорий, которые могут совместно коллапсировать вследствие редкого использования.
Для каждой записи аудита генерируется вектор из значений Q, в котором большие значения Q означают подозрительную активность. К сожалению, нельзя определить непосредственно, насколько большое значение Q определяет большое статистическое различие. Традиционный метод c-квадрат статистики не может быть применен в условиях, где записи аудита, которые влияют на кратковременный профиль не являются независимыми или для систем, в которых кратковременный профиль базируется на очень небольшом количестве записей аудита. Так как распределение Q не c-квадрат, необходимо отслеживать ее значения для того, чтобы определить ее вид. Каждый раз, при получении новой записи аудита, должно генерироваться новое значение статистики Q. Данные значения можно рассматривать как часть построения профиля. Значения Q начинают использоваться на второй части построения профиля, когда категориальные значения являются стабильными для исторических профилей. Данные значения Q используются для построения долговременного распределения вероятностей для Q. (Каждое измерение имеет собственное Q и долговременное распределение для Q статистики). Q распределение выглядит как сжатое c-квадрат распределение с длинными хвостами.
Как и все долговременные распределения в NIDES, долговременное распределение Q категоризируется в соответствии с областями значений. Из этого распределения можно получить хвост вероятности для значения Q больше или равного наблюдаемого значения. Хвост вероятности преобразуется, преобразованное значение обозначается как S, и определяет такое преобразование, что S имеет половину нормального распределения (правая сторона нормального распределения, при удвоении высоты распределения вероятности для сохранения единичной площади под кривой). Например, если Q-статистика равна 80% (хвост – 20%), то S=1.28 (как для 90% нормального распределения); если Q-статистика равна 90% (хвост – 10%), то S=1.65 (как для 95% нормального распределения).
При получении каждой записи аудита можно генерировать соответствующий вектор S значений. Высокие значения S соответствуют относительно необычным измерениям по отношению к обычному различию между кратковременным и долговременным профилем. Малые значения S соответствуют относительно обычным измерениям по отношению к обычному различию между кратковременным и долговременным профилем. S значения можно объединять для получения общей статистики - T2. T2-статистика есть суммарное выражение аномальности многих измерений (сумма квадратов S-статистик) – S12+ S22+…+ Sm2 (где m – число измерений).
Т.к. каждая S-статистика имеет одинаковое полунормальное распределение, T2-статистика распределение выглядит примерно как c-квадрат с m степенями свободы. Однако, Si могут быть зависимыми…..
IS статистика показывает суммарную аномальность многих измерений. Предположим есть много измерений, Si, 1 £ i £n, Cik – корреляция между измерениями Si и Sk, Cii=1.0. Тогда
IS = ( S1, S2,…, Sn) C-1 ( S1, S2,…, Sn)T, где:
C-1 – инверсия корреляционной матрицы вектора ( S1, S2,…, Sn), а ( S1, S2,…, Sn)T – транспонированный вектор.
При этом Si выбираются так, что они положительны, так же как и большинство элементов корреляционной матрицы больше или равны 0 (по техническим соображениям значения корреляционной матрицы не превышают 0.9). Если все измерения независимы, то IS = S12 + S22 +…+ Sn2. Непосредственно данная статистика не показывает, какое измерение является аномальным. Однако, если данное значение велико нетрудно обнаружить, какое значение оказывает наибольшее влияние на IS.
Таблица 1-1. Параметры, измеряемые в системе NIDES.
Обозначение | Тип | Определение |
UCPU | непрерывное | Использование ЦПУ пользователем |
SCPU | Непрерывное | Использование ЦПУ системой |
IO | Непрерывное | Количество символов ввода / вывода во время исполнения приложения |
MEMCB | Непрерывное | Максимальный размер процесса во время исполнения |
MEMUSE | Непрерывное | Общий объем использованной во время исполнения памяти |
TEXTSZ | Непрерывное | Виртуальный размер сегмента текст |
OPENF | Непрерывное | Количество открытых файлов во время исполнения |
PGFLT | Непрерывное | Количество сбоев страниц |
PGIN | Непрерывное | Количество считанной с диска информации |
PRCTIME | Непрерывное | Время исполнения процесса |
SIGNAL | Непрерывное | Количество сигналов полученных во время исполнения приложения |
UID | Категориальное | Имя пользователя изменяющееся во время исполнения приложения |
UIDB | Бинарное | Изменялось ли имя пользователя во время исполнения приложения |
HOUR | Категориальное | Время, в которое началось исполнение приложения |
RNET | Бинарное | Исполнялось ли приложение на удаленной станции |
RNETHOST | Категориальное | Имя удаленной станции, на которой исполнялось приложение |
RNETTYPE | Категориальное | Имя приложения, использованного на удаленной станции |
LNET | Бинарное | Исполнялось ли приложение на локальной станции |
LNETHOST | Категориальное | Имя локальной станции, на которой исполнялось приложение |
LNETTYPE | Категориальное | Имя приложения, использованного на локальной станции |
INATTR | Непрерывное | Количество секунд после генерации последней записи аудита |
I60 | Непрерывное / интенсивность | Скорость записи аудита (каждую минуту) |
I600 | Непрерывное / интенсивность | Скорость записи аудита (каждые 10 минут) |
I3600 | Непрерывное / интенсивность | Скорость записи аудита (каждый час) |
Система генерирует категориальные распределения для всех измерений. Для категориальных измерений данное соответствие является отображением типа «один к одному». Для непрерывных измерений область значений разбивается на предопределенное количество категорий. Данное разбиение базируется на максимальном значении величины и логарифмическом разбиении шкалы.
Рассмотрим настройки системы NIDES.
Полураспад кратковременного профиля – измеряется в количестве записей аудита (в NIDES установлен равным 250 записей аудита; Полураспад кратковременного профиля должен быть сравним с единичной активностью субъекта в понятиях NIDES).
Полураспад долговременного профиля – измеряется в количестве дней.
Отклонение в процентах (желтое, красное) – отражает относительную опасность и критическое отклонение, при котором возникает сообщение об аномальной активности.
Минимально эффективное N – минимально необходимое количество записей аудита необходимое для тренировки, так что измерение может рассматриваться как влияющее на общую оценку.
Дни тренировки – количество дней для тренировки долговременного профиля.
Q Max значения – используются для оценки Q значений для всех измерений.
Режим операций – тренировка или тестирование.