RU2568282C2 - Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде - Google Patents

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

Info

Publication number
RU2568282C2
RU2568282C2 RU2014115457/08A RU2014115457A RU2568282C2 RU 2568282 C2 RU2568282 C2 RU 2568282C2 RU 2014115457/08 A RU2014115457/08 A RU 2014115457/08A RU 2014115457 A RU2014115457 A RU 2014115457A RU 2568282 C2 RU2568282 C2 RU 2568282C2
Authority
RU
Russia
Prior art keywords
virtual
protection
machine
machines
virtual machine
Prior art date
Application number
RU2014115457/08A
Other languages
English (en)
Other versions
RU2014115457A (ru
Inventor
Сергей Николаевич Гриднев
Павел Николаевич Ярыкин
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2014115457/08A priority Critical patent/RU2568282C2/ru
Priority to US14/311,590 priority patent/US9088618B1/en
Priority to EP14186504.8A priority patent/EP2933748B1/en
Publication of RU2014115457A publication Critical patent/RU2014115457A/ru
Application granted granted Critical
Publication of RU2568282C2 publication Critical patent/RU2568282C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Abstract

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

Description

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

Claims (12)

1. Способ обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, который включает в себя этапы, на которых:
а) собирают с помощью антивирусного агента, размещенного на виртуальной машине, информацию о доступных виртуальных машинах защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусных проверки;
б) производят с помощью антивирусного агента приоритизацию виртуальных машин защиты на основании критериев приоритизации с последующим формированием списка доступных виртуальных машин защиты,
- где список доступных виртуальных машин содержит очередь доступных виртуальных машин защиты согласно их приоритету;
в) производят соединение упомянутого антивирусного агента с наиболее приоритетной виртуальной машиной защиты для последующей передачи ресурсоемких задач антивирусной проверки;
г) поддерживают список доступных виртуальных машин в актуальном состоянии с помощью периодического сбора информации о доступных виртуальных машинах защиты с последующим анализом собранной информации;
д) при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты производят соединение упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
2. Способ по п. 1, в котором производят с помощью упомянутого антивирусного агента восстановление соединения с приоритетной виртуальной машиной защиты.
3. Способ по п. 1, в котором собираемая информация содержит, по крайней мере, следующие сведения:
- уникальный идентификатор гипервизора, на котором установлена виртуальная машина защиты;
- тип гипервизора;
- количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации;
- сетевой адрес виртуальной машины защиты.
4. Способ по п. 1, в котором критериями приоритизации являются, по крайней мере, следующие критерии:
- наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться;
- принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента;
- наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент;
- тип гипервизора, на котором работает виртуальная машина защиты;
- степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты, и количества выделенных вычислительных ресурсов данной виртуальной машине защиты.
5. Способ по п. 1, в котором при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
6. Система обеспечения отказоустойчивости антивирусной защиты виртуальной машины путем соединения с доступными виртуальными машинами защиты, которая содержит:
- по крайней мере, две виртуальные машины защиты, которые содержат антивирусные средства для проведения ресурсоемких задач антивирусной проверки, и антивирусный агент, который размещен на виртуальной машине и содержит, по крайней мере, следующие средства:
а) средство взаимодействия, предназначенное для сбора информации о доступных виртуальных машинах защиты и предоставления собранной информации средству анализа;
б) средство анализа, предназначенное для установления приоритета каждой виртуальной машины защиты с помощью критериев приоритизации, формирования списка доступных виртуальных машин защиты согласно установленным приоритетам и передачи сформированного списка доступных виртуальных машин защиты средству подключения;
в) средство подключения, предназначенное для:
- соединения с наиболее приоритетной виртуальной машиной защиты из списка доступных виртуальных машин защиты;
- при выявлении отказа в соединении между антивирусным агентом и приоритетной виртуальной машиной защиты, соединения упомянутого антивирусного агента со следующей в очереди виртуальной машиной защиты из списка доступных виртуальных машин защиты.
7. Система по п. 6, в которой средство подключения производит восстановление соединения с приоритетной виртуальной машиной защиты.
8. Система по п. 6, в которой собираемая информация средством взаимодействия содержит, по крайней мере, следующие сведения:
- уникальный идентификатор гипервизора, на котором установлена
виртуальная машина защиты;
- тип гипервизора;
- количество виртуальных машин, которые обслуживает соответствующая виртуальная машина защиты на момент сбора информации;
- сетевой адрес виртуальной машины защиты.
9. Система по п. 6, в которой критериями приоритизации являются, по крайней мере, следующие критерии:
- наличие информации у виртуальной машины о виртуальной машине защиты, с которой необходимо соединиться;
- принадлежность виртуальной машины защиты к тому же гипервизору, на котором установлена виртуальная машина соответствующего антивирусного агента;
- наличие информации у виртуальной машины защиты о виртуальной машине, на которой установлен антивирусный агент;
- тип гипервизора, на котором работает виртуальная машина защиты;
- степень загруженности виртуальной машины защиты, которая определяется из соотношения количества виртуальных машин, подключенных к виртуальной машине защиты и количества выделенных вычислительных ресурсов данной виртуальной машины защиты.
10. Система по п. 6, в которой при миграции виртуальной машины на другую физическую машину производят изменения приоритетной виртуальной машины защиты.
11. Система по п. 6, в которой при формировании списка доступных виртуальных машин защиты средство анализа разделяет доступные виртуальные машины, по крайней мере, на два блока.
12. Система по п. 11, в которой средство подключения производит соединение с виртуальной машиной защиты из списка доступных виртуальных машин защиты в соответствии с разделенными блоками на основании случайного выбора.
RU2014115457/08A 2014-04-18 2014-04-18 Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде RU2568282C2 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2014115457/08A RU2568282C2 (ru) 2014-04-18 2014-04-18 Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
US14/311,590 US9088618B1 (en) 2014-04-18 2014-06-23 System and methods for ensuring fault tolerance of antivirus protection realized in a virtual environment
EP14186504.8A EP2933748B1 (en) 2014-04-18 2014-09-26 System and methods for ensuring fault tolerance of antivirus protection realized in a virtual environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014115457/08A RU2568282C2 (ru) 2014-04-18 2014-04-18 Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде

