СИСТЕМА И СПОСОБ РАСПРЕДЕЛЕНИЯ ЗАДАЧ АНТИВИРУСНОЙ ПРОВЕРКИ МЕЖДУ ВИРТУАЛЬНЫМИ МАШИНАМИ В ВИРТУАЛЬНОЙ СЕТИ Российский патент 2016 года по МПК G06F21/53 G06F21/56 

Описание патента на изобретение RU2580030C2

Область техники

Настоящее изобретение относится к системам и способам антивирусной защиты виртуальных машин, а более конкретно, к системе и способу распределения задач антивирусной проверки между компонентами антивирусной системы, которые размещены на различных виртуальных машинах.

Уровень техники

В настоящее время большое распространение получили так называемые виртуальные машины. Виртуальная машина (ВМ) является программной средой, которая внутри физической («реальной») машины (например, компьютера или сервера) обеспечивает изоляцию работы друг от друга программ и даже операционных систем, в том числе работу BIOS, процессора (CPU), оперативной памяти, жесткого диска и периферийных устройств. Таким образом, обеспечивается работа физической машины внутри другой физической машины. Кроме того, если виртуальная машина, так же как и физическая машина, обладает собственной операционной системой, то она может отличаться от операционной системы физической машины. На одной физической машине, которая также именуется как «хост-машина», может быть создана виртуальная компьютерная среда, содержащая одновременно несколько виртуальных машин. Во время функционирования виртуальные машины используют одни и те же вычислительные ресурсы хост-машины, управление которыми будет обеспечиваться с помощью монитора виртуальных машин.

Монитор виртуальных машин, который также известен как гипервизор, обеспечивает одновременную и параллельную работу виртуальных машин, развернутых на хост-машине, а также управляет вычислительными ресурсами хост-машины, разделяя их между всеми виртуальными машинами. Таким образом, гипервизор выделяет определенное количество ресурсов каждой виртуальной машине. Каждая ВМ затем использует выделенные ресурсы, как для работы собственной операционной системы, так и для выполнения задач пользователя. Кроме того, гипервизор может предоставлять виртуальным машинам средства связи и взаимодействия между собой, например, сетевые соединения, как будто это разные физические машины. Таким образом, может быть создана виртуальная локальная сеть на хост-машине. Также возможности гипервизора позволяют накладывать различные ограничения на виртуальные машины, например, ограничение на подключение к сети Интернет. В этом случае будет сформирована локальная сеть, изолированная от внешней сети, что, например, позволит обеспечить безопасность такой сети или виртуальных машин, а связь с внешней сетью будет осуществлять через гипервизор или специально назначенную ВМ. Данный вариант актуален при создании корпоративных сетей, виртуальные машины которых могут обладать конфиденциальной информацией.

Кроме того, виртуальная машина, как и любая физическая компьютерная система, также уязвима для вредоносного программного обеспечения. Следовательно, существует необходимость в антивирусной системе для их защиты. Такая задача может быть решена путем запуска традиционного антивирусного программного обеспечения на каждой виртуальной машине. Но в то же время такой подход имеет и большой недостаток при его реализации в виртуальной среде, сформированной на хост-машине. Недостаток связан с чрезмерным использованием ресурсов хост-машины, который может повлечь за собой перегрузку хост-машины или продолжительное зависание ВМ при выполнении задач на данных ВМ. Указанный недостаток связан с тем, что может возникнуть ситуация, когда антивирусные системы будут проверять файл, который физически размещен в одной и той же области жесткого диска хост-машины, т.е. будет производиться проверка одного и того же файла. Кроме того, гипервизор будет иметь дополнительную лишнюю нагрузку, связанную с предоставлением ресурсов (например, ресурсов процессора и памяти) для работы антивирусной системы на каждой ВМ. Еще один недостаток заключается в том, что антивирусная система, установленная в операционной системе виртуальной машины, является классической, поэтому ничего не знает о гипервизоре и в случае необходимости не сможет воспользоваться службами виртуальной машины для проведения, например, функции «отката» или создания снимка файловой системы.

Для решения данных недостатков существует ряд подходов, одним из которых является подход, использующий распределенную антивирусную систему для защиты ВМ в сети. Такая антивирусная система состоит, например, из следующих компонентов: виртуальной машины, выполняющей задачи антивирусной проверки, именуемая как виртуальная машина защиты (ВМЗ), и агентов, размещенных на каждой ВМ в сети и выполняющих функции для обеспечения работы ВМЗ (передача данных, обнаружение и блокирование доступа к различным объектам, размещенным на ВМ).

Так, в патенте US 8387046 B1 описана система безопасности виртуальной среды, содержащей несколько десятков ВМ, и метод выявления вредоносного ПО с помощью безопасного канала связи между компонентами защиты. Компонентами защиты являются ВМЗ и драйвер защиты, установленный на каждой ВМ. Драйвер защиты производит отслеживание и сбор всех совершающихся активностей, происходящих при работе ОС ВМ. Далее драйвер защиты по защищенному каналу связи передает собранные данные ВМЗ. В свою очередь ВМЗ производит анализ полученных данных (активностей) с целью выявления вредоносного ПО, в частности, руткитов.

В патенте US 7797748 B2 описана система антивирусной защиты множества ВМ от вредоносного ПО, которая включает два компонента защиты на разных уровнях. Первый компонент размещен на уровне гипервизора и отвечает за анализ предоставляемых данных от второго компонента. Анализ основан на сравнении предоставляемых файлов с базой данных вирусных сигнатур. После чего решение о вредоносности файлов передается второму компоненту. Второй компонент размещен на каждой ВМ и отвечает за защиту ВМ, основанную на разрешении или блокировании работы файлов согласно полученному решению от первого компонента.

В заявке US 20120144489 A1 описана система антивирусной защиты ВМ с целью обеспечения снижения нагрузки на ресурсы виртуальной среды. Система содержит три компонента, а именно: агента, расположенного на каждой ВМ, менеджера управления и общего механизма проверки и обновления сигнатур. Агенты выполняют функцию контроля доступа к объектам и функцию передачи данных к общему механизму проверки. Общий механизм проверки является антивирусной системой и размещен на отдельной ВМ. Все взаимодействия между агентами и общим механизмом проверки осуществляются через менеджера управления. Менеджер управления имеет возможность приостановить работу любой ВМ, произвести проверку в автономном режиме или сделать копию, на которой затем будет произведена проверка.

Рассмотренные выше системы, направленные на решения задачи оптимизации использования ресурсов хост-машины, имеют один общий недостаток. Недостаток связан с отсутствием возможности выбора оптимального компонента антивирусной системы для проведения задачи антивирусной проверки в соответствии с требуемыми критериями проверки. Примерами критериев являются скорость проверки, время проверки, трудоемкость выполнения проверки или требуемая нагрузка на вычислительные ресурсы хост-машины. Другими словами, в рассмотренных выше методах и системах отсутствует сбалансированное распределение задач антивирусной проверки между компонентами антивирусной системы с целью уменьшения нагрузки на ресурсы хост-машины при соблюдении необходимого уровня защиты и скорости реакции.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно делегирование задач антивирусной проверки между компонентами антивирусной системы в зависимости от условий проведения антивирусной проверки.

Раскрытие изобретения

Настоящее изобретение предназначено для снижения нагрузки на вычислительные ресурсы хост-машины с помощью распределения задач антивирусной проверки между компонентами антивирусной системы, размещенными на различных виртуальных машинах.

