CN111538558B - 用于自动选择安全虚拟机的系统和方法 - Google Patents

用于自动选择安全虚拟机的系统和方法 Download PDF

Info

Publication number
CN111538558B
CN111538558B CN201911156353.XA CN201911156353A CN111538558B CN 111538558 B CN111538558 B CN 111538558B CN 201911156353 A CN201911156353 A CN 201911156353A CN 111538558 B CN111538558 B CN 111538558B
Authority
CN
China
Prior art keywords
svm
svms
security
list
security agent
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201911156353.XA
Other languages
English (en)
Other versions
CN111538558A (zh
Inventor
丹尼斯·O·弗拉兹涅夫
马克西姆·E·瑙莫夫
马克西姆·A·瓦西里耶夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN111538558A publication Critical patent/CN111538558A/zh
Application granted granted Critical
Publication of CN111538558B publication Critical patent/CN111538558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

本发明涉及用于自动选择安全虚拟机的系统和方法。本文中公开了选择用于虚拟基础设施中的虚拟机(VM)的安全虚拟机(SVM)的系统和方法。一方面,示例性方法包括:形成SVM列表,其中SVM为VM执行安全任务,并且VM包括配置为与SVM交互的安全代理;确定安全代理的限制要求,并且从SVM列表中移除不符合关于安全代理的交互区域的限制的限制要求的SVM;轮询列表中剩余的SVM以确定所述SVM的网络可访问性,并移除不可访问的SVM;对于列表中剩余的每个可访问SVM,确定SVM的标记是否与VM的安全代理的标记匹配,并移除标记与安全代理的标记不匹配的SVM;以及将剩余SVM的列表提供给VM的安全代理。

Description

用于自动选择安全虚拟机的系统和方法
技术领域
本发明涉及网络安全领域,并且更具体地,涉及在虚拟环境中自动选择安全虚拟机的系统和方法。
背景技术
云技术已成为现代计算机技术中不可缺少的部分。云技术采用虚拟机,虚拟机在功能上类似于物理机。在一方面,虚拟机(VM)是一种程序环境,其虚拟化物理机(例如计算机或服务器)内部的计算环境,使得操作系统能够以另一台计算机的形式工作。多个VM可以用于形成虚拟环境。虚拟环境是在一个或多个物理机(也称为“主机”)上的(一个或多个)管理程序的控制下运行的VM的集合。在这种情况下,VM利用主机的由管理程序(即,由VM的监控器)控制的计算资源。
如同任何物理机(诸如计算设备,例如个人计算机)一样,虚拟机容易受到恶意软件(恶意程序)攻击。因此,需要使用用于保护VM的防病毒系统。防病毒系统设计成检测并移除恶意软件。然而,在虚拟环境中实现防病毒系统会带来一些技术问题。首先,VM没有物理硬盘驱动器(physical hard disk drive,HDD),并且VM利用在创建该VM的主机的硬盘驱动器上分配给该VM的空间。因此,在VM上执行的输入/输出操作给主机的处理器带来巨大的负担。额外的负担甚至可能导致在执行任务时长时间冻结主机以及VM本身。因此,需要减少在VM上执行的输入/输出操作的次数和量。
减少输入/输出操作的次数的一种方法是使用分布式防病毒系统,在该系统中,划分由于努力保护VM免受恶意软件的影响而产生的任务。在一示例中,分布式防病毒系统可以包括以下组件:用于执行防病毒扫描任务的VM,其也被称为安全VM(Security VM,SVM);以及位于需要保护的网络中的每个VM上的安全代理。安全代理执行两种类型的功能:用于监控VM的第一功能,以及用于与SVM进行交互的第二功能。安全代理与SVM的交互用于将数据传输到SVM进行分析、从SVM获得数据分析结果、以及从SVM接收指令以便根据获得的结果在VM上执行必要的动作。
然而,这种方法也有一些缺点。对于由两个或更多个主机组成的虚拟基础设施,通常采用通过将VM迁移到工作负载较小的另一台主机来减轻一台主机的计算资源的负担的技术,其中可能有必要将已迁移的VM重新连接至另一SVM。将安全代理连接至必要的SVM通常不是容易的任务,因为需要同时考虑可能出现的许多标准和限制。例如,存在调节VM如何在特定虚拟环境中操作的规则。例如,可能存在以下一项或多项:用于调节VM本身之间以及与SVM之间的交互的规则,有关用户限制和企业限制两者的安全策略,对VM在网络中的位置及其交互的区域的限制等。为了举例说明,可能出现这样的情况:根据客户公司的安全策略的要求,不同VM组的数据不允许位于同一网络点,即,不同VM组的数据不允许位于同一数据库内或同一SVM上。在另一种情况下,当使用自动选择SVM进行连接时,VM可能会执行与位于不同集群或数据中心的SVM的连接,即使安全策略可能会禁止这样做。进一步将这种方法复杂化,VM和SVM之间的路由如果位于不同的集群或数据中心,则可能组织该路由,使其包括通过地球的不同半球中的网络的路线,这使得VM的功能复杂化。
此外,还需要考虑到危害SVM的正常运行能力的防病毒系统。例如,当在单个主机中部署大量VM时,SVM上的工作负载也会增加,这可能导致SVM本身发生故障。在另一示例中,VM和SVM之间的连接可能断开。因此,在分布式方法的情况下,VM的防病毒保护变得难以实现,即使不是完全不可能的。
因此,需要一种在选择用于连接位于VM上的安全代理的SVM时满足安全策略的解决方案。
发明内容
本发明的方面涉及计算机安全领域,更具体地涉及选择用于虚拟基础设施中的虚拟机(VM)的安全虚拟机(SVM)的系统和方法。
在一示例性方面,选择SVM的方法在包括硬件处理器的计算机中实现,该方法包括:形成SVM列表,其中SVM为VM执行安全任务,并且VM包括配置为与SVM交互的安全代理;确定安全代理的限制要求,并从列表中移除不符合关于安全代理的交互区域的限制的限制要求的SVM;轮询列表中剩余的SVM以确定所述SVM的网络可访问性,并移除不可访问的SVM;对于列表中剩余的每个可访问SVM,确定SVM的标记是否与VM的安全代理的标记匹配,并移除标记与安全代理的标记不匹配的SVM;以及将剩余SVM的列表提供给VM的安全代理。
根据本发明的一方面,提供了一种用于选择SVM的系统,该系统包括硬件处理器,该硬件处理器配置为:形成SVM列表,其中SVM为VM执行安全任务,并且VM包括配置为与SVM交互的安全代理;确定安全代理的限制条件,并从列表中移除不符合关于安全代理的交互区域的限制的限制要求的SVM;轮询列表上剩余的SVM以确定所述SVM的网络可访问性,并移除不可访问的SVM;对于列表中剩余的每个可访问的SVM,确定该SVM的标记是否与VM的安全代理的标记匹配,并移除标记与安全代理的标记不匹配的SVM;以及将剩余SVM的列表提供给VM的安全代理。
在一示例性方面,提供了一种存储用于选择SVM的指令集的非暂时性计算机可读介质,其中,所述指令集包括以下指令:形成SVM的列表,其中,SVM为VM执行安全任务,并且VM包括配置为与SVM交互的安全代理;确定安全代理的限制要求,并且从列表中移除不符合关于安全代理的交互区域的限制的限制要求的SVM;轮询列表上剩余的SVM以确定所述SVM的网络可访问性,并移除不可访问的SVM;对于列表上剩余的每个可访问SVM,确定所述SVM的标记是否与VM的安全代理的标记匹配,并移除标记与安全代理的标记不匹配的SVM;以及将剩余SVM的列表提供给VM的安全代理。
一方面,通过以下方式将标记分配给SVM:根据用于VM上正在处理的数据的位置和安全策略需求,将虚拟基础设施中的VM划分为多个区域;对于每个区域,将区域中的VM的位置分配给具有单独安全策略的相应控制组;向每个控制组分配不同的标记;根据所述SVM为其执行安全任务的区域,将SVM划分为多组SVM;以及对于每组SVM,向该组中的所有SVM分配SVM为其执行安全任务的控制组的标记。
一方面,还基于由SVM执行的防病毒扫描的类型,则将SVM划分为多组SVM。
一方面,控制组用于将VM限制为使用预先指定的SVM。
一方面,关于安全代理的交互区域的限制的限制要求包括基于地理位置和虚拟位置的限制,其中,虚拟位置是安装有安全代理的VM的位置,VM的位置是部署有VM的物理机的地理位置。
一方面,安全代理的交互区域被划分为任意数量的级别,交互区域的级别包括以下至少一项:基于部署有虚拟机的物理机的级别;基于虚拟机所属的集群的级别;以及基于包括虚拟机的物理机所在的数据中心的级别。
一方面,限制要求包括以下至少一项:用户指定的安全策略;部署有VM的物理机的地理位置;以及关于VM和SVM上的个人数据的处理要求。
为了有效利用分布式防病毒系统的益处,必须在SVM上提供工作负载的平衡/再平衡,同时遵循由于用于选择用于虚拟机的安全代理的后续连接的SVM或相应区域的限制要求的限制。
有利地,在虚拟机的初始部署期间和虚拟机重新连接至不同的SVM期间(例如,将虚拟机迁移至不同主机时),本发明的方法能够提供对于自动化虚拟环境的区域的限制过程的更有效的解决方案,该虚拟环境的区域用于选择连接至虚拟机的SVM。该方法解决了平衡在SVM上的工作负载同时允许自动限制SVM的选择区域的问题。根据本发明的教导,用于自动选择用于连接虚拟机安全代理的SVM的SVM组的创建改进了防病毒系统。本发明描述了解决上述缺点和问题的方法和系统。通过以下方式实现改进:形成SVM列表,其中SVM为VM执行安全任务,并且VM包括配置为与SVM交互的安全代理;确定安全代理的限制要求并从列表中移除不符合关于安全代理的交互区域的限制的限制要求的SVM;轮询列表上剩余的SVM以确定所述SVM的网络可访问性,并移除不可访问的SVM;对于列表上剩余的每个可访问SVM,确定所述SVM的标记是否与VM的安全代理的标记匹配,并移除标记与安全代理的标记不匹配的SVM;以及将剩余SVM的列表提供给VM的安全代理。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同具体实施方式一起用来阐述这些示例性方面的原理和实现方式。
图1示出了根据本发明的多个方面的使用本发明的方法的虚拟基础设施的示例。
图2示出了形成用于虚拟机的标记以便当从SVM的限制性列表中选择SVM时使用标记的示例。
图3示出了用于自动选择用于安全代理的SVM的方法。
图4示出了用于在SVM上平衡工作负载、同时考虑对SVM与安装在虚拟机上的安全代理进行交互的限制要求的方法。
图5示出了可以在其上实现本发明的多个方面的通用计算机系统的示例。
具体实施方式
本文中,在自动选择安全虚拟机(SVM)以自动选择用于虚拟基础设施中虚拟机(VM)的安全代理的SVM的系统、方法和计算机程序的情况下描述了示例性方面。本领域普通技术人员将认识到以下的描述仅是说明性的,而非旨在以任何方式进行限制。其它方面将容易地将自身暗示给受益于本发明的那些本领域技术人员。现在将详细参考如附图中所示的示例性方面的实现方式。在整个附图和以下描述中,将尽可能地使用相同的附图标记来指示相同或相似的项。
为了清楚地呈现本发明的教导,已经使用以下的方法用于编号:当在说明书中出现没有与之关联的字母的对象的编号时,则所描述的该陈述与包括该数字部分的所有对象有关。例如,说明书中的术语“物理机100”是指任何物理机:100a,100b,…,100n。相反,当在对象的描述中给出完整的编号时,则该描述与图中的特定对象(例如,物理机100a或虚拟机120a)有关。
本系统设计用于自动限制驻留在虚拟机上的安全代理与SVM的交互区域。本发明的方法通过以下内容来操作:自动创建SVM列表,该列表用于SVM的后续选择以及将虚拟机上驻留的安全代理连接至所创建的列表上的至少一个SVM。SVM列表包括SVM的有序集合。这种方法使得系统能够满足VM和SVM之间的交互的各种限制。这些限制要么作为规则包括在安全策略中,要么作为用户已建立的规则。此外,借助于为每个虚拟机创建可访问的SVM列表并从可访问的SVM中进行选择的方法,本发明的方法有利地使得能够平衡SVM的工作负载,同时考虑对虚拟机和SVM的交互的现有限制。
图1示出了使用本发明的方法的虚拟基础设施的示例。虚拟基础设施包括虚拟机和安全虚拟机的集合,以及用于虚拟机和安全虚拟机的通信及控制的系统。应当注意,在一般情况下,管理程序也可以被实现为虚拟机。
图1的虚拟基础设施包括数据中心101。数据中心101包括物理机100a-100n。
虚拟基础设施可以包括可观数量的虚拟机(例如,从几台虚拟机到数百台虚拟机)。可观数量的虚拟机(VM)的存在需要相应体积的计算资源。因此,可以在单个物理机(例如,物理机100a)上或在物理机组100a至100n上创建虚拟机,并将该物理机组组合成集群。“集群”是由相应特征或特性统一的物理机(或管理程序)的集合。例如,一个集群可以将位于同一数据中心内或属于特定组织的同一企业网络的物理机聚集在一起。相反,虚拟机可以根据需要组合成组。特定的一虚拟机组可能由最多样化的特征组成,例如:虚拟机名称掩码、IP地址、地理位置、正在执行的功能、存在威胁的迹象等。例如,第一组可以将存在于特定组织的公司网络中的虚拟机(包括SVM)聚集到一起;第二组可以将执行相似类型的数据处理的虚拟机聚集在一起;第三组可以根据虚拟机的作用或功能将其聚集在一起。
对于图1的基础设施,物理机100a包括虚拟机120a。物理机可以是个人计算机(电脑)或服务器,其示例在图5中进行了描述。
物理机100b包括虚拟机120b以及两个安全虚拟机SVM-1和SVM-2。物理机100c不包括虚拟机,但是包括安全虚拟机SVM-1。物理机100d包括两个虚拟机,其示为元件120d,1和120d,2。此外,物理机100d包括三个安全虚拟机:SVM-1、SVM-2和SVM-3。为了一致性,物理机100b的SVM-1示为元件130b,1,并且物理机100b的SVM-2示为元件130b,2,物理机100c的SVM-1示为元件130c,1,物理机100d的SVM-1示为元件130d,1,物理机100d的SVM-2示为元件130d,2,物理机100d的SVM-2示为元件130d,3。类似地,其它物理机可以包括任意数量的虚拟机和SVM。
将物理机100a-100n的至少一些聚集在一起以形成集群。例如,将物理机100a和100b聚集在一起以形成集群102a,并且将物理机100e-100n聚集在一起以形成集群102b。物理机100c和100d处于仅包括一台物理机的集群中。此外,可以形成将虚拟机和SVM聚集在一起的组。例如,如图1所示,可以将虚拟机120d,1、虚拟机120d,2和SVM 130d,1、SVM 130d,2和SVM 130d,3聚集在一起以形成组1。
应当注意,物理机本身的位置可以不同:从物理上位于同一房间(例如办公室、数据中心等)的计算机到具有不同地理位置的不同数据中心内的物理机的位置变化。例如,虚拟基础设施可以包括数百个虚拟机,这些虚拟机部署在几十个物理机上,这些物理机又分布在位于不同地区(例如俄罗斯、美国和德国的国家的地区)的多个数据中心之间。为了简化起见,对于本发明的描述,图1所示的物理机存在于单个数据中心内,但是对于本发明的方面的部署没有这种限制。
一方面,本发明描述了一种用于虚拟机的防病毒保护,其通过以下方式实现:在部署在每个物理机100上的每个虚拟机120上安装防病毒安全代理140(以下称为安全代理),并且在每个物理机100上部署至少一个安全虚拟机130。换句话说,在给定的物理机(例如100d)上,假设部署n(例如n=2)个虚拟机。然后,对于n个虚拟机中的每一者,分别部署防病毒安全代理,例如,对应虚拟机1的安全代理140d,1,以及对应虚拟机2的安全代理140d,2。此外,每个物理机上部署至少一个SVM 130(例如,SVM示为物理机100d的元件130d,1-130d,3)。安装防病毒安全代理140并将其用于与SVM 130交互。为了在多个SVM之间平衡工作负载,对SVM的工作负载进行检查。应当注意,SVM130类似于虚拟机120,唯一的区别是SVM的目的和功能任务不同于虚拟机的目的和功能任务。这样,可以以类似方式在物理机中实例化SVM 130。还值得注意的是,虚拟机120可以执行个人计算机或服务器的功能和任务。
一方面,除了上述劳动密集型任务之外,安全代理140用于通过现有功能来执行对虚拟机120的连续防病毒保护的功能。例如,安全代理140用于检查在虚拟机120的操作系统中发生的事件。通常,从使用计算资源(诸如处理器和硬盘)的角度来看,对虚拟机120的操作系统中发生的事件的检查不被认为是劳动密集型的过程。现有功能包括各种防病毒扫描方法。相反,防病毒扫描的劳动密集型任务由安全代理140指向与安全代理140连接的安全虚拟机130。
一方面,出于执行防病毒扫描的劳动密集型任务的目的,安全虚拟机130至少包括扫描模块(图1中未示出)。扫描模块是被设计为对从安装在虚拟机120上的安全代理140接收到的数据(文件或其部分)执行防病毒扫描的软件。接着,为了执行其目的,安全虚拟机130的扫描模块还可以包括一系列其它模块,例如分析模块和防病毒数据库。分析的结果由SVM 130引导至安全代理140,从安全代理140接收到具有相应的防病毒扫描任务的请求。
一方面,SVM 130还可以包括一系列其它不同的模块。此类模块的示例可以是用于更新防病毒数据库的模块、检查许可证的模块等。应当注意,根据防病毒的方面,用于更新防病毒数据库的模块对防病毒数据库版本进行更新,防病毒数据库版本既针对在SVM 130上直接扫描期间使用的防病毒数据库版本也针对由安全代理140使用的防病毒数据库版本,取决于防病毒保护的方面。
此外,SVM 130可以同时具有与多个虚拟机120的连接(例如,SVM130a连接至虚拟机120a)。然后,SVM 130还可以包括用于促进多个虚拟机共享SVM130的资源的调度器。调度器设计为形成队列,该队列用于在接收到一个以上的防病毒扫描请求的事件中,或当通过不同的防病毒扫描方法执行防病毒扫描时,在SVM 130上执行防病毒扫描。一方面,调度器可以在形成队列时将优先级分配给防病毒扫描任务。一方面,根据接收防病毒扫描任务的时间来形成队列。一方面,根据防病毒扫描任务的优先次序来形成队列。一方面,可以根据接收防病毒扫描任务的时间和防病毒扫描任务的优先次序的组合来形成队列。一方面,可以根据所需的防病毒扫描方法将优先级分配给防病毒扫描任务,例如,如果需要“按访问扫描(on access scanning)”方法,将存在一优先级,但是如果需要“按需扫描(on demandscanning)”方法,将存在另一优先级。另一方面,任务的优先次序可以基于根据虚拟机120本身的优先级的扫描开始的请求。
一方面,SVM 130包括集成器(图1中未示出)。集成器使SVM 130从管理程序接收信息、与其它SVM 130交互并向虚拟机120分发信息。管理程序向集成器提供信息,该信息至少包括关于由管理程序控制的虚拟机的数据以及在物理机100向SVM 130提供的计算资源上的当前工作负载的数据。在安全虚拟机130与集成器进行交互期间,存在包括有关以下至少一项的数据的信息交换:SVM的位置、与虚拟机的当前连接或当前时间的工作负载。集成器根据请求将所接收的信息提供给虚拟机。根据预定的时间段(例如每5-10秒)向虚拟机发送信息。取决于本发明的方面,集成器可以位于:SVM中的一个上、虚拟机上或物理机上。
应当注意,当存在虚拟机组时,每组虚拟机120将至少包括一个SVM 130,使得可以对虚拟机进行最佳的防病毒保护,其中该组虚拟机可以划分到多个物理机中,也可以位于单个物理机内。在图1中示出了方面的一些示例。因此,两个或更多个SVM驻留在单个物理机上(例如,三个SVM 130d驻留在物理机100d上)。物理机100c仅被分配给SVM 130c,SVM 130c将连接至来自其它组和/或其它集群的物理机的集群虚拟机。物理机100a没有SVM,因此虚拟机组120a将与来自其它物理机的SVM进行交互。例如,由于物理机100a和100b组装到同一集群102a中,因此虚拟机组120a可以与部署在物理机100b上的SVM 130b(即130b,1或130b,2)之一交互。
在本发明的一方面中,为企业虚拟环境创建虚拟基础设施,在企业虚拟环境中形成虚拟机以使得能够创建用户工作站。在此类虚拟基础设施中,当新的虚拟机部署在特定的物理机上时,或者当虚拟机迁移到不同的物理机、不同的集群或不同的数据中心时,就会出现查找、选择以及连接虚拟机至SVM的问题。企业环境通常会施加许多限制要求,其涉及虚拟机与其它虚拟机和SVM的交互。许多此类限制要求可能涉及用于将数据从一虚拟机发送至另一虚拟机及其后续处理的限制。在某些情况下,数据可以包括虚拟机的客户端的个人数据。因此,例如,限制要求可以特征化不同国家规范此类数据处理的立法要求。例如,俄罗斯联邦“关于个人数据”的第152-FZ号联邦法和保护欧盟公民的个人数据的通用数据保护条例(General Data Protection Regulation,GDPR)。
此外,在虚拟基础设施中,特别是将数十个SVM和数百个虚拟机聚集在一起的虚拟基础设施中,还必须执行平衡SVM上的工作负载的任务,以减少使部署在网络中的SVM超载的可能性。同时,当使用SVM的自动选择时,在不允许限制要求时,虚拟机的安全代理利用网络中可用的SVM的全部阵列,这将导致计算资源的消耗。例如,安全代理可以连接至位置相对较远(在不同的集群或数据中心中)的SVM,并且在这种情况下,从安全代理到SVM的通信将超出集群的界限,或甚至超出虚拟机所在的数据中心。这种类型的连接导致数据路由的复杂性并降低数据传输速度。此外,如果虚拟机属于企业基础设施,则可以对虚拟机之间的交互以及虚拟机和(部署有虚拟机和SVM的)物理机的位置都施加各种禁令和限制。在不受益于本发明的方法的情况下使用自动连接时,可以不考虑此类限制。
SVM的另一特点是,可以在不同的SVM之间划分各种任务(例如防病毒扫描任务),或者可以安装安全策略以限制虚拟机与SVM的交互。此外,可以在虚拟机120的安全代理140本身之间完成划分,即,特定的安全代理应该仅与至少一个特定的SVM 130交互。在这种情况下,虚拟机(安全代理)和SVM被赋予一些标准,当将虚拟机的安全代理连接至SVM时需要考虑这些标准。一方面,此类标准是使得确定虚拟机与SVM交互的可能性成为可能的标记(标签)。因此,在连接至SVM时必须考虑此类标准。使用标记的示例如图2所示。
图2示出了用于虚拟机的标记的形成的示例,以便当从SVM的受限列表中选择SVM时使用该标记。参考图2,虚拟机组划分为3个区域:区域1、区域2和区域3。假定存在安全策略要求,这些要求指定在区域1的虚拟机上处理的数据不应当与其它区域(区域2和区域3)中正在处理的数据相交。已部署了五个SVM用于保护所有虚拟机。还假定分配两个SVM(SVM1和SVM 2)与区域1中的虚拟机进行交互。提供其它三个SVM(SVM 3、SVM 4和SVM 5)用于保护虚拟机免受来自其余区域(区域2和区域3)的影响。
为了实施上述安全策略要求,SVM的分配必须符合以下标准:
1)将虚拟机的位置从不同的区域分配到不同的控制组(例如,从区域1到“组1”,从区域2到“组2”,从区域3到“组3”);
2)每个组由单独的安全策略确定,并将被赋予不同的标记,例如,“Z1”是组1的标记,“Z2”是组2的标记,“Z3”是组3的标记;
3)指示的SVM在不同的组之间分布为:
·分配用于保护区域1的SVM在组“GroupSvm1”中;
·分配用于保护区域2和区域3的SVM在组“GroupSvm2”中;
4)将标记“Z1”分配给组“GroupSvm1”的所有SVM;
5)将标记“Z2、Z3”分配给组“GroupSvm2”的所有SVM,将标记“Z2”分配给区域2,将标记“Z3”分配给区域3。
因此,在分配之后,组将显示为:
·组1(由策略分配的标记“Z1”):虚拟机1、虚拟机2和虚拟机3;
·组2(由策略分配的标记“Z2”):虚拟机4和虚拟机5;
·组3(由策略分配的标记“Z3”):虚拟机6、虚拟机7、虚拟机8和虚拟机9;
·GroupSvm1(由策略分配的标记“Z1”)SVM 1和SVM 2;
·GroupSvm2(由策略分配的标记“Z1,Z2”):SVM 3、SVM 4和SVM 5。
结果,虚拟机120的安全代理140在寻找SVM 130进行选择和交互时,将不得不考虑策略的要求,即标记的合规性。例如,来自组1的虚拟机具有标记“Z1”,因此那些虚拟机的安全代理应当与具有相同标记“Z1”的安全虚拟机进行交互。接着,组2的虚拟机的安全代理可以连接至具有标记“Z2”的SVM,组3的虚拟机的安全代理可以连接至具有标记“Z3”的SVM。因此,当为每个安全代理创建SVM列表时,有必要考虑所指示的策略限制要求。
另一方面,标记还可以指示例如防病毒扫描的种类。因此,SVM 1可能已指定为额外标记ODS(按需扫描),而SVM 2可以具有HA(启发式分析)。因此,根据SVM的标记类型,VМ将连接至一个或另一个SVM。例如,VМ1需要执行按需扫描。根据标记“Z1”,虚拟机1能够与两个SVM(SVM 1和SVM2)交互,但是由于必须执行按需扫描,因此虚拟机1将与SVM 1交互。
另一方面,当有必要将特定的虚拟机组限制为使用特定的SVM时,也可以指定标记。
因此,每个SVM具有其自己的标记列表,虚拟机的安全代理将基于该标记列表执行用于连接的SVM的选择。SVM的标记可以由管理员通过在创建SVM时在虚拟基础设施中生效的安全策略来分配,也可以基于补充安全策略自动分配。例如,补充安全策略可以考虑对虚拟机和SVM的容错性、安全性或交互速度的要求。也可以在其使用过程中更改SVM的标记。
图3示出了自动选择用于安全代理的安全虚拟机的方法300。安全代理可能驻留在新的虚拟机或正在迁移到例如另一虚拟网络或集群或物理机的虚拟机上。换句话说,方法300支持限制,例如,将安全虚拟机的自动选择的区域限制为满足特定于不同客户端和不同信息基础设施(IT基础设施)的安全策略的限制要求。
一方面,通过创建允许考虑对虚拟机和SVM之间的交互的限制要求的列表来形成SVM的子集。作为可能的限制要求的示例,可以考虑与虚拟机的虚拟位置、部署有虚拟机和/或安全虚拟机的物理机的地理位置、以及基于对分配给SVM 130和虚拟机120的标记的分析而连接至SVM的正确性有关的要求。
另一方面,本发明的方法使得能够在将虚拟机120的安全代理140连接至SVM 130时,从工作负载的观点出发,选择最佳的SVM 130。
对于选择用于连接用于虚拟机的安全代理的SVM,有两种变型。当虚拟机的安全代理尚未连接至任何SVM,即虚拟机刚出现在网络中时,使用第一种变型。当安全代理已连接但需要选择新的SVM时,例如,由于将虚拟机迁移至另一台物理机,需要平衡所连接的SVM上的工作负载,或在与当前SVM的连接断开的情况下,使用第二种变型。因此,必须形成SVM列表,该列表将是可访问的并且符合用于虚拟机和SVM的交互的当前限制要求。
在步骤305中,使用安全代理本身或集成器(取决于所实现的本方法的方面),方法300形成SVM的列表。列表中的SVM执行用于虚拟基础设施中的VM的安全任务。VM包括安全代理,该安全代理配置为至少与一个SVM进行交互。
一方面,SVM列表的形成包括:收集关于驻留在虚拟基础设施中的SVM的信息。一方面,信息的收集包括以下至少之一:
1)读取SVM的相应安全策略(其中安全策略包括网络中的SVM的地址列表),轮询每个SVM以获得与轮询的SVM相关联的标记以及关于虚拟机的安全代理的所轮询的SVM的交互区域的指定级别;
2)向集成器发送指示由安全代理要求的交互区域的级别的请求,并从集成器接收已知的SVM的列表;以及
3)广播轮询整个虚拟基础设施,即建立与特定的广播组的连接,其中SVM以一定的周期发布信息包。
注意,可以同时使用上述所有方法来收集信息并创建所有已知SVM的列表。
在步骤310中,借助于安全代理本身或集成器,方法300确定安全代理的限制要求,并从列表中移除不符合关于安全代理的交互区域的限制的限制要求的所有SVM-从而创建待轮询的SVM列表。一方面,使用限制要求来建立安全代理的交互区域,该交互区域限定安全代理可以连接的SVM所位于的边界,该边界由虚拟基础设施中的位置来表征。此类标准之一是关于应该在其内发生交互的区域的限制。
一方面,安全代理的交互区域被划分为任意数量级别,例如,交互区域的级别可能为:
·基于在其上部署有虚拟机的物理机(主机)的级别;
·基于虚拟机所属的集群(至少一台主机)的级别;以及
·基于包括虚拟机的物理机所在的数据中心的级别。
一方面,限制要求包括由信息技术(Information Technology,IT)基础设施的管理员通过各种控制系统(例如,公司卡巴斯基实验室АО(Kaspersky LabАО)的卡巴斯基安全中心)指定的限制。IT基础设施可以是集中式、分布式或混合式的。通过指定统一的安全策略,卡巴斯基安全中心能够最大程度地简化虚拟机安全控制。例如,安全策略可能包括要求,该要求包括关于数据传输路线、虚拟机之间的交互、数据传输速度的调节、交互通道的稳定性等的限制要求。
一方面,当在步骤305中通过向集成器发送请求来形成所有已知SVM的列表时,借助于集成器,还执行步骤310中的将不符合限制要求的SVM移除。因此,步骤305和310由集成器执行。
根据本发明的所实现的方面,相对于虚拟机的用于连接的安全代理定位SVM的交互区域的级别的特征在于虚拟位置和地理位置。当同时使用虚拟位置和地理位置时,安全策略的限制可以考虑用于调节网络中数据的传输以及在同一SVM上从不同的虚拟机收集信息的可能性或不可能性。特别地,可以考虑用于处理个人数据的要求。处理个人数据的要求可以包括与关于国家(物理机(主机)位于其领土上、虚拟机部署在其物理机上、以及安全代理或SVM依次安装在其虚拟机上)的用户的个人数据的法律相对应的限制。
在步骤315中,方法300轮询列表上剩余的每个SVM以确定网络可访问性,并从列表中移除所有不可访问的SVM。对于每个轮询的SVM,该方法确定是否存在访问SVM的网络。从列表中移除已轮询并发现无法访问的SVM。如果存在访问SVM的网络,则该方法进行至步骤330。
在步骤330中,对于每个可访问的SVM,方法300确定该SVM的标记是否与安全代理的标记匹配,并从列表中移除标记与安全代理的标记不匹配的所有SVM。
在步骤360中,方法300将剩余SVM的列表提供给VM的安全代理。剩余的列表包括符合关于与虚拟机120的安全代理140交互的限制要求的SVM。然后,安全代理140可以从SVM列表中进行选择,并建立与所选SVM的连接。
一方面,通过以下方式将标记分配给SVM:根据用于在VM上正在处理的数据的位置和安全策略要求,将虚拟基础设施中的VM划分为多个区域;对于每个区域,将该区域中的VM的位置分配给具有单独安全策略的相应控制组;向每个控制组分配不同的标记;根据用于SVM执行安全任务的区域,将SVM划分为多组SVM;以及对于每组SVM,向该组中的所有SVM分配SVM对其执行安全任务的控制组的标记。
一方面,如果还基于由SVM执行的防病毒扫描的类型,则将SVM划分为多组SVM。
一方面,控制组用于限制VM使用预先指定的SVM。
一方面,关于安全代理的交互区域的限制的限制要求包括基于地理位置和虚拟位置的限制,其中虚拟位置是安装有安全代理的VM的位置,VM的位置是部署有VM的物理机的地理位置。
一方面,安全代理的交互区域被划分为任意数量的级别,交互区域的级别包括以下至少一项:基于部署有虚拟机的物理机的级别、基于虚拟机所属的集群的级别、以及基于包括虚拟机的物理机所在的数据中心的级别。
一方面,限制要求包括以下至少一项:用户指定的安全策略、部署有VM的物理机的地理位置、以及关于在VM和SVM上处理个人数据的要求。
一方面,考虑到安全虚拟机的当前工作负载,安全代理从所形成的总计列表中选择最优的SVM或选择随机的SVM。因此,例如,如果安全代理未连接至任何SVM,则可以选择未过载的可访问SVM列表上的SVM,从其中选择随机SVM进行连接。
一方面,如果如此形成的列表上的特定SVM和包括待连接的安全代理的虚拟机都在同一台物理机上运行,则该SVM将具有用于其连接和选择的最高优先级,因为该SVM是本地SVM,因此可以实现最佳交互,而其它最优性标准也是相同的。
另一方面,如果出现在该SVM列表上的SVM数量超过给定值,则SVM的总计列表的大小将进一步受到限制。在用于当前工作负载的轮询过程中,该特征还允许虚拟机的安全代理与SVM的交互次数减少,从而进一步减少网络上的工作负载。例如,当该列表包括数百甚至数千个SVM的可能性很高时,可以使用SVM列表大小的限制。此外,在形成给定大小的SVM的总计列表时,也可以应用SVM的优先次序。
一方面,当形成大小受限制的SVM列表时,出现在SVM的总计列表上的SVM的优先级可能具有以下至少一项标准:
·列表上的SVM应该与虚拟机的安全代理来自同一交互区域;
·列表应当仅包括与安全代理有关的指定的或更窄的交互区域的SVM;
·SVM列表应当包括与安全代理位于同一管理程序上的SVM;
·如果交互区域包括的SVM的数量超过SVM列表应包括的数量,则对于每个安全代理,该列表应包括来自同一交互区域的最多样化的SVM;以及
·列表中不应当包括超过特定数量的SVM。
图4示出了用于由安全代理平衡安全虚拟机(SVM)上的工作负载的方法400。在考虑到SVM与安装在虚拟机上的安全代理之间的交互的限制要求的同时,执行工作负载的平衡。
在连接至形成的SVM列表的SVM之后,安全代理周期性地检查SVM的选择。检查的间隔可以调整,也可以通过反复试验确定。这将使得SVM上的工作负载平衡,而不会允许SVM超载。SVM工作负载的平衡使得可以减少其工作负载高于与所有SVM的平均工作负载相关的一定级别的那些SVM的工作负载,并且可以增加其工作负载小于与所有SVM的平均工作负载相关的一定级别的那些SVM的工作负载。
为了平衡SVM的工作负载,必须确定每个SVM的工作负载。一方面,通过计算SVM的工作负载等级来确定SVM的工作负载,其中,从具有限定的权重的多个度量的总和来确定工作负载等级,所述度量包括以下的一项或多项:
·一些受保护的安全代理;
·平均等待时间(由于排队等候远程交互而导致的延迟,以毫秒为单位);
·偏好反应时间(网络延迟,以毫秒为单位);以及
·CPU和输入/输出的平均工作负载(由防病毒处理引起的延迟的间接指标)。
当产生平衡需求时,安全代理执行以下步骤。可以根据工作负载等级并根据对平衡的指定的周期性检查来产生需求。
在步骤410中,该方法接收可访问SVM的列表。例如,在图3的描述中,描述了选择用于虚拟基础设施中的虚拟机的SVM的方法。在图3的步骤320中,选择SVM的方法确定是否存在对每个SVM进行访问的网络。因此,在步骤410中,安全代理可以接收如使用图3的方法所确定的可访问SVM的列表。类似地,为了更新安全代理可以与之交互的SVM的列表,执行以下动作:
·构成已知SVM的列表;
·从列表中移除网络中不可访问的SVM;
·从列表中移除没有所需标记的SVM;以及
·根据关于交互的限制要求,从列表中移除不符合安全代理的交互区域的SVM。
在步骤420中,方法400确定在步骤410中接收的可访问SVM列表中包括的每个SVM的当前工作负载,其包括与安全代理连接的当前SVM的工作负载。一方面,确定当前工作负载包括:安全代理从集成器接收关于SVM的相应数据,或者安全代理轮询列表中的每个SVM。
在步骤425中,该方法确定安全代理所连接的当前SVM的工作负载是否对应所有SVM上的平均工作负载的级别。如果当前SVM的工作负载对应所有SVM上的平均工作负载的级别,则该方法在建立的时间间隔之后返回至步骤410。否则,该方法进行至步骤430。也就是说,如果找到SVM的过载或欠载(under-loading),则该方法进行至步骤430。过载的SVM是其工作负载大于与所有SVM上的平均工作负载有关的限定级别的SVM。欠载的SVM是其工作负载小于与所有SVM上的平均工作负载有关的限定级别的SVM。应当注意,平均工作负载的限定级别表示值的限定范围。可替选地,当与平均工作负载进行比较时,使用校正因子以允许用于滞后效应。应当注意,步骤425是可选步骤,并且可以删除。
在步骤430中,考虑到当前工作负载,该方法来选择最佳SVM。
在步骤440中,该方法确定是否需要重新连接至所选的SVM。当确定需要重新连接时,该方法进行至步骤450。否则,与当前SVM的连接将保持在原位,并且该方法在建立的时间间隔之后返回至步骤410。
在步骤450中,方法400将安全代理重新连接至所选的SVM。在重新连接至最佳SVM之后,该方法可以在建立的时间间隔之后返回至步骤410。
一方面,从列表中选择最佳SVM包括:
1)根据可访问SVM的当前工作负载,形成重新连接概率的矩阵,其中该矩阵的行表示SVM源,该矩阵的列表示SVM接收器,并且矩阵的行和列的交点用于表示将安全代理从SVM源重新连接至SVM接收器的概率;以及
2)由安全代理找出与其自身的SVM相对应的行,并使用具有均匀分布的伪随机数生成器,根据概率选择SVM接收器中的一者。
每当考虑需要重新连接安全代理时,重新计算重新连接概率的矩阵。然后,基于重新连接概率的矩阵,作出是否需要将安全代理从当前SVM重新连接至最佳SVM的决定。
如果重新连接概率的矩阵的行内的概率之和不等于1,则可能发生变型,其中安全代理不会被重新连接。如果已选择SVM接收器,其将是最佳选择。安全代理将启动用于重新连接至所选SVM的过程。
一方面,根据以下规则填写重新连接概率的矩阵:
1)安全代理首先从负载最大的SVM迁移到负载最小的SVM;
2)安全代理不会从其工作负载小于最小值的那些SVM重新连接。一方面,以所有SVM上的平均工作负载的形式指定或计算最小值。一方面,使用两个值中的较大者作为当前SVM的负载的最小值用于重新连接:所有SVM上的指定的最小工作负载阈值或计算的平均工作负载级别;
3)如果与安全代理连接的SVM的工作负载高于SVM列表中所有SVM的平均工作负载,但是该SVM没有过载,则仅将与该SVM连接的安全代理重新连接至欠载的SVM;以及
4)在一次迭代中,仅重新连接需要重新连接的安全代理总数中的指定部分。
一方面,由安全代理140通过制定以下项而形成重新连接概率的矩阵:
·SVM源的向量,其按SVM的减少的工作负载来排序,
·SVM接收器的向量,其按SVM的增加的工作负载来排序,以及
·SVM的当前工作负载的向量,该向量的第i个元素等于来自SVM接收器的向量中的第i个SVM的当前工作负载。
接下来,安全代理140计算当前工作负载的向量的平均值。
然后,安全代理140使用计算出的当前工作负载的向量的平均值来计算用于过载SVM和欠载SVM的工作负载的级别。
然后,安全代理140形成重新连接概率的矩阵,该矩阵具有N行和M列,其中N对应SVM源的向量的长度,并且M对应SVM接收器的向量的长度。
然后,安全代理140用零初始化重新连接概率的矩阵。
然后,对于SVM源的向量中的每个元素,安全代理计算SVM工作负载;这应该针对每个SVM源确定。
然后,对于SVM源的向量中的每个元素,计算从SVM源重新连接至每个SVM接收器的概率。
一方面,当满足以下条件之一时,SVM的工作负载不会减少(即矩阵中的整个行仍为零行):
·传递工作负载小于或等于0;
·SVM源的工作负载小于从SVM源进行重新连接的最小工作负载;以及
·SVM源上的工作负载小于过载SVM的工作负载级别,并且计算的最小工作负载大于或等于欠载SVM的工作负载级别。
对于当前工作负载向量中的每个元素,可以转移至相应的SVM接收器的工作负载被计算。如果可以转移的工作负载的大小小于或等于零,则该方法继续进行至当前工作负载向量的下一元素,在这种情况下,将当前工作负载向量的元素增加相应量,并且将SVM源的向量中的工作负载减少相应量。然后,考虑到用于重新连接速度的系数,该方法计算将确保必要工作负载量的转移所需的迁移概率。将结果概率写入适当单元格中的重新连接概率的矩阵。执行此过程的结果是确定:SVM源的向量、SVM接收器的向量以及重新连接概率的矩阵,该矩阵表示从SVM源重新连接至SVM接收器的概率。
一方面,最佳SVM的选择包括基于以下来选择:
1)使用具有均匀分布的伪随机数生成器直接生成概率向量;以及
2)通过形成SVM列表并计算与列表上每个SVM连接的概率来获得概率向量。
例如,假设S表示SVM的向量,P表示概率的向量(重新连接概率的矩阵中的行),并且P[i]表示与S[i]连接的概率。
首先,创建介于0至1之间的随机数:RND=随机(0,1)。然后,该方法确定(P[0]+P[1]+...+P[k])>=RND的最小k,其中k是用于重新连接的SVM接收器的搜寻指数。该指数在SVM接收器的向量中。然后,确定是否找到了该k。如果找不到这种k,将不会重新连接至另一SVM。如果找到这种k,则安全代理140连接至SVM S[k]。
如上所述,本发明的方法(例如方法300)允许创建安全虚拟机(SVM)列表,同时考虑关于虚拟机(VM)的保护安全代理和SVM的交互区域的指定限制,用于随后自动选择用于随后连接的目标SVM和处理扫描虚拟机数据的请求。
然后,方法400可以用于利用对安全虚拟机(用于连接驻留在虚拟机上的安全代理)的选择区域的限制来在安全虚拟机上执行工作负载的平衡。因此,考虑到虚拟机彼此之间的交互以及虚拟机与SVM之间的交互两者的限制要求,提出的解决方案将允许为每个安全代理形成安全代理有权与之交互的安全虚拟机组。限制要求包括在部署有虚拟机或虚拟机迁移到的网络中运行的各种规则和安全策略。因此,本发明的方法可以用于平衡安全虚拟机上的工作负载,同时允许与用于连接至给定虚拟机的安全代理的安全虚拟机的选择区域有关的限制。
一方面,确定当前工作负载包括以下至少一项:安全代理接收来自集成器的指示SVM工作负载的数据,以及安全代理轮询列表中的每个SVM以获取SVM的各自工作负载。
一方面,通过计算工作负载等级来确定SVM的工作负载,其中,工作负载等级是从具有限定权重的多个度量的总和来确定的,这些度量包括以下中的一项或多项:受保护的安全代理的数量、平均等待时间、偏好反应时间、以及CPU和输入/输出上的平均工作负载。
一方面,用于应用第二规则的最小值包括以下中的较大者:指定最小工作负载阈值的第一值,和处于列表中所有SVM的平均工作负载的级别的第二值。
一方面,从列表中选择最佳SVM包括:基于可访问SVM的当前工作负载形成重连概率的矩阵,其中矩阵的行表示SVM源,矩阵的列表示SVM接收器,矩阵的行和列的交点用于表示将安全代理从SVM源重新连接至SVM接收器的概率;查找与安全代理的当前SVM相对应的行;以及使用具有均匀分布的伪随机数生成器,根据所述概率选择所述SVM接收器之一。
一方面,通过以下方式形成重新连接概率的矩阵:制定SVM源的向量,其按SVM的减少的工作负载来排序;SVM接收器的向量,其按SVM的增加的工作负载来排序;SVM的当前工作负载的向量,向量的第i个元素等于SVM接收器的向量中的第i个SVM的当前工作负载;计算当前工作负载的向量的平均值;使用计算出的当前工作负载的向量的平均值来计算过载SVM和欠载SVM的工作负载级别;形成具有N行和M列的矩阵,其中N对应SVM源的向量的长度,M对应SVM接收器的向量的长度;初始化重新连接概率的矩阵;以及对于SVM源的向量中的每个元素,计算SVM工作负载以及从SVM源重新连接至每个SVM接收器的概率。
一方面,当满足以下条件中的至少一项时,SVM的工作负载不会减少:传递工作负载小于或等于零,传递工作负载是可以转移到SVM接收器中的至少一个接收器的工作负载;SVM源的工作负载小于从SVM源进行重新连接的最小工作负载;以及SVM源上的工作负载小于过载SVM的工作负载,并且计算的最小工作负载大于或等于欠载SVM的工作负载级别。
一方面,由安全代理或者由集成器形成安全虚拟机的列表。
一方面,集成器用于基于安装有安全代理的虚拟机的标识符来确定安全代理在虚拟基础设施中的位置,并根据所确定的安全代理的位置来形成安全虚拟机列表。
一方面,安全虚拟机列表的形成包括收集关于驻留在虚拟基础设施中的安全虚拟机的信息,其中收集信息包括以下至少一项:读取安全虚拟机的相应安全策略,并轮询读取的每个安全虚拟机以获得与轮询的安全虚拟机相关联的标记和针对安全代理所轮询的安全虚拟机的交互区域的指定级别,其中读取的安全策略包括网络中的安全虚拟机的地址列表;向集成器发送指示由安全代理要求的交互区域的级别的请求,并从集成器接收已知安全虚拟机的列表;以及广播轮询整个虚拟基础设施,以根据预定的周期发布信息。
一方面,使用限制要求来建立安全代理的交互区域,该交互区域限定可以连接安全代理的安全虚拟机的所处边界,这些边界的特征在于虚拟基础设施内的位置。
一方面,安全代理的交互区域划分为任意数量的级别,交互区域的级别包括以下至少一项:基于部署有虚拟机的物理机的级别;基于虚拟机所属的集群的级别;以及基于包括虚拟机的物理机所驻留的数据中心的级别。
一方面,安全代理包括防病毒安全代理,该防病毒安全代理对虚拟机和储存在虚拟机上的数据执行防病毒扫描、收集信息、并且在执行防病毒扫描时与安全虚拟机进行交互。
一方面,限制要求与以下至少一项有关:用户指定的安全策略;部署有虚拟机的物理机的地理位置,其中安全代理安装在虚拟机上;以及关于在虚拟机和安全虚拟机上处理个人数据的要求。
一方面,关于处理个人数据的要求包括与国家的关于个人数据的法律相对应的限制,虚拟机所在的服务器处于该国家的领土上,其中,安全代理安装在虚拟机上。
图5是示出了计算机系统20的框图,可以根据示例性方面在计算机系统20上实现用于创建安全虚拟机列表的系统和方法的方面,从该列表中选择用于安全代理的安全虚拟机,以用于将安全代理后续连接至所选择的安全虚拟机。应当注意,计算机系统20可以对应于例如先前描述的检测装置。计算机系统20可以是多个计算设备的形式、或者是单个计算设备的形式,例如台式电脑、笔记本电脑、手提电脑、移动计算设备、智能手机、平板电脑、服务器、主机、嵌入式设备和其它形式的计算设备。
如图所示,计算机系统20包括中央处理单元(Central Processing Unit,CPU)21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。总线的示例可以包括PCI、ISA、PCI-Express、超传输TM、无限带宽TM、串行ATA、I2C、和其它合适的互连。中央处理单元21(也称为处理器)可以包括单组或多组具有单核或多核的处理器。处理器21可以执行实现本发明的技术的一种或多种计算机可执行代码。系统存储器22可以为用于存储本文中所使用的数据和/或由处理器21可执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如随机存取存储器(Random Access Memory,RAM)25)和非易失性存储器(诸如只读存储器(Read-Only Memory,ROM)24、闪存等)或其任意组合。基本输入/输出系统(Basic Input/OutputSystem,BIOS)26可以存储用于在计算机系统20的元件之间传输信息的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移除的存储设备27、一个或多个不可移除的存储设备28、或其组合。一个或多个可移除的存储设备27和一个或多个不可移除的存储设备28借助存储器接口32连接至系统总线23。在一个方面中,存储设备和相应的计算机可读存储介质为用于存储计算机指令、数据结构、程序模块、和计算机系统20的其它数据的电源独立的模块。系统存储器22、可移除的存储设备27和不可移除的存储设备28可以使用各种各样的计算机可读存储介质。计算机可读存储介质的示例包括:机器存储器,诸如缓存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM;闪存或其它存储技术,诸如在固态驱动器(Solid StateDrive,SSD)或闪存驱动器中;磁带盒、磁带、和磁盘存储器,诸如在硬盘驱动器或软盘驱动器中;光学存储器,诸如在光盘(CD-ROM)或数字通用光盘(Digital Versatile Disk,DVD)中;以及可用于存储期望数据且可被计算机系统20访问的任何其它介质。
计算机系统20的系统存储器22、可移除的存储设备27和不可移除的存储设备28可以用于存储操作系统35、附加应用程序37、其它程序模块38和程序数据39。计算机系统20可以包括用于传送来自输入设备40的数据的外围接口46,诸如键盘、鼠标、触针、游戏控制器、语音输入设备、触点输入设备、或其它外围设备,诸如借助一个或多个I/O端口的打印机或扫描仪,该一个或多个I/O端口诸如串行端口、并行端口、通用串行总线(Universal SerialBus,USB)、或其它外围接口。显示设备47(诸如一个或多个监控器、投影仪或集成显示器)也可以通过输出接口48(诸如视频适配器)连接至系统总线23。除了显示设备47之外,计算机系统20还可以装配有其它外围输出设备(未示出),诸如扬声器和其它视听设备。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而在网络环境中工作。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括前面在描述计算机系统20的性质时所述的元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。计算机系统20可以包括用于借助一个或多个网络而与远程计算机49通信的一个或多个网络接口51或网络适配器,该一个或多个网络诸如局域计算机网络(Local-Area computer Network,LAN)50、广域计算机网络(Wide-Area computer Network,WAN)、内联网、和因特网。网络接口51的示例可以包括以太网接口、帧中继接口、同步光纤网(SONET)接口、和无线接口。
本发明的方面可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括一种或多种计算机可读存储介质,该计算机可读存储介质上具有用于使处理器执行本发明的方面的计算机可读程序指令。
计算机可读存储介质可以为有形设备,该有形设备可以保持且存储指令或数据结构的形式的程序代码,该程序代码可以被计算设备的处理器(诸如计算系统20)访问。计算机可读存储介质可以为电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备、或其任何合适组合。作为示例,这类计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、闪存、硬盘、便携式电脑磁盘、记忆棒、软盘、或甚至机械编码设备,诸如在其上记录有指令的凹槽中的打孔卡或凸起结构。如在本文中所使用的,计算机可读存储介质不应被视为暂时性信号本身,暂时性信号诸如无线电波或其它自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过电线传输的电信号。
可以将本文中所描述的计算机可读程序指令从计算机可读存储介质下载到相应的计算设备、或借助网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算设备中的网络接口从网络接收计算机可读程序指令并转发该计算机可读程序指令,用以存储在相应的计算设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以为汇编指令、指令集架构(Instruction-Set-Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言(包括面向对象的编程语言和传统程序化编程语言)的任一组合编写的源代码或目标代码。计算机可读程序指令(作为独立的软件包)可以完全地在用户的计算机上、部分地在用户的计算机上、部分地在用户的计算机上且部分地在远程计算机上、或完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接至用户的计算机,或可以进行与外部计算机的连接(例如通过因特网)。在一些实施方式中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)、或可编程逻辑阵列(Programmable Logic Array,PLA))可以通过利用计算机可读程序指令的状态信息而执行计算机可读程序指令,以使该电子电路个性化,从而执行本发明的方面。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、组件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或FPGA)实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在计算机系统(例如上文在图5中更详细描述的计算机系统)的处理器上运行。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力可能是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域的那些技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (20)