Publications (2)

Publication Number Publication Date
RU2014115457A RU2014115457A (ru) 2015-10-27
RU2568282C2 true RU2568282C2 (ru) 2015-11-20

Family

ID=53540248

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014115457/08A RU2568282C2 (ru) 2014-04-18 2014-04-18 Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде

Country Status (3)

Country Link
US (1) US9088618B1 (ru)
EP (1) EP2933748B1 (ru)
RU (1) RU2568282C2 (ru)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
RU2649794C1 (ru) * 2017-04-28 2018-04-04 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла
RU2714607C2 (ru) * 2015-12-19 2020-02-18 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Двукратная самодиагностика памяти для защиты множества сетевых конечных точек
RU2788309C1 (ru) * 2022-05-06 2023-01-17 Акционерное общество "Научно-исследовательский институт "Масштаб" Способ централизованного реагирования на отказ сети или отказ сервера в кластере высокой доступности и восстановления виртуальной машины в кластере высокой доступности и система, реализующая данный способ
WO2023003565A1 (en) * 2021-07-23 2023-01-26 Hewlett-Packard Development Company, L.P. Kill chain identifications
WO2023009132A1 (en) * 2021-07-30 2023-02-02 Hewlett-Packard Development Company, L.P. Embedded security hardware proxy

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284593B1 (en) * 2015-01-15 2019-05-07 EMC IP Holding Company LLC Protecting newly restored clients from computer viruses
US10181034B2 (en) * 2016-02-12 2019-01-15 Sophos Limited Virtual machine security
RU2628923C1 (ru) * 2016-05-20 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ распределения файлов между виртуальными машинами, входящими в распределённую систему виртуальных машин, для выполнения антивирусной проверки
EP3246842B1 (en) * 2016-05-20 2020-07-08 AO Kaspersky Lab System and method of distributing files between virtual machines forming a distributed system for performing antivirus scans
CN106130960B (zh) * 2016-06-12 2019-08-09 微梦创科网络科技(中国)有限公司 盗号行为的判断系统、负载调度方法和装置
US11157300B2 (en) * 2018-02-13 2021-10-26 Sophos Limited Managing virtual machine security resources
EP3693879B1 (en) * 2019-02-07 2022-01-05 AO Kaspersky Lab System and method for automatically selecting security virtual machines
RU2710860C1 (ru) * 2019-02-07 2020-01-14 Акционерное общество "Лаборатория Касперского" Способ ограничения области автоматического выбора виртуальной машины защиты
CN109885032B (zh) * 2019-03-13 2021-01-12 东北大学 基于邻域投影保持的异构数据协同建模工业故障检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2458394C2 (ru) * 2006-10-27 2012-08-10 Майкрософт Корпорейшн Виртуализация для диверсифицированной защиты от несанкционированного вмешательства

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
US7603711B2 (en) * 2002-10-31 2009-10-13 Secnap Networks Security, LLC Intrusion detection system
US8782247B2 (en) * 2003-07-09 2014-07-15 At&T Intellectual Property I, L.P. Connection manager and methods of connection management
JP3979432B2 (ja) * 2003-08-08 2007-09-19 オンキヨー株式会社 ネットワークavシステム
US20060070066A1 (en) * 2004-09-30 2006-03-30 Grobman Steven L Enabling platform network stack control in a virtualization platform
US8296759B1 (en) * 2006-03-31 2012-10-23 Vmware, Inc. Offloading operations to a replicate virtual machine
US7814495B1 (en) * 2006-03-31 2010-10-12 V Mware, Inc. On-line replacement and changing of virtualization software
US8056076B1 (en) * 2006-03-31 2011-11-08 Vmware, Inc. Method and system for acquiring a quiesceing set of information associated with a virtual machine
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US8621610B2 (en) 2007-08-06 2013-12-31 The Regents Of The University Of Michigan Network service for the detection, analysis and quarantine of malicious and unwanted files
US8307443B2 (en) * 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US8468522B2 (en) * 2007-12-26 2013-06-18 Nec Corporation Virtual machine system, system for forcing policy, method for forcing policy, and virtual machine control program
JP4488077B2 (ja) * 2008-02-29 2010-06-23 日本電気株式会社 仮想化システム、仮想化方法、及び仮想化用プログラム
JP5446167B2 (ja) * 2008-08-13 2014-03-19 富士通株式会社 ウイルス対策方法、コンピュータ、及びプログラム
TWI525452B (zh) * 2008-10-02 2016-03-11 美國博通公司 安全處理系統
US8320914B2 (en) * 2008-12-29 2012-11-27 General Motors Llc Voice channel data connection retry strategy
US8176293B2 (en) * 2009-03-27 2012-05-08 Hewlett-Packard Development Company, L.P. Method and system for moving active virtual partitions between computers
KR101493076B1 (ko) * 2009-04-07 2015-02-12 삼성전자 주식회사 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법
FR2948789B1 (fr) * 2009-07-28 2016-12-09 Airbus Composant logiciel et dispositif pour le traitement automatise de donnees multi-usages, mettant en oeuvre des fonctions ayant besoin de differents niveaux de surete ou limites de responsabilite
US8646028B2 (en) * 2009-12-14 2014-02-04 Citrix Systems, Inc. Methods and systems for allocating a USB device to a trusted virtual machine or a non-trusted virtual machine
JP4977229B2 (ja) * 2010-03-30 2012-07-18 株式会社バッファロー 通信を中継するための装置、方法、およびプログラム
US8751781B2 (en) * 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
WO2011149558A2 (en) * 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
US8458490B2 (en) * 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8667489B2 (en) * 2010-06-29 2014-03-04 Symantec Corporation Systems and methods for sharing the results of analyses among virtual machines
US20120054486A1 (en) * 2010-08-31 2012-03-01 MindTree Limited Securing A Virtual Environment And Virtual Machines
US8997172B2 (en) * 2010-11-08 2015-03-31 Citrix Systems, Inc. Controlling information disclosure during application streaming and publishing
JP5541117B2 (ja) * 2010-11-26 2014-07-09 富士通株式会社 仮想マシン移行システム、仮想マシン移行プログラム、及び仮想マシン移行方法
US20120144489A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Antimalware Protection of Virtual Machines
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework
WO2012094677A2 (en) * 2011-01-09 2012-07-12 Niels Jonker System, method and apparatus for dynamic wireless network discovery
US8479294B1 (en) * 2011-02-15 2013-07-02 Trend Micro Incorporated Anti-malware scan management in high-availability virtualization environments
GB201105565D0 (en) * 2011-04-01 2011-05-18 Vodafone Ip Licensing Ltd Network architecture
TWI451245B (zh) * 2011-09-14 2014-09-01 Inst Information Industry 虛擬機器監控方法、系統及儲存其之電腦可讀取紀錄媒體
US9170840B2 (en) * 2011-11-02 2015-10-27 Lenova Enterprise Solutions (Singapore) Pte. Ltd. Duration sensitive scheduling in a computing environment
US9529995B2 (en) * 2011-11-08 2016-12-27 Varmour Networks, Inc. Auto discovery of virtual machines
US8726404B2 (en) * 2011-11-14 2014-05-13 Intel Corporation Regulating access to and protecting portions of applications of virtual machines
US9176763B2 (en) * 2011-11-28 2015-11-03 Ravello Systems Ltd. Apparatus and method thereof for efficient execution of a guest in a virtualized environment
US20130179894A1 (en) * 2012-01-09 2013-07-11 Microsoft Corporation Platform as a service job scheduling
US8904008B2 (en) * 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US20130179289A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Pricing of resources in virtual machine pools
US9372735B2 (en) * 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US9170849B2 (en) * 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
TW201336265A (zh) * 2012-02-29 2013-09-01 Acer Inc 管理方法及相關電子裝置及其電腦程式產品
US8930751B2 (en) * 2012-04-24 2015-01-06 Microsoft Corporation Initializing replication in a virtual machine
US8839031B2 (en) * 2012-04-24 2014-09-16 Microsoft Corporation Data consistency between virtual machines
US20130312096A1 (en) * 2012-05-18 2013-11-21 Vmware, Inc. On-demand data scan in a virtual machine
EP3364297B1 (en) * 2012-06-26 2022-05-04 Lynx Software Technologies Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection prevention, and/or other features
US9003409B2 (en) * 2012-11-30 2015-04-07 International Business Machines Corporation Common contiguous memory region optimized long distance virtual machine migration
US9378035B2 (en) * 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US8954535B2 (en) * 2012-12-31 2015-02-10 Juniper Networks, Inc. Dynamic network device processing using external components
US20140196039A1 (en) * 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
WO2014162302A1 (en) * 2013-04-05 2014-10-09 Ologn Technologies Ag Systems, methods and apparatuses for protection of antivirus software
US9495180B2 (en) * 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2458394C2 (ru) * 2006-10-27 2012-08-10 Майкрософт Корпорейшн Виртуализация для диверсифицированной защиты от несанкционированного вмешательства

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2714607C2 (ru) * 2015-12-19 2020-02-18 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Двукратная самодиагностика памяти для защиты множества сетевых конечных точек
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
RU2649794C1 (ru) * 2017-04-28 2018-04-04 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла
WO2023003565A1 (en) * 2021-07-23 2023-01-26 Hewlett-Packard Development Company, L.P. Kill chain identifications
WO2023009132A1 (en) * 2021-07-30 2023-02-02 Hewlett-Packard Development Company, L.P. Embedded security hardware proxy
RU2788309C1 (ru) * 2022-05-06 2023-01-17 Акционерное общество "Научно-исследовательский институт "Масштаб" Способ централизованного реагирования на отказ сети или отказ сервера в кластере высокой доступности и восстановления виртуальной машины в кластере высокой доступности и система, реализующая данный способ

