一种硬件资源保护方法和系统以及虚拟机管理器转让专利

申请号 : CN201180058592.7

文献号 : CN103270491B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 俞柏峰

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供了一种硬件资源保护方法和系统以及虚拟机管理器,涉及计算机领域,所述方法包括:虚拟机管理器监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权;虚拟机管理器判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源。所述虚拟机管理器包括:监控模块和判断模块。所述系统包括:虚拟机管理器、硬件资源、和虚拟机。本发明通过上述方案,达到了利用虚拟化技术实现硬件资源保护的目的,摆脱了硬件资源保护对专门硬件设备的依赖,提高了使用灵活度,降低了成本。

权利要求 :

1.一种硬件资源保护方法,其特征在于,所述方法包括:

虚拟机管理器监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权;

虚拟机管理器判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源;

其中,所述虚拟机管理器判断所述应用程序的操作是否合法,具体包括:

虚拟机管理器将所述应用程序的公钥以及所述应用程序提供的私钥进行比对,如果所述公钥和所述私钥相符合,则确定所述应用程序的操作合法,如果所述公钥和所述私钥不符合,则确定所述应用程序的操作非法。

2.根据权利要求1所述的方法,其特征在于,所述虚拟机管理器监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权,具体包括:当所述硬件资源为输入输出地址时,虚拟机管理器监控所述虚拟机管理器所在设备的输入输出地址,当检测到应用程序对所述输入输出地址进行读写操作时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权。

3.根据权利要求1所述的方法,其特征在于,所述虚拟机管理器监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权,具体包括:当所述硬件资源为内存空间时,虚拟机管理器监控控制寄存器,阻止应用程序使用所述控制寄存器对内存空间进行映射,检测到所述应用程序访问所述内存空间时产生缺页异常,并通过设置使预设的退出条件成立,触发虚拟机退出,由所述虚拟机管理器接管系统控制权。

4.根据权利要求3所述的方法,其特征在于,所述通过设置使预设的退出条件成立,具体包括:设置缺页掩码PFEC_MASK和缺页匹配码PFEC_MATCH,当产生缺页异常时,关系式缺页错误码PFEC&PFEC_MASK=PFEC_MATCH成立,&表示与运算。

5.根据权利要求1所述的方法,其特征在于,所述虚拟机管理器判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源之后,所述方法还包括:虚拟机管理器触发虚拟机进入,由虚拟机接管系统控制权。

6.一种虚拟机管理器,其特征在于,所述虚拟机管理器包括:

监控模块,用于监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权;

判断模块,用于判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源;

其中,所述判断模块,具体用于:

将所述应用程序的公钥以及所述应用程序提供的私钥进行比对,如果所述公钥和所述私钥相符合,则确定所述应用程序的操作合法,如果所述公钥和所述私钥不符合,则确定所述应用程序的操作非法。

7.根据权利要求6所述的虚拟机管理器,其特征在于,所述监控模块,具体用于当所述硬件资源为输入输出地址时,监控所述虚拟机管理器所在设备的输入输出地址,当检测到应用程序对所述输入输出地址进行读写操作时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权。

8.根据权利要求6所述的虚拟机管理器,其特征在于,所述监控模块,具体用于当所述硬件资源为内存空间时,监控控制寄存器,阻止应用程序使用所述控制寄存器对内存空间进行映射,检测到所述应用程序访问所述内存空间时产生缺页异常,并通过设置使预设的退出条件成立,触发虚拟机退出。

9.根据权利要求8所述的虚拟机管理器,其特征在于,所述监控模块在通过设置使预设的退出条件成立时,具体用于设置缺页掩码PFEC_MASK和缺页匹配码PFEC_MATCH,当产生缺页异常时,关系式缺页错误码PFEC&PFEC_MASK=PFEC_MATCH成立,&表示与运算。

10.根据权利要求6所述的虚拟机管理器,其特征在于,所述虚拟机管理器还包括:触发模块,用于在所述判断模块允许或禁止所述应用程序访问所述硬件资源之后,触发虚拟机进入,由虚拟机接管系统控制权。

11.一种硬件资源保护系统,其特征在于,所述系统包括:虚拟机管理器、硬件资源、和虚拟机;

所述虚拟机管理器用于监控所述硬件资源,当检测到应用程序访问所述硬件资源时,触发所述虚拟机退出,由所述虚拟机管理器接管系统控制权;并判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源;

其中,所述虚拟机管理器用于将所述应用程序的公钥以及所述应用程序提供的私钥进行比对,如果所述公钥和所述私钥相符合,则确定所述应用程序的操作合法,如果所述公钥和所述私钥不符合,则确定所述应用程序的操作非法。

12.根据权利要求11所述的系统,其特征在于,所述虚拟机管理器包括:监控模块和判断模块;

所述监控模块,用于监控所述硬件资源,当检测到应用程序访问所述硬件资源时,触发所述虚拟机退出,由所述虚拟机管理器接管系统控制权;

所述判断模块,用于判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源。

13.根据权利要求12所述的系统,其特征在于,所述监控模块,具体用于当所述硬件资源为输入输出地址时,监控所述虚拟机管理器所在设备的输入输出地址,当检测到应用程序对所述输入输出地址进行读写操作时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权。

14.根据权利要求12所述的系统,其特征在于,所述监控模块,具体用于当所述硬件资源为内存空间时,监控控制寄存器,阻止应用程序使用所述控制寄存器对内存空间进行映射,使所述应用程序访问所述内存空间时产生缺页异常,并通过设置使预设的退出条件成立,触发虚拟机退出。

15.根据权利要求14所述的系统,其特征在于,所述监控模块在通过设置使预设的退出条件成立时,具体用于设置缺页掩码PFEC_MASK和缺页匹配码PFEC_MATCH,当产生缺页异常时,关系式缺页错误码PFEC&PFEC_MASK=PFEC_MATCH成立,&表示与运算。

16.根据权利要求12-15任一项所述的系统,其特征在于,所述判断模块,具体用于将所述应用程序的公钥以及所述应用程序提供的私钥进行比对,如果所述公钥和所述私钥相符合,则确定所述应用程序的操作合法,如果所述公钥和所述私钥不符合,则确定所述应用程序的操作非法。

17.根据权利要求12所述的系统,其特征在于,所述虚拟机管理器还包括:触发模块,用于在所述判断模块允许或禁止所述应用程序访问所述硬件资源之后,触发虚拟机进入,由虚拟机接管系统控制权。

说明书 :

一种硬件资源保护方法和系统以及虚拟机管理器

技术领域

[0001] 本发明涉及计算机领域,特别涉及一种硬件资源保护方法和系统以及虚拟机管理器。

背景技术

[0002] 计算机中有很多硬件资源,如IO(Input Output,输入输出)地址、内存空间等。为了使计算机系统稳定、安全的运行,需要采取措施对其硬件资源进行有效的保护。
[0003] 目前通常采用专门的硬件对硬件资源进行保护,例如采用硬盘保护卡对硬盘进行保护。硬盘保护卡的主体是一种硬件芯片,插在主板上与硬盘的主引导扇区协同工作。其工作原理如下:硬盘保护卡在系统启动时接管对硬盘进行读写操作的一个INT13中断,将FAT(File Allocation Table,文件配置表)、引导区、CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)信息、原始的中断向量表等信息都保存到卡内的临时储存单元中或保存在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表,然后在硬盘中找到一部分连续的空磁盘空间,将用户修改的数据保存到其中。这样当用户向硬盘写入数据时,没有真正修改硬盘中的FAT,而是写到了备份的FAT表中,系统每次重新启动时,硬盘保护卡都能让硬盘恢复先前的内容,从而达到对硬盘保护的目的。
[0004] 可见,上述技术需要借助硬盘保护卡等专门硬件设备对硬件资源进行保护,因此,使用不够灵活,成本也比较高。

发明内容

[0005] 为了摆脱硬件资源保护对专门硬件设备的依赖,本发明实施例提供了一种硬件资源保护方法和系统以及虚拟机管理器。所述技术方案如下:
[0006] 一种硬件资源保护方法,所述方法包括:
[0007] 虚拟机管理器监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权;
[0008] 虚拟机管理器判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源。
[0009] 一种虚拟机管理器,所述虚拟机管理器包括:
[0010] 监控模块,用于监控硬件资源,当检测到应用程序访问所述硬件资源时,触发虚拟机退出,由所述虚拟机管理器接管系统控制权;
[0011] 判断模块,用于判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源。
[0012] 一种硬件资源保护系统,所述系统包括:虚拟机管理器、硬件资源、和虚拟机;
[0013] 所述虚拟机管理器用于监控所述硬件资源,当检测到应用程序访问所述硬件资源时,触发所述虚拟机退出,由所述虚拟机管理器接管系统控制权;并判断所述应用程序的操作是否合法,如果合法,允许所述应用程序访问所述硬件资源,如果非法,禁止所述应用程序访问所述硬件资源。
[0014] 本发明实施例提供的技术方案的有益效果是:
[0015] 通过虚拟机管理器监控硬件资源,当检测到应用程序访问硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权,然后判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源,达到了利用虚拟化技术实现硬件资源保护的目的,摆脱了硬件资源保护对专门硬件设备的依赖,提高了使用灵活度,降低了成本。

附图说明

[0016] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1是本发明实施例1提供的硬件资源保护方法流程图;
[0018] 图2是本发明实施例1提供的对于输入输出地址的硬件资源保护方法流程图;
[0019] 图3是本发明实施例1提供的对于内存空间的硬件资源保护流程图;
[0020] 图4是本发明实施例2提供的虚拟机管理器结构示意图;
[0021] 图5是本发明实施例2提供的虚拟机管理器另一结构示意图;
[0022] 图6是本发明实施例3提供的硬件资源保护系统结构示意图。

具体实施方式