1.一种选择用于虚拟基础设施中的虚拟机(VM)的安全虚拟机(SVM)的方法,所述方法包括:
在所述虚拟基础设施中形成SVM列表,其中SVM为所述VM执行安全任务,并且所述VM包括配置为与所述SVM交互的安全代理;
确定所述安全代理的限制要求,并从所述列表中移除不符合关于所述安全代理的交互区域的限制的限制要求的所有SVM,所述交互区域限定了所述安全代理连接的SVM所位于的边界,其中,所述边界由所述虚拟基础设施中的位置来表征;
轮询所述列表上剩余的每个SVM以确定所述SVM的网络可访问性,并从所述列表中移除所有不可访问的SVM;
对于所述列表中剩余的每个可访问的SVM,确定所述SVM的标记是否与所述VM的安全代理的标记匹配,并从所述列表中移除标记与所述安全代理的标记不匹配的所有SVM;以及
将剩余SVM的列表提供给所述VM的安全代理。
2.根据权利要求1所述的方法,其中,通过以下方式将标记分配给所述SVM:
基于所述VM上正在处理的数据的位置和安全策略要求,将所述虚拟基础设施中的VM划分为多个区域;
对于每个区域,将所述每个区域中的VM的位置分配给具有单独安全策略的相应控制组;
向每个控制组分配不同的标记;
基于所述SVM执行安全任务所针对的区域,将所述SVM划分为多组SVM;以及
对于每组SVM,向该组中的所有SVM分配所述SVM执行安全任务所针对的控制组的标记。
3.根据权利要求2所述的方法,其中,还基于由所述SVM执行的防病毒扫描的类型,将所述SVM划分为所述多组SVM。
4.根据权利要求2所述的方法,其中,所述控制组用于将所述VM限制为使用预先指定的SVM。
5.根据权利要求1所述的方法,其中,关于所述安全代理的交互区域的限制的所述限制要求包括基于地理位置和虚拟位置的限制,其中,所述虚拟位置是安装有所述安全代理的VM的位置,所述VM的位置是部署有所述VM的物理机的地理位置。
6.根据权利要求1所述的方法,其中,所述安全代理的交互区域被划分为任意数量的级别,所述交互区域的级别包括以下项中的至少一项:
基于部署有所述VM的物理机的级别;
基于所述VM所属的集群的级别;以及
基于包括所述VM的物理机所在的数据中心的级别。
7.根据权利要求1所述的方法,其中,所述限制要求包括以下项中的至少一项:
用户指定的安全策略;
部署有所述VM的物理机的地理位置;以及
关于在所述VM和所述SVM上的个人数据的处理要求。
8.一种选择用于虚拟基础设施中的虚拟机(VM)的安全虚拟机(SVM)的系统,包括:
至少一个处理器,所述至少一个处理器配置为:
在所述虚拟基础设施中形成SVM列表,其中SVM为所述VM执行安全任务,并且所述VM包括配置为与所述SVM交互的安全代理;
确定所述安全代理的限制要求,并从所述列表中移除不符合关于所述安全代理的交互区域的限制的限制要求的所有SVM,所述交互区域限定了所述安全代理连接的SVM所位于的边界,其中,所述边界由所述虚拟基础设施中的位置来表征;
轮询所述列表上剩余的每个SVM以确定所述SVM的网络可访问性,并从所述列表中移除所有不可访问的SVM;
对于所述列表中剩余的每个可访问的SVM,确定所述SVM的标记是否与所述VM的安全代理的标记匹配,并从所述列表中移除标记与所述安全代理的标记不匹配的所有SVM;以及
将剩余SVM的列表提供给所述VM的安全代理。
9.根据权利要求8所述的系统,其中,通过以下方式将标记分配给所述SVM:
基于所述VM上正在处理的数据的位置和安全策略要求,将所述虚拟基础设施中的VM划分为多个区域;
对于每个区域,将所述每个区域中的VM的位置分配给具有单独安全策略的相应控制组;
向每个控制组分配不同的标记;
基于所述SVM执行安全任务所针对的区域,将所述SVM划分为多组SVM;以及
对于每组SVM,向该组中的所有SVM分配所述SVM执行安全任务所针对的控制组的标记。
10.根据权利要求9所述的系统,其中,还基于由所述SVM执行的防病毒扫描的类型,将所述SVM划分为所述多组SVM。
11.根据权利要求9所述的系统,其中,所述控制组用于将所述VM限制为使用预先指定的SVM。
12.根据权利要求8所述的系统,其中,关于所述安全代理的交互区域的限制的所述限制要求包括基于地理位置和虚拟位置的限制,其中,所述虚拟位置是安装有所述安全代理的VM的位置,所述VM的位置是部署有所述VM的物理机的地理位置。
13.根据权利要求8所述的系统,其中,所述安全代理的交互区域被划分为任意数量的级别,所述交互区域的级别包括以下项中的至少一项:
基于部署有所述VM的物理机的级别;
基于所述VM所属的集群的级别;以及
基于包括所述VM的物理机所在的数据中心的级别。
14.根据权利要求8所述的系统,其中,所述限制要求包括以下项中的至少一项:
用户指定的安全策略;
部署有所述VM的物理机的地理位置;以及
关于在所述VM和所述SVM上的个人数据的处理要求。
15.一种非暂时性计算机可读介质,其上存储有选择用于虚拟基础设施中的虚拟机(VM)的安全虚拟机(SVM)的计算机可执行指令,所述计算机可执行指令包括用于以下操作的指令:
在所述虚拟基础设施中形成SVM列表,其中,SVM为所述VM执行安全任务,并且所述VM包括配置为与所述SVM交互的安全代理;
确定所述安全代理的限制要求,并从所述列表中移除不符合关于所述安全代理的交互区域的限制的限制要求的所有SVM,所述交互区域限定了所述安全代理连接的SVM所位于的边界,其中,所述边界由所述虚拟基础设施中的位置来表征;
轮询所述列表上剩余的每个SVM以确定所述SVM的网络可访问性,并从所述列表中移除所有不可访问的SVM;
对于所述列表中剩余的每个可访问的SVM,确定所述SVM的标记是否与所述VM的安全代理的标记匹配,并从所述列表中移除标记与所述安全代理的标记不匹配的所有SVM;以及
将剩余SVM的列表提供给所述VM的安全代理。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,通过以下方式将标记分配给所述SVM:
基于所述VM上正在处理的数据的位置和安全策略要求,将所述虚拟基础设施中的VM划分为多个区域;
对于每个区域,将所述每个区域中的VM的位置分配给具有单独安全策略的相应控制组;
向每个控制组分配不同的标记;
基于所述SVM执行安全任务所针对的区域,将所述SVM划分为多组SVM;以及
对于每组SVM,向该组中的所有SVM分配所述SVM执行安全任务所针对的控制组的标记。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,还基于由所述SVM执行的防病毒扫描的类型,将所述SVM划分为所述多组SVM。
18.根据权利要求16所述的非暂时性计算机可读介质,其中,所述控制组用于将所述VM限制为使用预先指定的SVM。
19.根据权利要求15所述的非暂时性计算机可读介质,其中,关于所述安全代理的交互区域的限制的所述限制要求包括基于地理位置和虚拟位置的限制,其中,所述虚拟位置是安装有所述安全代理的VM的位置,所述VM的位置是部署有所述VM的物理机的地理位置。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,所述安全代理的交互区域被划分为任意数量的级别,所述交互区域的级别包括以下项中的至少一项:
基于部署有所述VM的物理机的级别;
基于所述VM所属的集群的级别;以及
基于包括所述VM的物理机所在的数据中心的级别。
CN201911156353.XA 2019-02-07 2019-11-22 用于自动选择安全虚拟机的系统和方法 Active CN111538558B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2019103364 2019-02-07
RU2019103364A RU2710860C1 (ru) 2019-02-07 2019-02-07 Способ ограничения области автоматического выбора виртуальной машины защиты
US16/512,597 2019-07-16
US16/512,597 US11119806B2 (en) 2019-02-07 2019-07-16 System and method for automatically selecting security virtual machines

