СИСТЕМА И СПОСОБ УМЕНЬШЕНИЯ ЛОЖНЫХ СРАБАТЫВАНИЙ ПРИ ОПРЕДЕЛЕНИИ СЕТЕВОЙ АТАКИ
SYSTEM AND METHOD OF REDUCING FALSE RESPONSES WHEN DETECTING NETWORK ATTACK

Область техники
Изобретение относится к системам для определения распределенных сетевых атак, а более конкретно, для уменьшения ложных срабатываний при определении сетевой атаки за счет анализа поведенческого взаимодействия пользователей с защищаемым ресурсом.
Уровень техники
В настоящее время практически все компании и организации, так или иначе, представлены в сети Интернет, а многие используют сеть Интернет как деловой инструмент. В то же время, сеть Интернет не обеспечивает должной защиты сервисов "по умолчанию". Кроме того, от ряда Интернет-угроз сегодня невозможно защититься персональными средствами защиты, подобными межсетевым экранам, системам предотвращения атак, антивирусами и т.п. Ярким примером подобных угроз являются DDoS атаки.
DoS-атака представляет атаку на вычислительную систему с целью довести ее до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверами), либо этот доступ затруднен. Мотивы подобных атак могут сильно разниться - они могут служить элементами конкурентной борьбы, средством вымогательства, мести, выражения недовольства, демонстрации возможностей и привлечения внимания, что чаще всего трактуется как кибертерроризм. Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределенная атака типа «отказ в обслуживании»). Существуют две разновидности DDoS-атак: атаки на полосу пропускания и атаки на приложения.
Атаки на полосу пропускания - злоумышленник действует путем наполнения каналов связи, выделенных полос пропускания и оборудования большим количеством пакетов. Выбранные в качестве жертвы маршрутизаторы, серверы и межсетевые экраны, каждый из которых имеет лишь ограниченные ресурсы обработки, под действием атаки могут стать недоступны для обработки корректных транзакций или выйти из строя под большой нагрузкой. Самая распространенная форма атаки с заполнением полосы пропускания - это лавинная атака с отправкой пакетов, при которой большое количество внешне благонадежных пакетов протокола TCP, протокола пользовательских датаграмм (UDP) или протокола управления сообщениями в сети Интернет (ICMP) направляется в конкретную точку.
Атаки на приложения - злоумышленник, эксплуатируя особенности поведения протоколов взаимодействия компьютеров (TCP, HTTP и т.п.), а также поведения сервисов и приложений, захватывает вычислительные ресурсы компьютера, на котором функционирует объект атаки, что не позволяет последнему обрабатывать легитимные транзакции и запросы. Примерами атак на приложения являются атаки с полуоткрытыми соединениями HTTP и с ошибочными соединениями HTTP. Более подробно про подобные атаки можно найти в статье на сайте компании Cisco http://www.cisco.com/web/RU/products/ps5887/products_white_paper0900aecd80 lle927.html.
Как правило, DDoS-атака осуществляется с использованием бот-сети, которую также называют сетью из компьютеров-"зомби". Бот-сеть (также ботнет) - это сеть зараженных компьютеров, зараженных вредоносной программой, которая позволяет удаленно управлять зараженными компьютерами без ведома их пользователей. Программы, которые позволяют выполнять подобные действия, называют ботами.
На фиг.1 приведен алгоритм подобных атак. С компьютера 100 хозяина бот-сети рассылаются сигналы на компьютеры 110 управления бот-сетями, каждый из которых отслеживает значительно большее количество компьютеров 120, на которых установлены боты. Использование компьютеров 110 управления бот-сетями значительно усложняет определение компьютера 100 хозяина бот-сети, также увеличивая потенциальный размер бот-сети до миллионов машин и более. Далее, боты на компьютерах 120 начинают DDoS-атаку на сервис 130. Под сервисом подразумевается любой веб-сервис, предоставляющий пользователям определенные услуги или ресурсы. Примерами сервисов могут быть онлайн-магазин или файловый сервер. Со стороны может показаться, что, например, в определенный момент времени интернет-магазин испытывает наплыв покупателей, с которым он не в силах справиться. При DDoS-атаке на сервис 130 в первую очередь страдают как его владельцы, так и его потенциальные клиенты.
Надо отметить, что для решения проблемы DDoS-атак используются различные технологии, например, использующие сбор статистики собираемых данных для построения профиля пользователя. Сбор подобной статистики может быть использован для отделения потенциальных ботов. В заявке US 20090031244 описан метод сбора статистики при передаче данных пользователем. В заявке US 20080010247 описана система по сбору информации о действиях пользователя и составлению конечного профиля с помощью набора правил. В патенте EP 2109282 описывается возможность построения гистограммы запросов (как профиля) пользователя для дальнейших действий по отсечению трафика.
После определения работы потенциальных ботов, бот-сеть может быть определена на основании выявления специфики их запросов или определения аномалий в трафике. Например, в заявках и патентах WO 06039529, US 20090037592, WO 06039529, US 7478429 факт работы ботов определяется с помощью определения дубликатов GET запросов, неправильного возврата каретки или перегрузки DNS сервера. В патенте US 7426634 описан метод запрета новых подключений при определении атаки. Возможные компьютеры-"зомби" (боты) идентифицируются по МАС-адресам. В патенте EP 2109279 определяется атака путем сопоставления среднего количества запросов из страны с текущим количеством запросов. В патентах US 7626940, US 7602731 рассматривается вариант анализа DNS запросов и определение аномалий для дальнейших противодействий возможным атакам. В патенте GB 2393607 описан метод обнаружения аномалий и последующей фильтрации. В заявке US 20080022405 определение аномалий основано на нахождении исполняемых частей в запросах.
Одним из методов решения проблемы DDoS-атак является очистка трафика, направленного к сервису. Например, в заявках и патентах WO 06039529, US 20090037592, WO 06039529, US 7478429 описана система для обнаружения состояния перегрузки сервера (сервиса) с помощью SYN-Flood атак. В патенте US 7058015 описана система из сенсоров, отвечающих за мониторинг трафика, роутеров и управляющего устройства, которое занимается перенаправлением трафика в соответствии с заданными политиками. Описанный в заявке US 20040064738 метод предполагает использование прокси-сервера для анализа трафика к серверу. В заявке US 20030172289 описан метод управления потоком трафика с использованием его перенаправления и дальнейшей обработки.
Еще одним вариантом борьбы с нежелательным трафиком является маршрутизация в «черные дыры». Процесс маршрутизации в «черные дыры» применяется провайдером услуг для блокировки всего трафика, адресованного на целевой объект, в как можно более ранней точке. «Снятый с маршрута» трафик маршрутизируется в «черную дыру» для защиты сети провайдера и других его клиентов. Маршрутизацию в «черные дыры» нельзя назвать удачным решением, поскольку вместе со злоумышленным трафиком атаки отбраковываются и благонадежные пакеты.
Также описаны методы и системы, которые позволяют определить атаку на приложение. В патенте US 7272854 идет определение типа приложения (IM типа), на которое возможно идет DoS атака. В заявке US 20070258438 описывается возможность обнаружения возможной атаки на веб-сервис. В патентах KR 7061017, KR 7077517 описан метод определения атаки на веб-приложение.
Также можно использовать межсетевые экраны (firewall) для борьбы с DDoS-атаками. В этом есть свои плюсы, так как межсетевые экраны находятся в непосредственной близости от защищаемого ресурса, что, однако, совершенно не спасает от атаки на исчерпание полосы пропускания канала. Методы фильтрации в данном случае достаточно примитивны, и, если DDoS-атака будет осуществляться по разрешенным портам и протоколам, межсетевой экран будет перед ней абсолютно беспомощен.
Наконец, одним из наиболее давно используемых технологий является использование "черных" и "белых" списков (далее будем использовать эти слова без кавычек), которые используются для разделения доступа как для запрета (черный список, http://en.wikipedia.org:/wiki/Blacklist (computing)), так и для разрешения (белый список, http://en.wikipedia.org/wiki/Whitelist).
Однако одной из главных проблем существующих систем и методов остается проблема ложных срабатываний. Ложное срабатывание может нарушить работу веб-сервиса - например, не позволяя обычным посетителям онлайн-магазина воспользоваться его услугами. Таким образом, требуется система, способная бороться с возможными DDoS-атаками, в то же время, позволяя обычным пользователям без проблем использовать возможности веб-сервисов.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно систему для уменьшения ложных срабатываний при определении сетевой атаки.
Сущность изобретения
Таким образом, технический результат настоящего изобретения заключается в уменьшении ложных срабатываний при определении сетевой атаки за счет анализа поведенческого взаимодействия пользователей с защищаемым ресурсом.
Согласно одному из вариантов реализации, предоставляется система фильтрации сетевого трафика, содержащая: управляющий модуль связан с коллекторами, центрами очистки и сенсорами и предназначен для хранения статистики предыдущих сетевых атак для корректировки правил фильтрации для центров очистки; упомянутые коллекторы связаны с центрами очистки и сенсорами и предназначены для составления правил фильтрации на основании информации о трафике от центров очистки и сенсоров; упомянутые центры очистки предназначены для фильтрации трафика на основании правил фильтрации; упомянутые сенсоры предназначены для агрегирования информации о трафике для дальнейшей передачи на коллекторы.
В одном из вариантов реализации сервисом является веб-сервис, предоставляющий пользователям определенные услуги или ресурсы.
В другом из вариантов реализации статистика предыдущих сетевых атак включает: статистику средней и пиковой загрузки канала во время сетевой атаки, информацию о вредоносной активности в сети интернет, количество участвующих в сетевой атаке бот сетей, время с момента старта сетевой атаки, продолжительность сетевой атаки, географию сетевой атаки.
В еще одном из вариантов реализации управляющий модуль использует белые и черные списки IP-адресов для корректировки правил фильтрации.
В одном из вариантов реализации белые и черные списки IP-адресов задаются на основе поведенческих критериев, которые включают анализ: количества запросов и сессий, устанавливаемых с одного IP-адреса, количества запросов без подтверждения с одного IP-адреса, количества запросов однотипных данных с одного IP-адреса, количества соединений без продолжения информационного обмена.
В еще одном из вариантов реализации центры очистки подключены к магистральным каналам связи по каналам с высокой пропускной способностью.
В другом из вариантов реализации каждый центр очистки состоит из по крайней мере проксирующего сервера для перенаправления трафика и фильтрующего маршрутизатора для фильтрации трафика.
В одном из вариантов реализации сенсоры находятся в непосредственной близости от сервиса.
Согласно другому из вариантов реализации предоставляется способ фильтрации сетевого трафика, содержащий этапы, на которых: перенаправляют трафик к сервису на сенсоры и центры очистки; обрабатывают на сенсорах все запросы к сервису с дальнейшим агрегированием полученной информации; обновляют правила фильтрации на коллекторах, используя полученную от сенсоров информацию; корректируют обновленные правила фильтрации с помощью управляющего модуля на основании статистики предыдущих сетевых атак; фильтруют трафик на центрах очистки, используя заданные правила фильтрации.
В одном из вариантов реализации сервисом является веб-сервис, предоставляющий пользователям определенные услуги или ресурсы.
В еще одном из вариантов реализации статистика предыдущих сетевых атак включает: статистику средней и пиковой загрузки канала во время сетевой атаки, информацию о вредоносной активности в сети интернет, количество участвующих в сетевой атаке бот сетей, время с момента старта сетевой атаки, продолжительность сетевой атаки, географию сетевой атаки.
В другом из вариантов реализации управляющий модуль использует белые и черные списки IP-адресов для корректировки правил фильтрации.
В одном из вариантов реализации белые и черные списки IP-адресов задаются на основе поведенческих критериев, которые включают анализ: количества запросов и сессий, устанавливаемых с одного IP-адреса, количества запросов без подтверждения с одного IP-адреса, количества запросов однотипных данных с одного IP-адреса, количества соединений без продолжения информационного обмена.
В еще одном из вариантов реализации центры очистки подключены к магистральным каналам связи по каналам с высокой пропускной способностью.
В другом из вариантов реализации каждый центр очистки состоит из по крайней мере проксирующего сервера для перенаправления трафика и фильтрующего маршрутизатора для фильтрации трафика.
В одном из вариантов реализации сенсоры находятся в непосредственной близости от сервиса.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
На фиг.1 приведен алгоритм DDoS атаки.
На фиг.2 приведена упрощенная схема построения настоящей системы.
На фиг.3 приведена подробная схема настоящей системы.
Фиг.4 иллюстрирует использование черных и белых списков при фильтрации трафика.
Фиг.5 иллюстрирует способ работы системы при обнаружении DDoS-атаки.
Фиг.6 иллюстрирует использование различных уровней агрегации получаемых данных.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
На фиг.2 приведена упрощенная схема построения настоящей системы. Для защиты сервиса 130 используются центры очистки 210, которые фильтруют трафик - как от компьютеров 120, на которых установлены боты, так и от обычных пользователей 220, которые пытаются получить доступ к сервису 130.
Для защиты от атак на полосу пропускания, трафик к сервису 130 будет перенаправлен через центры очистки 210, которые должны быть подключены максимально близко к магистральным каналам связи по каналам с высокой пропускной способностью. За счет этого предполагается существенно распределять трафик, не перегружая каналы связи, ведущие к сервису 130.
Для защиты от атак на приложения 230, система будет формировать модель среднестатистического трафика к сервису 130, а затем, во время атаки, будет отсекать на основании такой модели паразитный трафик. Далее под паразитным трафиком будет подразумеваться трафик, генерируемый ботами на компьютерах 120. Легитимным трафиком является поток данных от обычных пользователей 220.
На фиг.3 приведена подробная схема настоящей системы. Она состоит из управляющего модуля 320, коллекторов 310, центров очистки 210 и сенсоров 330. Остановимся более подробно на их взаимодействии.
Трафик А к сервису 130 может идти как от компьютеров 120, на которых установлены боты, так и от обычных пользователей 220. Сам трафик дублируется для перенаправления его к центрам очистки 210, так и к сенсорам 330. На сенсорах 330 происходит обработка всех запросов к сервису 130 с дальнейшим агрегированием полученной информации. В результате, от сенсоров 330 к коллектору 310 попадает уже краткая подборка информации по всем запросам. Перед тем, как рассматривать основные функции коллектора 310, стоит упомянуть про второй поток трафика, который идет к центрам очистки 210. Сами центры очистки 210 выполнены в виде двух устройств - проксирующего сервера 210а и фильтрующего маршрутизатора 210б. Задачей проксирующего сервера 210а является передача отфильтрованного трафика Б к самому сервису 130. Решение по пропуску трафика от того или иного компьютера (а это может быть как компьютер 120 с ботом, так и обычный пользователь 220) принимается с помощью фильтрующего маршрутизатора 210б. Правила фильтрации передаются фильтрующему маршрутизатору 210б от коллектора 310. Рассмотрим теперь каждый элемент системы более подробно.
Управляющий модуль 320 контролирует работоспособность всех остальных модулей (в первую очередь, коллекторами 310), отслеживая их вероятную перегруженность. Управляющий модуль 320 способен отслеживать статистику загрузки канала (текущий день, день недели, месяц), а также вредоносной активности в сети интернет, позволяя выстраивать географию текущих атак и осуществляя хранение и сбор статистики предыдущих атак (количество, продолжительность, пиковые и средние нагрузки). Исходя из этой информации, для каждой атаки можно получить ее описательные характеристики, как например: количество участвующих бот сетей, время с момента старта атаки, география атаки. На основании этой информации управляющий модуль может корректировать правила фильтрации ("профиль фильтрации"), которые используются центрами очистки 210. С этой целью рассчитываются допустимые объемы передаваемых данных, допустимое количество пакетов в зависимости от протокола и т.д. Типы рассматриваемых параметров приведены в таблице. Также управляющий модуль 320 хранит списки черных/белых адресов. Про них стоит упомянуть отдельно.
Фиг.4 иллюстрирует, что при использовании черных и белых списков адресов (или просто - черные и белые списки), они являются превалирующими над правилами фильтрации. Это означает, что если адрес компьютера находится в белом списке (проверка на этапе 440), то трафик с него никогда не будет заблокирован (т.е. не подвергнется фильтрации на этапе 450), а при нахождении в черном списке (этап 420) наоборот - весь трафик блокируется (этап 430).
Белые и черные списки адресов могут быть сформированы вручную как самим администратором системы или автоматически на основе статистических и поведенческих критериев. Примеры формирования и коррекции данных списков рассматриваются, например, в патенте US 7640589. Под поведенческими критериями можно рассматривать анализ количества запросов и сессий, устанавливаемых с одного IP-адреса, количества запросов без подтверждения с одного IP-адреса, количества запросов однотипных данных с одного IP-адреса, количества соединений без продолжения информационного обмена.
Коллектор 310 выполняет статистическую обработку и агрегирование информации о трафике, поступающей от центров очистки 210, а также сбор агрегированной информации с сенсоров 330. Именно коллектор 310 выполняет обобщение статистики легитимного трафика (как от центров очистки 210, так и от сенсоров 330) в так называемый "профиль фильтрации" (далее без кавычек), на основании которого в случае атаки центром очистки 210 принимается решение о фильтрации паразитного трафика. В то же время, управляющий модуль 320 способен корректировать данный профиль фильтрации, что позволяет избегать ложных срабатываний.
Центр очистки 210, как правило, представляет отдельный сервер, подключены максимально близко к магистральным каналам связи по каналам с высокой пропускной способностью. В одном из вариантов реализации центр очистки 210 может состоять из проксирующего сервера 210а и фильтрующего маршрутизатора 210б с целью разделения функций для достижения более высокой эффективности. Проксирующий сервер 210а выполняет перенаправление трафика к сервису 130. Фильтрующий маршрутизатор 210б принимает решение по пропуску того или иного трафика на основании данных, переданных от коллектора 310 (т.е. очистка от паразитного трафика, который генерируют боты). Таким образом, центр очистки 210 фильтрует трафик А, оставляя в перенаправленном трафике Б только легитимные запросы от обычных пользователей 220.
Сенсоры 330 находятся в непосредственной близости от сервиса 130, от которого идет зеркальный отвод трафика (отображено на фиг.3 в виде еще одной стрелки трафика А), и выполняют статистическую обработку информации по трафику с целью агрегирования информации о трафике для предоставления ее коллектору 310.
Стоит отметить, что приведенная система может работать как во время DDoS-атаки, так и вне ее (фиг.5). Вне атаки работа системы направлена на сбор статистической информации и отслеживание аномалий (этап 510). Сбор статистической информации требуется для создания профиля фильтрации (этап 520). В случае обнаружения существенных отклонений трафика на этапе 530 от профиля, система переходит в режим противодействия DDoS-атаке и начинает фильтрацию трафика на этапах 540-550. На этапе 560 проверяется, является ли актуальным текущий профиль фильтрации, который создается коллектором 310 и может быть дополнен на этапе 570 с помощью управляющего модуля 320, который располагает необходимой статистической информацией по известным прошлым атакам. При определении факта окончания атаки на этапе 580, алгоритм возвращается на этап 510.
В одном из вариантов реализации профиль фильтрации строится в отношении трафика, исходящего от конкретного индивидуального пользователя ресурса, и оценивает параметры такого трафика на предмет соответствия расчетным нормальным параметрам. Для обнаружения аномалий используется профиль обнаружения аномалий, который строится в отношении трафика, направленного в сторону ресурса, и оценивает суммарные параметры такого трафика на предмет соответствия установленным пороговым значениям. Для построения профилей используется один и тот же набор данных, который интерпретируется по-разному для обоих профилей.
Данные, которые используются для построения профиля, имеют различные уровни агрегации данных, которые позволяют анализировать входные данные на разных уровнях.
№ уровня агрегации
Ключ фиксируемых значений
Фиксируемые значения
1
1) IP-адрес клиента защищаемого ресурса
1) Количество полученных байт
2) IP-адрес защищаемого ресурса
2) Количество отправленных байт
3) Протокол/порт (сервис)
3) Количество полученных пакетов
4) Метка времени
4) Количество отправленных пакетов
5) Количество полученных пакетов с единственным установленным флагом SYN (для протокола TCP)
2
1) Код страны для IP-адреса клиента защищаемого ресурса
1) Количество полученных байт
2) IP-адрес защищаемого ресурса
2) Количество отправленных байт
3) Протокол/порт (сервис)
3) Количество полученных пакетов
4) Метка времени
4) Количество отправленных пакетов
5) Количество полученных пакетов с единственным установленным флагом SYN (для протокола TCP)
6) Количество уникальных IP-адресов клиентов защищаемого ресурса
3
1) IP-адрес защищаемого ресурса
1) Количество полученных байт
2) Протокол/порт (сервис)
2) Количество отправленных байт
3) Метка времени
3) Количество полученных пакетов
4) Количество отправленных пакетов
5) Количество полученных пакетов с единственным установленным флагом SYN (для протокола TCP)
6) Количество уникальных IP-адресов клиентов защищаемого ресурса
4
1) Идентификатор группы ресурсов
1) Количество полученных байт
2) Протокол/порт (сервис)
2) Количество отправленных байт
3) Метка времени
3) Количество полученных пакетов
4) Количество отправленных пакетов
5) Количество полученных пакетов с единственным установленным флагом SYN (для протокола TCP)
6) Количество уникальных IP-адресов клиентов защищаемого ресурса
5
1) Идентификатор клиента
1) Количество полученных байт
2) Протокол/порт (сервис)
2) Количество отправленных байт
3) Метка времени
3) Количество полученных пакетов
4) Количество отправленных пакетов
5) Количество полученных пакетов с единственным установленным флагом SYN (для протокола TCP)
6) Количество уникальных IP-адресов клиентов защищаемого ресурса
Фиг.6 иллюстрирует использование различных уровней агрегации (в данном примере с 3 по 5), что позволяет отслеживать данные на разных уровнях - начиная от выбранного клиента, и спускаясь уровнями ниже до определенных сервисов. Например, можно отслеживать статистику не только по Клиенту 1, но и по одному из его HTTP сервисов, как например Сайт 1.
Профиль обнаружения аномалий представляет совокупность пороговых значений некоторой величины S, описывающих нормальный трафик для одного из уровней агрегации (например, клиента или сервиса). Пороговое значение может быть задано для каждого часа дня и определенного дня недели, чтобы исключить возможные ложные срабатывания. В качестве величины S могут выступать любое из фиксируемых значений, как, например, суммарное количество входящих пакетов или количество уникальных IP-адресов пользователей.
Настоящее описание излагает основной изобретательский замысел авторов, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства, прежде всего, предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.