[0023] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0024] 实施例1
[0025] 参见图1,本实施例提供了一种硬件资源保护方法,该方法包括:
[0026] 101:虚拟机管理器监控硬件资源,当检测到应用程序访问该硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权;
[0027] 需要说明的是,虚拟机管理器运行于根模式,虚拟机运行于非根模式,虚拟机退出是指由非根模式切换到根模式,同时系统控制权转移,由虚拟机管理器接管系统控制权。
[0028] 102:虚拟机管理器判断该应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源。
[0029] 其中,本实施例涉及的硬件资源可以是输入输出地址、或内存空间等。下面分别说明上述方法对于输入输出地址和内存空间的保护过程。
[0030] 参见图2,当硬件资源是输入输出地址时,硬件资源保护方法包括以下步骤:
[0031] 201:虚拟机管理器监控虚拟机管理器所在设备的输入输出地址,当检测到应用程序对输入输出地址进行读写时,触发虚拟机退出,由虚拟机管理器接管系统控制权;
[0032] 需要说明的是,虚拟机管理器运行于根模式,虚拟机运行于非根模式,虚拟机退出是指由非根模式切换到根模式,同时系统控制权转移,由虚拟机管理器接管系统控制权。
[0033] 其中,输入输出地址可以是系统中特定的输入输出地址,或者也可以是系统中所有的输入输出地址。
[0034] 202:虚拟机管理器判断该应用程序的操作是否合法;
[0035] 具体的,虚拟机管理器将该应用程序的公钥以及该应用程序提供的私钥进行比对,如果符合,则确定该应用程序的操作合法,如果不符合,则确定该应用程序的操作非法。
[0036] 203:如果合法,允许应用程序访问该输入输出地址,如果非法,禁止应用程序访问该输入输出地址。
[0037] 进一步,步骤203之后,虚拟机管理器触发虚拟机进入,由虚拟机接管系统控制权。需要说明的是,虚拟机进入是指由根模式切换到非根模式,同时系统控制权转移,由虚拟机接管系统控制权。
[0038] 参见图3,当硬件资源为内存空间时,硬件资源保护方法包括以下步骤:
[0039] 301:虚拟机管理器监控控制寄存器,阻止应用程序使用该控制寄存器对内存空间进行映射,检测到该应用程序访问该内存空间时产生缺页异常;
[0040] 其中,控制寄存器(Control Register,CR)具体可以是CR3。
[0041] 302:虚拟机管理器通过设置使预设的退出条件成立,触发虚拟机退出,由虚拟机管理器接管系统控制权;
[0042] 具体的,虚拟机管理器设置PFEC_MASK和PFEC_MATCH,当产生缺页异常时,关系式PFEC&PFEC_MASK=PFEC_MATCH成立,触发虚拟机退出,由虚拟机管理器接管系统控制权。
[0043] 其中,&表示与运算,PFEC表示(Page Fault Error Code,缺页错误码),PFEC_MASK表示缺页掩码,PFEC_MATCH表示缺页匹配码。例如,可以将PFEC_MASK和PFEC_MATCH都设置为0,则产生缺页异常时上述关系式成立,从而触发虚拟机退出,由虚拟机管理器接管系统控制权。
[0044] 需要说明的是,虚拟机管理器运行于根模式,虚拟机运行于非根模式,虚拟机退出是指由非根模式切换到根模式,同时系统控制权转移,由虚拟机管理器接管系统控制权。
[0045] 303:虚拟机管理器判断该应用程序的操作是否合法;
[0046] 具体的,虚拟机管理器将该应用程序的公钥以及该应用程序提供的私钥进行比对,如果符合,则确定该应用程序的操作合法,如果不符合,则确定该应用程序的操作非法。
[0047] 304:如果合法,允许应用程序访问内存空间,如果非法,禁止应用程序访问内存空间。
[0048] 进一步,步骤304之后,虚拟机管理器触发虚拟机进入,由虚拟机接管系统控制权。需要说明的是,虚拟机进入是指由根模式切换到非根模式,同时系统控制权转移,由虚拟机接管系统控制权。
[0049] 本实施例通过虚拟机管理器监控硬件资源,当检测到应用程序访问硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权,然后判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源,达到了利用虚拟化技术实现硬件资源保护的目的,摆脱了硬件资源保护对专门硬件设备的依赖,提高了使用灵活度,降低了成本。
[0050] 实施例2
[0051] 参见图4,本实施例提供了一种虚拟机管理器,虚拟机管理器包括:
[0052] 监控模块401,用于监控硬件资源,当检测到应用程序访问硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权;
[0053] 判断模块402,用于判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源。
[0054] 当硬件资源为输入输出地址时,监控模块401,具体用于监控虚拟机管理器所在设备的输入输出地址,当检测到应用程序对输入输出地址进行读写操作时,触发虚拟机退出,由虚拟机管理器接管系统控制权。
[0055] 其中,输入输出地址可以是系统中特定的输入输出地址,或者也可以是系统中所有的输入输出地址。
[0056] 当硬件资源为内存空间时,监控模块401,具体用于监控控制寄存器,阻止应用程序使用控制寄存器对内存空间进行映射,检测到应用程序访问内存空间时产生缺页异常,并通过设置使预设的退出条件成立,触发虚拟机退出。
[0057] 监控模块401在通过设置使预设的退出条件成立时,具体用于
[0058] 设置缺页掩码PFEC_MASK和缺页匹配码PFEC_MATCH,当产生缺页异常时,关系式缺页错误码PFEC&PFEC_MASK=PFEC_MATCH成立,&表示与运算。
[0059] 例如,可以将PFEC_MASK和PFEC_MATCH都设置为0,则产生缺页异常时上述关系式成立,从而触发虚拟机退出。其中,控制寄存器具体可以是CR3。
[0060] 具体的,判断模块402,具体用于将应用程序的公钥以及应用程序提供的私钥进行比对,如果符合,确定应用程序的操作合法,如果不符合,确定应用程序的操作非法。
[0061] 进一步,参见图5,虚拟机管理器还包括:触发模块403,用于在判断模块402允许或禁止应用程序访问硬件资源之后,触发虚拟机进入,由虚拟机接管系统控制权。
[0062] 需要说明的是,虚拟机管理器运行于根模式,虚拟机运行于非根模式,虚拟机退出是指由非根模式切换到根模式,同时系统控制权转移,由虚拟机管理器接管系统控制权。虚拟机进入是指由根模式切换到非根模式,同时系统控制权转移,由虚拟机接管系统控制权。
[0063] 本实施例提供的虚拟机管理器与方法实施例中的虚拟机管理器属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0064] 本实施例提供的虚拟机管理器通过监控硬件资源,当检测到应用程序访问硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权,然后判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源,达到了利用虚拟化技术实现硬件资源保护的目的,摆脱了硬件资源保护对专门硬件设备的依赖,提高了使用灵活度,降低了成本。
[0065] 实施例3
[0066] 参见图6,本实施例提供了一种硬件资源保护系统,该系统包括:虚拟机管理器40、硬件资源30、和虚拟机20;
[0067] 虚拟机管理器40用于监控硬件资源30,当检测到应用程序访问硬件资源30时,触发虚拟机20退出,由虚拟机管理器40接管系统控制权;并判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源30,如果非法,禁止应用程序访问硬件资源30。
[0068] 虚拟机管理器40包括:监控模块401和判断模块402;
[0069] 监控模块401,用于监控硬件资源30,当检测到应用程序访问硬件资源30时,触发虚拟机20退出,由虚拟机管理器40接管系统控制权;
[0070] 判断模块402,用于判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源30,如果非法,禁止应用程序访问硬件资源30。
[0071] 当硬件资源30为输入输出地址时,监控模块401,具体用于监控虚拟机管理器所在设备的输入输出地址,当检测到应用程序对输入输出地址进行读写操作时,触发虚拟机20退出,由虚拟机管理器接管系统控制权。
[0072] 其中,输入输出地址可以是系统中特定的输入输出地址,或者也可以是系统中所有的输入输出地址。
[0073] 当硬件资源30为内存空间时,监控模块401,具体用于监控控制寄存器,阻止应用程序使用控制寄存器对内存空间进行映射,使应用程序访问内存空间时产生缺页异常,并通过设置使预设的退出条件成立,触发虚拟机20退出。
[0074] 监控模块401在通过设置使预设的退出条件成立时,具体用于
[0075] 设置缺页掩码PFEC_MASK和缺页匹配码PFEC_MATCH,当产生缺页异常时,关系式缺页错误码PFEC&PFEC_MASK=PFEC_MATCH成立,&表示与运算。
[0076] 例如,可以将PFEC_MASK和PFEC_MATCH都设置为0,则产生缺页异常时上述关系式成立,从而触发虚拟机退出。其中,控制寄存器具体可以是CR3。
[0077] 具体的,判断模块402,具体用于将应用程序的公钥以及应用程序提供的私钥进行比对,如果符合,确定应用程序的操作合法,如果不符合,确定应用程序的操作非法。
[0078] 进一步,虚拟机管理器还包括:触发模块403,用于在判断模块402允许或禁止应用程序访问硬件资源之后,触发虚拟机进入,由虚拟机接管系统控制权。
[0079] 需要说明的是,虚拟机管理器运行于根模式,虚拟机运行于非根模式,虚拟机退出是指由非根模式切换到根模式,同时系统控制权转移,由虚拟机管理器接管系统控制权。虚拟机进入是指由根模式切换到非根模式,同时系统控制权转移,由虚拟机接管系统控制权。
[0080] 本实施例提供的虚拟机管理器、硬件资源、虚拟机分别与方法实施例中的虚拟机管理器、硬件资源、虚拟机属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0081] 本实施例提供的系统,通过虚拟机管理器监控硬件资源,当检测到应用程序访问硬件资源时,触发虚拟机退出,由虚拟机管理器接管系统控制权,然后判断应用程序的操作是否合法,如果合法,允许应用程序访问硬件资源,如果非法,禁止应用程序访问硬件资源,达到了利用虚拟化技术实现硬件资源保护的目的,摆脱了硬件资源保护对专门硬件设备的依赖,提高了使用灵活度,降低了成本。
[0082] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0083] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。