Publications (2)

Publication Number Publication Date
CN111538558A CN111538558A (zh) 2020-08-14
CN111538558B true CN111538558B (zh) 2023-08-15

Family

ID=69171309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911156353.XA Active CN111538558B (zh) 2019-02-07 2019-11-22 用于自动选择安全虚拟机的系统和方法

Country Status (3)

Country Link
US (1) US11119806B2 (zh)
CN (1) CN111538558B (zh)
RU (1) RU2710860C1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11683233B2 (en) 2020-04-06 2023-06-20 Vmware, Inc. Provision of logical network data from global manager to local managers
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11757940B2 (en) 2020-09-28 2023-09-12 Vmware, Inc. Firewall rules for application connectivity
US11546381B1 (en) * 2021-11-08 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Unified data security labeling framework

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225317B1 (en) * 2009-04-17 2012-07-17 Symantec Corporation Insertion and invocation of virtual appliance agents through exception handling regions of virtual machines
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
FR2995425A1 (fr) * 2012-09-11 2014-03-14 Bruno Hubert Prely Procede et systeme de mise en oeuvre d'une infrastructure informatique en nuage agregeant des ressources isolees mises a disposition a travers un reseau
US9088618B1 (en) * 2014-04-18 2015-07-21 Kaspersky Lab Zao System and methods for ensuring fault tolerance of antivirus protection realized in a virtual environment
EP3246842A1 (en) * 2016-05-20 2017-11-22 Kaspersky Lab AO System and method of distributing files between virtual machines forming a distributed system for performing antivirus scans

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572138B2 (en) * 2006-03-30 2013-10-29 Ca, Inc. Distributed computing system having autonomic deployment of virtual machine disk images
US8391288B2 (en) * 2007-01-31 2013-03-05 Hewlett-Packard Development Company, L.P. Security system for protecting networks from vulnerability exploits
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8555377B2 (en) * 2010-04-29 2013-10-08 High Cloud Security Secure virtual machine
WO2013112151A1 (en) * 2012-01-26 2013-08-01 Empire Technology Development Llc Data center with continuous world switch security
US9678771B2 (en) * 2013-07-31 2017-06-13 Citrix Systems, Inc. Autonomic virtual machine session lingering of inactive virtual machine sessions by a virtualization computing platform
US10198572B2 (en) * 2013-09-17 2019-02-05 Microsoft Technology Licensing, Llc Virtual machine manager facilitated selective code integrity enforcement
RU2580030C2 (ru) * 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
US9756015B2 (en) * 2015-03-27 2017-09-05 International Business Machines Corporation Creating network isolation between virtual machines
US10528375B2 (en) * 2016-08-22 2020-01-07 Nicira, Inc. Maintaining security system information in virtualized computing environments
US11157300B2 (en) * 2018-02-13 2021-10-26 Sophos Limited Managing virtual machine security resources
US11409621B2 (en) * 2018-05-29 2022-08-09 Vmware, Inc. High availability for a shared-memory-based firewall service virtual machine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225317B1 (en) * 2009-04-17 2012-07-17 Symantec Corporation Insertion and invocation of virtual appliance agents through exception handling regions of virtual machines
CN102971706A (zh) * 2010-05-10 2013-03-13 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
FR2995425A1 (fr) * 2012-09-11 2014-03-14 Bruno Hubert Prely Procede et systeme de mise en oeuvre d'une infrastructure informatique en nuage agregeant des ressources isolees mises a disposition a travers un reseau
US9088618B1 (en) * 2014-04-18 2015-07-21 Kaspersky Lab Zao System and methods for ensuring fault tolerance of antivirus protection realized in a virtual environment
RU2014115457A (ru) * 2014-04-18 2015-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
EP3246842A1 (en) * 2016-05-20 2017-11-22 Kaspersky Lab AO System and method of distributing files between virtual machines forming a distributed system for performing antivirus scans

