本发明专利技术提供了一种用于虚拟机的防病毒方法,包括:步骤1,截获在宿主机上分配给虚拟机的内存页面上发生的针对所述内存页面的更新内容的首次访问;步骤2,扫描所述内存页面的页面内容;步骤3,根据所述扫描的结果,清除所述内存页面的页面内容,或恢复对所述内存页面的访问。本发明专利技术还提供了一种用于虚拟机的防病毒系统。本发明专利技术的技术方案可以实现防病毒系统不依赖于客户操作系统;在病毒程序执行之前识别并阻止该病毒;减少病毒扫描的数据量,提高扫描效率。
【技术实现步骤摘要】
本专利技术涉及计算机虚拟化
,具体地说,本专利技术涉及一种用于虚拟机的防 病毒方法和系统。
技术介绍
现有的针对虚拟机环境的防病毒技术主要有两种。一种是如附图1所示的结构, 与物理机环境下的防病毒方式相同,即在虚拟机客户操作系统中安装完整的杀毒软件,杀 毒软件运行在客户操作系统之上,对文件等信息进行病毒扫描和处理。另一种是如附图2 所示的轻代理架构的防病毒系统,例如,由VMWare?公司提出的vShield Endpoint架 构,该方案具体包括:经过安全增强的安全虚拟设备、运行于被保护的虚拟机中的精简代理 (Epsec Thin Agent),以及用于支持安全虚拟设备和精简代理之间通信的虚拟化管理程序 模块(VMware Endpoint ESX)。该方案通过安装于虚拟机内部的精简代理监控虚拟机内部 的操作系统活动,并触发安全虚拟设备中的防病毒引擎实施病毒扫描,由防病毒引擎将病 毒扫描结果经由精简代理返回给被保护的虚拟机。该方案支持在文件访问时对文件进行实 时的扫描,以及由安全虚拟设备中的防病毒引擎发起的计划性文件扫描操作。通过运行在 虚拟机内部的精简代理与安全虚拟设备中的虚拟化管理程序模块,将病毒扫描任务从虚拟 机卸载到安全虚拟设备中,可以避免前述第一种防病毒技术存在的主要问题之一:在虚拟 化的环境下造成"杀毒风暴"(AV storm,antivirus storm),即当一台宿主机上同时扫描多 个虚拟机时的计算资源需求会在短时间内激增,进而导致服务降级。但是,该架构自身却存 在另一个方面的问题,即被保护的虚拟机中的待扫描文件需要先通过虚拟化管理程序模块 提供的通信通道传输到安全虚拟设备中才能进行病毒扫描,文件数据的传输会消耗宿主物 理服务器上的资源。 另外,上述现有的防病毒技术的一个共同特点是,需要依托于客户操作系统运行, 进而使得在从客户操作系统启动到防病毒软件(或代理)正常工作之间的时间内系统处 于无防护状态,给病毒的入侵以可乘之机。例如,"引导区病毒"正是在操作系统启动的过程 中潜入内存以入侵计算机系统。另外,上述现有的防病毒系统由于其自身依赖于客户操作 系统运行,因此其本身的有效性也难以得到很好的保障,如,入侵者可能会强行关闭防病毒 系统,从而绕开病毒防护而入侵系统。 此外,现有的防病毒系统往往采用全系统文件扫描的方式排查病毒,不仅费时,而 且需要消耗大量计算机资源,因此,在扫描过程中,往往会影响正常任务的处理,使得计算 机的处理速度明显降低。
技术实现思路
本专利技术的目的是提供一种能够克服上述技术问题的解决方案。 本专利技术提供了一种用于虚拟机的防病毒方法,包括:步骤1,截获在宿主机上分配 给虚拟机的内存页面上发生的针对所述内存页面的更新内容的首次访问;步骤2,扫描所 述内存页面的页面内容;步骤3,根据所述扫描的结果,清除所述内存页面的页面内容,或 恢复对所述内存页面的访问。 优选地,所述步骤1还包括:通过动态调整宿主机上分配给虚拟机的内存页面的 访问权限截获在宿主机上分配给虚拟机的内存页面上发生的针对所述内存页面的更新内 容的首次访问;其中,所述访问权限中的"可写"与"可执行"权限在其中之一处于使能状态 的情况下,另一个权限处于非使能状态。 优选地,所述步骤3还包括:在所述扫描结果为存在病毒的情况下,清除所述内存 页面的页面内容,且定位并处理虚拟机中的所述病毒。 优选地,所述步骤3还包括:在所述扫描结果为存在病毒的情况下,根据预设的杀 毒策略处理所述病毒,和/或将所述病毒的信息通知给虚拟机的用户。 优选地,所述步骤2还包括:使用与病毒程序入口在同一内存页面中的病毒特征 码扫描所述内存页面的页面内容。 本专利技术还提供了一种用于虚拟机的防病毒系统,基于置于宿主机之上的虚拟机监 视器。所述系统包括:虚拟防病毒引擎,用于基于病毒内存特征码扫描内存数据,并将扫描 结果反馈给虚拟防病毒扩展模块;病毒内存特征码数据库,用于存储所述病毒内存特征码; 所述虚拟防病毒扩展模块,置于所述虚拟机监视器中,用于截获在所述宿主机上分配给虚 拟机的内存页面上发生的针对所述内存页面的更新内容的首次访问,并通知所述虚拟防病 毒引擎对所述内存页面进行扫描。 优选地,所述虚拟防病毒扩展模块,用于通过动态调整所述宿主机上分配给虚拟 机的内存页面的访问权限截获在所述宿主机上分配给虚拟机的内存页面上发生的针对所 述内存页面的更新内容的首次访问;其中,所述访问权限中的"可写"与"可执行"权限在其 中一个权限处于使能状态的情况下,另一个权限处于非使能状态。 优选地,所述虚拟防病毒引擎为多线程和可重入架构;所述病毒内存特征码数据 库,存储于所述宿主机上,在多个并发的所述虚拟防病毒引擎之间共享;和/或所述病毒内 存特征码为与病毒程序入口在同一内存页面中的病毒特征码。 优选地,所述系统还包括:虚拟防病毒代理,处于虚拟机内部,用于接收并根据来 自所述虚拟防病毒扩展模块的信息处理查出的病毒;所述虚拟防病毒扩展模块,还用于定 位所述扫描结果中查出的病毒的来源,并将所述病毒的信息发送给所述虚拟防病毒代理。 优选地,所述防病毒代理,用于根据来自所述虚拟防病毒扩展模块的信息和预设 的杀毒策略处理所述病毒,和/或与虚拟机的用户进行通信。 与现有技术相比,本专利技术提出的技术方案具有以下优点: 本专利技术的技术方案可以实现防病毒系统不依赖于客户操作系统;在病毒程序执行 之前准确识别该病毒并加以阻止;减少病毒扫描的数据量,提高扫描效率,从而最大限度地 保障虚拟机的运行性能。【附图说明】 为了更清楚地说明本专利技术的技术方案,下面将对实施例描述中所需要使用的附图 作简单地介绍,显而易见地,下面描述中的附图不构成对于本专利技术的限制。 图1是根据现有技术的第一种防病毒技术的系统示意图; 图2是根据现有技术的第二种防病毒技术的系统示意图; 图3是根据本专利技术的实施例的防病毒系统不意图; 图4是根据本专利技术的实施例的防病毒方法的流程示意图。【具体实施方式】 下面结合附图和具体实施例对本专利技术做进一步地描述。 图3示出了根据本专利技术的实施例的防病毒系统示意图。如图3所示,根据本专利技术的 实施例,用于虚拟机的防病毒系统基于置于宿主机之上的虚拟机监视器(Virtual Machine Monitor,VMM)实现,该系统包括,虚拟防病毒引擎(VirtAV-engine)、病毒内存特征码数据 库、虚拟防病毒扩展模块(VirtAV-stub),以及虚拟防病毒代理(VirtAV-agent)。 VirtAV-engine是基于病毒内存特征码的扫描引擎。该引擎采用多线程架构和可 重入的设计方法具体实现,运行在虚拟机的虚拟中央处理器(虚拟CPU,VCPU)上下文中,工 作在宿主机的用户态,用于同步扫描内存当前第1页1 2 3 本文档来自技高网...
【技术保护点】
一种用于虚拟机的防病毒方法,其特征在于,所述方法包括:步骤1,截获在宿主机上分配给虚拟机的内存页面上发生的针对所述内存页面的更新内容的首次访问;步骤2,扫描所述内存页面的页面内容;步骤3,根据所述扫描的结果,清除所述内存页面的页面内容,或恢复对所述内存页面的访问。
【技术特征摘要】
【专利技术属性】
技术研发人员:唐宏伟,赵晓芳,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。