Also Published As

Publication number Publication date
EP2933748B1 (en) 2018-03-07
RU2014115457A (ru) 2015-10-27
EP2933748A1 (en) 2015-10-21
US9088618B1 (en) 2015-07-21

Similar Documents

Publication Publication Date Title
RU2568282C2 (ru) Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
JP7197612B2 (ja) オンデマンドネットワークコード実行システム上での補助機能の実行
RU2580030C2 (ru) Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
US10635496B2 (en) Thread pool management
RU2710860C1 (ru) Способ ограничения области автоматического выбора виртуальной машины защиты
US9588789B2 (en) Management apparatus and workload distribution management method
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
EP3073373B1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
EP2940615B1 (en) Method and apparatus for isolating management virtual machine
US20140053226A1 (en) Self-adaptive and proactive virtual machine images adjustment to environmental security risks in a cloud environment
US20050125537A1 (en) Method, apparatus and system for resource sharing in grid computing networks
US9596189B1 (en) Virtual machine management
US10318347B1 (en) Virtualized tasks in an on-demand network code execution system
US10120779B1 (en) Debugging of hosted computer programs
US9141431B1 (en) System and method for prioritizing on access scan and on demand scan tasks
US10291475B2 (en) Virtualization of management services in a cloud computing environment
US9349012B2 (en) Distributed processing system, distributed processing method and computer-readable recording medium
JP6616262B2 (ja) 通信システム及びトラヒック制御方法
US10261921B2 (en) Universal secure platform virtualization system and method thereof
EP3693879B1 (en) System and method for automatically selecting security virtual machines
RU2702053C1 (ru) Способ снижения нагрузки на сканирующую подсистему путем дедупликации сканирования файлов
RU2724801C1 (ru) Способ балансировки нагрузки на виртуальных машинах защиты при условии ограничении области выбора виртуальных машин защиты
RU2571725C2 (ru) Система и способ управления параметрами приложений на компьютерных устройствах пользователя
EP3270544A1 (en) Hypervisor monitoring