Технический результат настоящего изобретения заключается в балансировке нагрузки по крайней мере на двух виртуальных машинах, содержащихся в виртуальной среде, размещенной на физической машине, во время проведения антивирусной проверки. Технический результат настоящего изобретения достигается за счет распределения методов антивирусной проверки между компонентами антивирусной системы, которые размещены на различных виртуальных машинах и содержат методы антивирусной проверки в зависимости от функциональных возможностей виртуальных машин.

В качестве одного из вариантов исполнения предлагается система распределения задачи антивирусной проверки между компонентами антивирусной системы, размещенными в виртуальной среде, которая содержит: по крайней мере, две виртуальные машины, развернутые на одном компьютерном устройстве, которое содержит монитор виртуальных машин; антивирусный агент, установленный на первой виртуальной машине и предназначенный для: выявления событий, происходящих в операционной системе данной виртуальной машины, определения объекта и типа объекта, относящихся к выявленному событию, определения необходимости проведения антивирусной проверки в соответствии с определенной информацией, передачи указанной выше информации средству управления и выполнения задачи антивирусной проверки объектов с помощью назначенных методов антивирусной проверки согласно полученному запросу от средства управления; антивирусное средство, установленное на второй виртуальной машине и предназначенное для выполнения задачи антивирусной проверки и взаимодействующее со средством управления; средство управления, предназначенное для: назначения, по крайней мере, одного метода антивирусной проверки, который необходим для выполнения задачи антивирусной проверки упомянутого объекта согласно полученной информацией от антивирусного агента, определения, по крайней мере, одного компонента антивирусной системы, с помощью которого будут выполнены назначенные методы антивирусной проверки, где компонентами антивирусной системы, по крайней мере, являются антивирусный агент и антивирусное средство, выполняющие различные методы антивирусной проверки, распределения задачи антивирусной проверки между определенными компонентами антивирусной системы.

В еще одном из вариантов исполнения системы антивирусный агент и антивирусное средство содержат как схожие методы антивирусной проверки, так и отличные друг от друга.

В одном варианте исполнения системы методами антивирусной проверки являются, по крайней мере, следующие подходы: сигнатурный анализ; анализ, основанный на сравнении хеш-значений анализируемого объекта и хеш-значений заведомо вредоносных объектов; анализ объекта на основании журнала событий, содержащего все произошедшие события во время эмуляции кода объекта; анализ объекта с использованием «песочницы», которая основана на анализе исполнения объекта в ограниченной среде; анализ системных событий во время исполнения кода объекта путем их сравнения с событиями, характерными для вредоносного поведения; анализ с помощью экспертной оценки, который будет заключаться в многосторонней оценке всех параметров в целом.

В другом варианте исполнения системы средство управления определяет глубину антивирусной проверки согласно полученной информации от антивирусного агента и в соответствии с глубиной антивирусной проверки назначают методы антивирусной проверки.

В еще одном варианте исполнения системы средство управления определяет у каждого назначенного метода антивирусной проверки приоритет в соответствие с критериями приоритизации и формирует очередь выполнения назначенных методов антивирусной проверки в соответствие с приоритетом методов антивирусной проверки.

В другом варианте исполнения системы критериями приоритизации являются, по крайней мере, ресурсоемкость, время, эффективность и надежность выполнения каждого метода антивирусной проверки.

В еще одном варианте исполнения системы средство управления может быть размещено как на любой виртуальной машине, так и на уровне компьютерного устройства.

В другом варианте исполнения системы в качестве компьютерного устройства используется, по крайней мере, сервер и кластер серверов.

В еще одном варианте исполнения системы антивирусное средство во время выполнения задачи антивирусной проверки имеет выше уровень доступа к вычислительным ресурсам компьютерного устройства, чем антивирусный агент.

В другом варианте исполнения системы антивирусный агент содержит средство проверки для выполнения задач антивирусной проверки и информационную базу, которая содержит информацию, по крайней мере, о результатах ранее выполненных антивирусных проверок.

В еще одном варианте исполнения системы антивирусный агент содержит средство ограничения для выполнения задачи контроля над исполняемыми объектами в операционной системе.

В другом варианте исполнения системы антивирусное средство содержит, по крайней мере, одно из средств: средство анализа, предназначенное для выполнения задач антивирусной проверки с помощью ранее установленных методов антивирусной проверки; средство планирования, предназначенное для формирования очереди выполнения задач антивирусной проверки и методов антивирусной проверки.

В еще одном варианте исполнения системы объектом являются, по крайней мере, файл, процесс, сетевой пакет, унифицированный указатель информационного ресурса, электронное письмо и электронная страница в Интернете.

В качестве другого варианта исполнения предлагается способ распределения задачи антивирусной проверки между компонентами антивирусной системы, которые включают, по меньшей мере, антивирусный агент, размещенный на одной виртуальной машине, и антивирусное средство, размещенное на другой виртуальной машине, способ включает в себя этапы, на которых:

а) выявляют события, происходящие в операционной системе, по крайней мере, одной виртуальной машины с помощью антивирусного агента, который размещен в упомянутой операционной системе,

б) определяют объект и тип объекта для каждого выявленного события с помощью антивирусного агента,

в) определяют необходимость проведения антивирусной проверки в соответствии с определенной на этапе б) информацией,

г) назначают с помощью средства управления, по меньшей мере, один метод антивирусной проверки, который необходим для выполнения задачи антивирусной проверки упомянутого объекта, согласно информации, определенной на этапах а) и б),

д) определяют с помощью средства управления, по крайней мере, один компонент антивирусной системы, с помощью которого будут выполнены назначенные методы антивирусной проверки, где компоненты антивирусной системы выполняют различные методы антивирусной проверки,

е) распределяют с помощью средства управления назначенные методы антивирусной проверки между компонентами антивирусной системы для выполнения задачи антивирусной проверки.

В другом варианте исполнения способа с помощью средства управления: определяют глубину необходимой антивирусной проверки на этапе г) согласно информации, определенной на этапах а) и б); определяют, по меньшей мере, один метод антивирусной проверки, который необходим для выполнения задачи антивирусной проверки, согласно определенной глубине антивирусной проверки.

В еще одном варианте исполнения способа перед определением с помощью средства управления, по крайней мере, одного компонента антивирусной системы определяют приоритет выполнения каждого назначенного метода антивирусной проверки в соответствии с критериями приоритизации.

В другом варианте исполнения способа критериями приоритизации являются, по крайней мере, ресурсоемкость, время выполнения, эффективность и надежность выполнения каждого метода антивирусной проверки.

В еще одном варианте исполнения способа указанный способ также включает этап, на котором выполняют задачу антивирусной проверки на определенных компонентах антивирусной системы с помощью определенных методов антивирусной проверки в соответствии с очередью приоритета выполнения методов антивирусной проверки.

В другом варианте исполнения способа объектом являются, по крайней мере, файл, процесс, сетевой пакет, унифицированный указатель информационного ресурса, электронное письмо и электронная страница в Интернете.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг. 1 показывает пример виртуальной сетевой архитектуры, для которой реализовано заявленное изобретение, и пример размещения компонентов антивирусной системы.

Фиг. 2 иллюстрирует структурную схему системы распределения задач антивирусной проверки между компонентами антивирусной системы, размещенными на различных виртуальных машинах виртуальной среды.

Фиг. 3 показывает алгоритм частного варианта работы системы распределения задач антивирусной проверки между компонентами антивирусной системы, размещенными на различных виртуальных машинах в виртуальной среде.

Фиг. 4 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.

Описание вариантов осуществления изобретения

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.

