虚拟机的反恶意软件保护的制作方法

文档序号:6442319阅读:306来源:国知局
专利名称:虚拟机的反恶意软件保护的制作方法
技术领域
本发明涉及虚拟机,更具体地,涉及虚拟机的反恶意软件保护。
背景技术
虚拟机(VM)包括在主控计算机系统的客分区上执行的软件,该软件通常好像它是独立的物理机器那样运作。一个计算机系统可以主控多个虚拟机,每个虚拟机运行在一个虚拟机监视器(VMM)上,该虚拟机监视器也被称为系统管理程序,它控制计算机系统的资源在诸虚拟机之间的共享。典型的虚拟机被运行用于以比传统的程序更加充分的方式来利用物理机器的硬件资源,并在同一时间在同一物理机器上运行不同的操作系统。虚拟机变得越来越普遍,并且像任何计算机系统一祥,虚拟机容易受到恶意的软件,即恶意软件的攻击。因此,存在对于能够保护它们的反恶意软件产品的需求。这可通过在每个客分区上运行传统的反恶意软件的软件来实现。然而,以这样方式操作存在多个缺点,包括反恶意软件组件在每个客分区上的重复,由此,每个分区为该反恶意软件组件消耗网络、存储器以及CPU资源。此外,客反恶意软件产品不能利用虚拟机服务的优势,诸如快照或回滚的能力。

发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式
中进ー步描述的 ー些代表性概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简单来说,此处所描述的主题的各方面涉及ー种技术,通过该技术,对应于虚拟机环境中的虚拟机的多个客分区共享ー个反恶意软件扫描机制(例如,扫描组件)。为此,客分区可包括与扫描机制通信的客反恶意软件代理,以使用其共享的反恶意软件扫描资源以及共享的反恶意软件扫描功能。例如,反恶意软件扫描机制的资源可包括反恶意软件签名, 使得每个分区不需要维护其自身的签名。共享的反恶意软件扫描功能可包括例如,执行对诸如从客反恶意软件代理接收到的对象(例如文件)之类的数据的扫描的代码。为了利用客操作系统的能力,客反恶意软件代理可执行由反恶意软件扫描组件提供的指令,以收集额外的扫描或遥测信息,或采取针对所检测到的恶意软件的补救行动。在ー个方面,管理组件被耦合到反恶意软件扫描机制,以便向反恶意软件扫描机制提供虚拟机管理服务。例如,反恶意软件扫描机制可与管理组件通信,以暂停客分区、恢复客分区、对客分区快照、或将客分区回滚到前ー个快照。管理组件还可提供共享的编排用于扫描任何客分区。在一个实现中,反恶意软件扫描机制驻留在共享该反恶意软件扫描机制的其他客分区分开的客分区中。在ー替换实现中,反恶意软件扫描机制驻留在虚拟机环境的根分区之上。结合附图阅读以下具体实施方式
,本发明的其他优点会变得显而易见。


