Мониторинг доступности веб-сервиса в распределенных инфокоммуникационных системах
Мониторинг доступности веб-сервиса в распределенных инфокоммуникационных системах
Аннотация
Масштабы и сложность DDoS-атак в Интернете растут в геометрической прогрессии. Как свидетельствуют последние события, тактика атак начинается с массированного сетевого взлома, а затем переходит к более сложным многовекторным атакам на уровне приложений, которые трудно обнаружить и нейтрализовать. С учетом вышеизложенного, статья посвящена рассмотрению вопросов, связанных с доступностью веб-сервиса в распределенных инфокоммуникационных системах. Новизной проведенного исследования является авторский механизм, позволяющий защитить веб-серверы от ресурсоемких DdoS-атак, который базируется на двух методологиях: управление доступом на основе белых списков и обнаружение потоков атак на основе анализа служебной информации. Практическая значимость авторских предложений заключается в том, что механизм обнаружения потоков атак позволит более эффективно выявлять вложенные потоки на основе симптомов или нагрузки на сервер, поскольку становится все труднее идентифицировать вредоносные потоки только на основе моделей входящего трафика.
1. Введение
Web-сервисы — это новая разновидность Web-приложений, призванная создать следующее поколение распределенных прикладных программ. Другими словами – это программируемая логика приложения, доступная по стандартным протоколам Интернета, представляющая собой набор функций, которые упаковываются как единое целое и публикуются в сети для использования другими программами . Доступ к Web-сервисам может осуществляться на любом языке, с применением любой компонентной модели, под управлением любой операционной системы. В качестве базового транспорта выступает протокол передачи гипертекста (HTTP), что позволяет запросам функций проходить через межсетевые экраны. Для форматирования входных и выходных параметров запроса используется расширяемый язык разметки (XML), поэтому запрос не привязан к какой-либо конкретной компонентной технологии или соглашению о вызове объекта
. Web-сервисы являются строительными блоками для создания открытых распределенных систем и дают возможность компаниям и частным лицам быстро и дешево сделать свои цифровые активы доступными по всему миру. Web-сервисы выполняют функции, которые могут быть самыми разными – от простых запросов до сложных бизнес-процессов. В то же время, учитывая важность Web-сервисов для современного мира особую актуальность приобретает вопрос их безопасности.Существует множество сложностей, свойственных Web-сервисам, которые усложняют задачу их защиты от действий злоумышленников. Многочисленные угрозы могут нарушить конфиденциальность, целостность или доступность Web-сервиса, а также внутренних систем, к которым он может подключаться
. Некоторые из этих угроз характерны для обычных систем Web-приложений, другие – для Web-сервисов. Поэтому очень важно четко идентифицировать эти угрозы, знать, как их предупредить или каким образом на них реагировать. Для этого необходимы определенные системы мониторинга состояния каждого элемента, способные анализировать возможные проблемы, которые могут возникать во время их работы, и запускать средства защиты в самом сервисе или уведомлять людей о возможной угрозе.Такие системы должны в очень короткое время отслеживать все изменения, включая как различные инъекции, так и атаки, при которых сервис перестает нормально функционировать. Одним из возможных вариантов развития анализатора может быть самодиагностика сервиса, когда анализатор сам проверяет подключенные системы на дыры в системе защиты, что позволяет сообщать владельцам о проблеме. Это, в свою очередь, дает возможность оперативно решить ее, пока она не нанесла не только финансовый ущерб компании, но и не привела к возможным потерям конфиденциальных данных пользователей.
Таким образом, обозначенные обстоятельства обуславливают необходимость дальнейшего исследования проблематики, связанной с усовершенствованием техники защиты Web-сервисов, что и предопределило выбор темы данной статьи.
Анализ публикаций по теме исследования. Над разработкой комплексного адаптивного подхода к обеспечению безопасности Web-сервисов, который способен гарантировать защиту от векторов угроз по мере развития и эволюции приложений трудятся такие авторы как: Раимов М. Е., Мукашева А. К., Исаева Г. Б., Исхаков А. Ю., Богачева Д. Н., Молотов А. А., Stollberg B., Zipf A., Ware J. M.
Усовершенствованию инструментов, позволяющих выявлять уязвимости, связанные с веб-службами, посвятили свои работы Беликов Г. В., Крылов И. Д., Селищев В. А., Жуков С. В., Леджиев Д. Ю., Desmet L., Jacobs B., Piessens F., Joosen W.
Особенности реализации защиты от Ddos атак на основе концепции периода занятости, определяемого для каждой пары IP-адресов клиента и сервера, описаны в публикациях Халилаевой Э. И., Масловой М. А., Герасимова В. М., Chumash T., Yao D.
Ferrari E., Bertino E., Karabulut Y., Миркович и др. классифицировали DoS-атаки на две категории. К первой авторы отнесли атаки типа flooding, которые направлены на переполнение ресурсов серверов путем отправки им достаточно большого объема трафика. Второй тип – атаки на уязвимости, использующие уязвимость ресурсов.
В последнее время было зарегистрировано несколько типов низкоскоростных DoS-атак. Одним из примеров является атака Shrew на TCP. Злоумышленник посылает всплески пакетов для создания потерь пакетов в канале связи и увеличивает таймаут повторной передачи для определенных TCP-потоков. Всплески посылаются только в моменты истечения времени действия этих потоков, чтобы снизить общую пропускную способность. Другой пример – низкоскоростные DoS-атаки на серверы приложений.
Что касается защиты от этих низкоскоростных DoS-атак, то в работе Chadwick D., Preneel B. сообщается, что модель трафика ON/OFF атаки Shrew может быть обнаружена с помощью автокорреляции сигнала скорости трафика и динамической временной деформации.
Нерешенные части общей проблемы. Однако, несмотря на имеющиеся труды и наработки, возрастающая с каждым годом глобальная киберпреступность выдвигает на первый план задачи усовершенствования методов, которые позволят обеспечить автоматизированное, точное обнаружение и подавление атак на Web-сервисы с минимальным количеством ложных срабатываний.
Итак, цель статьи заключается в исследовании методов мониторинга доступности веб приложений в распределенных инфокоммуникационных системах на основе анализа угроз, которые могут влиять на систему, и нахождения способов решения проблем защиты от Ddos атак.
Задачи исследования:
1) рассмотреть способы обнаружения DdoS-атак;
2) разработать авторский механизм защиты от распределенного отказа в обслуживании;
3) предложить подход составления «белого» списка;
4) формализовать последовательность переноса логов в базу данных.
2. Основные результаты
При DdoS-атаке множество устройств атакуют один сервер или сеть. Цель атаки – перегрузить целевой сервер или сеть многочисленными поддельными запросами, мешающими регулярному трафику. Это приводит к перегрузке сетевых ресурсов и, как следствие, к нарушению обслуживания легитимного трафика. Такие атаки осуществляются с помощью сетей подключенных к Интернету устройств, в том числе ПК и других устройств (например, IoT-устройств), зараженных вредоносным программным обеспечением и, таким образом, способных к удаленному манипулированию
.Существует два основных способа обнаружения DdoS-атак: поточная проверка всех пакетов и внеполосное обнаружение с помощью анализа записей потоков трафика. Любой из этих подходов может быть развернут как в локальной сети, так и с помощью облачных сервисов. Базовые возможности сетевых устройств, таких как балансировщики нагрузки, межсетевые экраны или системы предотвращения вторжений по обнаружению DdoS-атак в режиме реального времени, возможно, и обеспечивали приемлемый уровень их идентификации, когда DdoS-атаки были менее масштабными, но при больших объемах атак эти устройства могут быть перегружены, поскольку в них используются методы проверки состояния, занимающие много памяти.
На сегодняшний день широкое распространение получила платформа HADEC, которая представляет собой структуру для обнаружения высокоскоростной DdoS-атаки, происходящей на сетевых и прикладных уровнях, таких как TCP-SYN, HTTP GET, UDP и ICMP. Платформа состоит из двух основных компонентов: сервера обнаружения и сервера захвата. Обнаружение DdoS в реальном времени начинается с сервера захвата, который отвечает за перехват живого сетевого трафика и передачу журнала на сервер для обработки. Далее вычисляется входящий пакет для UDP, ICMP и HTTP, чтоб выявить атаку, если количество соединений источника превышает заданный порог
. Несмотря на высокую результативность метода, его недостатком является высокая затратность как сетевых, так и финансовых ресурсов.Для обнаружения четырех типов трафика: законного пользователя, низкоскоростного, высокоскоростного и быстрого трафика используется система D-FACE. Процесс выявления атаки базируется на расчете разницы энтропии, которая содержит нормальный поток трафика, тогда как значение энтропии IP-источника является матрицей обнаружения для учета атаки. Выявление незаконных действий начинается с извлечения связанного заголовка, который классифицирует сеть в уникальный сетевой поток. Разделение трафика событий низкой скорости и мгновенного события основано на сравнении текущей скорости входящего трафика в каждом временном окне и анализе информационного трафика.
Также хорошие результаты дает MLP-GA алгоритм. Этот алгоритм позволяет обнаружить DdoS атаку используя четыре параметра для генерации обнаружения на прикладных уровнях. Метод обнаружения подсчитывает количество HTTP GET-запросов, полученных веб-сервером, и вычисляет количество IP-адресов, направленных на сервер в течение 20 секунд. Предлагаемое обнаружение также проверяет номер порта, используемого HTTP DdoS.
Обсуждение. На основе анализа типов угроз, которые чаще всего влияют на работу Web-сервисов предлагаем новый механизм защиты от распределенного отказа в обслуживании, базирующийся на двух методологиях: управление доступом на основе белых списков и обнаружение потоков атак на основе анализа служебной информации.
Схема предлагаемого двухступенчатого механизма защиты от DDoS атак представлена на рисунке 1. Согласно схеме, при поступлении пакета, если он предназначен для узла-жертвы, подвергшегося DDoS-атаке, к нему применяется политика управления допуском на основе «белого списка». Политика заключается в том, чтобы просто принять пакет, если IP-адрес источника уже зарегистрирован в белом списке, и отбросить его, если IP-адрес источника не зарегистрирован в белом списке
. Таким образом, данная идея представляет собой первый этап двухступенчатого механизма защиты Web-сервисов. После этого, на втором этапе, к пакету применяется алгоритм анализа служебной информации.Рисунок 1 - Схема двухступенчатого механизма защиты Web-сервиса от DDoS атаки
Следует отметить, что схема управления допуском на основе белых списков активизируется только при обнаружении DdoS-атаки, основанной на нагрузке на сервер. Таким образом, в обычной ситуации фильтрация пакетов по белому списку не используется. С другой стороны, схема обнаружения потока атак на основе анализа служебной информации работает всегда и защищает сервер с черным списком.
Как видно из рисунка 1, первый этап, т.е. этап управления допуском на основе белого списка, состоит из двух фаз.
Первая – фильтрация пакетов на основе белого списка, особенно для «серверов-жертв».
Второй – этап построения «белого списка» для узлов потенциальных жертв.
В рамках проводимого исследования более подробно рассмотрим вторую фазу первого этапа.
Белый список обычно довольно короткий, и для его построения не требуется аппаратная помощь, а фильтрация должна осуществляться на IP-уровне. Возможна фильтрация и на прикладном уровне. Ускорить фильтрацию могут межсетевые экраны с изменяемым состоянием. Существуют особые подходы к построению белого списка, такие как Gold Image и Digital Certificates
. При использовании, например, Gold Image для статических систем список создается путем предварительного хэширования стандартного образа рабочей станции . Однако после использования образа для создания первого белого списка поддержание его в актуальном состоянии является самой сложной задачей.На рисунке 2 представлен алгоритм, согласно которому можно построить белый список. Этап построения белого списка состоит из двух подэтапов. На первом подэтапе происходит выявление потенциальных «жертв». Если количество внешних машин, обращающихся к внутреннему IP-адресу, больше или равно порогу N, то этот внутренний IP-адрес рассматривается как потенциальная «жертва».
Рисунок 2 - Блок-схема, согласно которой создается белый список
Поскольку большинство систем защиты функционируют на уровне ядра сети и часть входящих запросов перенаправляется в Black Hole, единственным возможным вариантом повышения эффективности защиты системы является логирование всех запросов на этапе прохождения этапа фаервола входящими пакетами. Тогда, распарсив данные лога, можно узнать всю нужную информацию
. Поскольку постоянное считывание из файла довольно затратно в плане ресурсов, представляется целесообразным переносить логи в базу данных. Это позволит ускорить поиск и фильтрацию «нужных» логов. Наиболее идеальным вариантом было бы использование так называемой in-memory базы данных. Такие базы данных держат данные в операционной памяти, что позволяет быстро выполнять операции записи и поиска .На рисунке 3 приведены упрощенные шаги реализации записи/считывания лога в базу данных.
Рисунок 3 - Упрощенные шаги переноса логов в базу данных
3. Заключение
Таким образом, подводя итоги проведенного исследования, можно сделать следующие выводы.
В статье предложен двухступенчатый механизм, позволяющий защитить веб-серверы от ресурсоемких DdoS-атак. В основе предлагаемого механизма лежат две ключевые идеи. Первая – схема управления допуском, основанная на белых списках, которая защищает серверы от внезапного всплеска потоков атак. Вторая – анализ служебной информации, базирующийся на оценке длительности сессии, согласно лог файлов. Этот механизм позволит повысить эффективность системы мониторинга безопасности веб-приложений в распределенных инфокоммуникационных системах.
Прогнозируется, что предложенная система защиты будет способна эффективно противостоять DDoS-атакам даже при большом количестве потоков запросов. Возможность ее развертывания на linux-машине не будет вызывать сложностей, это позволит обрабатывать пакеты, поступающих со скоростью, близкой к скорости канала связи. В отличие от существующих подходов, авторский алгоритм на основе белого списка защищает сервер на начальном этапе DDoS-атаки, а механизм обнаружения потоков атак на основе периода занятости отличает потоки атак от обычных потоков и эффективно фильтрует IP-адреса злоумышленников из белого списка.