На Фиг. 1 представлена виртуальная среда, которая развернута на хост-машине 110. В настоящем изобретении в качестве хост-машины 110 может использоваться кластер серверов, сервер или компьютерное устройство, обладающий достаточными вычислительными ресурсами для развертывания виртуальной среды 120, содержащей несколько десятков (возможно, и более) ВМ 150. В одном из вариантов осуществления виртуальная среда 120 может являться корпоративной (локальной) сетью, например, так называемой сетью «Интранет» (от англ. Intranet), которая содержит множество ВМ 150. Каждая ВМ 150 предназначена для запуска на ней гостевой операционной системы (ОС клиента) 155, которая может быть необходима как для работы пользователей, так и для файловых серверов или веб-серверов. Можно отметить, что ОС клиента 155 может быть разной (например, Microsoft Windows, Linux, Mac OS) на каждой ВМ 150 и зависит от потребностей каждого пользователя конкретной ВМ 150. Кроме того, ВМ 150 может являться как подобием персонального компьютера, так и мобильного устройства, например, ноутбука или смартфона. Кроме того, аппаратная конфигурация, требуемая для работы каждой ВМ 150, также будет различна. Под аппаратной конфигурации понимается количество выделенных ресурсов (объем памяти, размер жесткого диска, число ядер процессора, число процессоров и т.д.) хост-машины 110.

В одном из вариантов осуществления для обеспечения одновременной работы всех ВМ 150 хост-машина 110 содержит в себе гипервизор 130. Гипервизор 130 предназначен для обеспечения изоляции одной ВМ 150 от другой ВМ 150, управления (регулирования) вычислительными ресурсами хост-машины 110 и разделения данных вычислительных ресурсов между всеми ВМ 150. Регулирование вычислительных ресурсов позволяет обеспечивать работу всех ВМ 150 без зависания и задержек, так как все ВМ 150 используют одни и те же вычислительные ресурсы хост-машины 110. Например, в случае одновременной работы нескольких ВМ 150 с носителем данных (например, жесткий диск, от англ. hard disk drive) гипервизору 130 необходимо сформировать очередь доступа к нему. Это связано с тем, что хотя для каждой ВМ 150 были выделены специальные области на жестком диске, при этом операции ввода/вывода данных происходят с помощью одного и того же элемента (например, головка диска).

Еще одним примером регулирования нагрузки на вычислительные ресурсы является работа ВМ 150 с процессором хост-машины 110. При запуске каждой ВМ 150 может быть задано процентное соотношение использования возможностей физического процесса хост-машины 110, например, для одной ВМ - 25%, а для другой ВМ - 50%. Гипервизор 130 необходим для регулирования нагрузки на процессор каждой ВМ 150 при их совместной работе. Например, если первая ВМ нагружает процессор на 10%, то вторая ВМ имеет возможность нагрузить до 40%. При этом принцип регулирования ресурсов процессора хост-машины 110 между ВМ может быть различным и зависит от различных критериев, например, от приоритизации ВМ или от начальных настроек каждой ВМ.

Кроме того, гипервизор 130 также обеспечивает связь и взаимодействие между ВМ 150, как будто ВМ 150 являются физическими компьютерными устройствами. На Фиг. 1 гипервизор 130 размещен на уровне виртуальной среды 120 с целью упрощения понимания изобретения, хотя он, как правило, расположен на уровне ядра хост-машины 110. Кроме того, гипервизор 130 также может контролировать доступ к внешней сети 190, например, сети Интернет. Поэтому виртуальные машины 150 в случае необходимости имеют возможность взаимодействовать через гипервизор 130 с внешними серверами и сервисами, например, для работы пользователя удаленно или для скачивания необходимых обновлений приложениями, установленными в ОС клиента 155. Примером сервиса является сервис безопасности антивирусной компании 195, который предназначен для предоставления обновлений для антивирусной системы и различной информации, например, сведений о вредоносности файлов. При этом все взаимодействия будут производиться через гипервизор 130.

Защиту виртуальной среды 120 от различных вредоносных программ и приложений обеспечивает антивирусная система, которая на Фиг. 1 представлена в виде нескольких компонентов, распределенных между ВМ 150. Один компонент антивирусной системы размещен непосредственно в ОС клиента 155, а именно, антивирусный агент 170, одним из назначений которого является контроль в реальном времени событий, происходящих в ОС клиента 155. Примером таких событий могут являться системные вызовы, операции записи, чтения, открытия и закрытия файла. Под контролем понимается выявление среди всех происходящих событий запрещенного события и последующее блокирование, как самого запрещенного события, так и объекта, породившего запрещенное событие. Перечень запрещенных событий или запрещенных объектов передается от антивирусного средства 180. Кроме того, антивирусный агент 170 имеет возможность провести антивирусную проверку самостоятельно. В этом случае антивирусный агент 170 должен обладать функционалом, который позволит провести данную антивирусную проверку (более подробно будет рассмотрено при описании Фиг. 2).

Другой компонент антивирусной системы размещен на виртуальной машине защиты 140, которая специально создана для работы антивирусной системы и содержит в себе антивирусное средство 180, которое в свою очередь предназначено для выполнения задач антивирусной проверки. Стоит отметить, что ВМЗ 140 по сути своей является такой же ВМ 150, только предназначена, как упоминалось выше, для выполнения задач антивирусной проверки. Создание такой ВМЗ 140 позволяет разгрузить ВМ 150 от выполнения части ресурсоемких операций (методов антивирусной проверки) при выполнении задач антивирусной проверки, что позволит уменьшить нагрузку как на сами ВМ 150, так и на хост-машину 110. Например, перенос на ВМЗ 140 такого метода антивирусной проверки, как сигнатурный анализ файлов, значительно снизит нагрузку на ресурсы хост-машины 110, в частности, уменьшится количество дисковых операций (работа с жестким диском) и использование памяти. Данное утверждение связано с тем, что во время проведения сигнатурного анализа необходимо постоянное обращение к сигнатурному списку, а так как выполнение данного метода будет производить только ВМЗ 140, то и обращения к жесткому диску будут производиться только от ВМЗ 140. Еще одним аспектом является утверждение, связанное с тем, что сигнатурный анализ требует времени, что может привести к значительной задержке работы пользователя.

Кроме того, антивирусный агент 170 и антивирусное средство 180 может содержать в себе функционал, который позволит проводить как более простой тип антивирусной проверки (например, сигнатурный анализ файлов, основанный на сравнении хеш-сумм), так и более сложный, позволяющий провести более детальный анализ (например, используя экспертную систему, в основе которой лежит анализ совершающихся действий). Функционал каждого компонента зависит от настроек антивирусной системы, которая проводится, как правило, при внедрении такой системы в виртуальную среду 120 и при установке на каждую ВМ 150 антивирусного агента 170. Во время настройки учитываются такой критерий как функциональная возможность ВМ 150. Другими словами, параметры вычислительных ресурсов хост-машины 110, которые были выделены для ВМ 150. Поэтому функциональность компонентов может быть как отлична друг от друга, так и схожа. Примеры реализации структуры антивирусного агента и антивирусного средства, а также их назначения и взаимодействия между собой более подробно будут рассмотрены при описании Фиг. 2. Стоит отметить, что функционал каждого компонента может меняться со временем, например, из-за изменения количества выделенных вычислительных ресурсов хост-машины 110 виртуальным машинам 140 и 150.

