[发明专利]防止操作系统中断流程被非法转移的方法无效
申请号: | 201110359598.X | 申请日: | 2011-11-14 |
公开(公告)号: | CN102509048A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 李金库;谢琨;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F9/48 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防止 操作系统 中断 流程 非法 转移 方法 | ||
1.一种防止操作系统中断流程被非法转移的方法,包括:
(1)操作系统中断处理流程修改步骤
(1.1)在操作系统中断处理程序的入口点增加超级调用hypercall 1,向虚拟机管理器发送Interrupt_Begin消息;
(1.2)在操作系统中断处理程序执行结束返回之前加入超级调用hypercall 2,向虚拟机管理器发送Interrupt_End消息;
(2)虚拟机管理器修改步骤
(2.1)初始化保存中断上下文中控制数据“CS:IP”的先入后出FILO队列;
(2.2)虚拟机管理器监听客户机操作系统发送来的消息,如果虚拟机管理器接收到客户机发送来的Interrupt_Begin消息,则执行步骤(2.3);如果虚拟机管理器接收到客户机发送来的Interrupt_End消息,则执行步骤(2.4);否则继续监听;
(2.3)虚拟机管理器复制操作系统栈上CS寄存器和IP寄存器的值到先入后出FILO队列的头部,返回步骤(2.2);
(2.4)虚拟机管理器取出先入后出FILO队列头部保存的CS寄存器和IP寄存器的值,并与操作系统当前栈上CS寄存器和IP寄存器的值分别进行比较,如果相同,表明中断上下文中的控制数据即CS寄存器和IP寄存器的值未被非法篡改,返回步骤(2.2);否则表明中断上下文中的控制数据即CS寄存器和/或IP寄存器的值被非法篡改,系统发生错误,停止操作系统的执行。
2.根据权利要求1所述的防止操作系统中断流程被非法转移的方法,其中步骤(1.2)所述的在操作系统中断处理程序执行结束返回之前,是指在中断处理程序中的iret指令执行之前。
3.根据权利要求1所述的防止操作系统中断流程被非法转移的方法,其中步骤(2.1)所涉及的先入后出FILO队列,是指队列中的每个成员包括两个变量域,分别用来保存操作系统中断上下文中CS寄存器和IP寄存器的值。
4.根据权利要求1所述的防止操作系统中断流程被非法转移的方法,其中步骤(2.1)所述的初始化保存中断上下文中控制数据“CS:IP”的先入后出FILO队列,是指由虚拟机管理器调用系统内存分配函数,比如malloc为先入后出FILO队列申请一段内存空间,并在申请成功后调用内存清零函数,比如bzero将该队列初始化为全零。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110359598.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种热镀用锌锰钛合金
- 下一篇:一种污泥烧结砖