扩展文件属性信息的安全管理至虚拟硬盘转让专利

申请号 : CN200910266875.5

文献号 : CN101794293B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 威廉·E·索贝尔布鲁斯·麦科金代尔

申请人 : 赛门铁克公司

摘要 :

文件属性信息在虚拟机上运行的进程和从主机级访问虚拟硬盘的进程之间被共享。当主机级进程访问虚拟硬盘上的文件时,该进程就更新相关的文件属性信息,并将被更新文件属性信息存储在该虚拟硬盘上。当虚拟机级进程随后访问该虚拟硬盘上的文件时,该进程就读出该被更新文件属性信息,并省略不必要的操作。当虚拟机级进程访问该虚拟硬盘上的文件并更新对应的文件属性信息时,该进程将被更新文件属性信息传送给主机。当主机级进程随后访问在该虚拟硬盘上的文件时,该主机级进程读出该被更新文件属性信息。

权利要求 :

1.一种用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机实现的方法,该方法包括以下步骤:利用计算机的主机级进程从虚拟化环境的外部,针对恶意软件扫描在未安装的虚拟硬盘上的文件系统中的至少一个文件;

利用该计算机的主机级的进程从虚拟化环境的外部在该未安装的虚拟硬盘上更新与该至少一个文件有关的文件属性信息,以反映恶意软件扫描状态;

随后利用该计算机的虚拟机级进程从虚拟化环境的内部访问与至少一个文件有关的被更新文件属性信息;以及利用该计算机的虚拟机级进程,基于与至少一个文件有关的被更新文件属性信息,省略针对恶意软件的扫描。

2.根据权利要求1所述的方法,还包括:

利用计算机从虚拟化环境的外部检测在虚拟硬盘上的数据集不是当前的;以及响应于在虚拟硬盘上的数据集不是当前的的检测,利用计算机从虚拟化环境的外部执行至少一个附加步骤来更新该数据集。

3.根据权利要求2所述的方法,其中执行至少一个附加步骤来更新虚拟硬盘上的数据集还包括执行由以下步骤组成的一组步骤中的步骤:利用计算机从虚拟化环境的外部更新虚拟硬盘上的数据集;以及利用计算机从虚拟化环境的外部在虚拟硬盘上设定指示符,以便从虚拟化环境的内部更新虚拟硬盘上的数据集。

4.根据权利要求2所述的方法,其中虚拟硬盘上的数据还包括:一组恶意软件定义。

5.一种用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机实现的方法,该方法包括以下步骤:利用计算机的虚拟机级进程,从虚拟化环境的内部针对恶意软件扫描在该虚拟硬盘上的文件系统中的至少一个文件;

利用计算机的该虚拟机级进程,从虚拟化环境的内部更新与该至少一个文件有关的文件属性信息,以反映恶意软件扫描状态;

利用计算机的该虚拟机级进程从虚拟化环境的内部通过可信信道将与该至少一个文件有关的被更新文件属性信息传送到虚拟化环境的外部;以及随后利用计算机的主机级进程从虚拟化环境的外部访问与未安装的虚拟硬盘上的至少一个文件有关的被更新文件属性信息。

6.根据权利要求5所述的方法,还包括:

基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的外部,省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作。

7.用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机系统,该计算机系统包括:利用计算机的主机级进程从虚拟化环境的外部针对恶意软件扫描在未安装的虚拟硬盘上的文件系统中的至少一个文件的装置;

利用该计算机的主机级进程从虚拟化环境的外部更新与该至少一个文件有关的文件属性信息,以反映恶意软件扫描状态的装置;

利用该计算机的虚拟机级进程,从虚拟化环境的内部随后访问与该未安装的虚拟硬盘上的至少一个文件有关的被更新文件属性信息的装置,以及基于与至少一个文件有关的被更新文件属性信息,利用该计算机的虚拟机级进程省略针对恶意软件的扫描的装置。

8.根据权利要求7所述的计算机系统,还包括:

利用计算机从虚拟化环境的外部检测在虚拟硬盘上的数据集不是当前的的装置;以及响应于在虚拟硬盘上的数据集不是当前的的检测,利用计算机从虚拟化环境的外部执行至少一个附加步骤来更新该数据集的装置。

9.根据权利要求8所述的计算机系统,其中执行至少一个附加步骤来更新虚拟硬盘上的数据集的装置还包括以下其中之一:利用计算机从虚拟化环境的外部更新虚拟硬盘上的数据集的装置;以及利用计算机从虚拟化环境的外部在虚拟硬盘上设定指示符,以便从虚拟化环境的内部更新虚拟硬盘上的数据集的装置。

10.用于安全地管理与在虚拟硬盘上的文件系统中的文件有关的文件属性信息的计算机系统,该计算机系统包括:利用计算机的虚拟机级进程从虚拟化环境的内部针对恶意软件扫描在该虚拟硬盘上的文件系统中的至少一个文件的装置;