Последним компонентом антивирусной системы является средство управления 160. Средство управления 160 предназначено для обработки информации поступающей от каждого антивирусного агента 170. Под информацией понимаются запросы на проведения антивирусной проверки или перехват подозрительного события. После чего средство управления 160 определяет, по крайней мере, один необходимый метод антивирусной проверки и, по крайней мере, один компонент антивирусной системы (170 или 180), с помощью которого будет проведена данная антивирусная проверка. Стоит отметить, что кроме упомянутых компонентов 170 и 180 запрос на проведения антивирусной проверки также может быть направлен к какому-либо внешнему компоненту через сеть Интернет 190, например, к сервису безопасности 195, который проведет анализ и предоставит средству управления 160 результаты о проверке. Примером сервиса безопасности 195 является сервис KSN (от англ. Kaspersky security network), предоставляемый антивирусной компанией «ЗАО Лаборатория Касперского». Стоит отметить, что место размещения средства управления 160 в виртуальной среде 120 может быть любым. Например, как показано на Фиг. 1, местом размещения может являться гипервизор 130, антивирусное средство 180 или антивирусный агент 170. Конкретное место расположения зависит от требуемой реализации изобретения и возможностей хост-машины 110. В частном случае реализации изобретения средство управления 160 также может быть распределенным, например, часть будет размещена на гипервизоре 130, а часть на антивирусном агенте 170. Далее будем считать, что местом расположения средства управления 160 является гипервизор 170. Размещение на гипервизоре 160 позволяет средству управления 160 наиболее быстро получать информацию о работе всех компонентов (антивирусный агент 170 и антивирусное средство 180), размещенных на ВМ 150 и ВМ 140, и распределять задачи антивирусной проверки между компонентами.

На Фиг. 2 показана структурная схема системы распределения задачи антивирусной проверки между компонентами антивирусной системы, размещенными на различных виртуальных машинах виртуальной среды.

Антивирусная система 200 является антивирусной системой защиты (упомянутой на Фиг. 1) виртуальных машин (ВМ) 150. В одном из вариантов реализации все ВМ 150 объединены в локальную (корпоративную) сеть. Особенностью данной антивирусной системы 200 в сравнении с современными антивирусными системами является то, что она позволяет уменьшить нагрузку на вычислительные ресурсы хост-машины 110 и увеличить скорость проведения антивирусной проверки за счет распределения (делегирования) задачи антивирусной проверки между компонентами антивирусной системы, размещенными на различных ВМ 150, и управления доступом к вычислительным ресурсам хост-машины 110.

В предпочтительном варианте реализации антивирусная система 200 состоит из средства управления 160, по крайней мере, одного антивирусного агента 170 и антивирусного средства 180. В одном из вариантов реализации антивирусный агент 170 для выполнения своего назначения содержит в себе информационную базу данных 240 и средство проверки 250. Информационная база данных 240 предназначена для хранения необходимой информации для работы антивирусного агента 160 и, в частности, средства проверки 250. Примерами информации могут являться, по крайней мере, сведения о типах файлов, списки доверенных и недоверенных приложений, эвристические правила (например, правила анализа событий) и сведения о результатах предыдущих проверок. Средство проверки 250 предназначено для проведения анализа событий и объектов с целью определения вредоносности объектов с помощью методов антивирусной проверки, которые были установлены во время развертывания агента 160 на ВМ 150. Перечень методов антивирусной проверки будет рассмотрен ниже.

В одном из вариантов реализации антивирусный агент 170 также содержит средство ограничения 255, которое в свою очередь предназначено для контроля всех происходящих событий и совершающихся действий в ОС клиента 155. Под контролем понимается выявление подозрительных событий среди всех событий и ограничение (блокирование) совершающихся действий согласно заданным параметрам. Под параметрами понимаются различные правила контроля, заданные антивирусному агенту 170 средством управления 160 или средством проверки 250.

Антивирусное средство 180 в свою очередь содержит общую базу данных 260 и средство анализа 270. Общая база данных 260 предназначена для хранения любой информации, предназначенной для работы антивирусного средства 230 и его компонентов. Примером информации является список сигнатур вредоносных файлов и приложений, перечень метаданных, списки правил контроля или анализа, список уже проверенных объектов (некий централизованный кэш данных), содержащихся на ВМ 150. Средство анализа 270 предназначено для проведения антивирусной проверки с помощью методов антивирусной проверки, которые заложены в данное средство 270.

В одном из вариантов реализации антивирусное средство 180 также содержит средство обновления 280 и средство планирования 290. Средство обновления 280 предназначено для автоматического обновления информационной базы данных. Для этого средство обновления 280 связывается с внешним сервисом обновлений (например, с сервисом безопасности 195) через сеть Интернет 190 и взаимодействует с ним для получения необходимой информации. Стоит отметить, так как заявленное изобретение работает в виртуальной среде, то связь с сетью Интернет 190 будет происходить через гипервизор 130. Средство планирования 290 предназначено для планирования проведения антивирусной проверки средством анализа 270 в случае получения более одной задачи на проведения антивирусной проверки от средства управления 160 или в случае проведения антивирусной проверки разными методами антивирусной проверки. Кроме того, так как антивирусное средство 180 может взаимодействовать одновременно с более чем одной ВМ 150, то средство планирования 290 позволяет приоритезировать задачи антивирусной проверки от нескольких ВМ 150 и формирует очередь проверки.

Стоит отметить, что методами антивирусной проверки, которыми обладают средства проверки 250 и средство анализа 270, могут являться все современные и известные подходы для проведения проверки объектов на наличие вредоносного кода. Под вредоносным кодом (или вредоносным программным обеспечением) понимаются действия, которые предназначены для получения несанкционированного доступа к ресурсам компьютерного устройства (хост-машины 110 или любая ВМ 150) или информации, хранящейся на компьютерном устройстве. Также указанными методами могут являться различные подходы контроля, например, контроль приложений с помощью заранее заданных правил контроля. Примерами подходов являются:

- сигнатурный анализ;

- анализ, основанный на сравнении хеш-значений анализируемого объекта и хеш-значений заведомо вредоносных объектов;

- анализ объекта на основании журнала событий, содержащего все произошедшие события во время эмуляции кода объекта;

- анализ объекта с использованием «песочницы» (от англ. sandbox), которая основана на анализе исполнения объекта в ограниченной среде;

- анализ системных событий во время исполнения кода объекта путем их сравнения с событиями, характерными для вредоносного поведения, например, создание записи в папке «автозапуск» без ведома пользователя;

- анализ с помощью экспертной оценки, который будет заключаться в многосторонней оценке всех параметров в целом (как непосредственная оценка объекта, так и оценка его поведения, т.е. анализ его действий во время исполнения);

- контроль приложений с помощью заранее заданных правил, которые содержат условия поиска запрещенных действий и критерии их ограничения, например, блокирование работы приложения.

В различных вариантах реализации средство проверки 250 и средство анализа 270 могут содержать как все выше перечисленные методы антивирусной проверки, так и только часть из них. Перечень методов проверки на средствах 250 и 270 зависит от первичной настройки данных средств. Настройка же производится с помощью анализа функциональности каждой ВМ 150 и всей хост-машины 110. Например, если во время установки на ВМ 150 антивирусного агента 220 было определено, что данная ВМ 150 не имеет доступа к внешней сети 190, то функционал, содержащий методы, описывающие контроль и анализ сетевого трафика, не имеет смысла предоставлять антивирусному агенту 170, размещенному на данной ВМ 150. Другим примером является ситуация, когда ВМ 150 ограничена в вычислительных ресурсах, например, в памяти, то содержать на ней большой объем информации, например, базу данных, содержащую сигнатуры вредоносных объектов, и функционал, отвечающий за метод анализа путем сравнения сигнатур, не имеет смысла.

