CN103955438A - 基于硬件辅助虚拟化技术的进程内存保护方法 - Google Patents
基于硬件辅助虚拟化技术的进程内存保护方法 Download PDFInfo
- Publication number
- CN103955438A CN103955438A CN201410215459.3A CN201410215459A CN103955438A CN 103955438 A CN103955438 A CN 103955438A CN 201410215459 A CN201410215459 A CN 201410215459A CN 103955438 A CN103955438 A CN 103955438A
- Authority
- CN
- China
- Prior art keywords
- page
- protected
- page table
- internal memory
- shadow
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 230000008569 process Effects 0.000 title claims abstract description 108
- 238000012544 monitoring process Methods 0.000 claims abstract description 39
- 238000002347 injection Methods 0.000 claims abstract description 12
- 239000007924 injection Substances 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 10
- 230000002159 abnormal effect Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 4
- 238000011112 process operation Methods 0.000 claims description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000002265 prevention Effects 0.000 abstract description 2
- 230000005856 abnormality Effects 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 abstract 1
- 238000013519 translation Methods 0.000 description 6
- 238000012797 qualification Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001235 sensitizing effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明是基于硬件辅助虚拟化的进程内存安全保护方法,包括步骤1:加载进程内存监控模块;步骤2:受保护进程在启动时通知监控模块;步骤3:为受保护进程的受保护内存空间创建加密拷贝;步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟;步骤5:捕获CR3寄存器改写操作和页错误异常。优点:本发明创建了一个工作在Root级的监控模块监控所有进程的页目录、页表和页目录寄存器的修改以阻止受保护进程之外任何进程访问受保护进程内存空间中数据,在受保护进程切换到核心态时将替换用户态空间的页表来防止内核态代码注入攻击,并利用数据执行保护技术将受保护进程数据区页面设置为不可执行,从而防止用户态代码注入攻击。
Description
技术领域
本发明涉及内存安全的保护方法,特别是一种有效保护访问机密文件的受保护进程内存安全的基于硬件辅助虚拟化技术的内存安全保护方法。
背景技术
计算机安全服务包括三个方面的内容:机密性(confidentiality)、完整性(integrity)和可用性(availability)。其中,机密性是指对信息或资源的隐藏,防止被非授权的用户访问。完整性指的是数据或资源的可信度,即信息在未经授权的情况下不能被修改。完整性主要包括数据完整性和软件完整性两个方面,数据完整性指的是在计算机系统中存储的数据或在网络上传输中的数据不被非法的篡改或意外的破坏,保证数据整体的完整;而软件完整性指的是软件本身不被非法的修改。可用性指的是人们对信息或资源的期望使用能力。
计算机中的机密信息在处理的过程中涉及到两点安全问题:第一点,是存储在外部存储设备中的安全问题;第二点,是加载到内存中的安全问题。通过将机密信息加密存储在外部存储设备中可以保障其机密性,但当特定进程访问并处理外存中的机密信息时,这些信息会被加载到内存,并以明文的方式存在于内存中。由于加密算法的不断改进,唯密文攻击的实施难度越来越大,所以攻击者把目光投向了内存中的明文。
针对操作系统内存的攻击可以总结为两类:修改地址攻击和代码注入攻击。修改地址攻击是指一些恶意程序获取到目标进程的地址等信息后,通过修改CR3寄存器或修改自身页表,将自身的地址转译过程变成目标进程的地址转译过程,从而访问到目标进程的内存空间。代码注入攻击主要是指一些恶意程序将代码注入到目标进程内部,以实现对目标进程内存的非法访问,按照注入的代码所处的特权模式,可将代码注入攻击分为用户态代码注入和内核态代码注入两种。
针对现有的内存管理机制中存在的漏洞,已有一些防护方法被提出。例如SP3模型提出了保护域的概念,通过设置保护域对指定的物理页的访问权限,并结合加密技术,来对受保护应用程序的内存进行保护,该方法的问题是:进程可以在运行时通过动态附加的方式临时将自身所处的线程附加到目标进程中,那么当前线程就具有了目标进程内存空间的完全访问权限。Cherub模型通过在对应用程序运行期间对其内存页面进行动态加解密来提供保护,该方法虽然能够保护应用程序内存,但动态加解密的开销会对系统性能造成一定的影响。
发明内容
本发明提出的是一种基于硬件辅助虚拟化技术的进程内存保护方法,其目的旨在克服现有技术所存在的上述不足,对计算机中访问机密文件的进程的内存安全进行保护。
本发明的技术解决方案,基于硬件辅助虚拟化的进程内存安全保护方法,包括以下步骤:
步骤1:加载进程内存监控模块,使其运行于根模式(Root),并将操作系统作为客户机系统置于非根模式(Non-Root),设置VMCS控制域,使监控模块能够捕获到CR3寄存器的改写和页错误异常;
步骤2:受保护进程在启动时通知监控模块,监控模块验证发送通知的进程是否为受保护的进程;
步骤3:为受保护进程的受保护内存空间创建加密拷贝,并为受保护进程创建一份用户模式影子页表和一份内核模式影子页表,分别指向受保护内存的明文和密文;
步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟,设置系统中所有进程的影子页表中页目录项的只读属性,并将受保护进程用户模式影子页表中指向数据页的页表项的不可执行属性设置为1,即该数据页不可被执行;
步骤5:捕获CR3寄存器改写操作和页错误异常,通过捕获CR3寄存器的改写,判断要写入的值是否为受保护进程页目录基地址,是则向CR3寄存器写入受保护进程内核模式影子页表的页目录基地址,通过捕获页错误异常,监控受保护进程用户模式与内核模式的切换以及其他进程的页表改写操作。
本发明的有益效果及显著优点是:本发明公开了一种基于硬件辅助虚拟化技术的进程内存保护方法,通过监控CR3寄存器和页表的修改防御修改地址攻击,并利用影子页表机制和数据执行保护技术防御代码注入攻击。能够有效的保护指定进程的内存空间,阻止系统中的其他进程、甚至具有高特权级的内核代码访问受保护的内存空间。并且无需对现有的操作系统进行修改,也无需重新部署操作系统。
附图说明
图1为基于硬件辅助虚拟化技术的进程内存保护方法的架构图。
图2为基于硬件辅助虚拟化技术的进程内存保护方法的基本流程图。
图3为PE文件结构图。
图4为影子页表机制图。
图5为32位PAE模式下地址转译过程图。
具体实施方式
下面结合附图对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
如图1所示,基于硬件辅助虚拟化技术的进程内存保护方法,利用Intel VT(Virtualization Technology)技术对虚拟化的硬件支持,实现了进程内存监控模块和操作系统的安全隔离,对系统中的受保护进程的内存空间进行有效地保护。本发明通过监控CR3寄存器和页表的修改以防御修改地址攻击,并利用影子页表机制和数据执行保护技术防御代码注入攻击。
如图2所示,基于硬件辅助虚拟化技术的进程内存保护方法的流程,包括以下步骤:
步骤1:加载进程内存监控模块,使其运行于根模式(Root),并将操作系统作为客户机系统置于非根模式(Non-Root),设置VMCS控制域,使监控模块能够捕获到CR3寄存器的改写和页错误异常;
步骤2:受保护进程在启动时通知监控模块,监控模块验证发送通知的进程是否为受保护的进程;
步骤3:为受保护进程的受保护内存空间创建加密拷贝,并为受保护进程创建一份用户模式影子页表和一份内核模式影子页表,分别指向受保护内存的明文和密文;
步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟,设置系统中所有进程的影子页表中页目录项的只读属性,并将受保护进程用户模式影子页表中指向数据页的页表项的不可执行属性设置为1,即该数据页不可被执行;
步骤5:捕获CR3寄存器改写操作和页错误异常,通过捕获CR3寄存器的改写,判断要写入的值是否为受保护进程页目录基地址,是则向CR3寄存器写入受保护进程内核模式影子页表的页目录基地址,通过捕获页错误异常,监控受保护进程用户模式与内核模式的切换以及其他进程的页表改写操作。
所述的步骤1:进程内存监控模块以驱动程序的形式安装于操作系统中,该驱动程序可以动态加载,加载后将CPU的虚拟化功能开启,并准备好虚拟化运行时必须的一些控制结构,然后使CPU运行于非根模式。该驱动程序的处理流程如下:
1)分配和初始化VMXON控制域
VMXON控制域为CPU支持虚拟化技术所使用的控制结构,该控制结构的初始化只需向该结构写入表明硬件虚拟化辅助支持的版本的信息。该版本信息是通过读取MSR寄存器IA32_VMX_BASIC的版本号信息来获取的。
2)开启VMX操作模式
VT技术中引入了两种模式:根模式(Root)和非根模式(Non-Root)。其中将VMM设置为运行在根模式,而客户机操作系统运行于非根模式。这两种模式统称为VMX操作模式。通过调用VMXON指令开启了VMX操作模式之后,CPU即运行于根模式,此时VMM可以通过VMENTRY进入到各客户机操作系统中执行,这些客户机操作系统运行于非根模式。在客户机操作系统运行时,会因为执行敏感指令等原因,产生VMEXIT,陷入到根模式中。如果VMM需要退出VMX模式,可以通过调用VMXOFF关闭虚拟化功能。
3)分配和初始化VMCS控制域
VMCS控制域是描述VMM和客户机的关键数据结构,由VMCS版本标志、VMX退出原因指示器和VMCS数据区3个部分构成。其中VMCS数据区主要包括:客户机状态保存区,VMM状态保存保存区,VM-Execution控制域,VMENTRY行为控制域,VMEXIT行为控制域和VMEXIT相关信息域。
在初始化VMCS控制域时,通过设置其中的VM-Execution控制域,使改写CR3寄存器和页错误异常发生时产生VMEXIT事件,以捕获任何写CR3寄存器的操作和页错误异常。
4)进入VMX非根模式
在VMX模式中,每一个处理器都与一个或多个VMCS结构对应,任何时候只有一个VMCS为当前的VMCS。当前的VMCS记录了此时CPU运行时的根模式和非根模式的行为信息。设置当前VMCS的指令为VMPTRLD,之后软件可以通过调用VMLAUCH指令用于加载虚拟机运行。VMLAUCH指令运行后就进入了非根模式。CPU进入非根模式之后,指令继续运行直到有VMEXIT产生。
所述的步骤2:受保护进程通过调用VMCALL指令将自身的名称和PID传递给进程内存监控模块,使监控模块获得其加载通知。监控模块收到进程加载消息后对该进程做哈希运算,将运算结果与已计算的哈希值进行比对,验证受保护进程的完整性。
所述的步骤3:影子页表是系统虚拟化中实现内存虚拟的一种重要机制,本发明使用影子页表技术来实现页表的访问控制和物理页面的重定向。在采用了内存虚拟化技术的系统中,有两种模式的页表,一种是客户机操作系统使用的页表,另一种是进程内存监控模块维护的影子页表。两者之间的关系图如图3所示。
影子页表是地址转译过程中真正用到的页表,由监控模块维护。上层操作系统在将客户机管理的页目录基址写入CR3寄存器的时候,首先陷入到监控模块中,监控模块负责写入的是影子页表的页目录基址。客户机操作系统管理自己的页表,和直接运行于硬件之上一样。只不过在影子页表中,客户机所管理的页表对应的访问属性被设置为只读,任何针对该部分内存的修改都会产生页错误异常。监控模块拦截了客户机的页错误异常,如果发现产生该异常的原因是对客户机页表进行修改,则将修改同步到影子页表中。影子页表对于客户机是透明的,客户机操作系统无法访问影子页表的内容。
本发明为受保护进程维护两份影子页表,其中一份是内核模式影子页表,在执行内核模式代码时用于地址转译,另一份是用户模式影子页表,在执行用户模式代码时用于地址转译。两份影子页表的不同点在于对受保护内存的映射关系上。具体来讲,用户模式影子页表中所有页表项都指向真实的物理内存,这样受保护进程可以正常访问受保护内存中的内容。而内核模式影子页表中受保护内存对应的页表项指向受保护内存的加密拷贝所在的物理页面,所以内核模式的代码只能访问到受保护内存的密文内容。在受保护进程执行过程中,当监控到所处特权级由用户模式切换到内核模式时,使用内核模式影子页表将对受保护内存的访问映射到加密的物理页面,以保证机密信息的安全。
所述的步骤4:将系统中各进程影子页表中页目录项的可写位置为0,即该页目录项指向的页表页不可写,以此捕获客户机页表的修改操作,禁止系统中的其他进程通过修改自身页表访问受保护进程的内存空间。
利用DEP(Data Executive Protection,数据执行保护)技术可以解决恶意执行任意代码的问题。通过将敏感的数据区设置为不可执行,从而确保在指令流跳转到这些敏感区时依然无法执行恶意代码。DEP通常是由软件和硬件联合实现的,例如在32位PAE(Physical Address Extension,物理地址扩展)模式下的Windows中,DEP的实现就利用了Intel提供的EDB(Executive Disabled Bit)。在32位PAE模式下,内存管理单元将虚拟地址分成四个域:2位的页目录指针、9位的页目录索引、9位的页表索引和12位的字节索引,此时,虚拟地址的转译过程如图4所示。
本发明通过设置受保护进程用户模式影子页表中页表项的不可执行属性,使受保护进程的数据区页面不可被执行,则非法注入到受保护进程用户态的恶意程序无法得到执行,防止了用户态代码注入攻击。
所述的步骤5:捕获改写CR3寄存器事件和缺页异常。
访问CR3等控制寄存器所产生的VMEXIT对应的VM_EXIT_REASON(退出原因)字段值为0x0000001C,其控制寄存器号和访问类型等信息保存在EXIT_QUALIFICATION(退出条件)字段中。
监控模块对访问CR3寄存器操作的处理流程如下:
1)判断VM_EXIT_REASON是否为0x0000001C,是则转2,否则退出。
2)根据EXIT_QUALIFICATION的0-3位获取控制寄存器号,如果值为3,表示访问的寄存器为CR3,则下转3)。
3)根据EXIT_QUALIFICATION的4-5位获取操作类型,0表示操作为写寄存器,1表示操作为读寄存器。如果是0则转4。
4)根据EXIT_QUALIFICATION的11:8位,确定通用寄存器。
5)判断写入CR3寄存器的值是否为受保护进程的页目录基地址,是则将其修改为受保护进程内核模式影子页表的页目录基地址。
通过捕获页错误异常,监控受保护进程用户模式与内核模式的切换以及其他进程的页表改写操作。
针对受保护进程用户模式切换到内核模式的处理过程,包括为:
1)将受保护进程的用户模式影子页表中对应于内核态代码的页表项中的不可执行属性设置为1,即该页表项所指向的物理页面不可被执行;
2)当CPU从用户模式进入到内核模式时,产生页错误异常,监控模块捕获到从用户模式到内核模式的切换;
3)将CR3寄存器修改为指向受保护进程的内核模式影子页表。
针对受保护进程内核模式切换到用户模式的处理过程,包括为:
1)将受保护进程的内核模式影子页表中对应于内核态代码的页表项中的不可执行属性设置为1,即该页表项所指向的物理页面不可被执行;
2)当CPU从内核模式进入到用户模式时,产生页错误异常,监控模块捕获到从内核模式到用户模式的切换;
3)将CR3寄存器修改为指向受保护进程的用户模式影子页表。
通过上述设置和处理,利用拦截系统调用注入到内核态的代码无法访问到受保护的内存空间。
由于系统中进程的页表页被设置成了只读,所以任何修改其页表的行为都会产生页错误异常,如果是受保护进程页表的修改,监控模块在客户机页表中完成此次修改,并将修改同步到影子页表中。如果是其他进程页表的修改,则在处理页错误异常过程中判断写入页表项的物理页帧号是否为受保护的物理页帧号,是则替换为该物理页面所对应的加密物理页面的物理页帧号,以禁止其他进程通过修改自身页表访问受保护内存空间。非受保护进程运行时,若客户机页表中的映射关系在影子页表中不存在,则会产生影子错误,出发页错误异常,此时检查该页表项中的物理页帧号字段值与受保护物理内存页的物理页帧号相等,则将该物理页帧号修改为对应的加密物理页面的页帧号。
Claims (6)
1.基于硬件辅助虚拟化的进程内存安全保护方法,其特征是该方法包括以下步骤:
步骤1:加载进程内存监控模块,使其运行于根模式(Root),并将操作系统作为客户机系统置于非根模式(Non-Root),设置VMCS控制域,使监控模块能够捕获到CR3寄存器的改写和页错误异常;
步骤2:受保护进程在启动时通知监控模块,监控模块验证发送通知的进程是否为受保护的进程;
步骤3:为受保护进程的受保护内存空间创建加密拷贝,并为受保护进程创建一份用户模式影子页表和一份内核模式影子页表,分别指向受保护内存的明文和密文;
步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟,设置系统中所有进程的影子页表中页目录项的只读属性,并将受保护进程用户模式影子页表中指向数据页的页表项的不可执行属性设置为1,即该数据页不可被执行;
步骤5:捕获CR3寄存器改写操作和页错误异常,通过捕获CR3寄存器的改写,判断要写入的值是否为受保护进程页目录基地址,是则向CR3寄存器写入受保护进程内核模式影子页表的页目录基地址,通过捕获页错误异常,监控受保护进程用户模式与内核模式的切换以及其他进程的页表改写操作。
2.根据权利要求1所述的基于硬件辅助虚拟化的进程内存安全保护方法,其特征是所述的步骤1中,进程内存监控模块以驱动程序的形式安装于操作系统中,该驱动程序可以动态加载,加载后将CPU的虚拟化功能开启,并准备好虚拟化运行时必须的一些控制结构,然后使CPU运行于非根模式,该驱动程序的处理流程为:
1)分配和初始化VMXON控制域;
2)开启VMX操作模式;
3)分配和初始化VMCS控制域;
4)进入VMX非根模式;
在初始化VMCS控制域时,通过设置其中的VM-Execution控制域,使改写CR3寄存器和页错误异常发生时产生VMEXIT事件,以捕获任何写CR3寄存器的操作和页错误异常。
3.根据权利要求1所述的基于硬件辅助虚拟化的进程内存安全保护方法,其特征是所述的步骤2中,受保护进程通过调用VMCALL指令将自身的名称和PID传递给进程内存监控模块,使监控模块获得其加载通知,监控模块收到进程加载消息后对该进程做哈希运算,将运算结果与已计算的哈希值进行比对,验证受保护进程的完整性。
4.根据权利要求1所述的基于硬件辅助虚拟化的进程内存安全保护方法,其特征是所述的步骤3为受保护进程的受保护内存空间创建加密拷贝,是利用物理页帧加密技术为受保护进程的受保护内存空间创建加密拷贝,并实现了针对受保护进程的两套地址映射关系,其中,用户模式影子页表指向受保护内存的明文,而内核模式影子页表指向受保护内存的密文,结合对受保护进程模式切换的监控,使提供给受保护进程自身使用的是指向真实物理内存的用户模式影子页表,而提供给内核态代码使用的是指向受保护内存加密拷贝的内核模式影子页表。
5.根据权利要求1所述的基于硬件辅助虚拟化的进程内存安全保护方法,其特征是所述的步骤4利用影子页表机制实现对虚拟机系统的内存虚拟,将系统中各进程影子页表中的页目录项的可写位置为0,即该页目录项指向的页表页不可写,以此监控客户机页表页的修改操作,并通过设置受保护进程用户模式影子页表中页表项的不可执行属性,使受保护进程数据区页面不可被执行,则非法注入到受保护进程用户态的恶意程序无法得到执行,防止了用户态代码注入攻击。
6.根据权利要求1所述的基于硬件辅助虚拟化的进程内存安全保护方法,其特征是所述的步骤5捕获CR3寄存器改写操作和页错误异常,对于CR3寄存器改写事件,判断写入CR3寄存器的值是否为受保护进程的页目录基地址,是则向CR3寄存器写入受保护进程内核模式影子页表的物理页基地址;
通过对页错误异常的捕获,监控受保护进程的模式切换,以及其他进程的页表修改操作;
针对用户模式切换到内核模式的处理过程为:
1)将受保护进程的用户模式影子页表中对应于内核态代码的PTE的属性设置为不可执行;
2)当CPU从用户模式进入到内核模式时,产生页错误异常,监控模块捕获到进入内核模式;
3)将CR3寄存器修改为指向受保护进程的内核模式影子页表;
针对内核模式切换到用户模式的处理过程为:
1)将受保护进程的内核模式影子页表中对应于内核态代码的PTE的属性设置为不可执行;
2)当CPU从内核模式进入到用户模式时,产生页错误异常,监控模块捕获到进入用户模式;
3)将CR3寄存器修改为指向受保护进程的用户模式影子页表;
通过上述设置和处理,利用拦截系统调用注入到内核态的代码无法访问到受保护的内存空间;
非受保护进程运行时,若客户机页表中的映射关系在影子页表中不存在,则会产生影子错误,此时检查该页表项中的物理页帧号与为受保护物理内存页的物理页帧号相同,若相同则将该物理页帧号修改为对应的加密物理页面的页帧号,当非受保护进程修改自身页表时将触发页错误异常,此时判断是否要将受保护内存的物理页帧号写入某个页表项,若是,则写入对应的加密物理页面的物理页帧号,以禁止其他进程通过修改自身页表访问受保护内存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215459.3A CN103955438B (zh) | 2014-05-21 | 2014-05-21 | 基于硬件辅助虚拟化技术的进程内存保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410215459.3A CN103955438B (zh) | 2014-05-21 | 2014-05-21 | 基于硬件辅助虚拟化技术的进程内存保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955438A true CN103955438A (zh) | 2014-07-30 |
CN103955438B CN103955438B (zh) | 2016-11-23 |
Family
ID=51332713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410215459.3A Expired - Fee Related CN103955438B (zh) | 2014-05-21 | 2014-05-21 | 基于硬件辅助虚拟化技术的进程内存保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955438B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512549A (zh) * | 2015-12-02 | 2016-04-20 | 珠海市君天电子科技有限公司 | 一种应用程序拦截方法及装置 |
CN106055385A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
CN106096407A (zh) * | 2016-05-31 | 2016-11-09 | 华中科技大学 | 一种代码复用攻击的防御方法 |
WO2017107625A1 (zh) * | 2015-12-23 | 2017-06-29 | 华为技术有限公司 | 虚拟机内核的保护方法及装置 |
CN107077428A (zh) * | 2014-09-30 | 2017-08-18 | 微软技术许可有限责任公司 | 保护应用秘密免受操作系统攻击 |
CN107239320A (zh) * | 2017-04-11 | 2017-10-10 | 中国科学院信息工程研究所 | 基于虚拟化技术的实时保存客户机中进程状态的方法 |
CN107330336A (zh) * | 2017-05-23 | 2017-11-07 | 中国人民解放军信息工程大学 | Linux操作系统内存页面即时加解密方法和系统 |
CN107977577A (zh) * | 2016-10-21 | 2018-05-01 | 龙芯中科技术有限公司 | 访存指令访问检测方法及装置 |
CN108255746A (zh) * | 2017-12-29 | 2018-07-06 | 北京元心科技有限公司 | 内存改写检测方法及装置 |
CN109002705A (zh) * | 2018-06-20 | 2018-12-14 | 苏州科达科技股份有限公司 | 进程认证方法、装置及服务器 |
CN109388948A (zh) * | 2018-11-05 | 2019-02-26 | 杭州安恒信息技术股份有限公司 | 一种基于虚拟化技术的潜在恶意软件分析方法及相关装置 |
CN109446799A (zh) * | 2018-11-14 | 2019-03-08 | 深圳市腾讯网络信息技术有限公司 | 内存数据保护方法、安全组件和计算机设备及存储介质 |
CN109684829A (zh) * | 2018-12-04 | 2019-04-26 | 中国科学院数据与通信保护研究教育中心 | 一种虚拟化环境中服务调用监控方法和系统 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
CN110597641A (zh) * | 2018-06-12 | 2019-12-20 | 杨力祥 | 一种线性地址空间的布局方法及计算装置 |
WO2020010556A1 (zh) * | 2018-07-11 | 2020-01-16 | 华为技术有限公司 | 增强用户空间与内核空间的隔离性的方法和装置 |
CN112256396A (zh) * | 2020-10-23 | 2021-01-22 | 海光信息技术股份有限公司 | 内存管理方法、系统及安全处理装置、数据处理装置 |
CN112363960A (zh) * | 2020-10-12 | 2021-02-12 | 北京大学 | 一种新型基于影子页表机制的内存虚拟化方法与系统 |
CN112464221A (zh) * | 2019-09-09 | 2021-03-09 | 北京奇虎科技有限公司 | 内存访问行为的监控方法及系统 |
CN112540833A (zh) * | 2020-12-28 | 2021-03-23 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN112733157A (zh) * | 2021-04-01 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种基于不可执行目录的文件上传方法、系统和介质 |
CN112988508A (zh) * | 2021-03-04 | 2021-06-18 | 浙江中控研究院有限公司 | 一种基于内存隔离的可信plc嵌入式系统 |
CN114756355A (zh) * | 2022-06-14 | 2022-07-15 | 之江实验室 | 一种计算机操作系统的进程自动快速恢复的方法和装置 |
WO2023026114A1 (en) * | 2021-08-26 | 2023-03-02 | International Business Machines Corporation | Encryption monitor register and system |
WO2023124593A1 (en) * | 2021-12-31 | 2023-07-06 | International Business Machines Corporation | Protection of kernel from code reuse attacks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226577A (zh) * | 2008-01-28 | 2008-07-23 | 南京大学 | 基于可信硬件与虚拟机的微内核操作系统完整性保护方法 |
CN102096786A (zh) * | 2011-03-04 | 2011-06-15 | 上海交通大学 | 基于硬件虚拟化的跨平台安全保护系统 |
-
2014
- 2014-05-21 CN CN201410215459.3A patent/CN103955438B/zh not_active Expired - Fee Related
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077428A (zh) * | 2014-09-30 | 2017-08-18 | 微软技术许可有限责任公司 | 保护应用秘密免受操作系统攻击 |
CN107077428B (zh) * | 2014-09-30 | 2020-08-14 | 微软技术许可有限责任公司 | 保护应用秘密的方法、电子系统和计算机存储介质 |
CN105512549A (zh) * | 2015-12-02 | 2016-04-20 | 珠海市君天电子科技有限公司 | 一种应用程序拦截方法及装置 |
CN106909437B (zh) * | 2015-12-23 | 2021-01-29 | 华为技术有限公司 | 虚拟机内核的保护方法及装置 |
WO2017107625A1 (zh) * | 2015-12-23 | 2017-06-29 | 华为技术有限公司 | 虚拟机内核的保护方法及装置 |
CN106909437A (zh) * | 2015-12-23 | 2017-06-30 | 华为技术有限公司 | 虚拟机内核的保护方法及装置 |
US10754943B2 (en) | 2015-12-23 | 2020-08-25 | Huawei Technologies Co., Ltd. | Virtual machine kernel protection method and apparatus |
CN106096407A (zh) * | 2016-05-31 | 2016-11-09 | 华中科技大学 | 一种代码复用攻击的防御方法 |
CN106096407B (zh) * | 2016-05-31 | 2020-02-18 | 华中科技大学 | 一种代码复用攻击的防御方法 |
CN106055385B (zh) * | 2016-06-06 | 2019-04-16 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
CN106055385A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
CN107977577B (zh) * | 2016-10-21 | 2020-03-13 | 龙芯中科技术有限公司 | 访存指令访问检测方法及装置 |
CN107977577A (zh) * | 2016-10-21 | 2018-05-01 | 龙芯中科技术有限公司 | 访存指令访问检测方法及装置 |
CN107239320A (zh) * | 2017-04-11 | 2017-10-10 | 中国科学院信息工程研究所 | 基于虚拟化技术的实时保存客户机中进程状态的方法 |
CN107330336B (zh) * | 2017-05-23 | 2020-02-14 | 中国人民解放军信息工程大学 | Linux操作系统内存页面即时加解密方法和系统 |
CN107330336A (zh) * | 2017-05-23 | 2017-11-07 | 中国人民解放军信息工程大学 | Linux操作系统内存页面即时加解密方法和系统 |
CN108255746A (zh) * | 2017-12-29 | 2018-07-06 | 北京元心科技有限公司 | 内存改写检测方法及装置 |
CN110597641A (zh) * | 2018-06-12 | 2019-12-20 | 杨力祥 | 一种线性地址空间的布局方法及计算装置 |
CN109002705B (zh) * | 2018-06-20 | 2021-07-06 | 苏州科达科技股份有限公司 | 进程认证方法、装置及服务器 |
CN109002705A (zh) * | 2018-06-20 | 2018-12-14 | 苏州科达科技股份有限公司 | 进程认证方法、装置及服务器 |
WO2020010556A1 (zh) * | 2018-07-11 | 2020-01-16 | 华为技术有限公司 | 增强用户空间与内核空间的隔离性的方法和装置 |
US11436155B2 (en) | 2018-07-11 | 2022-09-06 | Huawei Technologies Co., Ltd. | Method and apparatus for enhancing isolation of user space from kernel space |
CN110892388A (zh) * | 2018-07-11 | 2020-03-17 | 华为技术有限公司 | 增强用户空间与内核空间的隔离性的方法和装置 |
CN109388948A (zh) * | 2018-11-05 | 2019-02-26 | 杭州安恒信息技术股份有限公司 | 一种基于虚拟化技术的潜在恶意软件分析方法及相关装置 |
CN109388948B (zh) * | 2018-11-05 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | 一种基于虚拟化技术的潜在恶意软件分析方法及相关装置 |
CN109446799B (zh) * | 2018-11-14 | 2021-06-11 | 深圳市腾讯网络信息技术有限公司 | 内存数据保护方法、安全组件和计算机设备及存储介质 |
CN109446799A (zh) * | 2018-11-14 | 2019-03-08 | 深圳市腾讯网络信息技术有限公司 | 内存数据保护方法、安全组件和计算机设备及存储介质 |
CN109684829B (zh) * | 2018-12-04 | 2020-12-04 | 中国科学院数据与通信保护研究教育中心 | 一种虚拟化环境中服务调用监控方法和系统 |
CN109684829A (zh) * | 2018-12-04 | 2019-04-26 | 中国科学院数据与通信保护研究教育中心 | 一种虚拟化环境中服务调用监控方法和系统 |
CN110348204B (zh) * | 2019-06-17 | 2023-05-16 | 海光信息技术股份有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
CN112464221A (zh) * | 2019-09-09 | 2021-03-09 | 北京奇虎科技有限公司 | 内存访问行为的监控方法及系统 |
CN112363960A (zh) * | 2020-10-12 | 2021-02-12 | 北京大学 | 一种新型基于影子页表机制的内存虚拟化方法与系统 |
CN112256396A (zh) * | 2020-10-23 | 2021-01-22 | 海光信息技术股份有限公司 | 内存管理方法、系统及安全处理装置、数据处理装置 |
CN112540833A (zh) * | 2020-12-28 | 2021-03-23 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN112540833B (zh) * | 2020-12-28 | 2022-11-11 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN112988508A (zh) * | 2021-03-04 | 2021-06-18 | 浙江中控研究院有限公司 | 一种基于内存隔离的可信plc嵌入式系统 |
CN112988508B (zh) * | 2021-03-04 | 2022-03-18 | 浙江中控研究院有限公司 | 一种基于内存隔离的可信plc嵌入式系统 |
CN112733157B (zh) * | 2021-04-01 | 2021-07-30 | 中国人民解放军国防科技大学 | 一种基于不可执行目录的文件上传方法、系统和介质 |
CN112733157A (zh) * | 2021-04-01 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种基于不可执行目录的文件上传方法、系统和介质 |
WO2023026114A1 (en) * | 2021-08-26 | 2023-03-02 | International Business Machines Corporation | Encryption monitor register and system |
US11954337B2 (en) | 2021-08-26 | 2024-04-09 | International Business Machines Corporation | Encryption monitor register and system |
GB2625014A (en) * | 2021-08-26 | 2024-06-05 | Ibm | Encryption monitor register and system |
WO2023124593A1 (en) * | 2021-12-31 | 2023-07-06 | International Business Machines Corporation | Protection of kernel from code reuse attacks |
US11995178B2 (en) | 2021-12-31 | 2024-05-28 | International Business Machines Corporation | Protection of kernel from code reuse attacks |
CN114756355B (zh) * | 2022-06-14 | 2022-10-18 | 之江实验室 | 一种计算机操作系统的进程自动快速恢复的方法和装置 |
CN114756355A (zh) * | 2022-06-14 | 2022-07-15 | 之江实验室 | 一种计算机操作系统的进程自动快速恢复的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103955438B (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955438B (zh) | 基于硬件辅助虚拟化技术的进程内存保护方法 | |
Davi et al. | PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables. | |
KR102189296B1 (ko) | 가상 머신 보안 어플리케이션을 위한 이벤트 필터링 | |
US10628589B2 (en) | Methods, systems, and computer readable media for preventing code reuse attacks | |
Criswell et al. | Virtual ghost: Protecting applications from hostile operating systems | |
KR101946982B1 (ko) | 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가 | |
RU2615664C2 (ru) | Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств | |
Li et al. | Crossline: Breaking" security-by-crash" based memory isolation in amd sev | |
Younan et al. | Runtime countermeasures for code injection attacks against C and C++ programs | |
Wang et al. | Design and implementation of SecPod, a framework for virtualization-based security systems | |
CN111400702A (zh) | 一种虚拟化的操作系统内核保护方法 | |
CN102521531B (zh) | 基于硬件虚拟化的密码保护系统 | |
EP3238070A1 (en) | Memory protection with non-readable pages | |
Zhu et al. | HA-VMSI: A lightweight virtual machine isolation approach with commodity hardware for ARM | |
Luțaș et al. | U-HIPE: hypervisor-based protection of user-mode processes in Windows | |
Korkin et al. | Detect kernel-mode rootkits via real time logging & controlling memory access | |
Qin et al. | Protecting Encrypted Virtual Machines from Nested Page Fault Controlled Channel | |
Qiang et al. | Libsec: A hardware virtualization-based isolation for shared library | |
Park et al. | Libmpk: software abstraction for Intel memory protection keys | |
Liu et al. | A kernel stack protection model against attacks from kernel execution units | |
Hua et al. | Barrier: a lightweight hypervisor for protecting kernel integrity via memory isolation | |
Wang et al. | Trustict: an efficient trusted interaction interface between isolated execution domains on ARM multi-core processors | |
Kuzuno et al. | KDPM: Kernel Data Protection Mechanism Using a Memory Protection Key | |
Lin et al. | HyperMI: a privilege-level VM protection approach against compromised hypervisor | |
Liu et al. | HyperPS: a hypervisor monitoring approach based on privilege separation |
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 |
Granted publication date: 20161123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |