CN103177212B - 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 - Google Patents
一种基于轻量虚拟机监控器的计算机安全输入系统与方法 Download PDFInfo
- Publication number
- CN103177212B CN103177212B CN201310075029.1A CN201310075029A CN103177212B CN 103177212 B CN103177212 B CN 103177212B CN 201310075029 A CN201310075029 A CN 201310075029A CN 103177212 B CN103177212 B CN 103177212B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- dog
- program
- operating system
- protected program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 6
- 238000012905 input function Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- QZXCCPZJCKEPSA-UHFFFAOYSA-N chlorfenac Chemical compound OC(=O)CC1=C(Cl)C=CC(Cl)=C1Cl QZXCCPZJCKEPSA-UHFFFAOYSA-N 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
公开了一种基于轻量级虚拟机监控器的计算机安全输入系统,该系统包括支持硬件虚拟化的处理器和可信计算芯片,所述系统还包括客户端模块和轻量级虚拟机监控器;其中所述客户端模块是加载到客户操作系统中的模块,该模块包括下面的子模块:程序启动监控子模块、轻量级虚拟机监控器加载子模块和操作系统I/O代理子模块;和其中所述轻量级虚拟机监控器包括:安全输入模块,程序完整性保护模块、系统完整性保护模块和可信芯片管理模块。还公开了一种基于轻量级虚拟机监控器的计算机安全输入方法。
Description
技术领域
本发明属于计算机安全领域,具体涉及一种基于轻量虚拟机监控器的计算机安全输入系统与方法。
背景技术
随着计算机技术的飞速发展,计算机已经成为人们社交和进行经济活动的主要平台。然而自从计算机问世以来,计算机安全问题就一直伴随着计算机的发展而存在。在利益的驱使下,利用计算机输入的安全漏洞获取他人的私密信息是计算机安全面临的严峻挑战。造成这种情况的一个重要原因是,传统的计算机安全输入的方法与系统依赖于操作系统作为可信基,对输入信息的处理在操作系统的监控下完成,而操作系统的代码庞大,漏洞多,输入输出系统的安全性得不到保证。
CN101075188A公开了基于虚拟机的安全输入方法,在该方法中,当应用程序需要安全的输入时,直接调用虚拟机提供的安全输入接口,并把自身的输入缓冲区的地址和长度作为参数传入,虚拟机监视器把收到的键盘输入信息转换为键值后直接放入应用程序的输入缓冲区,避免了其它应用通过各种过滤驱动和键盘钩子获得用户的输入,提高了用户输入的安全性。
CN101136045A公开一种虚拟机系统,包括硬件设备、客户操作系统、服务操作系统以及虚拟机监视器,其特征在于,服务操作系统包括:键盘驱动模块,用于在接收到键盘中断后采集原始的键盘输入;以及输入加密模块,用于根据键盘驱动模块采集的原始的键盘输入,获得对应的加密后的键盘输入;客户操作系统包括:键盘驱动模块,用于获取输入加密模块加密后的键盘输入;以及解密模块,用于对键盘驱动模块获取的加密后的键盘输入进行解密,获得原始的键盘输入。
CN102195940A公开种基于虚拟机技术安全输入和提交数据的方法和系统。该系统由虚拟机监视器(VMM)、用户输入管理程序、用户操作系统、用户操作系统中的客户端软件、服务端组成,实现了安全输入和提交数据;虚拟机监视器(VMM)负责控制用户操作系统对物理硬件的访问,并使其无法访问特定硬件资源,只允许所述用户输入管理程序使用所述的特定硬件资源;用户输入管理程序负责为用户操作系统中的客户端软件提供用户数据输入服务、用户数据加密服务等服务;用户操作系统中的客户端软件负责与为用户输入管理程序提供上述功能的接口,并将经过加密的用户数据提交至服务端;服务端负责直接使用上述加密的用户数据或对其进行解密后使用。
CN102103671A公开了用于执行安全环境起始指令的系统和方法,描述了在微处理器系统内启动安全操作的方法和装置。在一个实施方案中,一个启动逻辑处理器通过停止其它逻辑处理器的执行,然后把起始和安全虚拟机监控软件载入存储器,来启动该过程。启动处理器然后把起始软件载入安全存储器进行验证和执行。起始软件然后在安全系统操作之前验证和记录安全虚拟机监控软件。
CN101436966A公开一种虚拟机环境下的网络监控与分析系统,其特征在于:它包括位于主机操作系统内的网络数据多路复用模块和轻量级虚拟机管理器模块,位于主机操作系统之上的虚拟机控制模块和服务虚拟机模块,以及位于主机操作系统和服务虚拟机内的I/O访问路径优化模块。
US2006294518A1披露了具有轻量级虚拟机管理器的虚拟机主机(Virtualmachine(VM)hosthaslightweightvirtualmachinemanager(LVMM)whichiscapableofexposingdevicestoprimaryVMandidentifiesprimaryVMasVMthatutilizesmoreresourcesonVMhostthanotherVMsonVMhost)。
计算机虚拟化技术的发展为解决计算机输入的安全问题提供了新的途径,虚拟机架构隔离了软件与硬件、应用软件与底层系统之间的直接依赖关系。相比于操作系统,虚拟机监控器代码量小、漏洞少。虚拟机监控器能提供比操作系统更强的安全隔离,并具有能模拟特殊硬件设备等优点。同时,在虚拟化架构中,虚拟机监控器位于操作系统下层,拥有比Ring0更高的特权级,可以监控操作系统的行为。
基于虚拟化技术的优点,本发明提出的一种基于轻量虚拟机监控器的计算机安全输入系统与方法,能更好的保护计算机输入的安全。
发明内容
针对现有计算机安全输入系统与方法中存在的诸多问题,本发明提供了一种基于轻量虚拟机监控器的计算机安全输入系统与方法,本方法通过动态地加载轻量虚拟机监控器透明地监控操作系统的行为来完成输入信息,不需要对计算机操作系统和应用程序做任何修改。
本发明系统要求主机具有TCPA(TrustedComputingPlatformAlliance)的TPM芯片或者符合中国可信密码模块规范的TCM芯片,以及支持硬件虚拟化的处理器(硬件辅助虚拟化处理器)。
本发明的计算机安全输入系统由客户端模块和轻量虚拟机监控器(LightweightVirtualMachineMonitor,下面简称LVMM)两部分构成。
客户端模块包括:程序启动监控子模块、轻量虚拟机监控器(LVMM)加载子模块、操作系统I/O代理子模块。
轻量虚拟机监控器包括:安全输入模块、可信芯片管理模块、程序完整性保护模块、系统完整性保护模块。
客户端模块在操作系统启动时加载到客户操作系统的内核,其中程序启动监控子模块接受被保护应用程序的注册,并监控被保护应用程序的启动,在被保护应用程序启动时,调用LVMM加载子模块;LVMM加载子模块调用硬件虚拟化的扩展指令将宿主操作系统迁移到轻量虚拟机监控器之上;操作系统I/O代理子模块是被保护程序与LVMM的安全输入模块之间传输信息的桥梁,把被保护程序的输入信息从LVMM中传送到被保护程序中。
轻量虚拟机监控器完成输入信息的保护,其中安全输入模块负责接收被保护程序的输入及与操作系统I/O代理子模块之间传输信息;可信芯片管理模块按照TPM规范或者TCM规范实现对TPM或TCM安全芯片的访问和管理;程序完整性保护模块负责验证被保护程序的完整性,生成被保护程序的完整性签名,并保护正在运行的程序不被恶意的修改;系统完整性保护模块负责验证被保护程序进行输入期间操作系统的完整性。
根据本发明的第一个实施方案,提供一种基于轻量级虚拟机监控器的计算机安全输入系统,该系统包括支持硬件虚拟化的处理器和可信计算芯片,所述系统还包括:
客户端模块和轻量级虚拟机监控器;
其中所述客户端模块是加载到客户操作系统中的模块,该模块包括下面的子模块:程序启动监控子模块、轻量级虚拟机监控器加载子模块和操作系统I/O代理子模块;和
其中所述轻量级虚拟机监控器包括安全输入模块。
优选地,所述程序启动监控子模块接受被保护应用程序的注册,并监控被保护应用程序的启动,在被保护应用程序启动时,(系统)调用轻量级虚拟机监控器加载子模块。
优选地,所述轻量级虚拟机监控器加载模块能够调用硬件虚拟化的扩展指令,将宿主操作系统迁移到轻量虚拟机监控器之上。
一般来说,所述操作系统I/O代理子模块是被保护程序与轻量虚拟机监控器的安全输入模块之间传输信息的桥梁,把被保护程序的输入信息从轻量虚拟机监控器中传送到被保护程序中。
优选地,所述安全输入模块负责接收被保护程序的输入及与操作系统I/O代理子模块之间传输信息。
根据优选的实施方案,该系统还包括:程序完整性保护模块。所述程序完整性保护模块负责验证被保护程序的完整性,生成被保护程序的完整性签名,并保护正在运行的程序不被恶意的修改。
根据进一步优选的实施方案,该系统还包括:系统完整性保护模块。所述系统完整性保护模块负责验证被保护程序进行输入期间操作系统的完整性。
根据再进一步优选的实施方案,该系统还包括:可信芯片管理模块。所述可信芯片管理模块按照TPM规范或者TCM规范实现对TPM或TCM安全芯片的访问和管理。
也就是说,以上所述轻量级虚拟机监控器还包括:程序完整性保护模块;或
程序完整性保护模块和系统完整性保护模块;或
程序完整性保护模块、系统完整性保护模块和可信芯片管理模块。
根据本发明的第二个实施方案,本发明提供一种基于轻量级虚拟机监控器的计算机安全输入方法,所述方法包括以下步骤:
(1)、监控被保护程序的启动,优选的是由加载到客户操作系统中的客户端模块中的程序启动监控子模块来监控被保护程序的启动;
(2)、当被保护程序启动时,(例如由计算机安全输入系统)加载轻量级虚拟机监控器(LVMM);
(3)、轻量级虚拟机监控器监控客户操作系统的I/O操作;
(4)、当监控到被保护程序的输入操作时,被保护程序的输入信息由轻量级虚拟机监控器负责接收;
(5)、(例如轻量级虚拟机监控器)将被保护程序的输入信息传输给被保护程序;或
(5’)、所述的轻量级虚拟机监控器验证被保护程序和/或操作系统的完整性,在被保护程序的完整性和/或操作系统的完整性通过验证后,(例如轻量级虚拟机监控器)将被保护程序的输入信息传输给被保护程序;
和
(6)、在被保护程序退出后,(例如由计算机安全输入系统)撤销轻量级虚拟机监控器;或,优选的是,在被保护程序退出后,轻量级虚拟机监控器(LVMM)先清除被保护程序的所有输入信息,然后(例如由计算机安全输入系统)撤销轻量级虚拟机监控器。
以上所述的系统是上述方法所专用的。
这里所述的轻量级虚拟机监控器是指为了完成安全输入功能的特定虚拟机监控器,不具备创建多个虚拟机的能力。
需要指出的是,“所述的轻量级虚拟机监控器验证被保护程序和/或操作系统的完整性,在被保护程序的完整性和/或操作系统的完整性通过验证后,将被保护程序的输入信息传输给被保护程序”包括以下三种方案:a)、所述的轻量级虚拟机监控器验证被保护程序的完整性,在被保护程序的完整性通过验证后,将被保护程序的输入信息传输给被保护程序;b)、所述的轻量级虚拟机监控器验证操作系统的完整性,在操作系统的完整性通过验证后,将被保护程序的输入信息传输给被保护程序;或c)、所述的轻量级虚拟机监控器验证被保护程序和操作系统的完整性,在被保护程序和操作系统各自的完整性通过验证后,将被保护程序的输入信息传输给被保护程序。
一般来说,轻量级虚拟机监控器将被保护程序的输入信息传输给被保护程序,是通过在操作系统I/O代理的方式实现的。
所述操作系统I/O代理的方式是指被保护程序通过操作系统I/O代理接受输入设备传输的信息,而操作系统I/O代理从轻量级虚拟机监控器中获取输入设备的信息。
优选地,所述的“轻量级虚拟机监控器验证被保护程序的完整性”包括:在被保护程序启动时,验证其代码段的完整性。
进一步优选地,所述的“轻量级虚拟机监控器验证被保护程序的完整性”包括在被保护程序运行时,保护其代码段完整性。
优选,所述的“轻量级虚拟机监控器验证被保护程序的完整性”的操作包括在被保护程序启动时,验证其代码段的完整性;和/或,在被保护程序运行时,保护其代码段完整性。
一般,所述的轻量级虚拟机监控器验证操作系统的完整性,是指在将轻量级虚拟机监控器接收的被保护程序输入数据提交给被保护程序时,对操作系统核心程序关键代码的完整性进行验证。
一般来说,以上所述的操作系统核心程序关键代码依赖于或取决于具体的操作系统,是指或主要指能够读写被保护程序内存区域的代码部分。
根据本发明的以上第二个或另外更具体的实施方案,本发明提供基于轻量虚拟机监控器的计算机安全输入方法,该方法包括以下步骤:
1.监控被保护程序的启动,被保护程序启动时,加载轻量级虚拟机监控器(LVMM)。
1.1以上步骤1中的轻量级虚拟机监控器例如是指为了完成安全输入功能的特定虚拟机监控器,而不是为了资源隔离目的,构造多个虚拟机的通用虚拟机监控器。
2.LVMM监控客户操作系统的I/O操作,当监控到被保护程序的输入操作,被保护程序的输入信息由LVMM负责接收。
3.LVMM验证被保护程序的完整性和/或操作系统的完整性。在被保护程序和/或操作系统各自的完整性通过验证后,将被保护程序的输入信息,传输给被保护程序。
3.1步骤3中LVMM验证和保护被保护程序的完整性,包括1)在被保护程序启动时,验证其代码段的完整性;和/或2)在被保护程序运行时,保护其代码段完整性。
3.2步骤3中LVMM验证操作系统的完整性,是指在将LVMM接收的被保护程序输入数据提交给被保护程序时,对操作系统核心程序关键代码的完整性进行验证。
3.2.13.2中操作系统核心程序关键代码依赖于具体的操作系统,是指或主要指能够读写被保护程序内存区域的代码部分。
3.3步骤3中LVMM将被保护程序的输入信息传输给被保护程序,是通过在操作系统I/O代理的方式来实现的。
3.3.1操作系统I/O代理的方式是指被保护程序通过操作系统I/O代理接受输入设备传输的信息。而操作系统I/O代理从LVMM中获取输入设备的信息。
4.当被保护程序退出后,LVMM清除被保护程序所有输入信息。
5.撤销轻量级虚拟机监控器。
本发明的目的是利用轻量虚拟机监控器透明地实现计算机输入信息的加、解密,从而提高计算机输入信息的安全性。
同现有的方式相比,本发明的优点有:1、本发明不需要修改原有的客户操作系统和应用程序,通过轻量级虚拟机监控器透明地监控操作系统的行为来实现输入信息的安全性。2、轻量虚拟机监控器可以在操作系统启动后根据需要动态地加载,未加载时不影响系统的性能;3、轻量虚拟机监控器位于操作系统下层,代码量小、漏洞少使整个系统更加安全。
附图说明
图1是基于轻量虚拟机监控器的计算机安全输入系统结构示意图;
图2是程序动态完整性保护流程图;
图3是基于轻量级虚拟机监控器的安全输入处理流程图。
具体实施方式
为了更清楚的描述本发明的特征和优点,下面结合附图,做详细的说明如下:
在本实施例中,以Intel-VT(IntelVirtualizationTechnology,即Intel辅助虚拟化技术)和TCM为例,支持Intel—VT硬件辅助虚拟化的处理器引入了两个新的处理器状态:VMX(VirtualMachineExtensions)根模式(RootMode)和VMX非根模式(Non-RootMode)。虚拟机监控器(VMM)运行在VMX根模式,客户操作系统采用的Linux系统。客户操作系统从VMX非根模式进入VMX根模式称为虚拟机退出(VMExit),从VMX根模式进入VMX非根模式称为虚拟机进入(VMEntry),虚拟机的退出和进入由虚拟机控制结构(VirtualMachineControlStructure,VMCS)控制。
基于轻量虚拟机监控器的计算机安全输入系统结构如图1所示:其中加载到客户操作系统中的模块包括:程序启动监控子模块、轻量虚拟机监控器(LVMM)加载子模块、操作系统I/O代理子模块。
程序启动监控子模块:在操作系统启动时加载到操作系统内核,接受应用程序的注册,并由它监视已注册应用程序的启动。当监视模块检测到已注册程序开始启动时,调用LVMM启动模块加载轻量虚拟机监控器,并由轻量虚拟机监控器中的完整性验证模块(静态完整性即程序未运行时的完整性)对被保护程序做哈希操作,并把运算结果保存在TCM中作为程序的完整性签名。
LVMM启动模块:根据需要调用硬件虚拟化的扩展指令动态地将运行中的宿主操作系统迁移到轻量虚拟机监控器之上,而无须先启动虚拟机监视器再启动虚拟机中安装的操作系统。从而使得轻量虚拟机监控器可以根据需要方便的加载。
具体的,以Intel的启动方式为例加以说明,LVMM启动模块通过设置CR4控制寄存器中相应的控制位来启动VMX模式。在以4-KByte为边界对齐的内存上创建VMXON区域,并通过传递VMXON区域的物理地址执行VMXON指令;执行VMXON指令后,处理器的控制权交给LVMM,然后由LVMM在VMON区域上创建VMCS;接着,LVMM为客户操作系统创建影子页表,设置DMA的保护范围;最后,LVMM通过执行VMLAUNCH指令将原有操作系统透明的迁移到LVMM上作为客户操作系统。从而完成轻量虚拟机监控器(LVMM)的启动。
操作系统I/O代理子模块将LVMM中保存的被保护程序的输入信息传递给被保护程序。具体来讲,LVMM加载后,其运行于VMX根态,通过共享内存的方式将被LVMM接收的被保护程序的数据,从位于VMX根态的LVMM传递给位于客户操作系统的操作系统I/O代理子模块。而操作系统I/O代理子模块通过钩子函数在被保护程序从操作系统中获取输入信息时,将从LVMM中获取的输入信息传递给被保护程序。
安全输入模块:接收被保护程序从输入设备输入的信息,将这些信息存入LVMM管理的内存区域。具体来讲通过VMCS使操作系统的I/O操作产生虚拟机退出,从而检查是否是被保护程序的输入操作,如果是,安全输入模块接收输入信息。
安全芯片管理模块:提供TCM安全芯片的管理和应用程序访问TCM芯片的接口。用于控制TCM中取出程序及操作系统的原始的哈希值。
程序完整性验证模块:验证程序的代码完整性,即检验程序是否被其它程序修改,并在被保护程序启动时生成目标程序的完整性签名。用于保护目标程序运行时的完整性,即在被保护程序运行时,保护目标程序的代码和数据不被恶意的修改。
具体的,在检测模块检测到目标程序启动时,加载轻量虚拟机监控器,并由轻量虚拟机监控器中的程序完整性保护模块生成目标程序的完整性签名,保存在TCM中,供以后验证目标程序的完整性时使用。在验证目标程序的完整性时,利用程序静态完整性验证模块对目标程序做哈希操作(本实施例中使用MD5算法),并用得到的哈希(Hash)值和保存在TCM中的完整性签名作对比。若匹配,则目标程序完整,否则程序已被修改,不再完整。
程序动态完整性保护处理流程图如图2所示,在保护的过程中,由程序完整性验证模块检测CR3是否指向受保护进程的页目录基址,如果是,就可以正常操作,容许对目标进程页的内容进行修改,若不是,轻量虚拟机监控器就修改对这些内存页的操作权限,使得其它进程只能读这些页面的内容而不能修改。
系统完整性验证模块:用来确保客户操作系统(GuestOS)的安全性。具体的,系统完整性验证模块周期性的检测客户操作系统(GuestOS)核心程序关键代码在内存中映射的完整性,来确定客户操作系统(GuestOS)核心程序关键代码的有效性。其中客户操作系统(GuestOS)的核心程序包括(键盘驱动和中断处理程序等),客户操作系统(GuestOS)的核心数据包括系统服务描述表(SSDT),中断描述表(IDT),I/O请求分配表(IRPRequestDispatch)和导入/导出地址表(IAT/EAT)等。
本发明系统的信息处理流程具体如附图3所示,该计算机安全输入系统的程序启动监控子模块检测到目标程序启动时,加载LVMM。LVMM加载后,通过设置VMCS使,客户操作系统的I/o操作产生虚拟机退出,从而检查是否是被保护程序的输入操作。当检测到被保护信息输入时,由安全输入模块接收输入信息,并及时清除缓冲区中的内容。程序完整性保护模块验证目标程序和客户操作系统的完整性,若完整,则虚拟机进入,被保护程序的输入信息由操作系统I/O代理子模块传输给应用程序,否则关闭目标程序,清除输入信息。其中可信芯片管理模块管理TCM中被保护程序和客户操作系统的完整性信息。在目标程序对输入信息进行验证时,由程序完整性保护模块保护目标程序运行时的完整性。在这个过程中,系统完整性保护模块周期性的检验系统核心程序关键代码在内存中的完整性。
输入信息可以由用户通过敲击键盘产生,或通过触摸屏等其它输入设备产生。受保护应用程序可以是一个接受用户安全输入的应用程序,比如QQ、网游客户端、网银客户端、邮件客户端等。
上面是本发明提供的一种基于轻量虚拟机监控器的计算机安全输入系统的优选实施方式,并不构成对本发明的保护权限,任何在本发明上的改进,只要原理相同,都保含在本发明的权利要求保护范围之内。
Claims (10)
1.一种基于轻量级虚拟机监控器的计算机安全输入方法,所述方法包括以下步骤:
(1)、监控被保护程序的启动;
(2)、当被保护程序启动时,加载轻量级虚拟机监控器(LVMM);
(3)、轻量级虚拟机监控器监控客户操作系统的I/O操作;
(4)、当监控到被保护程序的输入操作时,被保护程序的输入信息由轻量级虚拟机监控器负责接收;
(5)、将被保护程序的输入信息传输给被保护程序;或
(5’)、所述的轻量级虚拟机监控器验证被保护程序和/或操作系统的完整性,在被保护程序的完整性和/或操作系统的完整性通过验证后,将被保护程序的输入信息传输给被保护程序;
和
(6)、在被保护程序退出后,撤销轻量级虚拟机监控器;或,在被保护程序退出后,轻量级虚拟机监控器(LVMM)先清除被保护程序的所有输入信息,然后撤销轻量级虚拟机监控器;
其中,轻量级虚拟机监控器将被保护程序的输入信息传输给被保护程序,并且是通过在操作系统I/O代理的方式实现的;
所述操作系统I/O代理的方式是指被保护程序通过操作系统I/O代理接受输入设备传输的信息,而操作系统I/O代理从轻量级虚拟机监控器中获取输入设备的信息。
2.根据权利要求1所述的安全输入方法,其特征在于:所述的轻量级虚拟机监控器是指为了完成安全输入功能的特定虚拟机监控器,它不具备创建多个虚拟机的能力。
3.根据权利要求2所述的安全输入方法,其特征在于:所述的轻量级虚拟机监控器验证被保护程序的完整性的操作包括在被保护程序启动时验证其代码段的完整性,和/或,在被保护程序运行时保护其代码段完整性。
4.根据权利要求1-3中任何一项所述的安全输入方法,其特征在于:所述的轻量级虚拟机监控器验证操作系统的完整性的操作是指在将轻量级虚拟机监控器接收的被保护程序的输入数据提交给被保护程序时,对操作系统核心程序关键代码的完整性进行验证。
5.根据权利要求4所述的安全输入方法,其特征在于:所述的操作系统核心程序关键代码依赖于或取决于具体的操作系统,是指或主要指能够读写被保护程序内存区域的代码部分。
6.一种基于轻量级虚拟机监控器的计算机安全输入系统,该系统包括支持硬件虚拟化的处理器和可信计算芯片,其特征在于所述系统还包括:
客户端模块和轻量级虚拟机监控器;
其中所述客户端模块是加载到客户操作系统中的模块,该模块包括下面的子模块:程序启动监控子模块、轻量级虚拟机监控器加载子模块和操作系统I/O代理子模块;和
其中所述轻量级虚拟机监控器包括:安全输入模块;
其中所述操作系统I/O代理子模块是被保护程序与轻量虚拟机监控器的安全输入模块之间传输信息的桥梁,把被保护程序的输入信息从轻量虚拟机监控器中传送到被保护程序中,和
所述安全输入模块负责接收被保护程序的输入及与操作系统I/O代理子模块之间传输信息。
7.根据权利要求6所述的计算机安全输入系统,其中所述程序启动监控子模块接受被保护应用程序的注册,并监控被保护应用程序的启动,在被保护应用程序启动时,调用轻量级虚拟机监控器加载子模块。
8.根据权利要求7所述的计算机安全输入系统,其中所述轻量级虚拟机监控器加载子模块能够调用硬件虚拟化的扩展指令,将宿主操作系统迁移到轻量虚拟机监控器之上。
9.根据权利要求6-8中任何一项的计算机安全输入系统,其中所述轻量级虚拟机监控器还包括:程序完整性保护模块;或
程序完整性保护模块和系统完整性保护模块;或
程序完整性保护模块、系统完整性保护模块和可信芯片管理模块。
10.根据权利要求9所述的的计算机安全输入系统,其中所述程序完整性保护模块负责验证被保护程序的完整性,生成被保护程序的完整性签名,并保护正在运行的程序不被恶意地修改;和/或,所述系统完整性保护模块负责验证被保护程序进行输入期间操作系统的完整性;和/或,所述可信芯片管理模块按照TPM规范或者TCM规范实现对TPM或TCM安全芯片的访问和管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310075029.1A CN103177212B (zh) | 2013-03-08 | 2013-03-08 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310075029.1A CN103177212B (zh) | 2013-03-08 | 2013-03-08 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177212A CN103177212A (zh) | 2013-06-26 |
CN103177212B true CN103177212B (zh) | 2016-03-16 |
Family
ID=48637059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310075029.1A Expired - Fee Related CN103177212B (zh) | 2013-03-08 | 2013-03-08 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177212B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347027A (zh) * | 2013-07-16 | 2013-10-09 | 湘潭大学 | 一种可信网络连接方法和系统 |
CN106548084A (zh) * | 2015-09-02 | 2017-03-29 | 北京壹人壹本信息科技有限公司 | 文件安全防护方法及装置 |
CN106529228A (zh) * | 2015-09-02 | 2017-03-22 | 北京壹人壹本信息科技有限公司 | 个人信息安全操作方法及装置 |
CN105573816B (zh) * | 2015-12-11 | 2018-12-21 | 北京奇虎科技有限公司 | 虚拟输入的方法、装置及系统 |
CN106778249B (zh) * | 2017-01-23 | 2020-02-14 | 湖南文盾信息技术有限公司 | 一种Java程序可信执行环境的构建方法及构建系统 |
CN106951785B (zh) * | 2017-03-15 | 2020-07-07 | 湖南文盾信息技术有限公司 | 一种java虚拟机及其中的信任链延伸方法 |
CN107871073A (zh) * | 2017-11-07 | 2018-04-03 | 上海华申智能卡应用系统有限公司 | 一种应用于移动终端应用的命令处理系统及其处理流程 |
CN110069920A (zh) * | 2019-03-06 | 2019-07-30 | 上海交通大学 | 基于虚拟化保证sgx安全性的方法和系统 |
CN113448682B (zh) * | 2020-03-27 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 一种虚拟机监控器加载方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668022A (zh) * | 2009-09-14 | 2010-03-10 | 陈博东 | 一种建立在虚拟机上的虚拟网络隔离系统及实现方法 |
CN101436966B (zh) * | 2008-12-23 | 2011-06-01 | 北京航空航天大学 | 虚拟机环境下的网络监控与分析系统 |
-
2013
- 2013-03-08 CN CN201310075029.1A patent/CN103177212B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436966B (zh) * | 2008-12-23 | 2011-06-01 | 北京航空航天大学 | 虚拟机环境下的网络监控与分析系统 |
CN101668022A (zh) * | 2009-09-14 | 2010-03-10 | 陈博东 | 一种建立在虚拟机上的虚拟网络隔离系统及实现方法 |
Non-Patent Citations (1)
Title |
---|
基于可信轻量虚拟机监控器的安全架构;程戈;《计算机应用研究》;20100831;第27卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103177212A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177212B (zh) | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 | |
Hua et al. | {vTZ}: Virtualizing {ARM}{TrustZone} | |
Zhang et al. | Cloudvisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization | |
US9575790B2 (en) | Secure communication using a trusted virtual machine | |
US20180165224A1 (en) | Secure encrypted virtualization | |
US9087188B2 (en) | Providing authenticated anti-virus agents a direct access to scan memory | |
CN110414235B (zh) | 一种基于ARM TrustZone的主动免疫的双体系结构系统 | |
CN104461678B (zh) | 一种在虚拟化环境中提供密码服务的方法和系统 | |
US8776245B2 (en) | Executing trusted applications with reduced trusted computing base | |
US10831889B2 (en) | Secure memory implementation for secure execution of virtual machines | |
US20160350534A1 (en) | System, apparatus and method for controlling multiple trusted execution environments in a system | |
Nanavati et al. | Cloud security: A gathering storm | |
US10387686B2 (en) | Hardware based isolation for secure execution of virtual machines | |
US11888972B2 (en) | Split security for trusted execution environments | |
WO2017112248A1 (en) | Trusted launch of secure enclaves in virtualized environments | |
CN110874468B (zh) | 应用程序安全保护方法以及相关设备 | |
US11630683B2 (en) | Low latency launch for trusted execution environments | |
US11442770B2 (en) | Formally verified trusted computing base with active security and policy enforcement | |
Chu et al. | Ocram-assisted sensitive data protection on arm-based platform | |
WO2015148834A1 (en) | Virtualization based intra-block workload isolation | |
US11886899B2 (en) | Privacy preserving introspection for trusted execution environments | |
EP3646216B1 (en) | Methods and devices for executing trusted applications on processor with support for protected execution environments | |
CN116225614A (zh) | 一种安全密码模块分片虚拟化方法及系统 | |
Zhang et al. | Hypebios: enforcing vm isolation with minimized and decomposed cloud tcb | |
Vasudevan | Practical Security Properties on Commodity Computing Platforms: The Uber EXtensible Micro-Hypervisor Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160316 |