Итак, рассмотрим сценарий работы заявленного изобретения. Каждый антивирусный агент 170 (далее - агент 170) производит контроль всех событий, совершаемых в ОС клиента 155. Примером совершаемых событий являются события открытия/закрытия файла, обращения к реестру, записи в файл, запуска библиотеки и т.д. Контроль предназначен для выявления всех событий. В частном случае контроль может производиться для выявления только определенных событий, например, являющихся подозрительными, перечень которых был заранее сформирован. Далее агент 170 определяет для каждого выявленного события объект, которым было совершено данное событие, или объект, на которое направлено выявленное событие. Под объектом, по крайней мере, понимается файл, процесс, происходящий во время исполнения файла, или ссылка, указывающая на какой-то объект в интернете. Стоит отметить, если объектом является файл, то физически он размещен на носителе данных хост-машины 110, что при обращении к нему с нескольких виртуальных машин 150 создает задержку при работе с ним. В частном случае файл также может быть размещен на сторонней хост-машине, что приведет к еще большим задержкам, связанным с доступом к файлу через сеть, например, сеть Интернет 190. После определения объекта агент 170 проводит первичный анализ данного объекта с целью определения типа объекта. Для определения типа объекта агент 170 использует информационную базу данных 260, которая содержит список возможных типов объектов. В частном случае информационная база данных 260 может содержать список не всех типов объектов, а, например, первых ста наиболее популярных типов. Тогда одним из типов будет являться неизвестный объект. После определения типа объекта агент 170 передаст средству управления 160 информацию об объекте, которая, по крайней мере, содержит информацию о типе объекта и выявленном событии. Кроме того, передаваемая информация также может содержать сведения о месте расположения данного объекта на носителе данных (например, жестком диске) хост - машины 110 и метаданные объекта (например, размер, имя, идентификатор).

Средство управления 160 согласно полученной информации, в частности, типу объекта и выявленному событию, определяет необходимость проведения антивирусной проверки и глубину необходимой антивирусной проверки. Так как не все типы объектов подвержены заражению вредоносным кодом или не являются своего рода контейнерами для перемещения вредоносного кода, то такие типы не подвергаются дальнейшей проверке. Примерами наиболее распространенных типов объектов, над которыми необходимо производить проверку, являются исполняемые файлы, файлы-сценарии, «интернет» файлы (web-файлы), сжатые файлы (архивы) и текстовые файлы (документы). Данная информация будет также храниться в информационной базе данных 240. Глубина же антивирусной проверки определяется согласно выявленному типу события. Например, если произошло событие, указывающее на запуск файла, который имеет цифровую подпись компании-разработчика, то антивирусная проверка может быть назначена поверхностной или отложенной, например, с помощью списка «белых» объектов. Если произошла запись в заголовок исполняемого файла, то такое событие требует тщательной проверки и, по возможности, различными методами антивирусной проверки.

В частном случае реализации функцию определения необходимости проведения антивирусной проверки объекта может выполнять агент 170. Тогда агент 170 будет передавать информацию средству управления 160 только об объектах, над которыми необходимо провести антивирусную проверку.

Допустим, что средство управления 160 определило необходимость проведения антивирусной проверки выявленного события и, соответственно, определенного объекта. Тогда средство управления 160 формирует задачу проведения антивирусной проверки. В свою очередь, задача будет содержать информацию о том, какими методами антивирусной проверки и какими компонентами антивирусной системы 200 необходимо провести проверку. В зависимости от типа объекта и совершающихся событий, относящихся к данному объекту, средство управления 160 определяет, какими методами необходимо провести проверку и как быстро.

Стоит отметить, что при определении методов антивирусной проверки учитываются, по крайней мере, такие параметры, как тип объекта, необходимое время для выполнения метода антивирусной проверки и вероятная задержка пользователя. Например, если объектом является сжатый файл (архив) Следовательно, средство управления 160 определяет, что данный объект можно проверить двумя способами: запрос к внешнему серверу через сеть Интернет 190 и проверка методом сигнатурного анализа.

Другим примером является ситуация, когда объектом является ссылка на внешний ресурс, например, сайт «http://msdn.microsoft.com/en-gb/». В этом случае скорость проверки требуется высокая (например, чтобы не замедлять работу пользователя). Тогда средство управления 160 определяет, например, следующие методы проверки: метод проверки по «белым» и «черным» спискам (от англ., whitelist и blacklist); метод проверки с помощью кэша данных, который хранит ранее проверенные и наиболее популярные объекты; и метод проверки, содержащий зарос к внешнему серверу безопасности через сеть Интернет 190. Кроме того, средство управления 160 определит методы, которые будут использоваться во время работы пользователя на выявленном сайте, т.к. есть вероятность появления новых объектов.

Еще одним примером является ситуация, когда объектом является исполняемый файл (приложение). В этом случае средство управление 160 может определить необходимость проведения антивирусной проверки с помощью следующих методов: запроса к сервису безопасности 195 через сеть Интернет 190, эмуляции исходного кода, сигнатурного анализа или формирования задачи для средства ограничения 255 по контролю приложения с помощью правил контроля. Другими словами, средству управления 160 необходимо будет делегировать задачу контроля выполнения приложения средству ограничения 255, размещенному на антивирусном агенте 170, задачу запроса к сервису 195 делегировать, например, средству проверки 250, а задачи эмуляции и сигнатурного или эвристического анализа средству анализа 270. Кроме того, все назначенные методы антивирусной проверки могут быть выполнены как отложенно по времени, так и одновременно.

В частном случае реализации задача антивирусной проверки будет содержать все возможные методы антивирусной проверки.

После определения методов антивирусной проверки средство управления 160 производит их приоритизацию. Приоритизация методов антивирусной проверки также позволяет сократить объем потребляемых ресурсов и время проведения проверки. Для назначения приоритетов методам антивирусной проверки средство управления 160 использует, по крайней мере, два критерия приоритизации, а именно ресурсоемкость и время выполнения каждого метода антивирусной проверки. Под ресурсоемкостью понимается, какие вычислительные ресурсы хост-машины 110 необходимы для проведения соответствующего метода антивирусной проверки, и какая будет наложена нагрузка на данные ресурсы. Примерами необходимых ресурсов являются, по крайней мере, процессор, оперативная память, постоянная память (другими словами, место на жестком диске) и пропускная способность сети. Под временем понимается время выполнения каждого метода антивирусной проверки, которое также включает и время, требуемое при вводе/выводе данных во время обращения к жесткому диску хост-машины 110, и время, требуемое для обмена данными по сети, например, с сервером безопасности 195.

В частном случае реализации еще одним критерием приоритизации является эффективность и надежность каждого метода антивирусной проверки. Под эффективностью понимается скорость выполнения метода антивирусной проверки совместно с уровнем детектирования. Уровнем детектирования является процентное соотношение ложного срабатывания к верному вердикту, выносимому методами.

После установления приоритетов методам средство управления 160 формирует очередь из всех выбранных методов антивирусной проверки, которые будут выполнять задачу антивирусной проверки. Стоит отметить, что приоритет формируется согласно следующим критериям, чем меньше ресурсов и времени необходимо затратить на выполнение соответствующего метода проверки и чем выше эффективность метода антивирусной проверки, тем выше приоритет. Например, были определены два метода проверки: запрос к сервису безопасности 195 и метод проверки с помощью сигнатурного анализа. Сигнатурный анализ требует постоянное обращение к жесткому диску хост-машины 110 для проверки файлов и, следовательно, будет использовать трудоемкую операцию ввода/вывода данных с жесткого диска, что так же повлияет на производительность других ВМ 150. При этом запрос к сервису безопасности 195 требует минимальных ресурсных затрат и, кроме того, скорость ответа на запрос будет высока. Следовательно, приоритет у метода проверки по запросу будет выше, чем у метода проверки по сигнатурам.

