Способ мониторинга безопасности web-сервера
Иллюстрации
Показать всеИзобретение относится к обеспечению информационной безопасности на web-серверах. Изобретение позволяет повысить качество мониторинга безопасности web-сервера и обеспечивает оперативное обнаружение критического режима его работы, вызванного как известными атаками "отказа в обслуживании", так и неизвестными, а также легальными запросами пользователей. Для мониторинга безопасности web-сервера на предварительном этапе дополнительно задают такие показатели качества функционирования web-сервера, как время выполнения запроса t и число ошибок соединения eERROR. Затем проводят нагрузочный тест с целью определения пороговых значений показателя время выполнения запроса web-сервером (tКРИТ) и показателя количество ошибок соединения (eERROR_КРИТ) - строят аналитические модели прогнозирования для показателя время выполнения запроса tПРГ. На этапе функционирования сервера определяют период мониторинга ТМ, после чего принимают N запросов на установление соединения в течение периода мониторинга ТM, получают текущие значения показателей качества функционирования сервера t,eERROR, на их основе вычисляют прогнозируемое значение времени выполнения запроса tПРГ. Сравнивают значения показателей tПРГ и eERROR с пороговыми значениями показателей качества функционирования и в случае превышения пороговых значений делают вывод о наличии атаки. 3 ил.
Реферат
Изобретение относится к электросвязи и может быть использовано в средствах обеспечения информационной безопасности на web-серверах, расположенных в информационных сетях общего пользования, работающих с помощью коммуникационных протоколов TCP/IP, для мониторинга безопасности web-серверов и оперативного определения его режима работы.
Известен способ мониторинга безопасности автоматизированных систем по патенту РФ №2261472 «Способ мониторинга безопасности автоматизированных систем», класс G06F 12/14, от 20.02.2002 [1]. Известный способ включает следующую последовательность действий: наблюдают за графиком адресованных абоненту пакетов данных, подсчитывают число пакетов в пределах серии пакетов, сравнивают число пакетов в серии с критическим числом пакетов, проверяют поступающие пакеты данных на соответствие заданным правилам, подают сигнал для принятия мер защиты от атаки.
Недостатком данного способа является узкая область применения, что обусловлено его предназначением в основном для защиты от подмены одного из участников соединения. В способе не учитывается класс низкоскоростных атак «отказа в обслуживании» [2], связанных с посылкой запросов высокой интенсивности от клиента к серверу. Поскольку запросы посылаются верно, проверка правильности заполнения полей пакетов не сможет выявить данный класс атак. Отказы в обслуживании, вызванные высокой интенсивностью запросов пользователей, также не будут выявлены данным методом, поскольку параметры запросов в этом случае ничем не отличаются от разрешенных. Вышеназванные реализации атак не определяются известным способом, тем самым создаются условия для деструктивных воздействий на web-сервер, что в свою очередь приводит к снижению доступности сервера, к "отказам в обслуживании" запросов пользователей [3, 4].
Известен также способ мониторинга безопасности автоматизированных систем по патенту РФ №2265242 «Способ мониторинга безопасности автоматизированных систем», класс G06F 12/14, от 12.04.2004 [5]. Этот способ принят за прототип. Известный способ включает следующую последовательность действий: предварительно задают необходимые коэффициенты, КСОВП.ДОП, N≥1, КСОВП=0, принимают последовательно совокупность из N пакетов сообщений и после их запоминания принимают (N+1)-й пакет сообщения, а после выделения из заголовков всех принятых пакетов сообщений признаков запроса на установление соединения последовательно сравнивают признаки i-го, где i=1, 2, … N, принятого пакета сообщений с выделенными признаками (N+1)-го пакета сообщения, при обнаружении совпадения признаков (N+1)-го пакета сообщения с признаками i-го поступают согласно установленным правилам, перечисленные действия повторяют до тех пор, пока не будет выполнено условие КСОВП≥КСОВП.ДОП, при выполнении которого делают вывод о наличии атаки.
Недостатком прототипа является узкая область применения, что обусловлено его предназначением в основном для определения известных атак "отказа в обслуживании", которые успешно обнаруживаются сигнатурными методами. В способе не учитывается класс низкоскоростных атак «отказа в обслуживании» [2], связанных с периодической кратковременной посылкой легальных запросов высокой интенсивности от клиента к серверу. Поскольку запросы посылаются верно, проверка правильности заполнения полей пакетов не сможет выявить данный класс атак. Кроме этого, такие атаки "отказа в обслуживании" не имеют сигнатуры и необнаруживаемы современными средствами защиты (межсетевые экраны). Отказы в обслуживании, вызванные высокой интенсивностью запросов пользователей, также не будут выявлены данным методом, поскольку параметры запросов в этом случае ничем не отличаются от легальных. Сущность атаки заключается в чрезмерном расходовании ресурса клиент-серверного соединения [2]. Не обнаруживаемы также атаки "отказа в обслуживании", сущность которых заключается во внесении преднамеренных ошибок в процесс клиент-серверного соединения, что вызывает цикл повторных перезапросов, что в итоге расходует ресурсы и приводит к "отказам в обслуживании" серверов [6].
Вышеназванные уязвимости не определяются указанным способом, тем самым создаются условия для деструктивных воздействий на web-сервер, что в свою очередь приводит к снижению его доступности [3, 4].
Техническая задача, решаемая изобретением, заключается в повышении качества мониторинга безопасности web-сервера, оперативном обнаружении критического режима его работы, вызванного как известными атаками "отказа в обслуживании", так и неизвестными, а также легальными запросами пользователей.
Поставленная задача достигается тем, что задают минимально допустимое значение показателя сходства KCX.MIN выделенных признаков пакетов сообщений, максимально допустимое количество совпадений КСОВП.ДОП и количество N≥0 запоминаемых пакетов сообщений, принимают N пакетов сообщений, запоминают их, принимают (N+1)-й пакет сообщения, выделяют из заголовков принятых пакетов сообщений признаки запроса на установление соединения, сравнивают признаки i-го, где i=1, 2, … N, принятого пакета сообщений с выделенными признаками (N+1)-го пакета сообщения по определенным правилам на соответствие условию КСОВП≥КСОВП.ДОП, при выполнении которого делают вывод о наличии атаки, предварительно задают характеристики качества функционирования web-сервера время выполнения запроса t и число ошибок соединения eERROR, проводят "нагрузочный тест", определяют пороговые показатели качества функционирования web-сервера (tПОВ, tКРИТ), показатели, отражающие состояние соединения (eERROR, eERROR_КРИТ), строят аналитические модели прогнозирования для времени выполнения запроса ТПРГ, определяют период мониторинга ТМ, после чего принимают N запросов на установление соединения за период мониторинга ТМ, получают значения текущих показателей производительности сервера Т,Е ERROR вычисляют прогнозируемое значение времени выполнения запроса ТПРГ, а затем сравнивают прогнозируемое значение показателя время выполнения запроса ТПРГ с пороговыми значениями временных показателей (tПОВ, tКРИТ) и показателей состояния соединения (eERROR, eERROR_КРИТ), по результатам сравнения делают вывод о наличии атаки.
Сущность изобретения поясняется чертежами, на которых показаны:
фиг.1 - блок-схема способа мониторинга безопасности web-сервера;
фиг.2 - сегмент сети для проведения нагрузочного тестирования web-сервера;
фиг.3 - блок-схема определения периода мониторинга в зависимости от загруженности web-сервера.
Блок-схема способа мониторинга безопасности web-сервера:
Блок №1 - Выделение множества характеристик, отражающих качество функционирования web-сервера (t,eERROR),
где t- время выполнения запроса пользователя web-сервером;
eERROR - количество "сбоев, отказов в обслуживании" запросов пользователей, возникающих в процессе клиент-серверного соединения;
КСОВП.ДОП - допустимый коэффициент совпадений согласно патенту РФ №2265242 [5];
KCX.MIN - минимальный коэффициент совпадений согласно патенту РФ №2265242 [5].
Проводится нагрузочный тест по схеме, представленной на фиг.2. Сегмент сети состоит из web-сервера с тестируемым информационным ресурсом и трех клиентов с установленным на них генератором запросов Wapt. С помощью анализатора протоколов снимаются статистические характеристики показателей качества функционирования сервера t, eERROR.
Блок №2 - Получение пороговых значений показателей качества функционирования tПОВ, tКРИТ, eERROR, eERROR_КРИТ, VПАМ_КРИТ, LЦП_КРИТ, где tПОВ - пороговое значение, характеризующее среднее время выполнения запроса при повышенной нагрузке, tКРИТ - пороговое значение, характеризующее среднее время выполнения запросов при критической нагрузке, eERROR - количество сбоев при клиент-серверном соединении, tERROR_КРИТ - критическое количество сбоев при клиент-серверном соединении, которые приводят к "отказам в обслуживании", LЦП_КРИТ - пороговое значение, характеризующее критическую загруженность памяти, VПАМ_КРИТ - пороговое значение, характеризующее критическую загрузку процессора.
Определение пороговых значений показателей качества функционирования дает возможность определить режимы работы web-сервера: нормального функционирования; повышенной нагрузки, характеризуется ; критической нагрузки, характеризуется , eERROR≥eERROR_КРИТ.
Блок №3 - Построение аналитической модели прогнозирования на основе математического аппарата временных рядов. Модель строится на основе статистических данных показателя время выполнения запроса t, полученных после проведения нагрузочного теста, общий вид которой представлен (1) [7].
где а1 - значения коэффициентов авторегрессии;
Θ1 - значения весовых коэффициентов;
х - значения временного ряда в моменты времени.
Блок №4 - Определение периода мониторинга ТМ по схеме, представленной на фиг.3.
Блок №5 - Прием N запросов на установление соединения за период мониторинга ТМ.
Блок №5.1 - Принимают (N+1)-й пакет сообщения, выделяют из заголовков принятых пакетов сообщений признаки запроса на установление соединения, сравнивают признаки i-го, где i=1, 2, … N, принятого пакета сообщений с выделенными признаками (N+1)-го пакета сообщения по определенным правилам на соответствие условию КСОВП≥КСОВП.ДОП, в случае превышения пороговых значений делают вывод о наличии атаки согласно патенту РФ №2265242 [5].
Блок №6 - Получение значений текущих показателей качества для принятых N запросов , eERROR, где - среднее время выполнения запросов пользователей, eERROR - количество ошибок, возникающих при обработке входящего потока запросов.
Блок №7 - Вычисление прогнозируемых значений показателя качества tПРГ, где tПРГ - прогнозируемое время выполнения запросов пользователей по аналитической модели, полученной в (1).
Блок №8 - Определение режима работы сервера. В случае если tПРГ≥tКР или eERROR≥eERROR_КРИТ, то принимается решения о критическом режиме работы, поскольку среднее время выполнения запросов или число отказов при клиент-серверном соединении превысило критический порог, производится переход к блоку 10. В противном случае осуществляется переход к блоку 9.
Блок №9 - В случае если tПРГ≥tПОВ, то принимается решение о режиме работы "повышенная нагрузка", в противном случае осуществляется переход на блок №13.
Блоки №10, 11 - Проверяется условие загруженности аппаратной части web-сервера LЦП≥LЦП_КРИТ, VПAM≥VПАМ_КРИТ, что позволяет сделать вывод о причине повышения времени выполнения запроса пользователя. Если в блоке №11 при режиме работы "повышенная нагрузка" выполняется условие загруженности аппаратной части сервера, то осуществляется переход в блок №13, где принимается решение о том, что режим работы не соответствует ожидаемому, возможны "отказы в обслуживании" сервера. Если условие в блоке №11 не выполняется, то принимается решение о режиме работы "повышенная нагрузка" - Блок №12. В случае если в блоке №10 выполняется условие загруженности аппаратной части сервера, то осуществляется переход в блок №14, где принимается решение о том, что это режим работы "критическая нагрузка", возможны "отказы в обслуживании". Если это условие не выполняется, происходит переход в блок №13.
Блок №15 - Реализует условие окончания цикла мониторинга безопасности состояния сервера.
Блок-схема определения периода мониторинга в зависимости от загруженности web-сервера:
Блок №1. На вход блок схемы поступают пороговые значения показателя tпов.
Блок №2. Присвоение ТМОНИТ=tПОВ на начальном этапе функционирования.
Блок №3. Получение текущих значений показателей качества функционирования , EERROR_КРИТ.
Блок №4. Проверка режима работы сервера Если условие выполняется, то сервер находится в режиме работы "повышенная нагрузка". Если условие в блоке №4 не выполняется, то происходит уменьшение текущего периода мониторинга ТМОНИТ=ТМОНИТ-1, Блок №8.
Блок №5. Проверка показателей eERROR≥eERROR_КРИТ. Если условие выполняется, устанавливается ТМ=1, и считывание времени выполнения запросов происходит по числу запросов N, поступающих за 1 секунду, Блок №6.
Если условие в блоке №5 не выполняется, то производится проверка ТМ=1 (Блок №7), так как уменьшение периода мониторинга приводит к перегрузке сервера. Если в Блоке №6 условие не выполняется, то период мониторинга уменьшается на единицу ТМОНИТ=ТМОНИТ-1 (Блок №8).
Известно, что для обеспечения информационной безопасности общедоступных web-серверов, находящихся в сетях общего пользования (СОП), необходимо обеспечить основные составляющие информационной безопасности - конфиденциальность, целостность, доступность. Поскольку ресурсы сервера являются общедоступными, то наибольшую значимость приобретают вопросы обеспечения целостности и доступности информационных ресурсов сервера для пользователей.
В процессе своего функционирования web-сервер информационной сети общего пользования (СОП) подвергается угрозам, направленным на нарушение доступности, которые приводят к увеличению времени обработки запросов пользователей или к "отказам в обслуживании" всего web-сервера. Деструктивные возможности удаленных современных атак "отказа в обслуживании" связаны с тем, что большинство из них напрямую нацелены на исчерпание ресурсов производительности программно-аппаратной части сервера, канала передачи данных или промежуточных коммуникационных устройств.
Существующие средства защиты не отвечают современным требованиям по обеспечению информационной безопасности. Этим вызвана необходимость разработки более совершенных средств защиты от угроз доступности информационных ресурсов web-серверов СОП. Сложность решаемой задачи заключается в разнотипности программно-аппаратных средств, применяемых в качестве платформы и web-приложения, различных информационных ресурсах web-сервера, неопределенности входящего потока заявок [6, 3, 8].
Поиск эффективных технических решений повышения качества мониторинга безопасности web-сервера может быть осуществлен путем оперативного обнаружения критического режима его работы и, в случае необходимости, административном воздействии на него [10]. Предлагаемое решение реализовано в виде прототипа, позволяющего осуществить мониторинг web-сервера.
Заявленный способ реализуют следующим образом.
Пусть за значимые показатели приняты: время выполнения запроса пользователя t, количество "сбоев, отказов в обслуживании" запросов пользователей, возникающих в процессе клиент-серверного соединения eERROR. Для проведения нагрузочного теста необходимо построить программно-аппаратный стенд, сегмент которого представлен на фиг.2. В его состав входят: исследуемый web-сервер, а также рабочие станции, на которых установлено программное обеспечение - генератор пакетов HTTP, например Wapt, Websress, Webstone. Существует множество таких программных продуктов их описание и функциональные возможности представлены в [10]. Для сбора статистических характеристик показателей "времени выполнения запроса" и "количества ошибок" на отдельной рабочей станции функционирует программное обеспечение анализатора пакетов TCP, например Analither, Net-X-Ray, Eye.
Проводится нагрузочный эксперимент, в ходе которого на сервер посылаются запросы различной интенсивности в диапазоне λ=0…λОТКАЗА. На его основе для сервера определяют эталонные пороговые значения показателей качества функционирования tПОВ=4; tКРИТ=10; eERROR_КРИТ=10; VПАМ_КРИТ=80%; LЦП_КРИТ=90%.
Определение значений выделенных пороговых показателей проводится экспертным путем на основе анализа программно-аппаратных возможностей конкретного сервера и стоящих задач по обеспечению качества обслуживания запросов пользователей. На основе полученной в ходе "нагрузочного теста" статистической выборки времени выполнения запроса строятся модели прогнозирования на основе временных рядов (1), пример модели для частного случая представлен в (2)
Определение периода мониторинга сервера осуществляется согласно фиг.2. На первоначальном этапе работы сервера, пока отсутствует статистическая выборка показателя "время выполнения запроса", определяют период мониторинга TM=tПОВ, в нашем случае ТМОНИТ=4. На последующих этапах, когда осуществляется прием N запросов за период ТМ, производится вычисление среднего времени выполнения запросов . По среднему времени выполнения запроса определяется "режим работы сервера". В случае если , т.е. сервер находится в режиме работы "повышенная нагрузка ТМОНИТ=ТМОНИТ-1, происходит корректировка периода мониторинга. В случае если сервер или eERROR≥eERROR_КРИТ, т.е. сервер находится в режиме работы "критическая нагрузка", происходит корректировка ТМОНИТ=ТМОНИТ-1, но не менее ТМОНИТ=1.
По полученной аналитической модели прогнозирования (2) и полученной статистической выборке времени выполнения запроса происходит получение прогнозируемого значения tПРГ времени выполнения запроса, блок №7 фиг.1, по полученному аналитическому выражению (2). На фиг.1 в блоках с 8 по 14 происходит проверка режима работы сервера.
На фиг.1 блока 8 происходит проверка прогнозируемого времени выполнения запроса tПРГН≥tКРИТ и eERROR≥eERROR_КРИТ в определенные ранее режимы работы сервера. В случае если условие выполняется, сервер находится в режиме работы "критическая нагрузка". Тогда происходит переход в блок 10, где проверяется загруженность аппаратной части сервера, после чего принимается решение о режиме работы сервера и возможной реализации угрозы "отказа в обслуживании".
В случае если условие блока 8 фиг.1 не выполняется, в блоке 9 осуществляется проверка на соответствие режима работы сервера режиму "повышенной нагрузки". Если условие выполняется, проверяется загруженность аппаратной части сервера, блок 11 фиг.1. Если аппаратная часть не загружена, то производится принятие решения о режиме работы " повышенная нагрузка", блок №12.
Таким образом, предложенный способ мониторинга безопасности web-сервера обеспечивает повышение качества мониторинга безопасности web-сервера, оперативное обнаружение критического режима его работы, вызванного атаками "отказа в обслуживании". Этот результат достигается за счет проведения "нагрузочного эксперимента", результаты которого позволяют выделить режимы работы сервера, а также значения показателей качества, их характеризующих, получения адаптивного к входящей нагрузке значения периода мониторинга, применения математического аппарата прогнозирования показателя "время выполнения запроса" web-сервера, которое позволяет своевременно обнаруживать критический режим его работы, вызванный как известными атаками "отказа в обслуживании", так и неизвестными, а также легальными запросами пользователей, что обеспечивает правильное функционирование web-серверов, заключающееся в предоставлении сервисных возможностей клиентам.
Этим достигается сформулированная задача, решаемая изобретением, которая заключается в повышении качества мониторинга безопасности web-сервера, оперативном обнаружении критического режима его работы.
Список литературы
1. Патент РФ №2261472, «Способ мониторинга безопасности автоматизированных систем», класс G06F 12/14, от 20.02.2002.
2. А.Кузьманович, Э.Найтли. Низкоскоростные TCP-ориентированные DOS атаки, http://www.acm.org/sigcomm/sigcomm2003/papers/p75-kuzmanovic.pdf.
3. Медведовский И.Д. и др. Атака на Internet. - М.: ДМК, 1999. - 336 с.: ил.
4. ГОСТ РВ 51987-2002 Типовые требования и показатели качества функционирования информационных систем.
5. Патент РФ №2265242, «Способ мониторинга безопасности автоматизированных систем», класс G06F 12/14, от 12.04.2004.
6. А.А.Новиков, Г.Н.Устинов. Уязвимость и информационная безопасность телекоммуникационных технологий. - М.: "Радио и связь", 2003 г. - 296 с.
7. Айвазян С.А. Основы эконометрики: учебник для вузов. В 2 т. T.1. - 2 изд. / C.А.Айвазян. - М.: ЮНИТИ-ДАНА, 2001. - 432 с.
8. Конеев И.Р., Беляев А.В. Информационная безопасность предприятия. - СПб.: БХВ-Петербург, 2003. - 752 с.: ил. на стр.30
9. Патент РФ №57031, "Устройство обнаружения удаленных атак на web-сервер", от 27 сентября 2006 г.
10. Системный администратор,2006 г., №12.
Способ мониторинга безопасности web-сервера, заключающийся в том, что задают минимально допустимое значение показателя сходства KCX.MIN выделенных признаков пакетов сообщений, максимально допустимое количество совпадений KСОВП.ДОП количество N≥0 запоминаемых пакетов сообщений, принимают N пакетов сообщений, запоминают их, принимают (N+1)-й пакет сообщения, выделяют из заголовков принятых пакетов сообщений признаки запроса на установление соединения, сравнивают признаки i-го, где i=1, 2, …N, принятого пакета сообщений с выделенными признаками (N+1)-го пакета сообщения по определенным правилам на соответствие условию КСОВП≥КСОВП.ДОП, в случае превышения пороговых значений делают вывод о наличии атаки, отличающийся тем, что на предварительном этапе дополнительно задают такие показатели качества функционирования web-сервера, как время выполнения запроса t и число ошибок соединения eERROR, проводят нагрузочный тест с целью определения пороговых значений показателя время выполнения запроса web-сервером (tКРИТ) и показателя количество ошибок соединения (eERROR_КРИТ), строят аналитические модели прогнозирования для показателя время выполнения запроса tПРГ, на этапе функционирования сервера определяют период мониторинга ТМ, после чего принимают N запросов на установление соединения в течение периода мониторинга ТМ, получают текущие значения показателей качества функционирования сервера t,eERROR, на их основе вычисляют прогнозируемое значение времени выполнения запроса tПРГ, сравнивают значения показателей tПРГ и eERROR с пороговыми значениями показателей качества функционирования (tКРИТ, eERROR_КРИТ) и в случае превышения пороговых значений делают вывод о наличии атаки.