Область техники
Настоящее изобретение относится к системам и способам антивирусной защиты виртуальной среды, а более конкретно к системе и способу обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде путем использования антивирусного агента связанного с виртуальной машиной защиты.
Уровень техники
В настоящее время большое распространение получили так называемые виртуальные машины. Виртуальная машина (ВМ) является программной средой, которая внутри физической («реальной») машины (например, компьютера или сервера) обеспечивает работу другого реального компьютера. На одной физической машине, которая также именуется как «хост-машина», может функционировать одновременно несколько виртуальных машин, таким образом, формируя виртуальную компьютерную среду. В этом случае виртуальные машины будут использовать одни и те же вычислительные ресурсы хост-машины, управление которыми обеспечивается с помощью монитора виртуальных машин.
Монитор виртуальных машин, который также известен как гипервизор, обеспечивает одновременную работу всех виртуальных машин, развернутых на хост-машине, а также управляет вычислительными ресурсами хост-машины, разделяя их между всеми виртуальными машинами. Таким образом, гипервизор выделяет определенное количество ресурсов при развертывании каждой виртуальной машины (ВМ) в виртуальной среде. Каждая ВМ затем использует выделенные ресурсы как для работы собственной операционной системы, так и для выполнения задач пользователя. Кроме того, гипервизор может предоставлять виртуальным машинам средства связи и взаимодействия между собой, например сетевые соединения, как будто это разные физические машины. Таким образом, может быть создана виртуальная локальная сеть на хост-машине. Кроме того, возможности гипервизора позволяют накладывать различные ограничения на виртуальные машины, например ограничение на подключение к сети Интернет. В этом случае будет сформирована локальная сеть, изолированная от внешней сети, что, например, позволит обеспечить безопасность такой сети или виртуальных машин, а связь с внешней сетью будет осуществлять через гипервизор или специально назначенную ВМ. Данный вариант актуален при создании корпоративных сетей, виртуальные машины которых могут обладать конфиденциальной информацией.
Виртуальная машина, как и любое физическое компьютерное устройство (например, персональный компьютер), также уязвима для вредоносного программного обеспечения (ПО). Следовательно, существует необходимость в использовании антивирусной системы для их защиты, которая предназначена для обнаружения и удаления вредоносного ПО. В то же время реализация антивирусной системы в виртуальной среде имеет несколько особенностей. Особенности связаны с тем, что виртуальные машины не имею физического жесткого диска (от англ. hard disk drive (HDD)), так как он эмулируется в центральном процессоре хост-машины. Поэтому операции ввода/вывода, выполняемые на виртуальных машинах, приводят к существенной нагрузке процессора хост-машины и могут даже привести к продолжительному зависанию как ВМ при выполнении задач, так и самой хост-машины. Следовательно, существует необходимость во всяческом снижении количества и объема операций ввода/вывода, выполняемых на виртуальных машинах. Поэтому при реализации антивирусной системы для защиты виртуальной среды была создана распределенная антивирусная система, одним из преимуществ которой являлось значительное уменьшение количества дисковых операций.
Такая антивирусная система может состоять, например, из следующих компонентов: виртуальной машины, выполняющей задачи антивирусной проверки (также именуемая как виртуальная машина защиты (ВМЗ)), и агентов, размещенных на каждой ВМ в сети и выполняющих функции для обеспечения работы ВМЗ (передаче данных, обнаружение и блокирование доступа к различным объектам, размещенным на ВМ).
Так, в заявке US 20120144489 A1 описана система антивирусной защиты виртуальных машин (ВМ) с целью обеспечения снижения нагрузки на ресурсы виртуальной среды. Система содержит три компонента, а именно: агент, расположенный на каждой ВМ, менеджер управления и общего механизма проверки и обновление сигнатур. Агент выполняет функцию контроля доступа к объектам и функцию передачи данных к общему механизму проверки. Общий механизм проверки является антивирусной системой, предназначенной для проверки файлов на наличие вирусов, и размещен на отдельной ВМ. Кроме того, в случае невозможности проверки ВМ в режиме реального времени менеджер управления позволяет приостановить работу любой ВМ, произвести проверку в автономном режиме или сделать копию, на которой затем будет произведена проверка.
Кроме того, для виртуальных инфраструктур, состоящих из двух и более хост-машин, используется технология, позволяющая снизить нагрузку на вычислительные ресурсы одной хост-машины за счет миграции ВМ на другую хост-машину, которая является менее загруженной.
Так, в патенте US 8479294 B1 описан подход, позволяющий управлять антивирусной проверкой файлов на ВМ в случае миграции данной ВМ на другую хост-машину, например, из-за чрезмерной нагрузки на процессор хост-машины. Антивирусная (АВ) проверка файлов, происходящая для ВМ, приостанавливается до окончания миграции. Во время миграции также передаются сведения и о проводимой антивирусной проверке. Данные сведения могут содержать не только информацию о проверенных файлах, но и информацию о версиях как антивирусной системы в целом, так и компонентов, например, о версии сигнатурной базы данных. После миграции проводится сравнение версий и дальнейшее планирование антивирусной проверки. В случае если версии не совпадут, то вся полученная информация о ранее проведенной незаконченной антивирусной проверке будет удалена. Следовательно, антивирусная проверка на новой хост-машине будет запланирована заново. В противном случае, если версии будут идентичны, АВ проверка будет произведена только оставшейся незаконченной части.
Однако при данном подходе антивирусной системы необходимо также учитывать следующее обстоятельство: при огромном количестве развертываемых ВМ в рамках одной хост машины, также постоянно возрастает нагрузка на ВМЗ, что может привести к ее отказу. Кроме того, также возможен сценарий, когда может произойти обрыв соединения между ВМ и ВМЗ. Поэтому антивирусная защита в рамках распределенного подхода защиты виртуальной среды, в частности, виртуальных машин, становится затруднительной, а то и вовсе не выполнимой. Поэтому для эффективного использования преимуществ распределенной антивирусной системы защиты необходимо, чтобы обеспечивалось условие отказоустойчивости такой антивирусной защиты в условиях виртуальной сетевой инфраструктуры (среды).
Поэтому, хотя изобретения, перечисленные в указанных выше патенте и заявке, направлены на решение задачи оптимизации использования ресурсов хост-машины, они имеют один общий недостаток. Недостаток связан с отсутствием обеспечения отказоустойчивости антивирусной защиты в условиях виртуальной среды. Настоящее изобретение позволяет эффективно решить задачу обеспечения отказоустойчивости антивирусной защиты в условиях виртуальной среды.
Раскрытие изобретения
Настоящее изобретение предназначено для обеспечения отказоустойчивости антивирусной защиты виртуальных машин.
Технический результат настоящего изобретения заключается в обеспечении отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде путем использования антивирусного агента, размещенного на виртуальной машине и соединенного с приоритетной виртуальной машиной защиты, при отказе в работе приоритетной виртуальной машины защиты. Указанный технический результат достигается за счет соединения антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
В качестве одного из вариантов исполнения предлагается способ обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, который включает в себя этапы, на которых: собирают с помощью антивирусного агента размещенного на виртуальной машине, информацию о доступных виртуальных машинах защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусных проверки; производят с помощью антивирусного агента приоритизацию виртуальных машин защиты на основании критериев приоритизации с последующим формированием списка доступных виртуальных машин защиты, где список доступных виртуальных машин содержит очередь доступных виртуальных машин защиты согласно их приоритету; производят соединение упомянутого антивирусного агента с наиболее приоритетной виртуальной машиной защиты для последующей передачи ресурсоемких задач антивирусной проверки; поддерживают список доступных виртуальных машин в актуальном состоянии с помощью периодического сбора информации о доступных виртуальных машинах защиты с последующим анализом собранной информации; при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты производят соединение упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
В другом варианте исполнения способа производят с помощью упомянутого антивирусного агента восстановление соединения с приоритетной виртуальной машиной защиты.
В еще одном варианте исполнения способа собираемая информация содержит, по крайней мере, следующие сведения: уникальный идентификатор гипервизора, на котором установлена виртуальная машина защиты; тип гипервизора; количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации; и сетевой адрес виртуальной машины защиты.
В другом варианте исполнения способа критериями приоритизации являются, по крайней мере, следующие критерии: наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться; принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента; наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент; тип гипервизора, на котором работает виртуальная машина защиты; степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты и количества выделенных вычислительных ресурсов данной виртуальной машине защиты.
В другом варианте исполнения способа при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
В качестве другого варианта исполнения предлагается система обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, которая содержит: по крайней мере, две виртуальные машины защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусной проверки, и антивирусный агент, который размещен на виртуальной машине и содержит, по крайней мере, следующие средства: средство взаимодействия, предназначенное для сбора информации о доступных виртуальных машинах защиты и предоставления собранной информации средству анализа; средство анализа, предназначенное для установления приоритета каждой виртуальной машины защиты с помощью критериев приоритизации, формирования списка доступных виртуальных машин защиты согласно установленным приоритетам и передачи сформированного списка доступных виртуальных машин защиты средству подключения; средство подключения, предназначенное для: соединения с наиболее приоритетной виртуальной машиной защиты из списка доступных виртуальных машин защиты; при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты, соединения упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
В другом варианте исполнения системы средство подключения производит восстановление соединения с приоритетной виртуальной машиной защиты.
В еще одном варианте исполнения системы собираемая информация средством взаимодействия содержит, по крайней мере, следующие сведения: уникальный идентификатор гипервизора, на котором установлена виртуальная машина защиты; тип гипервизора; количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации; сетевой адрес виртуальной машины защиты.
В другом варианте исполнения системы критериями приоритизации являются, по крайней мере, следующие критерии: наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться; принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента; наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент; тип гипервизора, на котором работает виртуальная машина защиты; степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты и количества выделенных вычислительных ресурсов данной виртуальной машины защиты.
В еще одном варианте исполнения системы при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
В другом варианте исполнения системы при формировании списка доступных виртуальных машин защиты средство анализа разделяет доступные виртуальные машины, по крайней мере, на два блока.
В еще одном варианте исполнения системы средство подключения производит соединение с виртуальной машиной защиты из списка доступных виртуальных машин защиты в соответствии с разделенными блоками на основании случайного выбора.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 показывает пример виртуальной инфраструктуры, для которой предназначена система обеспечения отказоустойчивости антивирусной защиты виртуальных машин.
Фиг. 2 показывает пример размещения и взаимодействия компонентов системы обеспечения отказоустойчивости антивирусной защиты виртуальных машин в условиях виртуальной инфраструктуры.
Фиг. 3 показывает схему алгоритма работы системы обеспечения отказоустойчивости антивирусной защиты в условиях виртуальной инфраструктуры.
Фиг. 4 показывает алгоритм работы средства восстановления в системе обеспечения отказоустойчивости антивирусной системы в условиях виртуальной инфраструктуры.
Фиг. 5 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
При описании фигур был использован следующий подход при нумерации: когда в описании встречается номер объекта, в котором нет буквенной части, то описываемое суждение относится ко всем объектам, которые содержат данную часть в номере. Например, «гипервизор 110» означает, что при описании имеется виду гипервизоры с номерами 110а, 110б… 110n. Если же при описании объекта приводится полная нумерация, то описание относится к конкретному объекту на фигуре (например, гипервизор 110a или виртуальная машина 140aa).
Настоящее изобретение предназначено для обеспечения отказоустойчивости антивирусной защиты виртуальных машин, развернутых в виртуальной инфраструктуре.
На Фиг. 1 показан пример такой виртуальной инфраструктуры. Под виртуальной инфраструктурой понимается совокупность виртуальных машин 140 и систем связи и управления ими. Количество виртуальных машин может исчисляться как несколькими виртуальными машинами (от 1 до 10), так и сотнями. Наличия большого, а то и огромного количества виртуальных машин (ВМ) требует и соответствующего объема вычислительных ресурсов. Поэтому виртуальные машины могут быть развернуты как на одной физической машине (например, на физической машине 100a), так и на кластере физических машин 100a - 100n. Каждая физическая машина 100 содержит, по крайней мере, гипервизор 110, который предназначен для контроля ВМ, развернутых на той же физической машине. Под задачей контроля понимается управление и распределение вычислительных ресурсов физической машины между ВМ. Стоит отметить, что гипервизор является по сути «оболочкой» между физической машиной и всеми ВМ, развернутыми на той же физической машине. Например, физическая машина 100a содержит гипервизор 110a, который управляет вычислительными ресурсами физической машины 100a и контролирует работу ВМ 120aa - 120an.
В одном из вариантов реализации антивирусная защита виртуальных машин реализуется путем размещения антивирусного агента 140 на каждой виртуальной машине 120 и развертывания виртуальной машины защиты 130 на каждой физической машине 100, при этом устанавливается соединения между антивирусными агентами 140 и ВМЗ 130. Стоит отметить, что виртуальная машина защиты (ВМЗ) 130 по сути своей является такой же ВМ 140, а отличие связано с ее функциональными задачами.
В данной реализации антивирусный агент 140 является средством, которое выполняет функцию непрерывной антивирусной защиты виртуальной машины 120 путем контроля происходящих событий в операционной системе виртуальной машины 120. Примерами указанных событий являются системные вызовы, операции записи, чтения, открытия и закрытия файла, т.е. различные активности приложений и файловый доступ. Под контролем понимается выявление среди всех происходящих событий подозрительных или запрещенных событий, а также анализ подозрительных событий и блокирование, как самих запрещенных событий, так и объектов, совершивших данные запрещенные события. Подозрительными событиями являются события, при анализе которых возможно определить вредоносное поведение приложений, например, подозрительным событием является удаление исполняемого файла после его исполнения. Анализ подозрительных событий (активностей) проводится с использованием имеющегося функционального обеспечения антивирусного агента 140. Под функциональным обеспечением понимаются различные методы антивирусной проверки, которые не являются трудоемкими методами с точки зрения использования вычислительных ресурсов, таких как процессор и жесткий диск. Примерами таких методов являются метод контроля приложений с помощью заранее заданных правил или метод предотвращения вторжений (от англ. host intrusion prevention system (HIPS)). Все же ресурсоемкие (трудоемкие) задачи антивирусные проверки антивирусный агент 140 направляет виртуальной машине защиты (ВМЗ) 130. Примерами ресурсоемких задач (антивирусных проверок) являются задачи, требующие проведения антивирусной проверки с помощью:
- метода сигнатурного анализа (например, on-demand scanning и on-access scanning);
- методов, использующих подход сравнения (например, whitelisting, blacklisting и web-, mail- проверка);
- методов, позволяющих провести детальный анализ объекта или данных, например, с помощью использования экспертной системы, в основе которой лежит анализ совершенных событий или эмуляция программного кода.
Виртуальная машина защиты 130 для выполнения ресурсоемких задач антивирусной проверки содержит антивирусное средство 150. В свою очередь антивирусное средство 150 содержит, по меньшей мере, сканирующий модуль и антивирусную базу данных (не показаны на Фиг. 1). Сканирующий модуль позволяет выполнять задачи антивирусной проверки с помощью, по крайней мере, методов антивирусной проверки, перечисленных выше. Антивирусная база данных содержит различные сигнатуры вредоносных объектов и предоставляет их сканирующему модулю. Результат антивирусной проверки ВМЗ 130 отправляет антивирусному агенту 140, направившему данную задачу.
В частном случае реализации антивирусное средство 150 также может содержать еще ряд различных модулей, которые позволяют оптимизировать нагрузку на вычислительные ресурсы физической машины. Примерами таких модулей могут являться модуль обновления антивирусных баз данных и модуль контроля лицензионными соглашениями. Под оптимизацией нагрузки в данной реализации понимается размещения указанных модулей в составе антивирусного средства 150, так как изначально указанные модули размещались на стороне ВМ. Стоит отметить, что модуль обновления антивирусных баз данных будет производить обновления версий антивирусных баз, как используемых при сканировании непосредственно антивирусным средством 150, так и используемых антивирусными агентами 140.
Кроме того, так как ВМЗ 130 имеет соединение одновременно с несколькими ВМ 120, например ВМЗ 130a соединена с ВМ 120aa-120an, то ВМЗ 130 также может содержать средство планирования 160 (на Фиг. 1 представлено только как средство 160a). Средство планирования 160 предназначено для формирования очереди проведения антивирусной проверки антивирусным средством 150 для случаев получения более одной задачи антивирусной проверки или проведения антивирусной проверки разными методами антивирусной проверки. Еще одной функцией средства планирования 160 может являться назначение приоритета задачам антивирусной проверки при формировании очереди. Можно отметить, что очередь может формироваться как в соответствии со временем получения задач антивирусной проверки, так и в соответствии с приоритизацией задач антивирусной проверки. Приоритеты задачам антивирусной проверки могут назначаться в соответствии с требуемыми методами антивирусной проверки, например, если требуется проверка методом «on access scanning)), то приоритет один, если же необходима проверка методом «on demand scanning)), то приоритет другой.
В еще одном частном случае реализации ВМЗ 130 содержит средство взаимодействия 170 (на Фиг. 1 представлено только как средство 170a). Средство взаимодействия 170 позволяет ВМЗ 130 получать информацию от гипервизора, взаимодействовать с другими ВМЗ 130 и рассылать информацию для ВМ. Гипервизор 110 предоставляет информацию, содержащую, по крайней мере, сведения о ВМ, которые контролируются им, и сведения о текущей нагрузке на вычислительные ресурсы физической машины 100, которые предоставлены ВМЗ 130. При взаимодействии виртуальных машин защиты 130 между собой производится обмен информацией, которая содержит сведения, по крайней мере, о месте размещения ВМЗ, их соединениях с ВМ, нагрузке на текущий момент времени. Рассылаемая информация для ВМ будет содержать сведения, по крайней мере, о месте размещения ВМЗ, о текущих ее соединениях с ВМ и о нагрузке на текущий момент времени. Рассылка информации проводится постоянно с заданной периодичностью, например, каждые 5-10 секунд.
Стоит отметить, что в предпочтительном варианте реализации каждый гипервизор 110 содержит только одну ВМЗ, что позволит достичь наилучшей работы как самой ВМЗ 130, так и работы физической машины 100. Так, например, гипервизор 110a содержит только ВМЗ 130a. Конечно, возможен вариант реализации, когда на одном гипервизоре, например гипервизоре 100б, будут размещены две ВМЗ 130б и 130в и более, или не будет размещена ни одна ВМЗ, как на гипервизоре 100в.
Поэтому одной из важнейших задач, стоящих перед антивирусной защитой виртуальных машин, является обеспечения непрерывного соединения антивирусного агента и виртуальной машины защиты, а также при первичном соединении антивирусного агента с ВМЗ произвести выбор оптимальной ВМЗ.
На Фиг. 2 представлено размещение и взаимодействия компонентов системы обеспечения отказоустойчивости антивирусной защиты виртуальной машины 100аа, развернутой в виртуальной инфраструктуре, а именно на физической машине 100а. Стоит отметить, что система обеспечения отказоустойчивости антивирусной защиты виртуальной машины (далее система отказоустойчивости), может быть реализована при условии, если виртуальная инфраструктура развернута, по меньшей мере, на двух физических машинах, и при этом каждая физическая машина обладает собственной ВМЗ. Стоит отметить, что, чем больше физических машин, а точнее чем больше ВМЗ, содержащихся в виртуальной инфраструктуре, тем будет выше обеспечиваться отказоустойчивость антивирусной защиты каждой виртуальной машины в отдельности. В одном из вариантов реализации одна физическая машина может содержать две (и более) ВМЗ.
Системы отказоустойчивости будет рассмотрена относительно только одной ВМ 120аа, размещенной в виртуальной инфраструктуре, хотя данная система также реализуется и для всех остальных ВМ, размещенных в этой же виртуальной инфраструктуре.
В предложенном варианте реализации система отказоустойчивости содержит, по крайней мере, средство взаимодействия 230, средство анализа 250 и средство подключения 270, которые размещены на антивирусном агенте 140аа. Средство взаимодействия 230 предназначено для сбора информации обо всех доступных ВМЗ, размещенных в виртуальной инфраструктуре. Средство анализа 250 предназначено для анализа информации о ВМЗ, во время которого определяет приоритет каждой ВМЗ, и формирует список доступных ВМЗ, который упорядочен согласно определенному приоритету каждой ВМЗ. Средство подключения предназначено для выбора основной ВМЗ с последующим соединением и при выявлении отказа в соединении с основной ВМЗ проводит соединение с другой ВМЗ из списка доступных ВМЗ.
Итак, рассмотрим сценарий работы системы отказоустойчивости для ВМ 120аа. В начале работы антивирусный агент 140аа, установленный на ВМ 120аа, с помощью средства взаимодействия 230 производит сбор информации обо всех доступных ВМЗ 130, размещенных в виртуальной инфраструктуре. Стоит отметить, что в течение всего времени работы каждая ВМЗ 130 с помощью средства взаимодействия 170 производят рассылку информации с некой периодичностью, например каждые 10 секунд. Рассылаемая информация может содержать, по крайней мере, уникальный идентификатор гипервизора 110, на котором установлена ВМЗ 130, тип гипервизора 110 (например, XenServer, VMWare и Hyper-V Server), количество ВМ, которые обслуживает ВМЗ 130 на момент рассылки пакетов, и IP - адрес (от англ. internet protocol, используется для идентификации узла в сети и для определения маршрутизации). Кроме того, рассылаемая информация может также содержать еще какую-либо дополнительную информацию, например номер порта. Сбор информации средством взаимодействия 230 проводится в течении некоторого времени (например, в течение 10 секунд). Время может быть уставлено как при запуске антивирусного агента 140аа, так и по умолчанию. Далее средства взаимодействия 230 предает собранную информацию средству анализа 250. В свою очередь средство анализа 250 проводит анализ собранной информации с целью определения места расположения ВМ 120аа в виртуальной инфраструктуре (среде) относительно всех ВМЗ 130 и формирования списка доступных ВМЗ 130. Во время анализа каждой ВМЗ 130 средство анализа 250 устанавливает приоритет с точки зрения оптимального подключения ВМ 120аа к ВМЗ 130. При определении приоритета каждой ВМЗ 130 используются, по крайней мере, следующие критерии приоритизации:
- наличие информации у ВМ о ВМЗ, с которой необходимо соединиться;
- принадлежность ВМЗ к тому же гипервизору, на котором установлена ВМ соответствующего антивирусного агента;
- наличие информации у ВМЗ о ВМ, на которой установлен антивирусный агент;
- тип гипервизора, на котором работает ВМЗ;
- степень загруженности ВМЗ.
Стоит отметить, что каждый критерий приоритизации имеет свой «вес». Поэтому во время анализа собранной информации производится подсчет (суммирование) весовых значений, и приоритет устанавливается в соответствии с полученной суммой (чем выше сумма, тем выше приоритет). Таким образом, средство анализа 230аа формирует список доступных ВМЗ согласно установленным приоритетам, при этом, чем выше приоритет ВМЗ 130, тем выше ее позиция в списке доступных ВМЗ. Следовательно, первая ВМЗ из списка доступных ВМЗ является наиболее оптимальной ВМЗ 130 для последующего соединения и дальнейшего с ней взаимодействия.
В одном из вариантов реализации критерии приоритизации могут быть ранжированы. В этом случае анализ доступных ВМЗ 130 будет поэтапным, а максимальное количество этапов будет зависеть от количества критериев приоритизации. Так как на каждом этапе рассматривается только один критерий приоритизации, то каждый следующий этап будет выполнен только в том случае, если критерия приоритизации с наибольшим рангом было недостаточно для формирования списка доступных ВМЗ.
В еще одном варианте реализации может использоваться смешанная система подсчета, когда часть критериев используется для ранжирования по блокам, а остальные критерии используются для расчета приоритета доступных ВМЗ внутри каждого блока. Частным случаем является разделение доступных ВМЗ на основной блок (например, содержащий ВМЗ, находящиеся на том же гипервизоре, что и ВМ) и «резервный» блок, содержащий все остальные доступные ВМЗ. В этом случае список доступных ВМЗ также будет содержать информацию о соответствующих блоках, в которых содержатся соответствующие доступные ВМЗ.
Далее средство анализа 230аа передает средству подключения 250аа сформированный список доступных ВМЗ. Средство подключения 250аа производит попытку соединения ко всем ВМЗ из списка в соответствии с их очередностью, т.е. сначала к первой ВМЗ из списка и, если соединение не произойдет, то к следующей по списку ВМЗ. После успешного соединения с ВМЗ, например с ВМЗ 130а, средство подключения 270 запомнит уникальный идентификатор (например, IP-адрес ВМЗ) данной ВМЗ. Таким образом, данная ВМЗ 130а станет основной ВМЗ для данной ВМ 120аа. В случае потери связи с основной ВМЗ средство подключения 270 сможет заново соединиться с помощью полученного уникального идентификатора основной ВМЗ.
В одном из вариантов реализации, в случае если ВМЗ, с которой произошло соединение, не является первой из списка доступных ВМЗ, то средство подключения 270 через некоторое время повторит попытку соединения с первой ВМЗ из списка, после чего назначит окончательно основную ВМЗ для ВМ.
Стоит отметить, что после формирования списка доступных ВМЗ средство анализа 250 совместно со средством взаимодействия 230 будут поддерживать данный список в актуальном виде. Другими словами, средство взаимодействия 230 будет проводить время от времени (например, с интервалом в 2 минут) сбор информации. Далее средство анализа 250 будет анализировать полученную новую информацию и в случае необходимости производить изменения в списке доступных ВМЗ. Изменения могут быть связаны как с добавлением новых доступных ВМЗ, так и с изменением самой очередности уже доступных ВМЗ согласно измененным приоритетам. Например на основании полученной информации была определено, что ВМЗ, стоящая второй в очереди, имеет на данный момент большую нагрузку, а третья ВМЗ простаивает, то средство анализа произведет их перестановку в очереди.
При выявлении отказа в соединении между антивирусным агентом 140аа, установленным на ВМ 120аа, и антивирусным средством 150а, установленным на ВМЗ 130а, средство подключения 270 производит соединение со следующей ВМЗ 130 из списка доступных ВМЗ. Кроме того, в частном случае средство подключения 270 перед соединением со следующей ВМЗ из списка доступных ВМЗ также может произвести повторное соединение с основной (первой) ВМЗ и только в случае повторного отказа в соединении, произвести подключение к следующей по списку ВМЗ. Стоит отметить, что отказ в соединении может произойти, по крайней мере, по следующим причинам:
- из-за отсутствия доступа к ВМЗ;
- из-за перегрузки ВМЗ, например, время обработки запроса на выполнения антивирусной задачи превысил время ожидания;
- из-за сетевых проблем при транспортировке пакетов;
- из-за выхода из строя непосредственно самой ВМЗ.
В том случае, если соединения со следующей ВМЗ из списка доступных ВМЗ не будет установлено (например, из-за перегруженности ВМЗ), средство подключения 270 будет производить соединения с ВМЗ, которые стоят далее по списку, до тех пор, пока соединение не будет установлено с доступной ВМЗ. Данная ВМЗ будет являть временной ВМЗ, и после восстановления работы основной ВМЗ средство подключения 270 произведет соединение с ней. Стоит отметить, что одним из вариантов обнаружения восстановления основной ВМЗ является периодический опрос всех доступных ВМЗ в рамках сбора информации, описанного выше.
В одном из вариантов реализации часть ВМЗ в списке доступных ВМЗ может быть объединена в блок. В этом случае средство подключения 270 будет выбирать временную ВМЗ для попытки соединения с ней случайно из всего блока с учетом ранее подсчитанных «весов», присвоенных каждой ВМЗ на основании информации о данной ВМЗ. Это позволит распределить ВМ, ранее соединенные с основной ВМЗ, которая отказала в работе, по «резервным» (временным) ВМЗ более равномерно, и тем самым избежать перегрузки временных ВМЗ.
В другом частном случае реализации, если ВМ соединена с неосновной (временной) ВМЗ, то возможны изменения во взаимодействии антивирусного агента 140 данной ВМ и антивирусного средства 150, установленного на неосновной ВМЗ. Изменения могут быть связаны как с выполнением задач антивирусной проверки, так и с предоставляемой информацией ВМ для ВМЗ. Например, ВМЗ будет выполнять не все типы антивирусной проверки, а только их часть. Так, ВМЗ может быть запрещен сигнатурный анализ, так как сигнатурный анализ требует работы с ресурсами, выделенными физической машиной для установленной ВМ, а ВМЗ, установленная на другой физической машине, не имеет сведений о нагрузке на данный вычислительные ресурсы. В качестве передаваемой информации от ВМ к ВМЗ может выступать не только адрес размещения объекта на жестком диске, который необходимо проверить, но и весь объект на ВМЗ для проверки.
В еще одном частном случае реализации может быть произведено изменение основной ВМЗ. В этом случае уникальный идентификатор будет изменен. Примером необходимости изменения основной ВМЗ является случай, когда ВМ производит миграцию на другую физическую машину.
В частном случае реализации виртуальная инфраструктура может содержать ВМЗ, которая размещена на физической машине, предназначенной только для работы данной ВМЗ. В этом случае такая ВМЗ может являться основной резервной ВМЗ. Тогда в списке доступных ВМЗ, который формирует каждый антивирусный агент 140, второй в очереди будет назначена данная резервная ВМЗ.
Фиг. 3 показывает схему алгоритма работы системы обеспечения отказоустойчивости антивирусной защиты в условиях виртуальной среды. На этапе 310 с помощью средства взаимодействия 230 производится сбор информации о доступных ВМЗ 130, размещенных в виртуальной инфраструктуре. Собираемая информация о каждой ВМЗ 130 будет содержать, по крайней мере, сведения об уникальном идентификаторе гипервизора 110, на котором установлена ВМЗ 130, о типе гипервизора 110 (например, XenServer, VMWare и Hyper-V Server), о количестве ВМ, которые обслуживает та или иная ВМЗ 130 на момент рассылки пакетов, и IP - адрес ВМЗ. После средство взаимодействия 230 всю собранную информацию передает средству анализа 250. В свою очередь на этапе 320 средство анализа 250 производит анализ полученной информации. Анализ заключается в определение места размещения ВМ относительно всех ВМЗ и в установление приоритета каждой ВМЗ, о которой получена информация, согласно критериям приоритизации. В качестве критериев приоритизации выступают, по крайней мере, критерии, приведенные при описании Фиг. 2. На этапе 330 средство анализа 250 формирует список доступных ВМЗ, в котором размещает ВМЗ согласно установленным приоритетам. Таким образом, чем выше ВМЗ стоит в списке доступных ВМЗ, тем выше ее приоритет и соответственно, тем наиболее оптимальна ВМЗ для соединения. Далее средство анализа 250 передает сформированный список доступных ВМЗ средству подключения 270. На этапе 340 средство подключения 270 производит попытку соединения с доступными ВМЗ согласно их очередности в списке доступных ВМЗ. Так как ВМЗ, стоящая первой в списке доступных ВМЗ, является наиболее оптимальной ВМЗ, то в случае успешного соединения с первой ВМЗ из списка, средство подключения 270 запоминает уникальный идентификатор данной ВМЗ и на этапе 350 производит контроль соединения. В противном случае, если соединение было установлено со второй и более низкой ВМЗ в очереди, средство подключения 270 произведет повторное соединение с первой ВМЗ из списка и только затем соединится со следующей ВМЗ и произведет сохранение уникального идентификатора. После сохранения уникального идентификатора данная ВМЗ станет основной ВМЗ для соответствующей ВМ, т.е. для ВМ, у которой антивирусный агент, а именно, система отказоустойчивости, установила связь с ВМЗ. Уникальный идентификатор позволяет системе отказоустойчивости не забывать основную ВМЗ и в случае сбоя в соединение производить восстановление связи к основной ВМЗ. Кроме того, в случае определения отказа в соединение с основной ВМЗ на этапе 360 средство подключения 270 на этапе 370 производит проверку актуальности списка доступных ВМЗ. Актуальность будет проверена с точки зрения времени последнего обновления данного списка доверенных ВМЗ. Граница времени может быть назначена как при настройке системы отказоустойчивости, так и установлена по умолчанию. В случае если список будет признан не актуальным, то средство подключения 270 сделает запрос к средству взаимодействия 230, которая в свою очередь выполнит обновление списка доступных ВМЗ согласно выше описанным шагам. В противном случае, если список доступных ВМЗ будет являться актуальным, средство подключения 270 на этапе 380 производит соединение антивирусного агента со следующей в очереди ВМЗ, например, до тех пор, пока не будет выявлено соединение с основной ВМЗ, или не будет выявлена новая основная ВМЗ. Тем самым обеспечивается стабильность работы антивирусной защиты виртуальной машины в условиях виртуальной инфраструктуры.
В одном варианте реализации средство анализа 250 всегда поддерживает список доступных ВМЗ в актуальном виде. Актуальность списка доступных ВМЗ поддерживается за счет периодического сбора информации и последующего его анализа, на основании которого в случае необходимости производятся изменения в списке доступных ВМЗ. Изменения могут быть связаны как с добавлением новых доступных ВМЗ, так и с изменением самой очередности уже доступных ВМЗ согласно измененным приоритетам. В таком варианте реализации шаг 370 будет пропущен, и в случае определения отказа в соединения сразу будет выполнен шаг 380.
Кроме того, в случае миграции виртуальной машины на другую физическую машину антивирусный агент 140 данной виртуальной машины определит новую основную ВМЗ. Данное утверждение связано с тем, что при анализе информации, полученной от ВМЗ, очередность ВМЗ будет изменена в списке доступных ВМЗ, и даже, возможно, не будет найдена предыдущая основная ВМЗ.
Фиг. 4 показывает алгоритм работы средства восстановления в системе обеспечения отказоустойчивости антивирусной системы в условиях виртуальной среды. Стоит отметить, что средство восстановления является тем же средством подключения 270. Так как основная ВМЗ является наиболее приоритетной ВМЗ для взаимодействия антивирусного агента и антивирусного средства при антивирусной защите ВМ, то после обрыва соединения с основной ВМЗ целесообразно произвести восстановление связи. Потому после соединения с последующей ВМЗ из списка доступных ВМЗ средство подключения 270 на этапе 410 проводит проверку на восстановления основной ВМЗ. Проверка заключается в периодических запросах к основной ВМЗ с помощью уникального идентификатора. В том случае, если на этапе 420 связь будет установлена, средство подключения 270 на этапе 430 произведет разъединение с временной ВМЗ и установит соединение с основной ВМЗ. В противном случае, если связь не обнаружена, средство подключения 270 на этапе 420 будет продолжать проводить периодические проверки связи.
На Фиг. 5 показана компьютерная система, на которой может быть использовано описанное изобретение.
Фиг. 5 представляет пример компьютерной системы общего назначения (может быть как персональным компьютер, так и сервером) 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, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN- сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
Изобретение относится к информационной безопасности. Технический результат заключается в обеспечении отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде. Способ обеспечения отказоустойчивости антивирусной защиты виртуальной машины, в котором собирают с помощью антивирусного агента, размещенного на виртуальной машине, информацию о доступных виртуальных машинах защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусной проверки; производят с помощью антивирусного агента приоритизацию виртуальных машин защиты на основании критериев приоритизации с последующим формированием списка доступных виртуальных машин защиты; производят соединение антивирусного агента с наиболее приоритетной виртуальной машиной защиты для последующей передачи ресурсоемких задач антивирусной проверки; при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты производят соединение антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты. 2 н. и 10 з.п. ф-лы, 5 ил.
1. Способ обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, который включает в себя этапы, на которых:
а) собирают с помощью антивирусного агента, размещенного на виртуальной машине, информацию о доступных виртуальных машинах защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусных проверки;
б) производят с помощью антивирусного агента приоритизацию виртуальных машин защиты на основании критериев приоритизации с последующим формированием списка доступных виртуальных машин защиты,
- где список доступных виртуальных машин содержит очередь доступных виртуальных машин защиты согласно их приоритету;
в) производят соединение упомянутого антивирусного агента с наиболее приоритетной виртуальной машиной защиты для последующей передачи ресурсоемких задач антивирусной проверки;
г) поддерживают список доступных виртуальных машин в актуальном состоянии с помощью периодического сбора информации о доступных виртуальных машинах защиты с последующим анализом собранной информации;
д) при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты производят соединение упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
2. Способ по п. 1, в котором производят с помощью упомянутого антивирусного агента восстановление соединения с приоритетной виртуальной машиной защиты.
3. Способ по п. 1, в котором собираемая информация содержит, по крайней мере, следующие сведения:
- уникальный идентификатор гипервизора, на котором установлена виртуальная машина защиты;
- тип гипервизора;
- количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации;
- сетевой адрес виртуальной машины защиты.
4. Способ по п. 1, в котором критериями приоритизации являются, по крайней мере, следующие критерии:
- наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться;
- принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента;
- наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент;
- тип гипервизора, на котором работает виртуальная машина защиты;
- степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты, и количества выделенных вычислительных ресурсов данной виртуальной машине защиты.
5. Способ по п. 1, в котором при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
6. Система обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, которая содержит:
- по крайней мере, две виртуальные машины защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусной проверки, и антивирусный агент, который размещен на виртуальной машине и содержит, по крайней мере, следующие средства:
а) средство взаимодействия, предназначенное для сбора информации о доступных виртуальных машинах защиты и предоставления собранной информации средству анализа;
б) средство анализа, предназначенное для установления приоритета каждой виртуальной машины защиты с помощью критериев приоритизации, формирования списка доступных виртуальных машин защиты согласно установленным приоритетам и передачи сформированного списка доступных виртуальных машин защиты средству подключения;
в) средство подключения, предназначенное для:
- соединения с наиболее приоритетной виртуальной машиной защиты из списка доступных виртуальных машин защиты;
- при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты, соединения упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
7. Система по п. 6, в которой средство подключения производит восстановление соединения с приоритетной виртуальной машиной защиты.
8. Система по п. 6, в которой собираемая информация средством взаимодействия содержит, по крайней мере, следующие сведения:
- уникальный идентификатор гипервизора, на котором установлена
виртуальная машина защиты;
- тип гипервизора;
- количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации;
- сетевой адрес виртуальной машины защиты.
9. Система по п. 6, в которой критериями приоритизации являются, по крайней мере, следующие критерии:
- наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться;
- принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента;
- наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент;
- тип гипервизора, на котором работает виртуальная машина защиты;
- степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты и количества выделенных вычислительных ресурсов данной виртуальной машины защиты.
10. Система по п. 6, в которой при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
11. Система по п. 6, в которой при формировании списка доступных виртуальных машин защиты средство анализа разделяет доступные виртуальные машины, по крайней мере, на два блока.
12. Система по п. 11, в которой средство подключения производит соединение с виртуальной машиной защиты из списка доступных виртуальных машин защиты в соответствии с разделенными блоками на основании случайного выбора.
Способ приготовления лака | 1924 |
|
SU2011A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
ВИРТУАЛИЗАЦИЯ ДЛЯ ДИВЕРСИФИЦИРОВАННОЙ ЗАЩИТЫ ОТ НЕСАНКЦИОНИРОВАННОГО ВМЕШАТЕЛЬСТВА | 2007 |
|
RU2458394C2 |
Авторы
Даты
2015-11-20—Публикация
2014-04-18—Подача