В частном случае реализации изобретения средство управления 160 может заранее содержать список приоритетов, который в свою очередь содержит информацию об уровне приоритета каждого метода проверки. Кроме того, средство управления 160 производит периодический пересмотр приоритетов методов антивирусной проверки. Например, скорость Интернета упала, следовательно, приоритет метода проверки по запросу к сервису безопасности 195 снизится.

Далее средство управления 160 определяет, каким компонентом (170 или 180) необходимо выполнить выбранные методы антивирусной проверки. Выбор компонентов основывается, по крайней мере, на следующих условиях: наличия у компонента функционала, отвечающего за выполнения соответствующего метода антивирусной проверки, загруженности ВМ 150 или ВМЗ 140, содержащих компоненты антивирусной системы 200, которые выполняют соответствующие методы антивирусной проверки, и ресурсоемкости выбранных методов. В частном случае реализации в качестве еще одного условия может являться наличие доступа к внешней сети 190.

Так как функционал, отвечающий за выполнение того или иного метода антивирусной проверки, был сформирован непосредственно при установке компонентов (агентов 170 и антивирусное средство 180) на соответствующие виртуальные машины, то средство управления 160 имеет информацию о возможностях компонентов в полной мере.

Информацию о загруженности ВМ 150 и, следовательно, о загруженности компонентов 170 и 180, средство управления 160 получает от гипервизора 130, т.к. гипервизор 130 управляет вычислительными ресурсами и взаимосвязью ВМ 150 между собой.

В соответствии с условиями средство управления 160 выбирает компонент или компоненты, которым делегирует задачу антивирусной проверки. Под делегированием понимается передача требования на выполнение определенных методов антивирусной проверки к компонентам антивирусной системы 200, а именно, к агенту 170, который передал информацию средству управления 160, и антивирусному средству 180.

В частном случае реализации в качестве компонента, которому передается задача на проведения антивирусной проверки, может являться сервис безопасности 195 или любой другой агент 170, содержащийся в виртуальной среде 120. Данное утверждение связано с тем, что агент 170, который сделал запрос на проведение антивирусной задачи, или антивирусное средство 180 имеет ограничения в вычислительных ресурсах, что сказывается на скорости выполнения задач антивирусной проверки. Ограничения могут быть связаны, например, с перегруженностью ВМ 150, на которой размещен указанный агент 170, или ВМЗ 140. Другими словами, ВМ 150 имеет ограниченный объем вычислительных ресурсов, которые необходимы для выполнения как задач самой ВМ 150, так и задач клиента ВМ, что сказывается на выполнении задачи антивирусной проверки. Кроме того, ВМЗ 140, которая предназначена для выполнения трудоемких задач антивирусной проверки, может иметь на момент запроса на проведение задачи антивирусной проверки для одной ВМ 150 еще ряд задач антивирусной проверки, которые необходимо выполнить с более высоким приоритетом или неотложно для других ВМ 150. Поэтому средство управления 160 может принять решение о передаче задачи антивирусной проверки на агент 170 другой виртуальной машины 150, которая в это время простаивает или имеет не задействованные вычислительные ресурсы.

Стоит отметить, что средство управления 160 может во время распределения задачи антивирусной проверки, а точнее распределения запросов на выполнения определенных методов антивирусной проверки, передать выполнение всех методов как какому-нибудь одному компоненту, так и всем сразу. Например, было определено, что необходимо задействовать три метода проверки, а именно, сигнатурный анализ, контроль приложения на основании правил контроля (другими словами, application control) и проверку на основании эмуляции исходного кода. Средство управления 160 формирует из них очередь согласно критериям приоритизации и выбирает средства согласно ранее описанным условиям. Следовательно, задачи на проведение сигнатурного анализа и проверки на основании эмуляции исходного кода будут направлены антивирусному средству 180, а контроль приложения - антивирусному агенту 170. Кроме того, если у антивирусного средства 180 есть доступ к внешней сети, то средство планирования 290 сформирует очередь выполнения данных задач и может сигнатурный анализ провести удалено, а не через средство анализа 270, т.е. запросить данные об анализируемом объекте из внешней сети 190, а точнее от удаленного сервера. После чего будут выполнены все распределенные методы, и результаты будут переданы соответствующему агенту 170 для принятия окончательного решения о вредоносности объекта.

В частном случае реализации методы антивирусной проверки могут проводиться как последовательно, согласно заданной средством управления 160 очереди, так и параллельно. В случае если методы выполняются параллельно, то после вынесения решения каким-либо методом, и если это решение достаточно агенту 170 для вынесения окончательного решения, то все остальные методы прерываются и завершаются (включая методы, которые были делегированы для выполнения другим компонентам антивирусной системы 200).

В еще одном частном случае реализации средство управления 160 во время формирования очереди методов может задать время начала исполнения каждого метода. Например, выполнение одного метода только по окончанию другого или параллельное выполнение методов, особенно, если методы выполняются различными компонентами.

На Фиг. 3 показан алгоритм частного варианта работы системы распределения задач антивирусной проверки между компонентами антивирусной системы, размещенных на различных виртуальных машинах в виртуальной среде. На этапе 310 антивирусный агент 170 на ВМ 150 производит выявление, по крайней мере, одного события, произошедшего в операционной системе 155 на указанной ВМ 150, размещенной в виртуальной среде 120. После чего антивирусный агент 170 на этапе 320 определяет объект, который относится к выявленному событию, и с помощью информационной базы данных 240 определяет тип указанного объекта. Под объектом, по крайней мере, понимается файл, процесс, происходящий в время исполнения файла, или гиперссылка, указывающая на какой-то объект в интернете. Согласно выявленному типу антивирусный агент 170 на этапе 330 определяет необходимость проведения антивирусной проверки данного объекта, так как не все типы объектов могут являться вредоносными объектами. Примерами типов объекта, которые необходимо проверять, являются следующие типы: исполняемые файлы, текстовые файлы (документы) и файлы, имеющие расширение «pdf» (от англ. portable document format). Примерами типов объекта, которые нет необходимости проверять, являются видеофайлы, например, DVX-формата или AVI-формата. В том случае если тип объекта, а в частном случае и формат файла, определен как тип объекта, не требующий проверки, то на этапе 340 завершается работа с данным файлом и событием. Если была определена необходимость проверки, то информация об объекте, его типе и выявленном событии передается средству управления 160. На этапе 350 средство управления 160 определяет методы антивирусной проверки, которые необходимы для проведения задачи антивирусной проверки. Методы антивирусной проверки определяются на основании информации, предоставленной антивирусным агентом 170. Например, если информация содержит ряд различных файлов, то целесообразно произвести их проверку, по крайней мере, методом сравнения с базой данных сигнатур вредоносных файлов и базой данных сигнатур чистых файлов. Стоит отметить, что такие базы данных могут являться частями общей базы данных 260. Также методами проверки могут являться проверка по кэшу данных, который содержит сведения о результатах ранее проверенных файлов, и запрос к внешнему средству анализа, например, внешнему серверу, такому как сервис безопасности 195, с которым производится связь через сеть Интернет 190. В случае если информация содержит данные о каком-либо приложении (исполняемом файле), то для данного приложения могут быть назначены два метода: метод эмуляции и/или метод анализа, основанный на анализе действий, совершаемых приложением во время исполнения. Кроме того может производиться назначение всех доступных методов антивирусной проверки вне зависимости от того, какая информация была получена. Далее на этапе 360 средство управления 160 для каждого заданного метода антивирусной проверки определяет приоритет исполнения. Далее согласно заданным приоритетам формирует очередь исполнения методов антивирусной проверки. Приоритизация основана на определении ресурсоемкости и времени выполнения каждого метода антивирусной проверки, а также на эффективности каждого метода антивирусной проверки. Кроме того, после формирования очереди исполнения методов, средство управления 160 может задать и время исполнения каждого метода. Как выполнение поочередно или с задержкой на определенное время, так и параллельное выполнение всех заданных методов. Далее на этапе 370 средство управления производит выбор компонентов (антивирусный агент 170 на ВМ 150 и/или антивирусное средство 180 на ВМЗ 140) антивирусной системы 200, которым будет делегировано выполнение выбранных методов антивирусной проверки. Выбор основывается на определении наличия функционала, отвечающего за выполнение конкретного метода антивирусной проверки, на компонентах 250 и 270 антивирусной системы 200. После чего на этапе 380 средство управления 160 распределяет методы антивирусной проверки между выбранными компонентами, которые затем проведут проверку. Кроме того, в качестве компонента, к которому может быть сделан запрос на выполнения метода антивирусной проверки, может являться внешний компонент, с которым возможно взаимодействие через внешнюю сеть 190.

