Система и способ настройки систем безопасности при DDoS-атаке
SYSTEM AND METHOD OF SETTING SECURITY SYSTEMS UNDER DDOS ATTACKS

Область техники
Изобретение относится к технологиям обеспечения информационной безопасности, а более конкретно, к способам обеспечения защиты от сетевых атак.
Уровень техники
В настоящее время практически все компании и организации так или иначе представлены в сети Интернет, а многие используют сеть Интернет как деловой инструмент. В то же время, сеть Интернет не обеспечивает должной защиты сервисов "по умолчанию". Кроме того, от ряда Интернет-угроз сегодня невозможно защититься персональными средствами защиты, подобными межсетевым экранам, системам предотвращения атак, антивирусами и т.п. Ярким примером подобных угроз являются DDoS атаки.
DoS-атака представляет атаку на вычислительную систему с целью довести ее до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверами), либо этот доступ затруднен. Мотивы подобных атак могут сильно разниться - они могут служить элементами конкурентной борьбы, средством вымогательства, мести, выражения недовольства, демонстрации возможностей и привлечения внимания, что чаще всего трактуется как кибертерроризм. Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределенная атака типа «отказ в обслуживании»). Существуют две основные разновидности DDoS-атак: атаки на полосу пропускания и атаки на приложения.
Атаки на полосу пропускания - злоумышленник действует путем наполнения каналов связи, выделенных полос пропускания и оборудования большим количеством пакетов. Выбранные в качестве жертвы маршрутизаторы, серверы и межсетевые экраны, каждый из которых имеет лишь ограниченные ресурсы обработки, под действием атаки могут стать недоступны для обработки корректных транзакций или выйти из строя под большой нагрузкой. Самая распространенная форма атаки с заполнением полосы пропускания - это лавинная атака с отправкой пакетов, при которой большое количество внешне благонадежных пакетов протокола TCP, протокола пользовательских датаграмм (UDP) или протокола управления сообщениями в сети Интернет (ICMP) направляется в конкретную точку.
Атаки на приложения - злоумышленник, эксплуатируя особенности поведения протоколов взаимодействия компьютеров (TCP, HTTP и т.п.), а также поведения сервисов и приложений, захватывает вычислительные ресурсы компьютера, на котором функционирует объект атаки, что не позволяет последнему обрабатывать легитимные транзакции и запросы. Примерами атак на приложения являются атаки с полуоткрытыми соединениями HTTP и с ошибочными соединениями HTTP.
В последнее время все большую популярность приобретают так называемые Slow-Rate или "Low and Slow" атаки. Подобные атаки используют недостатки реализации приложений на стороне сервера (например, вебсервера) и позволяют, используя лишь небольшое количество запросов, вывести важный сервис на стороне сервера из строя. Объем трафика, который генерируется во время подобной атаки может быть совсем небольшим, поэтому методы обнаружения при атаках на полосу пропускания оказываются неэффективными, а традиционные методы обнаружения атак на приложения зачастую не отличают подобные вредоносные пакеты данных от легитимных ввиду их похожести.
Примером подобной атаки является атака Slowloris. Данный метод атаки может выполнить даже один компьютер. Заключается в отправке незавершенных (partial, например, для GET-запроса) HTTP запросов, при этом хост в дальнейшем отправляет дополнительные заголовки, но запрос никогда не завершается. Таким образом, сервер резервирует все сокеты для обработки HTTP, что приводит к отказу в обслуживании со стороны других клиентов. Атака занимает продолжительное время.
В ряде последних патентных публикаций, например, в US 20160226896, предлагается производит анализ данных исходя из сетевого протокола (в случае данной публикации это SSL), однако в случае использования других протоколов или перехода протокола на следующую версию подобный анализ окажется бесполезным. Требуется более гибкое и универсальное решение по анализу пакетов данных от пользователей вне зависимости от используемого протокола с целью заранее определить возможную сетевую атаку на сервер.
Кроме того, известны случаи, когда за DDoS-атакой производилась другая атака, известная как целевая кибератака - Advanced Persistent Threat (APT). Поэтому требуется решение, которое позволит не только обнаружить и обезвредить DDoS-атаку, но также дать обратную связь всей защитной инфраструктуре организации, на которую направлена DDoS-атака.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением.
Раскрытие изобретения
Технический результат настоящего изобретения заключается в обеспечении изменения параметров работы приложения, отвечающего за безопасность, при определении DDoS-атаки на сервер.
Согласно одному из вариантов реализации, предлагается система изменения параметров работы приложения, отвечающего за безопасность, при определении DDoS-атаки на сервер, которая включает: сервер, который включает один или несколько сервисов, которые отвечают за обработку запросов пользователей, которые обращаются к серверу путем отправки запросов; средство защиты от DDoS-атак, которое определяет DDoS-атаку на сервер, и передает информацию об определенной DDoS-атаке средству администрирования; приложение, отвечающее за безопасность, которое отслеживает работу сервисов сервера и при определении некорректной работы последних, передает информации об этом средству администрирования; средство администрирования, которое получает информацию от средства защиты от DDoS-атак и приложения, отвечающего за безопасность, и изменяет параметры работы приложения, отвечающего за безопасность, на основании полученных данных.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 изображает пример обработки трафика с помощью системы защиты от DDoS-атак.
Фиг. 2 отображает пример гистограммы запросов пользователя.
Фиг. 3 приводит гистограмму запросов со стороны злонамеренного пользователя (бота).
Фиг. 4 приводит гистограмму запросов со поискового робота.
Фиг. 5 показывает алгоритм работы средства защиты от DDoS-атак при сборе данных от пользователей.
Фиг. 6 отображает схему работы настоящего изобретения.
Фиг. 7а показывает пример взаимодействии средства 130 и приложения 620 при обнаруженной атаке со стороны средства 130.
Фиг. 7б показывает пример взаимодействии средства 130 и приложения 620 при пропущенной атаке со стороны средства 130.
Фиг. 8 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер с помощью которых может быть реализовано настоящее изобретение.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
На Фиг. 1 изображен пример обработки трафика с помощью системы защиты от DDoS-атак. Обычные (легитимные) пользователи 110 делают запросы к серверу 140. В дальнейшем все примеры будут касаться защиты именно сервера 140, но помимо самого сервера в традиционном понимании (т.е. веб-сайт, куда заходят пользователи 110 со своих браузеров) там также могут находиться любые веб-сервисы, построенные с использованием стандартов HTML, XML, WSDL, SOAP. Кроме того, сервер 140 может предоставлять интерфейсы для доступа к другим сервисам, например, к СУБД (не отображено). Также следует понимать, что сервер 140 может включать не один физический компьютер (сервер), а целую группу (кластер или дата центр), имеющую собственные механизмы балансировки нагрузки (не рассматриваются в рамках настоящей заявки).
Кроме обычных пользователей 110 запросы к серверу 140 могут идти и от злонамеренных пользователей (или ботов) 120. Целью данных пользователей является атака сервера 140, при этом атака идет либо на полосу пропускания как количественно (байтов в секунду), так и частотно (запросов в секунду), либо на приложения, работающие на сервере (например, вебсервер). Для защиты от подобных атак используется средство защиты от DDoS-атак 130. Рассмотрим более подробно механизм его работы, для чего потребуется более детально рассмотреть процесс посещения сервера пользователем. Отметим, что как обычные пользователи 110, так и злонамеренные пользователи 120 являются клиентами сервера 140.
Пользователь 110 (или злонамеренный пользователь 120) отправляет запрос к серверу 140 либо используя браузер, либо отправляют уже специальным образом сформированный пакет данных. Например, в рамках протокола HTTP таковым будет являться GET (или POST) запрос. Рассмотрим более подробно сами параметры запроса:
В частности, одним из самых главных параметров является путь (англ. Universal Resource Identifier, URI, также используется понятие URL для доступа к веб-страницам), по которому идет обращения со стороны пользователя. Путь может быть как уникальным, так и динамическим, т.е. формироваться во время обмена информацией между браузером пользователя и сервером 140. Используя такие методы сверток, как нечеткие хеш-суммы (англ. Fuzzy hash), можно сформировать конечный набор путей по которому можно обратиться к серверу 140.
Таким образом, для каждого пользователя можно построить гистограмму запросов к серверу 140, пример которой отображен на Фиг. 2. Обычные пользователи совершают навигацию по сайту, отправляя запросы к серверу 140, в результате чего гистограмма их посещений обычно включает множество запросов по разным путям. В качестве примера можно привести заказ в онлайн-магазине, когда пользователь сначала заходит на сайт (первый путь), ищет нужный товар (несколько различных путей), читает отзывы и делает заказ (еще несколько путей).
В одном из вариантов реализации для каждого пользователя можно построить гистограмму частоты возникновения запросов к серверу 140, Обычные пользователи совершают навигацию по сайту, отправляя запросы вручную. Так, например, даже при многократном нажатии кнопки «Обновить» в браузере, частота запросов обычного пользователя не превышает 5 запросов в секунду.
В одном из вариантов реализации гистограмма частоты возникающих запросов строится с учетом страницы (URL), к которой обращается пользователь. Так, чем меньше страница содержит ссылок на другие страницы, тем меньше запросов (количественно и частотно) возникает у пользователя при переходе с этой страницы.
В одном из вариантов реализации гистограмма частоты возникающих запросов строится с учетом протокола, по которому взаимодействует пользователь. Так, например, протокол TCP гарантирует доставку пакетов, поэтому многократный запрос к одной и той же странице свидетельствовать об атаке.
В одном из вариантов реализации гистограмма частоты возникающих запросов строится с учетом содержимого страницы (URL), к которой обращается пользователь. Так, если страница содержит какой-либо обновляемый график (например, интернет-биржа), нормальная частота обновления 1 раз в 5 секунд. Если страница содержит новости (например, сайт новостного агрегатора), нормальная частота обновления 1 раз в 1 минуту. Если же страница содержит статическую информацию (например, страница Wikipedia), то многократный запрос к странице также может свидетельствовать о начале атаки на сервис. На Фиг. 3 приведена гистограмма запросов со стороны злонамеренного пользователя (бота) 120, который, как правило, обращается по определенному пути (иногда - по нескольким), что можно видеть в качестве одного столбца на гистограмме. Данное поведение не похоже на поведение обычного пользователя 110 на Фиг. 2.
Кроме того, приведем пример работы программ - поисковых роботов, которые занимаются обходом сайтов, как правило, с использованием методов рекурсивного обхода с целью считывания всех страниц на сайте, чтобы затем построить его карту. Гистограмма подобной программы отображена на Фиг. 4.
Как видно из указанных гистограмм, поведение различных пользователей (или программ и ботов) может сильно разниться, что может использовано средством защиты от DDoS-атак 130. В дальнейшем средство от защиты DDoS-атак 130 для краткости будет описывать как средство 130.
На Фиг. 5 показан алгоритм работы средства защиты от DDoS-атак 130 при сборе данных от пользователей. На момент этапа 510 у средства 130 нет данных о пользователей и в момент начала его работы ему требуется собрать статистику по всем возможным пользователям (как обычных 110, так и злонамеренных 120), что и происходит во время этапа 520. Длительность этапа 520 может составлять от нескольких секунд и минут до весьма продолжительного времени - дней и недель. Как правило, уже через несколько минут можно будет построить на этапе 530 эталонную гистограмму, которая является усредненной гистограммой для всех пользователей. Основное предположение в данном случае - подавляющее большинство пользователей являются обычными (легитимными) пользователями 110 и данные по ним позволяют "сгладить" данные по злонамеренным пользователям 120.
В одном из вариантов реализации, средство 130 после запуска использует гистограмму пользователей, полученную статистически на других ресурсах (например, с использованием Kaspersky Security Network, KSN).
Далее понятие гистограммы в рамках заявки мы заменим на вектор, который состоит из ряда величин, которые характеризуют пользователя, обращающегося к серверу 140.
Вектор может включать уже упомянутые данные по URI, которые запрашивает (посещает с использованием браузера) пользователь, а также следующую информацию:
- Используемый протокол (например, HTTP);
- Номер порта;
- Заголовки (headers), такие как User-Agent, Referer;
- IP-адрес;
- Идентификатор SSL-сессии;
- Код ответа сервера на запрос.
Таким образом, на этапе 540 можно сравнить векторы пользователей с эталонным, что позволит определить насколько пользователь подходит под понятие эталонный пользователь, который, как мы упомянули, соответствует некоторому "усредненному" пользователю. "Усредненный" (эталонный) пользователь - условный пользователь, чей вектор является средним арифметическим по отношению ко всем полученным векторам. Другими способами подсчета средних значений можно использовать среднее арифметическое взвешенное, среднее гармоническое, среднее гармоническое взвешенное.
Сравнение векторов может быть реализовано с использованием различным мер - с помощью использования расстояний Левенштейна, Хэмминга, меры Жаккара и других. С точки зрения использования подобных мер, можно говорить о том, что нет понятия является ли пользователь "хорошим" (пользователи 110) или "плохим" (пользователи 120). Хорошим (легитимным) можно считать того пользователь разница между вектором которого и вектором эталонного пользователя меньше заданного значения. Используя подобную меру можно проводить классификацию пользователей.
Пример классификации:
Для атак типа Low & slow на уровне TCP можно дополнительно анализировать скорость передачи запросов, и генерацию ответов (при атаках типа slow HTTP POST) от пользователя, включая эти параметры в вектор пользователя. Для подобных атак характерна низкая скорость передачи запросов по сравнению с обычными DDoS-атаками на полосу пропускания. Например, достаточно 1000 соединений с 200 запросами в секунду, чтобы вебсервер смог обслужить трети соединений. Сами запросы могут содержать допустимые данные (например, правильно указанные заголовки), что не позволяет расценивать каждый запрос как злонамеренный.
Отметим основные характеристики атак типа low & slow:
- Запросы похожи на запросы от легитимных пользователей 110;
- Методы обнаружения обычных DDoS-атак на полосу пропускания не позволят обнаружить такую атаку;
- IPS/IDS методы обнаружения, основанных на сигнатурном обнаружении или обнаружении аномалий, также не смогут обнаружить подобную атаку;
- Данная атака не требует большого количества ресурсов и может быть произведена с одного компьютера;
- Подобные атаки могут вывести из строя веб-сервер даже с большим запасом аппаратной мощности.
Рассмотрим более подробно более детализированное использование и сравнение векторов пользователей с учетом данных от инфраструктуры сервера 140.
На Фиг. 6 отображена схема работы настоящего изобретения. Фиг. 6 отличается от Фиг. 1 тем, что на стороне сервера 140 более детально отображена инфраструктура такая как различные сервисы 610 (например, вебсервер, почтовый сервер, FTP-сервер и другие), а также приложения, отвечающие за безопасность 620. Приложениями 620 могут быть IPS/IDS решения, сетевой экран, элементы SIEM (англ. Security Information and Event Management) решений, DLP-модули. Примерами подобных решений можно назвать такие приложения как Kaspersky Security для Microsoft Exchange Servers или Endpoint Security для Windows. В одном из вариантов реализации в системе также используются аппаратные средства со встроенными механизмами защиты 625. Например, роутеры CISCO, риложение(-я) 620 и/или аппаратные средства 625 могут получать информацию от сервисов 610, конфигурировать их (менять их настройки), а также обмениваться информацией от средства 130. Обмен информацией между средством 130 и приложением 620 может быть осуществлен с использованием известных протоколов, например, JSON. В дальнейшем под приложением 620 будем описывать все множество приложений 620, отвечающих за информационную безопасность. В одном из вариантов реализации приложением 620 является прошивка аппаратного средства защиты 625.
Дополнительно также установлено средство администрирования 630. Примером средства администрирования может быть приложения Kaspersky Security Center или McAfee ePolicy Orchestrator. Данное приложение предназначено для настройки приложений 620 и аппаратных средств со встроенными механизмами защиты 625. Более подробно примеры работы этого средства будет приведен ниже.
Примеры нотификаций, которые могут быть получены от сервисов 610 приложением 620 и как данная информация может быть обработана приложением 620 и средством 130.
Пример 1.
В результате атаки на сервер 140, один из сервисов 610 - веб-сервер Apache - перестал корректно обрабатывать запросы пользователей. В свою очередь приложение 620 перезапускает сервис 610, а также может предварительно изменить его настройки на более подходящие для защиты от атаки. Например, для веб-сервера Apache в файл настройки httpd.conf прописывается следующая информация:
Дополнительно приложение 620 пересылает данные средству 130 о некорректной работе сервиса 610 для последующей перенастройки параметров работы средства 130. Примеры перенастройки работы средства 130 будут приведены ниже.
Пример 2.
В результате атаки на сервер 140, один из сервисов 610 - веб-сервер Apache - перестал корректно обрабатывать запросы пользователей. В свою очередь приложение 620 получает информацию от средства 130, что атака направлена на определенную версию Apache, например, 2.2.15 и для успешной защиты от нее включает дополнительный веб-сервер 610 nginx в режиме proxy перед атакуемым веб-сервером Apache.
Пример 3.
Средство 130 передает информацию о пользователе 120, который имеет нетипичный вектор, в рамках которого видно, что пользователь 120 постоянно обращается к странице с паролем. На стороне приложения 620 делается вывод о том, что происходит brute force атака и требуется либо перенастроить соответствующее приложение или модуль (например, IPS), либо добавить IP-адрес компьютера пользователя 120, с которого идет подобная атака в список запрещенных (англ. blacklist).
Пример 4.
Средство 130 передает информацию о пользователе 110, который имеет нетипичный вектор, в рамках которого видно, что пользователь 110 постоянно обращается к определенному сервису 610 (например, постоянно скачивает файлы с FTP-сервера). Несмотря на то, что IP-адрес компьютера пользователя 110 находится в списке разрешенных адресов (англ. whitelist), подобная информация от средства 130 приведет к тому, что на стороне приложения 620 делается вывод о том, что происходит утечка данных и требуется либо перенастроить соответствующее приложение или модуль (например, DLP), либо добавить IP-адрес компьютера пользователя 110, с которого идет подобная атака в список запрещенных (англ. blacklist).
Пример 5.
На стороне приложения 620 определяется атака типа Response Splitting, связанная с отсутствием правильной проверки HTTP заголовка со стороны веб-сервера. В ответ на подобную атаку приложение 620 может перенастроить средство 130 для анализа HTTP заголовков.
Далее будут рассмотрены примеры перенастройки работы средства 130.
Как уже отмечалось, вектор может быть примерно следующим:
- Количество посещенных страниц/запросов по их URI за промежуток времени
- Используемый протокол (например, HTTP);
- Номер порта;
- Заголовки (headers);
- IP-адрес;
Приведем пример изменения подобного вектора. Приложение 620 уведомляет средство 130 о том, что веб-сервер 610 перестал обрабатывать запросы пользователей в результате возможной атаки типа Low & slow. По анализу этой информации средство 130 изменяет промежуток времени в течении которого накапливается информация о количестве посещенных страниц/запросов по их URI - например, с 10 минут до 5 минут. В результате чего согласно вышеприведенному примеру классификации, разница между вектором пользователя и эталонным, по сравнению с эталонным превысит 1, и будет обнаружен злонамеренный пользователь 120, который и проводит атаку типа Low & slow.
Другой пример изменения вектора включает решение проблемы, связанной с большим количество данных. Например, вектор включает слишком много данных в результате чего, сравнение всех векторов с эталонным не будет превышать некоторого значения, и все пользователи будут считаться обычными (легитимными). Однако, если исключить из вектора некоторые данные - например, информацию о заголовках, которые могут быть одинаковыми у подавляющего количества пользователей (как обычных 110, так и злонамеренных 120), то значения векторов изменятся и появится возможность более точно классифицировать пользователей. Пример решения подобной проблемы (Dimensionality reduction) может служить метод главных компонент (англ. principal component analysis, РСА).
Еще один пример изменения вектора также включает добавление новых параметров. Например, после добавления еще одного сервиса 610, который работает с REST протоколом, требуется анализировать данные, связанные с его работой на стороне средства 130. Один из примеров передаваемых данных через такой протокол может быть:
Для средства 130 таким образом добавится также анализатор (англ. parser) используемого протокола, который позволит извлечь информацию по нужным тегам (например, по тегу <reply>), которую можно будет занести в вектор для анализа.
Приведем также пример возможной корреляции данных между средством 130 и приложением 620. Например, в компании А произошла DDoS-атака, которая была зафиксирована с помощью средства 130, а в дальнейшем было также обнаружено, что во время атаки часть сервисов 610 работала некорректно, а с одной из СУБД (также один из сервисов 610) была переписана важная информация, что было зафиксировано в одном из журналов приложения 620. Таким образом, DDoS-атака использовалась для отвлечения внимания от кражи данных. Для будущего обнаружения подобных корреляций, сохраняется следующая информация в виде правила:
ЕСЛИ
Средство 130 определяет атаку по вектору
И
Указанный вектор имеет заданные характеристики
ТО
Настроить приложение 620 (например, DLP или IDS модули) для противодействия утечке данных на стороне одного из сервисов 610 (например, СУБД)
Подобное правило может быть сохранено и использовано связкой средства 130 - приложение 620 на стороне любой другой компании, использующей подобный сервис.
Формирование правил может быть реализовано с помощью методов машинного обучения. Известные методы машинного обучения:
- Использование регрессионных моделей, таких как линейная или логистическая
- Метод опорных векторов
- Искусственные нейросети
- Кластеризация
На примере простой нейросети с одним скрытым слоем можно строить правила, аналогичные указанным выше. Например, нейроны из входного слоя нейросети будут получать данные от средства 130. Обучение (т.е. задавание весов для нейронов) можно производить на основании уже известных инцидентов.
Рассмотрим более подробно работу средства администрирования 630. Как было указано выше, данное средство 630 предназначено для настройки как для настройки приложений 620 и аппаратных средств со встроенными механизмами защиты 625. Примером средства 630 может служить Kaspesky Security Center 10.
Kaspersky Security Center 10 поддерживает технологию «Kaspersky Security Center Automation 10». Эта технология предоставляет администратору сети возможность автоматизировать антивирусную защиту или управлять настройками сервера администрирования, с помощью написания скриптов и сценариев запуска. Чтобы воспользоваться технологией «Kaspersky Security Center Automation 10», необходимо написать сценарий с использованием OLE компонентов (OLE объектов) или ActiveX. Сценарий может быть написан на языках Jscript и VBScript, а также на языках высокого уровня, поддерживающих технологию OLE (например, С, С++, Visual Basic, Visual Basic.NET, C#, J#).
Таким образом, работа средства 630 может быть полностью автоматизирована в том случае, если настройка приложений 620 и аппаратных средств со встроенными механизмами защиты 625 осуществляется с помощью упомянутых выше правил, которые были написаны на языках высокого уровняю
Фиг. 7а показывает пример взаимодействии средства 130 и приложения 620 при обнаруженной атаке со стороны средства 130. На этапе 710 средство 130 определяет DoS-атаку (или любую другую, которую способно обнаружить - например, типа "Low and Slow") на сервер 140 и его сервисы 610. Далее на этапе 720 средство 130 передает информацию о параметрах атаки (ее вектор) приложению 620. Приложение 620 в свою очередь вносит изменения в механизм собственной работы. Например, оно может добавить IP-адрес атакующего в список запрещенных. Также на этапе 740 приложение 620 вносит изменения в параметры работы сервисов 610 - например, модифицирует параметры работы веб-сервера.
Фиг. 7б показывает пример взаимодействии средства 130 и приложения 620 при пропущенной атаке со стороны средства 130. Приложение 620 на этапе 810 определяет, что один из сервисов работает некорректно - например, веб-сервер на отвечает на запросы от пользователей или СУБД передает нетипично большие объемы данных. Если подобные аномалии были зафиксированы, то на этапе 820 приложение 620 изменяет параметры собственной работы (например, запускает антивирусную проверку того компьютера, где расположены некорректно работающие сервисы 610), после чего на этапе 830 изменяет параметры работы вышеуказанных сервисов, в работе которых была обнаружена аномалия. После чего на этапе 840 приложение 620 вносит изменения в параметры работы средства 130 -например, изменяет промежуток времени в течение которого собираются данные о запросах пользователей к серверу 140 (и соответствующим сервисам 610).
В настоящем изобретении под средствами 630, 620, 625 и 140 понимаются реальные устройства, системы, компоненты, группа компонентов, реализованных с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемой вентильной матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность средств 630, 620, 625 и 140 может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности реализована программными средствами, а часть аппаратными (программно-аппаратный комплекс). В некоторых вариантах реализации часть средств 630, 620, 625 и 140 может быть исполнена на процессоре компьютерной системы общего назначения (описана на Фиг. 8).
Фиг. 8 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 8. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.