УДК 519.254
ПРИМЕНЕНИЕ ВЕСОВЫХ ФУНКЦИЙ ДЛЯ ОПРЕДЕЛЕНИЯ ЛОКАЛЬНЫХ СТАТИСТИЧЕСКИХ ХАРАКТЕРИСТИК ПОТОКА ПАКЕТОВ В СЕТИ
© 2008 г. Г.В. Карайчев, В.А. Нестеренко
In this article we consider some aspects of statistical methods for detection of abnormal events in a network. We offer a set of weight functions for realization of an effective method of calculation of statistical characteristics for the given interval of time.
Статистические методы обнаружения нарушений в сети основаны на сравнении статистических характеристик потока пакетов, усреднённых за относительно небольшой промежуток времени (локальных), с соответствующими характеристиками за продолжительный промежуток времени (глобальных). В качестве статистических обычно используются выборочные
моменты, энтропия, критерий согласия Пирсона х2 и т.п. [1-3]. Если локальные характеристики сильно отличаются от соответствующих глобальных, то это свидетельствует об аномальном поведении потока пакетов, и вполне вероятна попытка сканирования сети или сетевой атаки. Таким образом, возникает задача построения эффективных методов вычислений локальных и глобальных статистических характеристик. В данной статье предлагается набор весовых функций для практической реализации вычисления статистических характеристик потока событий в течение некоторого заданного интервала времени.
Будем считать, что числовая величина Х^, 1 < 1 < N
представляет некоторое событие из потока. В качестве статистической характеристики потока событий можно использовать среднее арифметическое функции /(X)
1 N
от величины X : w(N) = — 2 /(X,).
N ,=1
Общее количество событий N определяется интервалом времени, в течение которого ведётся наблюдение за потоком. При нахождении локальных и глобальных статистических характеристик среднее значение необходимо вычислять не для всего потока N событий, а только для п последних. С этой целью введём весовую функцию Г(г) и значения локальных характеристик Жбудем вычислять по формуле n
Ж (м)=2 - 1)/тп )• /X ). (1)
1=1
Значение аргумента N у величины Ж^) означает, что соответствующая характеристика вычисляется вблизи ^го события потока, а размер выборки, для которой находится эта величина, определяется видом весовой функцией и значением параметра тп. Ис-
пользование весовой функции подходящего вида позволяет выделить из всей последовательности событий подпоследовательность заданного размера п. Простым примером такой весовой функции может служить Г6/(2) = 0(1-г/тп)/п , где тп = п ; а в(х) -
Г1, если г > 0
обычная тета-функция: 0( г) = < .
[ 0, если г < 0
В этом случае из формулы (1) получаем
Ж ^ ) = - • 2 / X).
п i=N - п+1
Использование весовой функции Гд (г) имеет один недостаток: при вычислении среднего значения (1) в потоке необходимо хранить значения Xi для всех п последних событий.
В [2] в качестве весовой предлагается использовать функцию вида Г) (г/ т) =1 ехр(- г / г).
к
Такой выбор позволяет при вычислении статистических характеристик (1) использовать рекуррентные
соотношения Ж ^) =1 (/(XN) + ехр(-1/ т) •Ж N -1))
к
В тех случаях, когда интервал усреднения состоит из нескольких сотен или тысяч событий, использование этих рекуррентных соотношений даёт значительный выигрыш при вычислении среднего значения Ж ^).
Основное отличие весовой функции Г0 (г) от Гд(г) заключается в том, что при вычислении статистических характеристик с использованием функции Гд(г) все события на интервале усреднения имеют одинаковый вес. Для функции Г)(г) событие при значении г = 0 даёт значительно больший вклад по сравнению с остальными событиями выбранного интервала. В [4, 5] предлагается использовать для нахождения статистических характеристик потока событий весовую функцию вида
F.
(z/г,) = f • exp(- z/rs).
К* j—0 j'
(2)
Функция ^ (г) совпадает с ^0 (7) при 5 = 0.
Из графиков, приведённых на рис. 1, видно, что с увеличением значения 5 функция ^ (г) становится более похожей на тета-функцию: выравнивается относительный вклад разных событий на интервале усреднения при вычислении статистических характеристик.
ЧФг)
0(1 - г/и)
Рис. 1
Из [4] следует, что в предположении N >>п и т5 >> 1 для функции ^ (г) множитель к5 задаётся выражением (следует из условия нормировки функции ^ (г)):
к<, =(5 + 1)т, (3)
а значение параметра т5 хорошо аппроксимируется формулой
п
т = 77^7. (4)
1,1 5 + 2
В (2) - (4) параметр т5 определяет интервал усреднения в формуле (1); п - число событий на интервале усреднения.
Выбор вида (7) обусловлен тем обстоятельством, что формула (2) позволяет получить простые рекуррентные соотношения для вычисления ж(^). Для этого введём обозначение:
1 s
W (N) = — Z Aj (N
ks j=0
(5)
где
А/ (N) = • 2/(X,) (N - /) ехр(- N - 0/т). т • /! /=1
Выделяя вклад последнего события, получаем рекуррентные соотношения для вычисления величин
А, (N):
Aj (1) = f (Xi) -Sj0 .
/ (1/ т) -1
А, (N) = /(XN) -б,о + е-Ут 2 Ч~^тА1 (N -1). (6)
/=о I/ -1)!
Так как величины Х1,...,XN характеризуют события, происходящие в последовательные моменты вре-
мени ti ,...,tN, формулы (5), (6) позволяют реализовать вычисления величин W(N), W(N +1), ... в режиме реального времени, по мере поступления новых пакетов и получения числовых характеристик X n , Xn+1, ... для потока в сети. Использование рекуррентных соотношений (6) более эффективно с точки зрения программной реализации вычислений статистических характеристик (1) потока событий, если интервал усреднения содержит большое число событий.
Ключевым моментом при выборе другой весовой функции F(z) является возможность получения рекуррентных соотношений, аналогичных (6). Для этого следует использовать функции, удовлетворяющие соотношениям срк (z1 + z2 ) = S Pj (z1) • Pj (z2 ).
j
К ним относятся показательные, степенные, тригонометрические и их комбинации. Это обстоятельство позволяет использовать в качестве весовой функции любую, допускающую представление с достаточной степенью точности в виде частичной суммы ряда
фурье: Fm (z) =1 a0 + S (aJ coÁjz)+bj sin(jz)).
2
j =1
Áz ) =
Рассмотрим периодическую функцию [1, при 2, • Т < х <(2/ + 1)- Т
|0, при (2/ +1)- Т < х <(2/ + 2)- Т, где / = 0,1,2,....
Частичная сумма ряда Фурье для [7] имеет вид
, 7
(7)
í \ 1 m
.00 = - + Z
sinI п(2 j +1)
m 1 v ' T
2
j=0
:(2j +1)
(8)
При значениях аргумента 0 < г < 2Т /и(г) совпадает с тета-функцией 0(1 - г/Т) и может быть использована в качестве весовой для нахождения статистических характеристик (1) на интервале усреднения, содержащего п = Т событий для потока, состоящего из N < 2Т событий.
Используя выражение (8), введём весовую функцию
(
рЛФ)=1
1 m
1+Z-
2 j=0
sin I п
Í2j +1)
Л
2
(2j +1)
(9)
Для значения статистической характеристики (1) получаем
( \ Sj (N)
W (N) =1 n
N
a(N) m
2
j =0 n(2j +1)
(10)
где а^ )= 2/ (X,),
/=1
Sj ^ )= 2^(2/ +} /(X/).
Выделяя вклад последнего события в величину Ш^(и), получаем рекуррентные соотношения для вы-
п
числения статистических характеристик потока событий:
а(Щ) = Я, (N0) = С, (N0) = 0,
+ sm
a(N) = f (XN )+ a(N -1),
S. (N ) = cos^j} j-Sj (N-1) +
Cj (N-1),
'n(ij+1)
(11)
Cj (N) = f (Xn ) + cos(^(2j+1) j - Cj (N -1) -Sj (N -1).
- 81И
'*(2j +1)
На рис. 2 приведены графики весовых функций Гд(г) (тета-функция), Г5 (г) (комбинация степенной и показательной функции (2) при значении параметра 5 =12), ) (функция на основе частичной суммы
ряда (8) при значении т = 5). При сравнении весовых функций значения параметров 5 =12 для Г5 (г) и т = 5 для (г) выбраны так, чтобы для обеих весовых функций на каждом шаге рекурсии вычислялось одинаковое количество объектов: для Г5 (г) - А, (к)
0 < , < 5 ; для Г„(г) - а^), Я, (N), С, (N) 0 < , < т .
для обработки последовательности событий произвольной длины. Для этого следует использовать два набора рекуррентных соотношений (11) для ).
Начала рекурсий для этих наборов должны быть сдвинуты относительно друг друга на величину Т. Как только использование функции ) становится
некорректным, то для текущего набора аN), Я, (к),
С, (N) рекурсию (11) следует начать заново, а второй
набор параметров использовать в качестве текущего а(и), Я, ^), С, (и) . Другими словами, следует переключать с одного набора параметров а(н), Я, ^), С, ^) для весовой функции гДг) на другой через
каждые Т событий.
На рис. 3 приведены результаты вычислений усреднённых значений для величин Xi, представляющих некоторое событие для потока пакетов в сети:
n
Ж(N)= 2 Г(^ - ¿)/тп )• Xi. В качестве числовой ха-
1=1
рактеристики X используется временной промежуток между двумя соседними пакетами А1 = tj --1; интервал усреднения принят равным п = 30. На горизонтальной оси рис. 3 отложены последовательные события в потоке, вдоль вертикальной оси - Xi. Усреднённые значения вычисляются на интервале N - п + 1 < i < N с использованием Гд(г), Г5 (г) и . Из рис. 3 видно, что графики поведения усреднённых характеристик для разных весовых функций практически совпадают.
Рис. 2
Весовая функция ) близка к тета-функции
0 < г < 2Т. Она может быть использована в качестве весовой функции для нахождения статистических характеристик (1) на интервале усреднения, содержащего п = Т событий для потока, состоящего из N < 2Т событий. Рекурсия (11) начинается с произвольного события N0 , в течение (N0,N0 + Т] набирается необходимое число событий для интервала усреднения Т . Затем при вычислении средних (1) на интервале (N0 + Т,N0 + 2Т] Ги(г) даёт результат,
аналогичный Гд(г). Для учёта следующих событий потока (N > N0 + 2Т) ^(г) становится неприменимой, так как в характеристику W(N) начинает давать вклад импульс второго периода (2Т < г < 3Т) Ги (г). Эту ситуацию легко исправить и применять ^(г)
Рис. 3
Заметное различие результатов при использовании Гд(г), Г5(г) и Ги(г) появляется, если при вычислении статистических характеристик потока усреднение производится не для последних п событий, а для совокупности событий, отстоящих от последнего события на заданную величину п0 в прошлое:
1 N - n0
W (N - no ) = - • Z f{Xt ).
n i=N- n0 - n+1
(12)
Такая ситуация может возникнуть при необходимости сравнения текущих характеристик потока пакетов в сети с соответствующими характеристиками в прошлом: например, при сравнении текущего трафика с загруженностью сети несколько часов назад.
В этом случае также можно воспользоваться формулой (1) и весовыми функциями, рассмотренными в предлагаемой статье. Для этого при вычислении статистических характеристик Ж^ - По) вначале используем формулу (1) для вычисления усреднённых значений на интервале N - по - п +1, N, затем на интервале N - щ +1, N]. Вычитаем полученные результаты один из другого: Ж (ы - п0 ) =
= 2 И^ - ¡)/тщ +п)-И^ -/)/тщ ))• /(X,). (13) /=1
Использование тета-функции в качестве весовой Ид (г) для этого случая приводит к результату, соответствующему выражению (12).
Результат применения весовых функций Ид (г),
И5(г) и ) к вычислению статистических характеристик (13) представлен в виде графиков на рис. 4.
ляет п = 30, а величина временного сдвига -П0 = 60. Другими словами, обрабатывая в режиме реального времени последовательно поступающие события XN, XN+1, XN+2, .. и используя рекуррентные соотношения (6), (11), находим статистические характеристики отстоящие на п0 событий в прошлое от настоящего момента времени. Из графиков, представленных на рис. 4, видно, что использование функций Ид(г) и Иц(г) дает близкие
результаты. Результат использования весовой функции Н (г) заметно отличается от случая применения функций Ид (г) и ) для вычисления
статистических характеристик.
Использование предлагаемых весовых функций (2), (9) и соответствующих рекуррентных соотношений (6), (11) позволяет реализовать эффективные вычисления статистических характеристик потока пакетов в сети (1), (13) в течение заданного интервала времени. При использовании интервала усреднения, состоящего из небольшого числа (несколько десятков) последних событий, лучше использовать тета-функцию Ид(г) в качестве весовой, так как хранение в памяти п характеристик последних событий и выполнение суммы
n / \
2 / (X,) может быть более эффективно с вы-
i=n - п+1
числительной точки зрения, чем применение рекуррентные соотношения (6), (11). Если число событий на интервале усреднения велико, то использование весовых функций И5(г) и И^(г) становится более эффективным, так как в этом случае вычисление нескольких коэффициентов А, ^) или
а(И), Б, ^), С, N) в выражениях (6), (11) будет
более эффективным, чем хранение и обработка нескольких сотен или тысяч событий в потоке пакетов.
Литература
Рис. 4
Горизонтальная и вертикальная оси соответствуют номерам событий и временному интервалу между соседними событиями (используемому в качестве числовой характеристики X, события). При применении И5(г) и И^(г) для вычисления
величины - П0) (13) были использованы формулы (6) и (11) соответственно. Для приведённых графиков интервал временного усреднения состав-
1. Kwitt R. A Statistical Anomaly Detection Approach
for Detecting Network Attacks. Salzburg, 2004.
2. Feinstein L., Schnackenberg D. Statistical Approaches
to DDoS Attack Detection and Response. Proceedings of the DARPA Information Survivability Conference and Expostion (DISCEX'03), April. 2003.
3. Mahadik V. A., Wu X., Reeves D.S. Detection of Denial ofQoS Attacks Based On Statistic And EW-MA Control Charts // arqos. csc. ncsu. edu/papers/2002-02-usenixsec-diffservattack.pdf.
4. Нестеренко В.А. // Изв. вузов. Сев.-Кавк. регион.
Естеств. науки. 2006. Приложение. № 5. С. 20-26.
5. Нестеренко В.А. // Информационные процессы.
2006. Т. 6. Вып. 3. С. 208-217.
Южный федеральный университет_21 марта 2007 г.