Also Published As

Publication number Publication date
US11119806B2 (en) 2021-09-14
RU2710860C1 (ru) 2020-01-14
CN111538558A (zh) 2020-08-14
US20200257549A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
CN111538558B (zh) 用于自动选择安全虚拟机的系统和方法
US10956227B2 (en) Resource based virtual computing instance scheduling
US10657061B1 (en) Resource distribution using attributes of versioned hash rings
US9760395B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US9852035B2 (en) High availability dynamic restart priority calculator
US11861405B2 (en) Multi-cluster container orchestration
CN104937584B (zh) 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
US9787598B2 (en) Managing information technology resources using metadata tags
US20230275964A1 (en) Traffic Priority Based Creation of a Storage Volume within a Cluster of Storage Nodes
US20130204960A1 (en) Allocation and balancing of storage resources
US9998528B2 (en) Direct access storage device analyzer
US10616134B1 (en) Prioritizing resource hosts for resource placement
US20160269439A1 (en) Deploying a security appliance system in a high availability environment without extra network burden
US10776097B2 (en) Hierarchical spanning tree software patching with fragmentation support
US20200167093A1 (en) Storage virtualization with high availability
US20190158367A1 (en) Selection of cloud service providers to host applications
CN112005219A (zh) 计算集群中具有数据访问意识的工作负载管理
US11636386B2 (en) Determining data representative of bias within a model
US20200089542A1 (en) Dependency layer deployment optimization in a workload node cluster
US20190155714A1 (en) Determining reboot times of computing nodes
US10416892B2 (en) Fileset-based data locality enablement in distributed file systems
EP3693879B1 (en) System and method for automatically selecting security virtual machines
US10536340B1 (en) Spread placement groups
WO2023057152A1 (en) Handling a transaction request
US20220114026A1 (en) Tag-driven scheduling of computing resources for function execution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant