[发明专利]一种基于硬件虚拟化技术的应用程序安全保护方法有效
申请号: | 201810384703.7 | 申请日: | 2018-04-26 |
公开(公告)号: | CN108874500B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 曾庆凯;梁诚伟 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/52 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 硬件 虚拟 技术 应用程序 安全 保护 方法 | ||
一种基于硬件虚拟化技术的应用程序安全保护方法,可以防御针对应用程序可用性的攻击。通过对转接器的内容与结构进行修改,使得该类方案的结构特征得以隐藏,不易被攻击者识别、发起针对性的可用性攻击。本发明可以消除保护机构在结构上的典型特征,从而避免针对应用程序的可用性攻击威胁。而且,修改过的转接器仅仅是内容与结构上的改变,对系统性能几乎没有影响。因此,本发明可以在不影响系统性能的条件下,减缓应用程序的可用性攻击威胁,提高系统可用性和应用程序的可用性与安全性。
技术领域
本发明属于应用程序安全保护领域,具体涉及一种基于硬件虚拟化技术的应用程序安全保护方法,可实施对应用程序系统调用的安全验证,防御针对应用程序的可用性攻击。
背景技术
现有的基于硬件虚拟化技术的对系统调用进行验证的保护方案,可以保护应用程序的控制流完整性、地址空间完整性与私密性和系统调用的安全性等。但是由于存在结构上的缺陷,攻击者可以通过识别其中转接器的特征进而对应用程序发起针对性的可用性攻击,从而使得应用程序无法正常运行。针对被保护应用程序的可用性攻击是一种现实的威胁。
发明内容
本发明针对现有技术中的不足,提供一种基于硬件虚拟化技术的应用程序安全保护方法,能够有效地防止攻击者的针对应用程序的可用性攻击。
为实现上述目的,本发明采用以下技术方案:
一种基于硬件虚拟化技术的应用程序安全保护方法,涉及的组件包括虚拟机监控器、转接器、参数缓存和自定义库,其特征在于,包括以下步骤:
步骤一、虚拟机监控器初始化:在保护方法保护应用程序之前进行虚拟机监控器的初始化,包括配置VMCS、配置EPT页表、切换EPT;
步骤二、保护应用保护机构初始化:在应用程序成为保护应用之前进行的初始化,包括转接器与参数缓存地址空间分配、填充转接器内容、发起hypercall;
步骤三、系统调用的准备:对于保护应用请求的系统调用,在自定义库中进行系统调用的准备,包括系统调用参数准备、hypercall发起、系统调用结果返回保护应用;
步骤四、系统调用的验证:对于系统调用的请求,在虚拟机监控器中进行系统调用的安全验证,包括地址空间切换、rip通用寄存器赋值、将系统调用结果返回给自定义库;
步骤五、系统调用的实施:经系统调用验证后,转接器进行系统调用的实施,包括发起系统调用、发起hypercall将系统调用结果返回虚拟机监控器;
步骤六、中断事件的截获处理:在保护应用执行过程中发生的中断,由虚拟机监控器进行中断的截获和处理,包括中断截获、rip通用寄存器赋值、从中断返回到保护应用;
步骤七、中断返回的转接:经虚拟机监控器验证属于保护应用中发生的中断事件,由不可信内核的中断处理结束后,由转接器进行中断返回的处理,包括等待中断返回、发起hypercall陷入虚拟机监控器。
为优化上述技术方案,采取的具体措施还包括:
所述步骤一具体包括:
步骤11、配置VMCS的中断异常的自动转发的标志位,允许虚拟机监控器获得中断截获的能力;
步骤12、将VMCS中的Enable EPT位置为1,使得虚拟机监控器以及在其上运行的虚拟机使用EPT页表;
步骤13、创建两张EPT,分别放置在KVM中的KVM_MMU结构体的root_hpa和root_hpa_shadow中,保护方案复用了KVM中的创建EPT的函数,创建了两张EPT页表,其中root_hpa中存储指向不可信内核所在地址空间的EPTP,而root_hpa_shadow中存储指向保护应用所在地址空间的EPTP;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810384703.7/2.html,转载请声明来源钻瓜专利网。