[发明专利]一种基于Xen虚拟化平台的漏洞热修复方法有效
申请号: | 201611191813.9 | 申请日: | 2016-12-21 |
公开(公告)号: | CN106845245B | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 贾晓启;郑小妹;唐静;杜海超;白璐;武希耀 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F9/455 |
代理公司: | 11200 北京君尚知识产权代理有限公司 | 代理人: | 邱晓锋<国际申请>=<国际公布>=<进入 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 xen 虚拟 平台 漏洞 修复 方法 | ||
1.一种基于Xen虚拟化平台的漏洞热修复方法,其特征在于,包括以下步骤:
1)根据Xen系统的e820表计算Xen物理内存起始地址;
2)根据计算出的物理内存起始地址及Xen内存分布,计算待修复函数的虚拟地址所映射到的物理地址;
3)通过特权域Dom0获取补丁机器码,并将补丁写入内存,记录补丁函数所在物理内存地址;
4)特权域Dom0使用超级调用通知Xen有补丁需要插入;
5)Xen处理特权域Dom0的超级调用请求,通知Dom0插入补丁;
6)补丁插入成功后,特权域Dom0使用超级调用通知Xen补丁插入完成,即完成漏洞热修复;
虚拟机运行过程中不断产生超级调用请求和VMEXIT、VMENTRY操作,其中VMEXIT是指虚拟机执行特权指令时,需要陷入到Xen中由Xen处理;Xen执行完特权指令后将结果返回到虚拟机中,执行VMENTRY操作切换到虚拟机中运行;
在补丁插入前和插入后分别设置标志位,用于保证插入补丁过程中待修复函数正确运行,即:Xen首先设置标志位,然后通知Dom0插入补丁;在补丁插入完成后,Xen重置标志位;
所述标志位包括livepatch_work和works_to_do,分别用来标识当前有补丁需要插入和正在执行补丁插入操作;为避免补丁插入过程中待修复函数被调用,在Xen的VMEXIT处理函数中首先判断livepatch_work标志位,若被设置,则存在补丁需要插入,继续判断works_to_do标志位,若被设置,则存在CPU正在执行补丁插入操作,此时暂停该VMEXIT处理过程,等待补丁插入操作完成,同时调度其他虚拟机运行;补丁插入完成后,Xen重置标志位livepatch_work和works_to_do,继续被暂停的VMEXIT处理过程。
2.如权利要求1所述的方法,其特征在于:特权域Dom0插入补丁时,Xen拦截VMEXIT请求,等待补丁插入完成。
3.如权利要求1所述的方法,其特征在于:补丁的插入利用特权域Dom0的DMA操作完成,将待修复函数所在内存虚拟地址映射到的物理地址作为DMA操作的物理内存地址。
4.如权利要求1所述的方法,其特征在于:Xen与特权域Dom0通过超级调用和事件通知的方式通信,当Xen的客户机需要执行更高权限的操作时,通过调用超级调用交给Xen来完成。
5.如权利要求1所述的方法,其特征在于:增加一个虚拟中断用于Xen和Dom0之间的通信,Xen向Dom0发送一个事件通知即虚拟中断请求,特权域Dom0处理该虚拟中断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611191813.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电磁插头及磁性插座
- 下一篇:一种宠物追踪器组件和宠物追踪器的充电方法