利用计算机的虚拟机级进程从虚拟化环境的内部更新与该至少一个文件有关的文件属性信息以反映恶意软件扫描状态的装置;以及利用计算机的虚拟机级进程从虚拟化环境的内部通过可信信道将与该至少一个文件有关的被更新文件属性信息传送到虚拟化环境的外部的装置;

随后利用计算机的主机级进程从虚拟化环境的外部访问与未安装的虚拟硬盘上至少一个文件有关的被更新文件属性信息的装置。

11.根据权利要求10所述的计算机系统,还包括:

随后利用计算机从虚拟化环境的外部访问与至少一个文件有关的被更新文件属性信息的装置。

12.根据权利要求11所述的计算机系统,还包括:

基于与至少一个文件有关的被更新文件属性信息,利用计算机从虚拟化环境的外部,省略执行与在虚拟硬盘上的至少一个文件有关的至少一个动作的装置。

说明书 :

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

技术领域

[0001] 本发明一般地涉及文件属性信息,特别地涉及扩展文件属性信息的安全管理至虚拟硬盘。

背景技术

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

发明内容

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

附图说明

[0009] 图1是表示根据本发明的一些实施例将文件属性信息的安全管理扩展至虚拟硬盘的系统的方框图。
[0010] 图2是表示根据本发明的一个实施例将文件属性信息的安全管理扩展至虚拟硬盘的各个步骤的流程图。
[0011] 图3是表示根据本发明的另一个实施例将文件属性信息的安全管理扩展至虚拟硬盘的各个步骤的流程图。
[0012] 这些附图仅仅出于说明性的目的示出了本发明的一些实施例。本领域普通技术人员根据以下的描述容易理解,不违背在此描述的发明的原理,可采用在此描述的结构和方法的替代实施例。

具体实施方式

[0013] 图1表示根据本发明的一些实施例将文件系统105的文件属性信息101保存在虚拟硬盘103上的系统,虚拟硬盘103可从虚拟化环境107的内部和外部被访问。应当理解,虽然各个组成部分在图1中被示出为单独的个体,但每一个示出的组成部分代表了可用软件、硬件、固件或它们的任何组合来实现的功能度的集合。如果组成部分用软件来实现,该组成部分可以是单独的软件,但是,也可以用其它方式来实现,例如,是较大程序的一部分、是多个单独的程序、是内核可加载模块、是一个或多个设备驱动程序,是一个或多个被静态或动态地链接的库。
[0014] 如上所述,虚拟硬盘103代表被虚拟化环境107使用的硬盘。虚拟硬盘103存储文件系统105,该文件系统105可被看作是关联的虚拟机111的文件系统。当虚拟机111运行时,其按照这样的方式访问和操纵虚拟硬盘103上的文件系统,即就像当物理计算设备运行时物理硬盘上的文件系统105被访问和被操纵一样。根据本发明,文件属性信息应用程序的操作法被用来建立文件属性信息数据库113(或其它合适的存储机制)并将其保存在虚拟硬盘103上,由此将文件系统105的各个文件117的文件属性信息101保存在虚拟硬盘103上。
[0015] 例如,假设运行在虚拟机111上的反恶意软件扫描引擎119扫描虚拟硬盘103上的文件系统105的各个文件117。在这种情况下,反恶意软件扫描引擎119能够更新虚拟硬盘103上的文件属性信息数据库113,以便用一组特定恶意软件定义115来反映针对恶意软件被扫描的各个文件117。于是,下一次针对恶意软件对虚拟硬盘103进行扫描时,反恶意软件扫描引擎119就能够检查文件属性信息数据库113,避免对虚拟硬盘103上已被利用当前恶意软件定义115进行了扫描的任何文件117再次进行扫描。应当理解,针对恶意软件对虚拟硬盘103的扫描仅仅是可使用文件属性信息101的一种行为的一个例子而已。
[0016] 如上所述,变得越来越普遍的是,不仅从关联的虚拟化环境107对虚拟硬盘103进行访问,而且从“外部”、即由与运行在虚拟机111上的进程相对的、在主机121级运行的进程对虚拟硬盘进行访问。例如,运行在主机121上的反恶意软件扫描引擎119可扫描正在被作为主机121级备份、或正在被作为Win7下的容器的虚拟硬盘103。应当理解,主机121级进程能够访问不是被安装作为主机210操作系统的卷的虚拟硬盘103(例如,不需要经历标准操作系统安装步骤而可被主机121级反恶意软件扫描引擎119扫描的卷)。主机121级进程还能够访问被安装作为标准操作系统的卷的虚拟硬盘103(例如,Win7容器形式的虚拟硬盘103)。这两种情形都在本发明的实施例的范围之内。
[0017] 当主机121级进程(例如,如所述的运行在主机121上的反恶意软件扫描引擎119)对虚拟硬盘103执行更新与虚拟硬盘103上的各个文件107有关的文件属性信息101的操作(例如,针对恶意软件代码扫描虚拟硬盘103)时,要求对文件属性信息103的更新是可被虚拟化环境107检测的。否则,与在虚拟硬盘103上的各个文件117有关的文件属性信息的当前状态就是不可被虚拟环境107本身访问的。
[0018] 如图1所示,当主机121级进程(例如,反恶意软件扫描引擎119)更新与虚拟硬盘103上的各个文件有关的文件属性信息时(例如,当扫描虚拟硬盘103时时),该主机121级进程就更新虚拟硬盘103上的文件属性信息数据库113。这样一来,当从虚拟环境107访问虚拟硬盘103时,虚拟环境107内的相关进程就访问了文件属性信息的当前状态。于是,例如如果主机121级反恶意软件扫描引擎119从“外部”用当前恶意软件定义115扫描虚拟硬盘103,则虚拟机111随后就能够避免用相同的恶意软件定义115从“内部”对虚拟硬盘103上的未被修改文件117的不必要扫描。应当理解,上述功能度可在被安装作为标准主机121级操作系统的卷的那些虚拟硬盘103上和在不被安装作为标准主机121级操作系统的卷的那些虚拟硬盘103上被执行。
[0019] 此外,访问虚拟硬盘103的主机121级进程能够检测虚拟硬盘103上的给定数据集(例如恶意软件定义115)的版本是否是当前版本。例如,通过访问虚拟硬盘103上的文件属性信息数据库113,主机121级反恶意软件扫描引擎119能够确定恶意软件定义115的哪一个版本最近被用来从虚拟环境107扫描虚拟硬盘103。如果主机121级反恶意软件扫描引擎119确定虚拟硬盘103上的恶意软件定义115的版本不是当前版本,其就可将当前恶意软件定义115拷贝至虚拟硬盘103(或者在虚拟硬盘103上设置标志等来引导虚拟机111来这样做)。这一功能度同样可在被安装作为标准主机121级操作系统的卷的那些虚拟硬盘103上和在不被安装作为标准主机121级操作系统的卷的那些虚拟硬盘103上被执行。
[0020] 还需要沿其它方向、即在虚拟环境107和主机121之间同步文件属性信息101。为此,当基于在虚拟环境107中发生的动作对虚拟硬盘103上的文件属性信息数据库113进行更新时,对应的被更新文件属性信息101可通过可信信道109从虚拟环境107被传送至主机121。主机121可根据需要把该信息存储在例如对应于虚拟硬盘103的文件属性信息数据库113中,但是,是以主机121级进行存储。这样一来,当从主机121对虚拟硬盘103进行访问时,访问进程就具有当前文件属性信息101。应当理解,数据通过可信信道109从虚拟环境107被传送至主机121的实现机制对于本领域普通技术人员是公知的,因此,根据说明书的描述,本领域普通技术人员容易懂得在本发明的范围内使用这种实现机制。
[0021] 图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)。随后,运行在虚拟机111(图1)上的反恶意软件扫描引擎119执行对虚拟硬盘103(图1)的扫描
207。在这样做时,虚拟机111(图1)级反恶意软件扫描引擎119(图1)读209文件属性信息数据库113(图1),以便确定211相关文件属性信息101(图1)的当前状态。这样,虚拟机111(图1)级反恶意软件扫描引擎119(图1)就用相同的恶意软件定义115省略213对虚拟硬盘103(图1)上的未被修改文件117(图1)的不必要的再次扫描。
[0022] 图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)。
[0023] 本领域普通技术人员将懂得,不偏离本发明的精神或本质特征,可按照其它具体方式来实施本发明。同样,各个部分、模块、代理、管理器、组件、功能、步骤、动作、层、特征、属性、操作法、数据结构和其它方面的具体名称和划分不是强制性或重要的,实现本发明或其特征的机制可具有不同的名称、划分和/或格式。此外,对本领域普通技术人员显而易见的是,本发明的各个部分、模块、代理、管理器、组件、功能、步骤、动作、层、特征、属性、操作法、数据结构和其它方面可用软件、硬件、固件或三者的任何组合来实现。如果本发明的组成部分用软件来实现,则该组成部分可用脚本、独立程序、较大程序的一部分、多个单独的脚本和/或程序、静态或动态链接的库、核心可加载模块、设备驱动程序来实现,或者可用计算机编程领域的普通技术人员现在或未来公知的每一种任何其它的方式来实现。此外,本发明绝不受到任何具体编程语言的实现、或着任何具体操作系统或环境的限制。还有,对本领域普通技术人员显而易见的是,如果本发明全部或部分用软件来实现,则本发明的软件组件可作为计算机程序产品被存储在计算机可读存储媒介上。任何形式的有形的计算机可读存储媒介都可在本发明中使用,例如磁或光存储媒介。如在此所使用的,术语“计算机可读存储媒介”不表示与基础物理媒介分离的电信号。再有,本发明的软件部分可在任何计算设备的存储器内用具体例子来说明(例如作为目标代码或可执行图像)。如在此所使用的,术语“计算机”和“计算设备”指被配置和/或被编程为执行所描述的功能度的一台或多台计算机。因此,本发明的公开是举例说明本发明的范围,而不是限制本发明的范围,本发明的范围由所附的权利要求书来确定。