扩展文件属性信息的安全管理至虚拟硬盘的制作方法

文档序号:6586726阅读:182来源:国知局
专利名称:扩展文件属性信息的安全管理至虚拟硬盘的制作方法
技术领域
本发明一般地涉及文件属性信息,特别地涉及扩展文件属性信息的安全管理至虚
拟硬盘。
背景技术
在此援引2008年5月30日提交的名称为"用于安全地管理在文件系统中的文件 的文件属性信息的方法和系统"的美国专利申请12/130,616的全部内容作为参考,该美国 专利申请(以下称为"文件属性信息应用")的受让人与本申请的受让人相同。"文件属性 信息应用"描述了文件属性信息的安全管理和可靠维持。如其所描述的,当文件被处理和/ 或被修改时,文件属性信息可被恰当地存储和更新(例如,修改和/或复原(reset))。文件 属性信息能够表示文件系统中的每一文件的信息,例如,当针对恶意软件对一给定文件进 行最后扫描时,最近扫描使用哪一版本的恶意软件定义,最近扫描的结果,文件何时被最后 修改,等等。这就例如使得反恶意软件扫描引擎能够迅速地询问与该给定文件有关的这种 文件属性信息,并确定是否可不对该文件进行扫描操作(因为从最后被修改之后,该文件 已被利用当前恶意软件定义进行了扫描)。 如在"文件属性信息应用"中所描述的,可检测对文件的修改,并由此能够更新对 应的文件属性信息。处理文件的应用(例如反恶意软件扫描引擎)能够恰当地更新文件属 性信息,以表示已发生了涉及给定文件的行为(例如利用哪一组病毒定义对文件进行了扫 描,等等)。这就提供了对反恶意软件(以及其它)技术的性能改进。 如在"文件属性信息应用"中所描述的,可在包含文件系统的计算机设备上本地地 维持文件属性信息数据库。该文件属性信息数据库可被用来跟踪文件系统中的每一文件的 文件属性信息的状态。当文件属性信息如在"文件属性信息应用"中所描述的那样被修改 和复原时,文件属性信息数据库就相应地可被更新。 虚拟硬盘是包含表示物理硬盘的全部内容和结构的文件格式。虚拟硬盘通常被虚 拟机访问,而虚拟机又驻留在物理计算机上,物理计算机在本文中被称为主机。虚拟硬盘可 用来存储虚拟机的操作系统以及相关的文件系统。虚拟硬盘通常被存储为驻留在主机上的 单个文件。"文件属性信息应用"公开的技术是非常有用的,但是,如其所描述的,没有扩展 至虚拟硬盘和与它们交互的虚拟化环境。(在这种情况下,虚拟化环境包括特定的虚拟 机和任何附加的相关虚拟化软件,例如管理虚拟机和主机之间的通信的软件。)由于越 来越多地从对应的虚拟机的外部访问虚拟硬盘,这一点是非常重要的。例如,下一版本的 Microsoft Windows 、Win7将天生地支持虚拟硬盘作为将类似于其它文件夹组被浏览 和被操作的容器。由于"文件属性信息应用"没有描述使用文件属性信息来提供对于被从 虚拟化环境的内部和外部交叉地访问的虚拟硬盘的相关性能改进,因此需要解决这方面的 问题。

发明内容
文件属性信息在虚拟机上运行的进程和从主机级访问虚拟硬盘的进程之间被共 享,使得由文件属性信息应用程序提供的性能改进被扩展至虚拟硬盘上的文件系统。当运 行在主机上的进程访问虚拟硬盘上的文件时,该主机级进程就更新相关的文件属性信息, 并将被更新文件属性信息存储在该虚拟硬盘上。当运行在虚拟机上的进程随后访问该虚拟 硬盘上的文件时,该虚拟机级进程就能够读出该被更新文件属性信息,并由此省略不必要 的操作。相反地,当运行在虚拟机上的进程访问该虚拟硬盘上的文件并更新对应的文件属 性信息时,该进程通过可信信道将被更新文件属性信息传送给主机。当运行在主机上的进 程随后访问在该虚拟硬盘上的文件时,该主机级进程能够读出该被更新文件属性信息,并 省略不必要的操作。 以上概要描述和随后详细描述并没有指出所有的特点和优点,尤其是,许多其它 的特点和优点对于阅读了本发明的附图、说明书以及权利要求书的本领域普通技术人员来 说将是显而易见的。但是,应当指出,申请文本中使用的语言是出于可读性和说明性的目的 而原则性地选择的,可能没有被选择来描述或限定发明的主题,利用必要的权利要求书来 确定这样的发明的主题。


图1是表示根据本发明的一些实施例将文件属性信息的安全管理扩展至虚拟硬 盘的系统的方框图。 图2是表示根据本发明的一个实施例将文件属性信息的安全管理扩展至虚拟硬 盘的各个步骤的流程图。 图3是表示根据本发明的另一个实施例将文件属性信息的安全管理扩展至虚拟 硬盘的各个步骤的流程图。 这些附图仅仅出于说明性的目的示出了本发明的一些实施例。本领域普通技术人 员根据以下的描述容易理解,不违背在此描述的发明的原理,可采用在此描述的结构和方 法的替代实施例。
具体实施例方式
图1表示根据本发明的一些实施例将文件系统105的文件属性信息101保存在虚 拟硬盘103上的系统,虚拟硬盘103可从虚拟化环境107的内部和外部被访问。应当理解, 虽然各个组成部分在图1中被示出为单独的个体,但每一个示出的组成部分代表了可用软 件、硬件、固件或它们的任何组合来实现的功能度的集合。如果组成部分用软件来实现,该 组成部分可以是单独的软件,但是,也可以用其它方式来实现,例如,是较大程序的一部分、 是多个单独的程序、是内核可加载模块、是一个或多个设备驱动程序,是一个或多个被静态 或动态地链接的库。 如上所述,虚拟硬盘103代表被虚拟化环境107使用的硬盘。虚拟硬盘103存储 文件系统105,该文件系统105可被看作是关联的虚拟机111的文件系统。当虚拟机111运 行时,其按照这样的方式访问和操纵虚拟硬盘103上的文件系统,即就像当物理计算设备 运行时物理硬盘上的文件系统105被访问和被操纵一样。根据本发明,文件属性信息应用
6程序的操作法被用来建立文件属性信息数据库113(或其它合适的存储机制)并将其保存 在虚拟硬盘103上,由此将文件系统105的各个文件117的文件属性信息101保存在虚拟 硬盘103上。 例如,假设运行在虚拟机111上的反恶意软件扫描引擎119扫描虚拟硬盘103上 的文件系统105的各个文件117。在这种情况下,反恶意软件扫描引擎119能够更新虚拟硬 盘103上的文件属性信息数据库113,以便用一组特定恶意软件定义115来反映针对恶意软 件被扫描的各个文件117。于是,下一次针对恶意软件对虚拟硬盘103进行扫描时,反恶意 软件扫描引擎119就能够检查文件属性信息数据库113,避免对虚拟硬盘103上已被利用当 前恶意软件定义115进行了扫描的任何文件117再次进行扫描。应当理解,针对恶意软件 对虚拟硬盘103的扫描仅仅是可使用文件属性信息101的一种行为的一个例子而已。
如上所述,变得越来越普遍的是,不仅从关联的虚拟化环境107对虚拟硬盘103进 行访问,而且从"外部"、即由与运行在虚拟机111上的进程相对的、在主机121级运行的进 程对虚拟硬盘进行访问。例如,运行在主机121上的反恶意软件扫描引擎119可扫描正在 被作为主机121级备份、或正在被作为Win7下的容器的虚拟硬盘103。应当理解,主机121 级进程能够访问不是被安装作为主机210操作系统的巻的虚拟硬盘103 (例如,不需要经历 标准操作系统安装步骤而可被主机121级反恶意软件扫描引擎119扫描的巻)。主机121 级进程还能够访问被安装作为标准操作系统的巻的虚拟硬盘103(例如,Win7容器形式的 虚拟硬盘103)。这两种情形都在本发明的实施例的范围之内。 当主机121级进程(例如,如所述的运行在主机121上的反恶意软件扫描引擎 119)对虚拟硬盘103执行更新与虚拟硬盘103上的各个文件107有关的文件属性信息101 的操作(例如,针对恶意软件代码扫描虚拟硬盘103)时,要求对文件属性信息103的更新 是可被虚拟化环境107检测的。否则,与在虚拟硬盘103上的各个文件117有关的文件属 性信息的当前状态就是不可被虚拟环境107本身访问的。 如图1所示,当主机121级进程(例如,反恶意软件扫描引擎119)更新与虚拟硬 盘103上的各个文件有关的文件属性信息时(例如,当扫描虚拟硬盘103时时),该主机121 级进程就更新虚拟硬盘103上的文件属性信息数据库113。这样一来,当从虚拟环境107访 问虚拟硬盘103时,虚拟环境107内的相关进程就访问了文件属性信息的当前状态。于是, 例如如果主机121级反恶意软件扫描引擎119从"外部"用当前恶意软件定义115扫描虚 拟硬盘103,则虚拟机111随后就能够避免用相同的恶意软件定义115从"内部"对虚拟硬 盘103上的未被修改文件117的不必要扫描。应当理解,上述功能度可在被安装作为标准 主机121级操作系统的巻的那些虚拟硬盘103上和在不被安装作为标准主机121级操作系 统的巻的那些虚拟硬盘103上被执行。 此外,访问虚拟硬盘103的主机121级进程能够检测虚拟硬盘103上的给定数据 集(例如恶意软件定义115)的版本是否是当前版本。例如,通过访问虚拟硬盘103上的文 件属性信息数据库113,主机121级反恶意软件扫描引擎119能够确定恶意软件定义115的 哪一个版本最近被用来从虚拟环境107扫描虚拟硬盘103。如果主机121级反恶意软件扫 描引擎119确定虚拟硬盘103上的恶意软件定义115的版本不是当前版本,其就可将当前 恶意软件定义115拷贝至虚拟硬盘103(或者在虚拟硬盘103上设置标志等来引导虚拟机 111来这样做)。这一功能度同样可在被安装作为标准主机121级操作系统的巻的那些虚拟硬盘103上和在不被安装作为标准主机121级操作系统的巻的那些虚拟硬盘103上被执 行。 还需要沿其它方向、即在虚拟环境107和主机121之间同步文件属性信息101。为 此,当基于在虚拟环境107中发生的动作对虚拟硬盘103上的文件属性信息数据库113进 行更新时,对应的被更新文件属性信息101可通过可信信道109从虚拟环境107被传送至 主机121。主机121可根据需要把该信息存储在例如对应于虚拟硬盘103的文件属性信息 数据库113中,但是,是以主机121级进行存储。这样一来,当从主机121对虚拟硬盘103 进行访问时,访问进程就具有当前文件属性信息101。应当理解,数据通过可信信道109从 虚拟环境107被传送至主机121的实现机制对于本领域普通技术人员是公知的,因此,根据 说明书的描述,本领域普通技术人员容易懂得在本发明的范围内使用这种实现机制。
图2表示本发明的实施例的例示性应用的各个步骤,在图中,主机121(图1)级反 恶意软件扫描引擎119 (图1)扫描正在被用作主机121 (图1)级容器的虚拟硬盘103 (图 1)。当反恶意软件扫描引擎119 (图1)针对恶意代码扫描201虚拟硬盘103 (图1)上的各 个文件117 (图1)时,反恶意软件扫描引擎119 (图1)更新203与被扫描文件117 (图1) 有关的相关文件属性信息101 (图1)。因此,对于文件属性信息101 (图1)的更新是可被 虚拟环境107 (图1)检测的,反恶意软件扫描引擎119 (图1)更新205虚拟硬盘103 (图 1)上的文件属性信息数据库113(图1),以便反映被更新文件属性信息101(图1)。随后, 运行在虚拟机lll(图l)上的反恶意软件扫描引擎119执行对虚拟硬盘103(图1)的扫描 207。在这样做时,虚拟机111 (图1)级反恶意软件扫描引擎119(图1)读209文件属性信 息数据库113(图1),以便确定211相关文件属性信息101(图1)的当前状态。这样,虚拟 机111 (图1)级反恶意软件扫描引擎119 (图1)就用相同的恶意软件定义115省略213对 虚拟硬盘103 (图1)上的未被修改文件117 (图1)的不必要的再次扫描。
图3表示本发明的实施例的例示性应用的各个步骤,在图中,虚拟机111 (图1)级 反恶意软件扫描引擎119 (图1)从虚拟环境107 (图1)扫描301虚拟硬盘103 (图1)。当运 行在虚拟机111 (图1)上的反恶意软件扫描引擎119 (图1)扫描301虚拟硬盘103 (图1) 上的各个文件117 (图1)时,反恶意软件扫描引擎119 (图1)更新303在虚拟硬盘103 (图 1)上的相关文件属性信息101 (图1)和文件属性信息数据库113 (图1)。反恶意软件扫 描引擎119 (图1)通过可信信道109 (图1)将被更新文件属性信息101 (图1)从虚拟环境 107 (图1)传送305至主机121 (图1)。主机121 (图1)存储307所接收的文件属性信息 101 (图1),因此,当从主机121 (图1)对虚拟硬盘103 (图1)进行访问时,访问进程就具有 当前文件属性信息101(图1)。 本领域普通技术人员将懂得,不偏离本发明的精神或本质特征,可按照其它具体 方式来实施本发明。同样,各个部分、模块、代理、管理器、组件、功能、步骤、动作、层、特征、 属性、操作法、数据结构和其它方面的具体名称和划分不是强制性或重要的,实现本发明或 其特征的机制可具有不同的名称、划分和/或格式。此外,对本领域普通技术人员显而易见 的是,本发明的各个部分、模块、代理、管理器、组件、功能、步骤、动作、层、特征、属性、操作 法、数据结构和其它方面可用软件、硬件、固件或三者的任何组合来实现。如果本发明的组 成部分用软件来实现,则该组成部分可用脚本、独立程序、较大程序的一部分、多个单独的 脚本和/或程序、静态或动态链接的库、核心可加载模块、设备驱动程序来实现,或者可用计算机编程领域的普通技术人员现在或未来公知的每一种任何其它的方式来实现。此外, 本发明绝不受到任何具体编程语言的实现、或着任何具体操作系统或环境的限制。还有,对 本领域普通技术人员显而易见的是,如果本发明全部或部分用软件来实现,则本发明的软 件组件可作为计算机程序产品被存储在计算机可读存储媒介上。任何形式的有形的计算机 可读存储媒介都可在本发明中使用,例如磁或光存储媒介。如在此所使用的,术语"计算机 可读存储媒介"不表示与基础物理媒介分离的电信号。再有,本发明的软件部分可在任何计 算设备的存储器内用具体例子来说明(例如作为目标代码或可执行图像)。如在此所使用 的,术语"计算机"和"计算设备"指被配置和/或被编程为执行所描述的功能度的一台或 多台计算机。因此,本发明的公开是举例说明本发明的范围,而不是限制本发明的范围,本 发明的范围由所附的权利要求书来确定。
权利要求
一种用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机实现的方法,该方法包括以下步骤利用计算机从虚拟化环境的外部对在该虚拟硬盘上的文件系统中的至少一个文件执行至少一个动作,所述至少一个动作影响与该至少一个文件有关的文件属性信息;利用计算机从虚拟化环境的外部更新与该至少一个文件有关的文件属性信息;以及利用计算机从虚拟化环境的外部将与该至少一个文件有关的被更新文件属性信息存储在该虚拟硬盘上,以使得从虚拟化环境的内部可访问该被更新文件属性信息。
2. 根据权利要求1所述的方法,还包括随后利用计算机从虚拟化环境的内部访问与至少一个文件有关的被更新文件属性信息。
3. 根据权利要求2所述的方法,还包括基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的内部, 确定省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作。
4. 根据权利要求l所述的方法,其中从虚拟化环境的外部执行步骤还包括利用运行在主机级的计算机上的进程执行步骤;以及从虚拟化环境的内部执行步骤还包括利用运行在虚拟机级的计算机上的进程执行步骤。
5. 根据权利要求1所述的方法,还包括利用计算机从虚拟化环境的外部检测在虚拟硬盘上的数据集不是当前的;以及 响应于在虚拟硬盘上的数据集不是当前的的检测,利用计算机从虚拟化环境的外部执 行至少一个附加步骤来更新该数据集。
6. 根据权利要求5所述的方法,其中执行至少一个附加步骤来更新虚拟硬盘上的数据 集还包括执行由以下步骤组成的一组步骤中的步骤利用计算机从虚拟化环境的外部更新虚拟硬盘上的数据集;以及利用计算机从虚拟化环境的外部在虚拟硬盘上设定指示符,以便从虚拟化环境的内部 更新虚拟硬盘上的数据集。
7. 根据权利要求5所述的方法,其中虚拟硬盘上的数据还包括 一组恶意软件定义。
8. 根据权利要求1所述的方法,其中对在该虚拟硬盘上的文件系统中的至少一个文件 执行至少一个动作还包括针对恶意代码扫描在该虚拟硬盘上的文件系统中的至少一个文件。
9. 一种用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机实现的方法,该方法包括以下步骤利用计算机从虚拟化环境的内部对在该虚拟硬盘上的文件系统中的至少一个文件执 行至少一个动作,所述至少一个动作影响与该至少一个文件有关的文件属性信息;利用计算机从虚拟化环境的内部更新与该至少一个文件有关的文件属性信息;以及 利用计算机从虚拟化环境的内部通过可信信道将与该至少一个文件有关的被更新文 件属性信息传送到虚拟化环境的外部。
10. 根据权利要求9所述的方法,还包括随后利用计算机从虚拟化环境的外部访问与至少一个文件有关的被更新文件属性信息。
11. 根据权利要求10所述的方法,还包括基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的外部, 确定省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作。
12. 根据权利要求9所述的方法,其中从虚拟化环境的外部执行步骤包括利用运行在主机级的计算机上的进程执行步骤;以及从虚拟化环境的内部执行步骤包括利用运行在虚拟机级的计算机上的进程执行步骤。
13. 根据权利要求9所述的方法,其中对在该虚拟硬盘上的文件系统中的至少一个文 件执行至少一个动作还包括针对恶意代码扫描在该虚拟硬盘上的文件系统中的至少一个文件。
14. 至少一种包含计算机程序产品的计算机可读存储媒介,该计算机程序产品用于安 全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息,该计算机程序产品包 括利用计算机从虚拟化环境的外部对在该虚拟硬盘上的文件系统中的至少一个文件执 行至少一个动作的程序代码,所述至少一个动作影响与该至少一个文件有关的文件属性信 息;利用计算机从虚拟化环境的外部更新与该至少一个文件有关的文件属性信息的程序 代码;以及利用计算机从虚拟化环境的外部将与该至少一个文件有关的被更新文件属性信息存 储在该虚拟硬盘上、以使得从虚拟化环境的内部可访问该被更新文件属性信息的程序代 码。
15. 根据权利要求14所述的计算机程序产品,还包括随后利用计算机从虚拟化环境的内部访问与至少一个文件有关的被更新文件属性信 息的程序代码。
16. 根据权利要求15所述的计算机程序产品,还包括基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的内部, 确定省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作的程序代码。
17. 根据权利要求14所述的计算机程序产品,其中从虚拟化环境的外部执行步骤的程序代码还包括利用运行在主机级的计算机上的进 程执行步骤的程序代码;以及从虚拟化环境的内部执行步骤的程序代码还包括利用运行在虚拟机级的计算机上的 进程执行步骤的程序代码。
18. 根据权利要求14所述的计算机程序产品,还包括利用计算机从虚拟化环境的外部检测在虚拟硬盘上的数据集不是当前的的程序代码;以及响应于在虚拟硬盘上的数据集不是当前的的检测,利用计算机从虚拟化环境的外部执行至少一个附加步骤来更新该数据集的程序代码。
19. 根据权利要求18所述的计算机程序产品,其中执行至少一个附加步骤来更新虚 拟硬盘上的数据集的程序代码还包括执行由以下步骤组成的一组步骤中的步骤的程序代 码利用计算机从虚拟化环境的外部更新虚拟硬盘上的数据集;以及利用计算机从虚拟化环境的外部在虚拟硬盘上设定指示符,以便从虚拟化环境的内部 更新虚拟硬盘上的数据集。
20. 根据权利要求14所述的计算机程序产品,其中对在该虚拟硬盘上的文件系统中的 至少一个文件执行至少一个动作的程序代码还包括针对恶意代码扫描在该虚拟硬盘上的文件系统中的至少一个文件的程序代码。
21. 至少一种包含计算机程序产品的计算机可读存储媒介,该计算机程序产品用于安 全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息,该计算机程序产品包 括利用计算机从虚拟化环境的内部对在该虚拟硬盘上的文件系统中的至少一个文件执 行至少一个动作的程序代码,所述至少一个动作影响与该至少一个文件有关的文件属性信息;利用计算机从虚拟化环境的内部更新与该至少一个文件有关的文件属性信息的程序 代码;以及利用计算机从虚拟化环境的内部通过可信信道将与该至少一个文件有关的被更新文 件属性信息传送到虚拟化环境的外部的程序代码。
22. 根据权利要求21所述的计算机程序产品,还包括随后利用计算机从虚拟化环境的外部访问与至少一个文件有关的被更新文件属性信 息的程序代码。
23. 根据权利要求22所述的计算机程序产品,还包括基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的外部, 确定省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作的程序代码。
24. 根据权利要求21所述的计算机程序产品,其中从虚拟化环境的外部执行步骤的程序代码包括利用运行在主机级的计算机上的进程 执行步骤的程序代码;以及从虚拟化环境的内部执行步骤的程序代码包括利用运行在虚拟机级的计算机上的进 程执行步骤的程序代码。
25. 根据权利要求21所述的计算机程序产品,其中对在该虚拟硬盘上的文件系统中的 至少一个文件执行至少一个动作的程序代码还包括针对恶意代码扫描在该虚拟硬盘上的文件系统中的至少一个文件的程序代码。
全文摘要
文件属性信息在虚拟机上运行的进程和从主机级访问虚拟硬盘的进程之间被共享。当主机级进程访问虚拟硬盘上的文件时,该进程就更新相关的文件属性信息,并将被更新文件属性信息存储在该虚拟硬盘上。当虚拟机级进程随后访问该虚拟硬盘上的文件时,该进程就读出该被更新文件属性信息,并省略不必要的操作。当虚拟机级进程访问该虚拟硬盘上的文件并更新对应的文件属性信息时,该进程将被更新文件属性信息传送给主机。当主机级进程随后访问在该虚拟硬盘上的文件时,该主机级进程读出该被更新文件属性信息。
文档编号G06F17/30GK101794293SQ20091026687
公开日2010年8月4日 申请日期2009年12月31日 优先权日2009年1月29日
发明者威廉·E·索贝尔, 布鲁斯·麦科金代尔 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1