УДК 621.394
МОДЕЛИРОВАНИЕ СИСТЕМЫ ПРОТИВОДЕЙСТВИЯ DOS-АТАКАМ
С.В. Белим, С.Ю. Белим
В работе проводится моделирование системы противодействия DOS-атакам с помощью случайного уничтожения пакетов во входном буфере. Исследуется несколько возможных режимов работы системы.
Введение
Одним из трех аспектов информационной безопасности является доступность, то есть отклик системы на запрос за заданный промежуток времени. Для обеспечения доступности компьютерной системы необходимо принимать меры по обеспечению устойчивости системы к всплеску интенсивности поступающей информации. Как правило, соответствующие службы учитываются уже при проектировании системы. Принято говорить об архитектуре системы обработки входящих пакетов.
Простейшей является архитектура OQ (Output Queuing), в которой используется несколько входных линий и столько же обработчиков пакетов, причем каждый обработчик работает со своей входной линией. Архитектура OQ не подразумевает никаких дополнительных средств обеспечения доступности, кроме расчета устойчивого режима с помощью теории массового обслуживания.
В качестве примера можно привести архитектуру VOQ (Virtual Output Queuing), которая предполагает наличие алгоритма посылки поступающих пакетов обработчикам по циклу [1]. Другая архитектура, рассматриваемая в работах [2,3], основывается на том, что 90% трафика составляет протокол TCP и сосредотачивается на контроле ТСР-пакетов.
Данная статья посвящена моделированию состояния буфера входящих пакетов в рамках архитектуры FOQ (Feedback Output Queuing), предложенной в работе [4]. Данная архитектура предполагает обратную связь обработчика пакетов с входным буфером. Обработчики следят за состоянием буфера и уничтожают пакеты для предотвращения переполнения.
Copyright © 2010 C.B. Белим, С.Ю. Белим.
Омский государственный университет им. Ф.М. Достоевского. E-mail: [email protected]
1. Постановка задачи
Рассмотрим компьютерную систему, обрабатывающую пакеты, поступающие во входной буфер длины Ь, Рассмотрение начнем с простой ситуации поступления пакетов с постоянной скоростью п, Более точно, пусть в буфер в единицу времени поступает п пакетов. Как обычно при моделировании компьютерных систем, время считаем дискретным, отсчитываемым по системному таймеру. Интервал между двумя «тиками» таймера примем за единицу. Будем считать, что поступающие пакеты обрабатываются системой с постоянной скоростью т пакетов в единицу времени. Обозначим количество пакетов в буфере в момент времени п через хп, тогда без дополнительных систем уничтожения пакетов состояние буфера описывается разностным уравнением
Или, вводя обозначение V = и — и>, получаем рекуррентное соотношение
Хп+1 = Хп + V.
Таким образом, задача разбивается па два случая: V <= 0 и V > 0, В первом случае (V <= 0) дополнительные средства очистки буфера не нужны, так как хп+1 >= хп для любого момента времени п, Этот результат достаточно очевиден, так как в этом случае скорость обработки пакетов не меньше скорости поступления пакетов (и <= 1и).; и, как следствие, не происходит переполнение буфера. Обратный случай (V > 0), наоборот, приводит к росту количества пакетов в буфере с течением времени, что приводит к переполнению буфера. Как известно, такой способ нарушения работоспособности компьютерной системы получил название БОБ-атаки,
Один из возможных способов борьбы с переполнением буфера был предложен в работе [7]. Основная идея метода состоит в уничтожении случайно выбранных пакетов во входном буфере в случае возрастания скорости поступления пакетов. Безусловно, при таком подходе существует не нулевая вероятность уничтожения «полезных» пакетов. Однако при отсутствии ответа на запрос серверы посылают повторный запрос. Вероятность же случайного уничтожения всех пакетов одного сервера достаточно мала,
2. Постоянный поток пакетов
Для рассматриваемой модели со случайным уничтожением пакетов рекуррентное соотношение примет вил:
хп+1 хп + v ^п-
Здесь V > 0, а <1п- количество случайно уничтожаемых пакетов в момент вре-п
Сущеетвенным вопросом является выбор последовательности йп, которая, очевидно, должна зависеть от заполнения буфера. Рассмотрим несколько возможных случаев:
1, dn = axn - количество уничтожаемых пакетов прямо пропорционально количеству пакетов в буфере (0 < а < 1), Рекуррентное соотношение будет иметь вил:
xra+i = (1 - а)ж„ + v.
Для его решения необходимо составить соответствующее однородное уравнение. Выпишем состояние буфера в предыдущий момент времени:
= (1 - a)xn-i + v
и, выразив из него v, подставим в предыдущее рекуррентное соотношение:
Xn+1 (2 a)xn (1 а)хп—1*
Общее решение данного уравнения имеет вил:
Xn = Ci + C2(1 - a)n,
где Ci и C2 - константы. Начальное состояние системы - = 0, Для момента
времени n = 1 из рекуррентного соотношения получаем значение x1 = v. Можем найти частное решение, удовлетворяющее начальным условиям:
v
хп=-(1-(1-а)п).
а
n
lim хп =
п—>гс> а
n
моментов времени n выполняется xn < L, откуда получаем условие на коэффи-
а
v
а > —.
L
2, dn = а(хп — xn—1) - количество уничтожаемых пакетов прямо пропорционально количеству поступающих в буфер пакетов (0 < а < 1), Рекуррентное соотношение будет иметь вил:
Xn+1 = (1 — a)xn + v — axn—1.
Для его решения необходимо составить соответствующее однородное уравнение. Выпишем состояние буфера в предыдущий момент времени:
= (1 - а)хп-1 + V -и, выразив из него V, подставим в предыдущее рекуррентное соотношение:
Xn+1 = (2 — a)xn — (1 — 2a)xn—1 — axn—2-
Общее решение данного уравнения имеет вил:
= С + С2п + Сз(—а)™,
где С1; С2 и С3 - константы, Начальное состояние системы - х0 = 0. Для момента времени п =1 х1 = и Для п = 2 из рекуррентного соотношения получаем значение х2 = и + V, Можем найти частное решение, удовлетворяющее начальным условиям:
и — V 2аи + V V — и
^ + 77—:—+ -7——у}\—°ч ■
(1 + а)2 (1 + а) (1 + а)2
Несложно заметить, что жга растет со временем, однако не монотонно за счет слагаемого (—а)га. Тем не менее для любого заданного размера буфера Ь существует момент времени к такой, что > Ь,
3. Случайный поток пакетов
Рассмотрим случай, в котором количество прибывающих пакетов V™, а следовательно, и количество пакетов в буфере жга являются случайной величиной с гауссовым распределением. Выпишем средние значения случайной величины:
< ^ ^ ) где - символ Кронекера,
Найдем соответствующие средние значения для количества пакетов в буфере, Выберем количество уничтожаемых пакетов в виде = ажга. Тогда рекуррентное соотношение примет вил:
(1 а)хп-1 +
Усреднение его по времени приводит к выражению
< жга >= (1 — а) < хп-1 > +v.
Отсюда можно получить выражение
< хп >= -(1 - (1 - а)п). а
а
потока пакетов, можно добиться стабильной работы системы без переполнения буфера. Однако при случайной интенсивности поступления пакетов возможны резкие всплески количества пакетов в буфере, поэтому необходимо также оценить дисперсию случайной величины жга:
(хга+1)2 = (1 — а)2(ж„)2 + 2(1 — а)ж„уга + (^)2.
Выражая V™ из рекуррентного выраженпя для жга, получаем следующее соотношение:
Оп+1)2 = (1 — а)2(хп)2 + 2(1 — а)(хга)2 — 2(1 — а)2хгахга-1 + (,^га)2-
Усредняя это выражение по времени, получаем
< (х„+1)2 >=
= (1 - а)2 < (ж„)2 > +2(1 - а) < (хп)2 > -2(1 - а)2 < хп-1 > + < (V™)2 > .
Предполагая, что жга имеет гауссово распределение со средними значениями:
V
> (1 (1 а) , хпх^
а
Откуда получаем
(7 у
ах ~ 2 - (2 -а)2'
Следовательно, дисперсия наполнения буфера прямо пропорциональна дисперсии интенсивности поступающих пакетов.
По хорошо известному из теории вероятностей правилу «трех сигм» для нормального распределения с вероятностью 0,9973 случайная величина жга будет попадать в интервал [< жга > -3ах,< жга > +3ах), Следовательно, чтобы с вероятностью 0,9973 не происходило переполнение буфера, необходимо, чтобы
< жга > +3ах < Ь. Отсюда получаем более жесткое, чем в случае постоянного
а
- 4- ^ < Г
а 2 — (2 — а)2 '
Данное неравенство сводится к неравенству третьей степени, которое всегда имеет решение. Значение параметров входящего потока о а, может быть определено экспериментально. Соответственно настройка системы производит-
а
а
значения,
4. Заключение
Таким образом, задача построения системы защиты от БОБ-атак с помощью механизма уничтожения случайным образом входящих пакетов во входном буфере разрешима. Степень надежности системы может варьироваться с помощью изменения параметра системы, отвечающего за активность уничтожения пакетов. При этом следует учитывать, что активность системы защиты снижает скорость обработки информации. Но это общеизвестный факт, касающийся всех систем защиты, к нему уже все привыкли и он не считается недостатком. Кроме того система случайного уничтожения входящих пакетов не является гарантированной защитой от БОБ-атак, Но и в этом случае мы сталкиваемся с общеизвестным фактом: гарантированной защиты не бывает в принципе.
Литература
1. Nong G., Hamdi M. On the provisioning of Quality of Service guarantees for input queud switches //IEEE Communications Magazine. 2000. V. 38(12). P.62-69.
2. Jacobson V. Congestion avoidance and control //Proceeding of ACM SIGCOMM’88. 1988. Stanford. I >.31 i 320.
3. Stevens W. TCP slow start, congestion avoidance, fast retransmit, and fast recovery algorithms // IETF RFC 2001, January 1997.
4. Firoiu V., Zhang X., Gunduzhan E., Christin N. Providing service guarantees in highspeed switching systems with feedback output queuing. // arXiv:cs/0406019vl.