作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中
图I是表示示例虚拟机环境的框图,在其中,反恶意软件扫描机制运行在客分区上,并且经由客代理由客分区共享。
图2是表示示例虚拟机环境的框图,在其中,反恶意软件扫描机制运行在根分区上,并且经由客代理由客分区共享。
图3是表示用于实现虚拟机环境中的共享的反恶意软件扫描机制的示例步骤的流程图。
图4是表示用于在离线状态下扫描客分区的示例步骤的流程图。
图5是代表示例性非限制联网环境的框图,其中可实现此处描述的各种实施例。
图6是代表示例性非限制计算系统或运行环境的框图,其中可实现此处所描述各种实施例的一个或多个方面。
具体实施方式
此处所描述的技术的各方面一般涉及一种保护虚拟机免受恶意软件危害的有效方式,其中每个虚拟机运行在一个客分区上。在一个实现中,反恶意软件被分成分开的组件,包括轻型代理、共享的扫描和签名更新组件、以及管理组件。代理运行在所支持的可分区上并提供实时且在线的操作系统交互服务。可驻留在分开的客分区或根分区上的扫描和签名更新组件被配置为由其它客代理的每一个来使用。管理组件提供集中报告以及对虚拟机服务的访问,并且,例如,可例如驻留在根分区上。
如将被理解的,此处所描述的技术经由共享的扫描组件为虚拟机环境中的多个客虚拟机提供集中的反恶意组件能力。通过将扫描请求引向共享的扫描组件,包括客分区上有可能的按需扫描以及补救(例如,通过使用由共享的扫描组件所提供的简单脚本),这有助于实时反恶意软件保护。
此外,管理组件通过运行在根组件上,来向扫描组件提供暂停/继续/快照/回滚以及检测服务。这有助于在经由管理组件暂停客分区时,或在客没有运行(离线)时,由扫描组件执行客分区上的按需扫描和补救,而无需客代理的直接协作(例如,如果客代理被危及或不可用),这可被用来检测具有从客代理方面躲过或抵抗的能力的恶意软件。
应当理解的是,此处的任何示例均是非限制的。例如,虽然描述的是诸如文件之类的对象的扫描,但诸如用于网络入侵检测、数据泄漏、客校验等等之类的其它内容的安全性评估可受益于此处所描述的技术。因此,本发明不限制于在此描述的任何具体的实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结构、功能或示例中的任一个都是非限制性的,并且本发明一般能够以在虚拟计算和/或针对恶意软件的保护方面提供好处和优点的各种方式来使用。
图I示出了配置为具有虚拟机分布式反恶意软件的计算系统102的示例组件。该实例化的实现中的组件包括驻留在专用扫描客分区106上的扫描机制104(包括一个或多个反恶意组件),以及作为根分区112上的客管理服务110的一部分的反恶意软件管理组件108(可通过局部或远程管理控制台109与其接ロ )。需要注意的是,图1仅仅是ー种可能的部署的非限制性示例,其它部署也是可行的,包括图2中所表示的示例部署。一般来说,根分区112包括运行中的操作系统环境,从中可控制其它虚拟机客分区106和1141-lHm的状态。每个客分区106和1141_lHm对应于虚拟机或不是根分区 112的机器分区。被提供了实时反恶意软件支持的每个客分区1141-lHm包括各自的客代理 1161-116m,包括为该客分区提供实时保护服务以及可能的其它服务的软件。每个客代理 1161-116m对于被运行在其各自的客分区1141_lHm上的操作系统是专用的。值得注意的是,虽然没有在图1中示出,包含恶意软件扫描机制104的客分区106也可包括这样ー个客代理。为了保护客代理不被成功危及ー个客分区的恶意代码所篡改,ー个“特权”保护组件(例如运行在根分区或专用安全虚拟机内)可监视客虚拟机的客代理以及其它相关组件的完整性。每个客代理(例如,1161)向实时系统监视提供检测和阻止访问对象的能力。为此,客代理1161与扫描客分区106双向(例如,高速地)通信。值得注意的是,任何通信机制是可行的,诸如通过根分区、通过模拟的网络接ロ等等;然而,在一个实现中,通信是在高速总线或存在于各分区之间的共享的存储器块上的。任何客代理(例如,1161)可被配置为具有用户接ロ,诸如如果客分区被经常交互式地使用的话。这ー用户接ロ可将客可视性的交互式用户提供到客的当前安全状态中,或者允许交互式用户请求反恶意软件组件开始专用的按需扫描。每个诸如代理1161之类的客代理可被(可选地)配置为具有运行简单脚本的能力,例如由扫描客分区106通过如此处大致描述的合适的双向通信而提供的简单脚本。为代理配置运行脚本的能力避免了代理用它自身的关于扫描什么、当检测到恶意软件时做什么之类作出决策的逻辑来编码的需要。例如,为了扫描客分区的文件,脚本可请求代理将其文件或文件的某些子集馈送给反恶意软件扫描机制104,反恶意软件扫描机制对它们进行扫描,可执行ー些诸如清理文件之类的必要的补救,并且可将扫描/补救的结果返回给代理,结果包括具有要采取的动作的脚本,例如待删除或隔离的文件。这些脚本可包括触碰资源的能力(例如触发实时传输协议能力),并还可修改或中止/删除资源。反恶意软件扫描机制104执行扫描、补救、签名更新操作,以及总的来说与客代理和/或管理组件的协作强制执行安全策略的反恶意软件方面。总的来说,反恶意软件扫描机制104为客代理1161-116m提供反恶意软件扫描作为服务。此外,反恶意软件扫描机制 104还可启动针对客分区的扫描或补救动作,诸如协作地使用客代理的服务,或(例如当客分区暂停/离线时)可替换地通过管理组件108的支持而无需客分区的知晓或同意。对于实时监视,反恶意软件扫描机制104与客代理1161-116m双向通信,包括在一个实现中标识从客分区传输而来的内容中的任何恶意软件。总的来说,对于实时监视,每个代理将诸如对象集(包括一个或多个诸如文件、注册表数据、进程之类的对象)之类的数据馈送给反恶意软件扫描机制104,反恶意软件扫描机制随后针对反恶意软件签名对数据进行评估,并返回結果,可能采取补救动作(例如,清理对象)和/或包括用于代理诸如经由脚本采取补救动作(例如移除文件或隔离文件)的脚本指令。
值得注意的是,向客代理1161-116m的一些或全部提供一些它们自身的扫描能力 /智能是可行的,而不是让它们简单地转发对象并接收和执行脚本结果。例如,如果某个病毒当前正广泛传播,反恶意软件扫描机制104可向客代理提供签名的一个子集来针对给定文件或文件类型进行查找,藉此客代理可在遇到这类文件的情况下自己处理扫描或补救。 这可经由脚本和/或在某种程度上通过将基本扫描功能编入代理来实现。
共享的扫描机制104的另一好处是签名以及其它扫描组件可以被更新而无需经过明显的扫描停止时间。此外,信息可被上传到一远程位置,诸如数据、报告和样本对象递交以供后续分析等等。共享的扫描机制104的这一方面在图I中通过签名/遥测/云服务 118示出。值得注意的是,其它客分区1141-11 不需要具有访问因特网的能力,例如,可仍然获益于共享的客分区106的更新和遥测访问。
另外,反恶意软件扫描机制104的远程访问能力可包括与共享的“云扫描”服务通信,用于针对还未匹配于签名的可疑内容的决策(感染的或干净的)。反恶意软件扫描机制 104可代表多个客进行这类询问,使得客享受到云服务的益处而无需直接的因特网访问。并且,反恶意软件扫描机制104可对结果进行高速缓存,使得即使多个客在查看同样的可疑内容,也仅必须对云服务进行一次请求。
反恶意软件扫描机制104还具有与反恶意管理组件108的通信链接。如以上所描述的,这为反恶意软件扫描机制104提供了将反恶意软件扫描与虚拟机管理能力集成的能力。例如,反恶意软件扫描机制104可请求管理组件108暂停客分区,由此为扫描机制104 提供离线地扫描客分区(或其快照)的能力,和/或操纵离线客分区(或其快照)以移除恶意软件的能力。如果检测到严重的问题,即,诸如如果客崩溃了,或如果不能被清理的操作系统文件被感染但是因为该文件是运行操作系统所必须的不能被在线替换,可响应性地执行离线扫描。还可主动执行离线扫描,例如,在启动客分区之前;如果分区已知在启动时是未被感染的,但随后在运行中被感染,则可作出快速诊断。这一集成能力还提供在不被客代理所支持的客上执行扫描和补救的能力。
管理组件108因而包括具有能够访问虚拟机管理服务110的组件。在图I的例示实现中,管理组件108是虚拟机管理服务110的一部分,并与扫描机制104通信,但不与个别的客代理1161-116m通信。在其操作中,管理组件108可监视扫描组件的状态,使得如果扫描组件和/或扫描分区变得无反应,管理组件108可重新启动扫描组件或扫描分区,和/ 或发出警报。值得注意的是,一些恶意软件活动尝试禁用反恶意软件保护,并且具有用于监视客的共享的扫描服务,有助于使代理抗篡改地运行在客中。
此外,管理组件108能够用作与安全管理控制台109通信往来的集中收集点和中介。管理组件108可为扫描分区106提供在线能力以操纵客分区,包括停止受感染的客或将客分区恢复到快照。管理组件108可向扫描机制104提供离线操纵客分区的能力。
值得注意的是,尽管管理组件108具有访问虚拟机管理服务110的能力和与扫描组件104协调的能力,以及通过任何中央安全管理服务报告(并且可能被重新配置)的能力,管理组件108是与虚拟机管理、反恶意软件管理、以及扫描机制104不同的组件。管理组件108甚至不需要位于与这些组件相同的计算机系统上,只要它们能够例如通过网络连接通信。然而,将管理组件108部署在根分区112上(如图I中所例示的)总体减少了与扫描分区106和虚拟机管理服务110通信的等待时间。
如图I中所示,扫描机制104可驻于专用的扫描客分区106上;(值得注意的是, 此处所使用的“专用的”指的是具有为扫描功能所保留的资源,而不是意味着这一分区不能也被用于其它目的)。这一实现提供了反恶意软件扫描机制104 (其组件经常被安全缺陷所定位)与根分区112之间的安全边界。尽管没有明确示出,但可使用多个扫描分区,诸如用于失效备援能力,例如如果一个扫描分区故障,另一个扫描分区可快速地继续并代替它。负载平衡和/或工作负载分布,例如,在单个扫描分区不能满足扫描需要的情况下,是另一种可能的多扫描分区应用。
在一个替换实现中,如图2大致表示的(其中相同的组件被标记为2xx,替代图I 中的Ixx),扫描组件204 (或不止一个)可被部署在根分区212中。这具有显著优化的可能,其在提供对于管理组件和所存储的客分区状态的直接访问的同时节省了整个客分区/ 操作系统的开销。然而,这要求扫描组件对被部署在根分区212上的操作系统可用,并且减少了对根分区212的针对来自在客分区上找到的内容的可能使用进行的保护。
通过概述的方式,图3示出了可被采用来使用上述的组件提供反恶意软件保护的示例步骤。步骤302和304分别表示运行客分区和反恶意软件代理,以及运行共享的反恶意软件扫描机制;值得注意的是,虽然仅示出了一个代理,可以理解的是类似步骤可与被运行的多个代理的其它的每一个代理一起被执行。还值得注意的是,步骤302和304由图I 中的实现中的虚拟机管理来执行,然而步骤304可由图2中的实现中的其它根分区软件来执行,在图2中,共享的反恶意软件扫描机制没有被运行在客分区中。
步骤306-318表示由反恶意软件扫描机制执行并且从反恶意软件扫描机制的视角执行的示例动作,其中代理依赖于用于扫描的反恶意软件扫描机制。步骤306表示向代理提供诸如脚本的信息。在不是实时扫描的扫描中,脚本可标识提供什么文件、文件夹、或其它操作系统资源来扫描、提供什么文件类型等等。在实时扫描中,信息可以是告诉代理扫描被开启、以及代理将为反恶意软件扫描机制提供各个合适的对象用于实时扫描的指示之类。
步骤308表示代理向反恶意软件扫描机制提供诸如对象集(例如,一个或多个文件、注册表数据或其它数据块)之类的数据,反恶意软件扫描机制接收数据用于扫描,如步骤310所表示的。如果数据包含恶意软件,步骤312针对该数据采取动作,如步骤314所表示的。如上所述的,这可通过在反恶意软件扫描机制中执行补救来实现,例如在返回数据之前清理数据,和/或构建指示代理采取一些补救动作(例如,移除文件、隔离文件、将经清理的文件写回)的结果。
值得注意的是,有时,恶意软件不能被已危及的虚拟机所清理。在没有被配置为虚拟环境的计算机系统中,人类操作员干预是需要的,通常通过重新安装机器来实现。然而, 在虚拟环境中,管理组件可自动(可能在寻求管理员授权之后)将虚拟机恢复到先前的已知的好的快照,或者通过重建虚拟机镜像来实现。
步骤316将结果返回给代理,结果可包括代理将执行的一个或多个动作的脚本, 和/或对于下一数据集的请求。步骤318表示如果扫描完成则结束扫描过程,或者如果需要更多扫描则继续该扫描过程,这可能是由于存在至少一个更多数据集待扫描,或者由于扫描是实时监视操作,实时监视操作通过持续地不确定的等待下一数据集来实现。
图4是客分区的离线扫描的示例,在步骤402处开始,在步骤402,管理组件108接收(例如,来自反恶意软件扫描机制104的)将客分区改为离线状态的请求。一旦处于离线状态,步骤406-412表示由自反恶意软件扫描机制104执行的示例动作或者从自反恶意软件扫描机制104的视角执行的示例动作。如果在扫描(步骤406)期间在步骤408碰到了恶意软件,则在步骤410执行补救。值得注意的是,代理是离线的,并且因此不能參与补救,补救可包括清理、移动或隔离文件、以及可能地替换在在线状态下不能被替换的毁坏的操作系统文件。还值得注意的是,步骤410表示存储恶意软件补救的結果,用于分析目的、 用于告知客分区碰到了什么、用于上传遥测数据等等。步骤412重复扫描,直到扫描完成, 例如,所有的合适的文件系统文件已经被扫描。当完成后,步骤414和416由管理组件108执行来将客分区恢复到在线状态,例如,如反恶意软件扫描机制104所请求的。示例性联网以及分布式环境本领域技术人员可以理解,此处描述的各实施例和方法可结合任何计算机或其它客户机或服务器设备来实现,其可被部署为计算机网络的部分或在分布式计算环境中,并且可以被连接到任何类型ー个或多个数据存储。在这一点上,此处描述的各实施例可在具有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量的存储单元发生的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。分布式计算通过计算设备和系统之间的通信交換来提供计算机资源和服务的共享。这些资源和服务包括信息的交換、对于诸如文件之类的对象的高速缓存存储和盘存储。 这些资源和服务还包括多个处理単元之间的处理能力共享以便进行负载平衡、资源扩展、 处理专门化等等。分布式计算利用网络连接,从而允许客户机利用其集体力量来使整个企业受益。就此,各种设备可具有可如參考本发明的各实施例描述地參与资源管理机制的应用、对象或资源。图5提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象510、512等以及计算对象或设备520、522、524、526、5观等,这些计算对象或设备可包括如由示例应用530、532、534、536、538表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象510、512等以及计算对象或设备520、522、524、526、5观等可包括不同的设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。每个计算对象510、512等以及计算对象或设备520、522、524、526、5沘等可经由通信网络540直接或间接地与一个或多个其他计算对象510、512等以及计算对象或设备520、 522、524、526、5 等通信。尽管在图5中被示为单个元件,但通信网络540可包括向图5的系统提供服务的其他计算对象和计算设备和/或可表示未示出的多个互连网络。每个计算对象510、512等或计算对象或设备520、522、524、526、5观等还可以包含应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于根据本发明的各实施例所提供的应用实现与其进行通信的应用530、532、534、536、538。存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构都可用于便于与如各实施例中所描述的系统的示例性通信。
由此,可使用诸如客户机/服务器、对等、或混合体系结构之类的网络拓扑结构和网络基础结构的主机。“客户机”是使用与其无关的另一类或组的服务的一类或组中的成员。客户机可以是进程,例如,大致上是请求另一程序或进程所提供的服务的一组指令或任务。客户机进程使用所请求的服务,而无需“知道”关于其他程序或服务本身的任何工作细节。
在客户机/服务器体系结构中,尤其在联网系统中,客户机通常是访问另一计算机(例如,服务器)所提供的共享网络资源的计算机。在图5的图示中,作为非限制性示例,计算对象或设备520、522、524、526、528等可被认为是客户机而计算对象510、512等可被认为是服务器,其中计算对象510、512等作为提供数据服务的服务器,诸如从客户机计算对象或设备520、522、524、526、528等接收数据、存储数据、处理数据、向客户机计算对象或设备520、522、524、526、528等发送数据,但任何计算机都可取决于环境而被认为是客户机、服务器、或两者。
服务器通常是可通过诸如因特网或无线网络基础架构之类的远程网络或本地网络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能并允许多个客户机利用服务器的信息收集能力。
在通信网络540或总线是因特网的网络环境中,例如,计算对象510、512等可以是其他计算对象或设备520、522、524、526、528等经由诸如超文本传输协议(HTTP)之类的多种已知协议中的任一种与其通信的Web服务器。计算对象510、512等作为服务器还可用作例如计算对象或设备520、522、524、526、528等的客户机,这可以是如分布式计算环境的特性。
示例性计算设备
如上所述,有利地,本文所描述的技术可应用于任何设备。因此,应当理解,构想了结合各实施例使用的所有种类的手持式、便携式和其它计算设备和计算对象。因此,以下在图6中所述的通用远程计算机只是计算设备的一个示例。
各实施例可部分地经由操作系统来实现,以供设备或对象的服务开发者使用和/ 或被包括在用于执行此处所述的各实施例的一个或多个功能方面的应用软件内。软件可以在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,计算机系统具有可用于传递数据的各种配置和协议,并且由此没有特定配置或协议应当被认为是限制性的。
图6由此示出了其中可实现本文所述的各实施例的一个或多个方面的合适的计算系统环境600的一个示例,尽管如上所述,计算系统环境600仅为合适的计算环境的一个示例,并非对使用范围或功能提出任何限制。此外,也不应当将计算系统环境600解释为对在示例性计算系统环境600中所示的组件中的任何一个或其组合有任何依赖。
参考图6,用于实现一个或多个实施例的示例性远程设备包括计算机610形式的通用计算设备。计算机610的组件可包括,但不限于,处理单元620、系统存储器630、以及将包括系统存储器的各种系统组件耦合到处理单元622的系统总线620。
计算机610通常包括各种计算机可读介质,并且可以是可由计算机610访问的任何可用介质。系统存储器630可包括诸如只读存储器(ROM)和/或随机存取存储器(RAM) 之类的易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,系统存储器630还可包括操作系统、应用程序、其他程序模块、以及程序数据。用户可通过输入设备640向计算机610输入命令和信息。监视器或其他类型的显示设备也经由诸如输出接ロ 650之类的接ロ连接到系统总线622。除监视器以外,计算机还可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接ロ 650连接。计算机610可使用到ー个或多个其他远程计算机(诸如远程计算机670)的逻辑连接在联网或分布式环境中操作。远程计算机670可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括以上关于计算机610所述的任何或全部元件。图6所示的逻辑连接包括诸如局域网(LAN) 或广域网(WAN)之类的网络672,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和因特网中是常见的。如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基本概念可被应用于其中期望改进资源使用的效率的任何网络系统和任何计算设备或系统。而且,存在实现相同或相似功能的多种方法,例如适当的API、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用此处提供的技木。由此,此处的各实施例从API (或其他软件对象)的观点以及从实现如此处描述的ー 个或多个实施例的软件或硬件对象构想。由此,此处所述的各实施例可具有完全采用硬件、 部分采用硬件并且部分采用软件、以及采用软件的方面。本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免疑惑,本文所公开的主题不限于这些示例。另外,在此所述的被描述为“示例性”的任意方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。此外,在使用术语“包括”、“具有”、 “包含”和其他类似词语的程度上,为避免疑惑,这些术语旨在当用于权利要求中时以类似于术语“包括”作为开放的过渡词的方式是包含性的而不排除任何附加或其他元素。如所述的,此处所述的各种技术可结合硬件或软件或,在适当时,以两者的組合来实现。如此处所使用的,术语“组件”、“模块”、“系统”等同样旨在指计算机相关实体,或者是硬件、硬件和软件的組合、软件或者是执行中的软件。例如,组件可以是,但不限干,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于ー个计算机上和/或分布在两个或更多的计算机之间。如前所述的系统已经參考若干组件之间的交互来描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,并且根据上述内容的各种置換和組合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(层次性)。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干単独的子组件,且诸如管理层等任何ー个或多个中间层可被设置成通信耦合到这样的子组件以便提供集成功能。此处所述的任何组件也可与ー个或多个此处未专门描述的但本领域技术人员一般已知的其他组件进行交互。鉴于本文所述的示例性系统,可根据參考各附图的流程图还可理解根据所述的主题来实现方法。尽管为了说明简洁起见,作为一系列框示出和描述的方法,但是应当理解,各实施例不仅仅限于框的次序,因为一些框可以与此处所描绘和描述的框不同的次序发生和/或与其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,某些示出的框在实现下文所述的方法中是可选的。
结论
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
除此处所述的各实施例以外,应当理解,可使用其他类似实施例,或者可对所述实施例作出修改和添加以便执行对应实施例的相同或等效功能而不背离这些实施例。此外, 多个处理芯片或多个设备可共享此处所述的一个或多个功能的性能,并且类似地,存储可跨多个设备实现。因此,本发明不应限于任何单个实施例,而是应当根据所附权利要求书的广度、精神和范围来解释。
权利要求
1.一种在计算环境中的系统,包括对应于虚拟机环境中的虚拟机的多个客分区(1141-lHm,2141-2Hn),每个客分区包括客反恶意软件代理(1161-116m,2161-216n);以及包括一个或多个与反恶意软件相关的组件的反恶意软件扫描机制(104,204),所述反恶意软件扫描机制被配置为与所述客分区上的客反恶意软件代理通信,反恶意软件扫描机制进ー步被配置为经由所述客反恶意软件代理向所述客分区提供共享的反恶意软件扫描资源和共享的反恶意软件扫描功能。
2.如权利要求1所述的系统,其特征在干,进ー步包括被配置成保护所述客代理的管理组件,所述管理组件驻留在根分区中并且被进ー步配置成悬停、继续、恢复和重建虚拟机以启用对感染进行扫描和补救,或者被耦合到所述反恶意软件扫描机制的管理组件,所述管理组件被配置成向所述反恶意软件扫描机制提供虚拟机管理服务,或者两者。
3.如权利要求2所述的系统,其特征在干,所述反恶意软件扫描机制与管理组件通信以使用所述管理服务来暂停客分区、继续客分区、对客分区进行快照、将客分区回滚到先前已知的好的快照、重建虚拟机图形、或将客分区置于离线状态以供所述反恶意软件扫描机制扫描。
4.如权利要求1所述的系统,其特征在干,所述反恶意软件扫描机制被进ー步配置为从远程数据位置获取签名更新、将遥测数据上传至远程数据位置、或与云服务就获取对可疑内容的决策进行通信,或被进ー步配置为从远程数据位置获取签名更新、将遥测数据上传至远程数据位置、或与云服务就获取对可疑内容的决策进行通信的任意組合。
5.一种在计算环境中、至少部分地在至少ー个处理器上执行的方法,包括在虚拟机环境中运行(30 多个客分区;以及运行共享的编排机制用于扫描(310,406)或恢复(314,410)客分区。
6.如权利要求5所述的方法,其特征在于,运行所共享的编排机制包括将客分区置于离线状态,在处于离线状态时扫描离线的客分区,以及采取针对离线状态采取任何需要的补救动作,或在所述共享的编排机制和扫描组件之间进行通信,以将客分区恢复到先前状态,或将客分区置于离线状态,在处于离线状态时扫描离线的客分区,以及采取针对离线状态采取任何需要的补救动作,并且在所述共享的编排机制和扫描组件之间进行通信,以将客分区恢复到先前状态。
7.如权利要求5所述的方法,其特征在干,还包括在客分区上运行客反恶意软件代理,接收由客代理在扫描机制处提供的数据,在扫描机制处扫描数据,以及对应于扫描结果将信息返回给客代理,其中接收所述数据和扫描所述数据包括执行实时监视操作,或离线操作。
8.如权利要求5所述的方法,其特征在于,还包括将来自扫描机制的指令提供给客反恶意软件代理供客反恶意软件代理执行,包括请求待扫描的至少ー个对象的指令,或包括规定客反恶意软件代理待执行的补救动作的至少ー个指令,或请求待扫描的至少ー个对象的指令以及规定客反恶意软件代理待执行的补救动作的至少ー个指令两者。
9.ー个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时执行以下步骤,包括在共享的反恶意软件扫描机制处接收(308)来自运行在虚拟机环境的第一客分区中的第一客代理的一个或多个对象;在所述共享的扫描机制处执行对第一对象集的反恶意软件扫描(310),并且将对应于扫描的结果的信息返回给所述第一客代理;在共享的反恶意软件扫描机制处接收来自运行在虚拟机环境的第二客分区中的第二客代理的一个或多个对象;在所述共享的扫描机制处执行对第二对象集的反恶意软件扫描(310),并且将对应于扫描的结果的信息返回给所述第二客代理。
10.如权利要求9所述的一个或多个计算机可读介质,其特征在于,还具有计算机可执行指令,包括在所述共享的扫描机制处对至少一个对象执行补救,或在所述共享的扫描机制处构建指示第一代理对至少一个对象执行补救的结果,或既在所述共享的扫描机制处对至少一个对象执行补救,又在所述共享的扫描机制处构建指示第一代理对至少一个对象执行补救的结果。
全文摘要
本发明涉及虚拟机的反恶意软件保护。本主题公开涉及以资源有效方式保护客分区上的虚拟机免受恶意软件的危害。反恶意程序软件被分为在每个防恶意软件的客分区上运行的轻型代理、共享的扫描和签名更新机制、以及管理组件。每个代理向扫描机制提供待扫描恶意软件的文件,诸如通过运行脚本,并且接收来自扫描机制的结果,结果包括待执行的可能的补救动作。管理组件向扫描机制提供对虚拟机服务的访问,诸如用于如扫描机制所请求的暂停、继续、快照和回滚客分区。
文档编号G06F21/22GK102542207SQ20111043043
公开日2012年7月4日 申请日期2011年12月7日 优先权日2010年12月7日
发明者A·F·托马斯, D·S·巴彻尔德, E·J·尼斯塔德特, J·J·约翰逊, M·S·雅瑞特, V·卡珀 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1