В частном случае реализации при выборе компонентов также будет учитываться и загруженность вычислительных ресурсов ВМ 150 и 140, на которых установлены компоненты 250 и 270.

На Фиг. 4 показана компьютерная система, на которой может быть использовано описанное изобретение.

Фиг. 4 представляет пример компьютерной системы общего назначения (может быть как персональным компьютер, так и сервером) 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, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN- сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Похожие патенты RU2580030C2

название год авторы номер документа
СИСТЕМА И СПОСОБ ОБЕСПЕЧЕНИЯ ОТКАЗОУСТОЙЧИВОСТИ АНТИВИРУСНОЙ ЗАЩИТЫ, РЕАЛИЗУЕМОЙ В ВИРТУАЛЬНОЙ СРЕДЕ 2014
  • Гриднев Сергей Николаевич
  • Ярыкин Павел Николаевич
RU2568282C2
СИСТЕМА И СПОСОБ ПОПОЛНЕНИЯ БАЗЫ ДАННЫХ ПРИ ОДНОВРЕМЕННОЙ АНТИВИРУСНОЙ ПРОВЕРКЕ ОБЪЕКТОВ НА МНОЖЕСТВЕ ВИРТУАЛЬНЫХ МАШИН 2015
  • Годунов Илья Борисович
  • Ярыкин Павел Николаевич
RU2599945C2
Система и способ формирования списка виртуальных машин с указанием статуса защиты 2020
  • Влазнев Денис Олегович
  • Казачкин Дмитрий Сергеевич
  • Чикирин Руслан Тристанович
RU2763112C1
Способ снижения нагрузки на сканирующую подсистему путем дедупликации сканирования файлов 2018
  • Влазнев Денис Олегович
  • Салиев Александр Сергеевич
  • Сизов Александр Вячеславович
  • Годунов Илья Борисович
  • Павлов Игорь Олегович
  • Семенов Евгений Сергеевич
RU2702053C1
СИСТЕМА И СПОСОБ УСТРАНЕНИЯ ПОСЛЕДСТВИЙ ЗАРАЖЕНИЯ ВИРТУАЛЬНЫХ МАШИН 2014
  • Ярыкин Павел Николаевич
  • Мартыненко Владислав Валерьевич
  • Монастырский Алексей Владимирович
RU2583709C2
Способ балансировки нагрузки на виртуальных машинах защиты при условии ограничении области выбора виртуальных машин защиты 2019
  • Влазнев Денис Олегович
  • Наумов Максим Евгеньевич
  • Васильев Максим Александрович
RU2724801C1
Способ ограничения области автоматического выбора виртуальной машины защиты 2019
  • Влазнев Денис Олегович
  • Наумов Максим Евгеньевич
  • Васильев Максим Александрович
RU2710860C1
ФИЛЬТРАЦИЯ СОБЫТИЙ ДЛЯ ПРИЛОЖЕНИЙ БЕЗОПАСНОСТИ ВИРТУАЛЬНЫХ МАШИН 2017
  • Лутас Андрей-Влад
RU2723668C1
АППАРАТНО-ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС С ПОВЫШЕННЫМИ НАДЕЖНОСТЬЮ И БЕЗОПАСНОСТЬЮ В СРЕДЕ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ 2013
  • Гаврилов Дмитрий Александрович
  • Щелкунов Николай Николаевич
RU2557476C2
СИСТЕМА И СПОСОБЫ АУДИТА ВИРТУАЛЬНОЙ МАШИНЫ 2017
  • Лукакс Сандор
  • Лутас Андрей-Влад
  • Аникитей Йонел К.
RU2691187C1

Иллюстрации к изобретению RU 2 580 030 C2

Реферат патента 2016 года СИСТЕМА И СПОСОБ РАСПРЕДЕЛЕНИЯ ЗАДАЧ АНТИВИРУСНОЙ ПРОВЕРКИ МЕЖДУ ВИРТУАЛЬНЫМИ МАШИНАМИ В ВИРТУАЛЬНОЙ СЕТИ

Изобретение относится к информационной безопасности. Технический результат заключается в балансировке нагрузки на виртуальных машинах во время антивирусной проверки. Система распределения задачи антивирусной проверки между компонентами антивирусной системы - антивирусными агентом и средством, установленными на первой и второй виртуальных машинах соответственно, - содержит антивирусное средство; антивирусный агент, который выявляет событие в первой виртуальной машине, определяет относящиеся к событию объект и его тип, на основе этого определяет необходимость антивирусной проверки, передает данную информацию средству управления; средство управления, которое назначает методы антивирусной проверки объекта, определяет приоритет выполнения назначенных методов антивирусной проверки на основе критериев приоритизации, определяет компоненты антивирусной системы, с помощью которых будут выполнены назначенные методы антивирусной проверки, в зависимости от вычислительных ресурсов виртуальных машин, от методов антивирусной проверки, от загруженности компонентов, при этом антивирусный агент и антивирусное средство содержат различные методы антивирусной проверки в зависимости от функциональных возможностей виртуальной машины, на которой они установлены. 2 н. и 19 з.п. ф-лы, 4 ил.

Формула изобретения RU 2 580 030 C2

1. Система распределения задачи антивирусной проверки между компонентами антивирусной системы, размещенными в виртуальной среде, которая содержит:
а) по крайней мере, две виртуальные машины, развернутые на одном компьютерном устройстве, которое содержит монитор виртуальных машин,
б) антивирусный агент, установленный на первой виртуальной машине и предназначенный для:
- выявления событий, происходящих в операционной системе данной виртуальной машины,
- определения объекта и типа объекта, относящихся к выявленному событию,
- определения необходимости проведения антивирусной проверки в соответствии с определенной информацией,
- передачи указанной выше информации средству управления,
- выполнения задачи антивирусной проверки объектов с помощью назначенных методов антивирусной проверки согласно полученному запросу от средства управления,
при этом антивирусный агент содержит методы антивирусной проверки в зависимости от функциональной возможности первой виртуальной машины;
в) антивирусное средство, установленное на второй виртуальной машине и предназначенное для выполнения задачи антивирусной проверки объектов согласно назначенным методам антивирусной проверки и взаимодействующее со средством управления,
при этом антивирусное средство содержит методы антивирусной проверки в зависимости от функциональной возможности второй виртуальной машины;
г) средство управления, предназначенное для:
- назначения, по крайней мере, одного метода антивирусной проверки, который необходим для выполнения задачи антивирусной проверки упомянутого объекта согласно полученной информации от антивирусного агента,
- определения приоритета выполнения назначенных методов антивирусной проверки в соответствии с критериями приоритизации,
- определения, по крайней мере, одного компонента антивирусной системы, с помощью которого будут выполнены назначенные методы антивирусной проверки,
где компонентами антивирусной системы, по крайней мере, являются антивирусный агент и антивирусное средство, выполняющие различные методы антивирусной проверки,
при этом определение упомянутых компонентов зависит от вычислительных ресурсов виртуальных машин, на которых установлены упомянутые компоненты, от методов антивирусной проверки, содержащихся на упомянутых компонентах, и от загруженности задачами антивирусной проверки упомянутых компонентов;
- распределения методов антивирусной проверки между определенными компонентами антивирусной системы в соответствии с определенным приоритетом выполнения.

2. Система по п. 1, в которой антивирусный агент и антивирусное средство содержат отличные методы антивирусной проверки друг от друга.

3. Система по п. 1, в которой методами антивирусной проверки являются, по крайней мере, следующие подходы:
- сигнатурный анализ;
- анализ, основанный на сравнении хеш-значений анализируемого объекта и хеш-значений заведомо вредоносных объектов;
- анализ объекта на основании журнала событий, содержащего все произошедшие события во время эмуляции кода объекта;
- анализ объекта с использованием «песочницы», которая основана на анализе исполнения объекта в ограниченной среде;
- анализ системных событий во время исполнения кода объекта путем их сравнения с событиями, характерными для вредоносного поведения;
- анализ с помощью экспертной оценки, который будет заключаться в многосторонней оценке всех параметров в целом.

4. Система по п. 1, в которой средство управления определяет глубину антивирусной проверки согласно полученной информации от антивирусного агента и в соответствии с глубиной антивирусной проверки назначают методы антивирусной проверки.

5. Система по п. 1, в которой критериями приоритизации являются, по крайней мере, ресурсоемкость, время, эффективность и надежность выполнения каждого метода антивирусной проверки.

6. Система по п. 1, в которой средство управления может быть размещено как на любой виртуальной машине, так и на уровне компьютерного устройства.

7. Система по п. 1, в которой в качестве компьютерного устройства используется, по крайней мере, сервер и кластер серверов.

8. Система по п. 1, в которой антивирусное средство во время выполнения задачи антивирусной проверки имеет выше уровень доступа к вычислительным ресурсам компьютерного устройства, чем антивирусный агент.

9. Система по п. 1, в которой антивирусный агент содержит средство проверки для выполнения задач антивирусной проверки и информационную базу, которая содержит информацию, по крайней мере, о результатах ранее выполненных антивирусных проверок.

10. Система по п. 1, в которой антивирусный агент содержит средство ограничения для выполнения задачи контроля над исполняемыми объектами в операционной системе.

11. Система по п. 1, в которой антивирусное средство содержит, по крайней мере, одно из средств:
- средство анализа, предназначенное для выполнения задач антивирусной проверки с помощью ранее установленных методов антивирусной проверки,
- средство планирования, предназначенное для формирования очереди выполнения задач антивирусной проверки и методов антивирусной проверки.

12. Система по п. 1, в которой объектом являются, по крайней мере, файл, процесс, сетевой пакет, унифицированный указатель информационного ресурса, электронное письмо и электронная страница в Интернете.

13. Система по п. 1, в которой методы антивирусной проверки, используемые антивирусным агентом и антивирусным средством, изменяются в зависимости от изменений функциональных возможностей виртуальных машин.

14. Система по п. 1, в которой компонентом антивирусной системы является внешний сервер, с которым производится соединение через сеть Интернет.

15. Способ распределения задачи антивирусной проверки между компонентами антивирусной системы, которые включают, по меньшей мере, антивирусный агент, размещенный на одной виртуальной машине, и антивирусное средство, размещенное на другой виртуальной машине, способ включает в себя этапы, на которых:
а) выявляют события, происходящие в операционной системе, по крайней мере, одной виртуальной машины с помощью антивирусного агента, который размещен в упомянутой операционной системе;
б) определяют объект и тип объекта для каждого выявленного события с помощью антивирусного агента;
в) определяют необходимость проведения антивирусной проверки в соответствии с определенной на этапе б) информацией;
г) назначают с помощью средства управления, по меньшей мере, один метод антивирусной проверки, который необходим для выполнения задачи антивирусной проверки упомянутого объекта, согласно информации, определенной на этапах а) и б);
д) определяют с помощью средства управления приоритет выполнения назначенных методов антивирусной проверки в соответствии с критериями приоритизации;
е) определяют с помощью средства управления, по крайней мере, один компонент антивирусной системы, с помощью которого будут выполнены назначенные методы антивирусной проверки,
- где компонентами антивирусной системы, по крайней мере, являются антивирусный агент и антивирусное средство, которые содержат методы антивирусной проверки в зависимости от функциональных возможностей виртуальных машин, на которых установлены антивирусный агент и антивирусное средство,
- при этом определение упомянутых компонентов зависит от вычислительных ресурсов виртуальных машин, на которых установлены упомянутые компоненты, от методов антивирусной проверки, содержащихся на упомянутых компонентах, и от загруженности задачами антивирусной проверки упомянутых компонентов;
ж) распределяют с помощью средства управления назначенные методы антивирусной проверки между компонентами антивирусной системы для выполнения задачи антивирусной проверки в соответствии с определенным приоритетом выполнения.

16. Способ по п. 15, в котором с помощью средства управления:
- определяют глубину необходимой антивирусной проверки на этапе г) согласно информации, определенной на этапах а) и б),
- определяют, по меньшей мере, один метод антивирусной проверки, который необходим для выполнения задачи антивирусной проверки, согласно определенной глубине антивирусной проверки.

17. Способ по п. 15, в котором критериями приоритизации являются, по крайней мере, ресурсоемкость, время выполнения, эффективность и надежность выполнения каждого метода антивирусной проверки.

18. Способ по п. 15, который включает этап, на котором выполняют задачу антивирусной проверки на определенных компонентах антивирусной системы с помощью определенных методов антивирусной проверки в соответствии с очередью приоритета выполнения методов антивирусной проверки.

19. Способ по п. 15, в котором объектом являются, по крайней мере, файл, процесс, сетевой пакет, унифицированный указатель информационного ресурса, электронное письмо и электронная страница в Интернете.

20. Способ по п. 15, в котором методы антивирусной проверки, используемые антивирусным агентом и антивирусным средством, изменяются в зависимости от изменений функциональных возможностей виртуальных машин.

21. Способ по п. 15, в котором компонентом антивирусной системы является внешний сервер, с которым производится соединение через сеть Интернет.

Документы, цитированные в отчете о поиске Патент 2016 года RU2580030C2

Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
СПОСОБ РАСПРЕДЕЛЕННОГО ВЫПОЛНЕНИЯ ЗАДАЧ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ 2011
  • Духвалов Андрей Петрович
  • Машевский Юрий Вячеславович
  • Тихомиров Антон Владимирович
RU2494453C2
US 8516478 B1, 20.08.2013
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1

RU 2 580 030 C2

Авторы

Ярыкин Павел Николаевич

Годунов Илья Борисович

Даты

2016-04-10Публикация

2014-04-18Подача