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

Иллюстрации

Показать все

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

Реферат

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

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

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

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