[发明专利]基于硬件辅助虚拟化技术的进程内存保护方法有效
申请号: | 201410215459.3 | 申请日: | 2014-05-21 |
公开(公告)号: | CN103955438B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 黄皓;李佳瑶 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F12/14 | 分类号: | G06F12/14 |
代理公司: | 南京君陶专利商标代理有限公司 32215 | 代理人: | 沈根水 |
地址: | 210093*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是基于硬件辅助虚拟化的进程内存安全保护方法,包括步骤1:加载进程内存监控模块;步骤2:受保护进程在启动时通知监控模块;步骤3:为受保护进程的受保护内存空间创建加密拷贝;步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟;步骤5:捕获CR3寄存器改写操作和页错误异常。优点:本发明创建了一个工作在Root级的监控模块监控所有进程的页目录、页表和页目录寄存器的修改以阻止受保护进程之外任何进程访问受保护进程内存空间中数据,在受保护进程切换到核心态时将替换用户态空间的页表来防止内核态代码注入攻击,并利用数据执行保护技术将受保护进程数据区页面设置为不可执行,从而防止用户态代码注入攻击。 | ||
搜索关键词: | 基于 硬件 辅助 虚拟 技术 进程 内存 保护 方法 | ||
【主权项】:
基于硬件辅助虚拟化的进程内存安全保护方法,其特征是该方法包括以下步骤:步骤1:加载进程内存监控模块,使其运行于根模式Root,并将操作系统作为客户机系统置于非根模式Non‑Root,设置VMCS控制域,使监控模块能够捕获到CR3寄存器的改写和页错误异常;步骤2:受保护进程在启动时通知监控模块,监控模块验证发送通知的进程是否为受保护的进程;步骤3:为受保护进程的受保护内存空间创建加密拷贝,并为受保护进程创建一份用户模式影子页表和一份内核模式影子页表,分别指向受保护内存的明文和密文;步骤4:利用影子页表机制实现对虚拟机系统的内存虚拟,设置系统中所有进程的影子页表中页目录项的只读属性,并将受保护进程用户模式影子页表中指向数据页的页表项的不可执行属性设置为1,即该数据页不可被执行;步骤5:捕获CR3寄存器改写操作和页错误异常,通过捕获CR3寄存器的改写,判断要写入的值是否为受保护进程页目录基地址,是则向CR3寄存器写入受保护进程内核模式影子页表的页目录基地址,通过捕获页错误异常,监控受保护进程用户模式与内核模式的切换以及其他进程的页表改写操作;所述的步骤1中,进程内存监控模块以驱动程序的形式安装于操作系统中,该驱动程序可以动态加载,加载后将CPU的虚拟化功能开启,并准备好虚拟化运行时必须的一些控制结构,然后使CPU运行于非根模式,该驱动程序的处理流程为:1)分配和初始化VMXON控制域;2)开启VMX操作模式;3)分配和初始化VMCS控制域;4)进入VMX非根模式;在初始化VMCS控制域时,通过设置其中的VM‑Execution控制域,使改写CR3寄存器和页错误异常发生时产生VMEXIT事件,以捕获任何写CR3寄存器的操作和页错误异常。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410215459.3/,转载请声明来源钻瓜专利网。