[发明专利]防止操作系统中断流程被非法转移的方法无效
申请号: | 201110359598.X | 申请日: | 2011-11-14 |
公开(公告)号: | CN102509048A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 李金库;谢琨;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F9/48 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防止 操作系统 中断 流程 非法 转移 方法 | ||
技术领域
本发明属于计算机科学与技术领域,涉及恶意软件的防护,具体是一种基于虚拟机管理器的防止操作系统中断流程被非法转移的方法,可用于保护操作系统的安全。
背景技术
基于执行流程的攻击是当代黑客采用的一种典型攻击手段。它通过在某个关键点上将程序原有的执行流程进行非法转移,跳转到攻击者自己的恶意代码,或按照攻击者精心选定的次序来“滥用”原有的代码片段,达到恶意攻击的目的。
为了转移原有的执行流程,攻击者需要改写系统中的某个控制数据。所谓控制数据是指计算机程序在执行到某个时刻被载入CPU程序计数器中的数据,它决定了程序跳转时的执行路径。由于控制数据的特殊性,它们经常被攻击者利用来实施基于执行流程的攻击。为了抵御这些攻击,相关研究者提出了多种技术方法来保护操作系统中的控制数据,防止它们被恶意篡改。目前,针对操作系统中两种常用的控制数据:函数指针和返回地址,业界已经提出了一些解决方案。例如,Wang等提出的HookSafe系统[Wang et al.,ACM CCS 2009]和Li等提出的return-less系统[Li et al.,ACM EuroSys2010]通过间接索引的方式分别对函数指针和返回地址提供了基于硬件的页面级保护。
然而,在操作系统内核中存在着一种重要的例外情形,那就是中断上下文中控制数据的保护。当一个中断发生时,系统将暂停当前程序的执行,强制将执行流程转移给相应的中断处理程序。同时,系统保存当前正在运行程序的上下文相关信息,以便将来恢复运行。在中断上下文信息中,系统硬件将自动把被中断程序的断点地址压入系统栈中。由于这个断点地址决定了中断处理结束后的返回位置,所以将这个断点地址称为中断上下文中的控制数据。它由代码段寄存器CS和指令指针寄存器IP共同组成,通常用“CS:IP”表示。我们必须对这个断点地址进行保护,因为攻击者同样可以利用它来非法转移操作系统正常的执行流程。
中断的特殊性在于无法预先得知它所发生的具体时间和位置,因为它有可能发生在系统中几乎任意指令的边缘。理论上,中断上下文中对应CS和IP寄存器的位置有可能保存了系统中任意有效的指令地址。因此,对于操作系统中断流程的保护是个非常棘手的问题。
发明内容
针对操作系统中断流程被非法转移的问题,本发明提出了一种防止操作系统中断流程被非法转移的方法。该方法基于虚拟机管理器技术来保护中断上下文中的控制数据,阻止攻击者通过篡改该数据来非法转移操作系统的中断流程,保护操作系统的安全。
为了实现上述目的,本发明的防止操作系统中断流程被非法转移的方法,包括:
(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寄存器的值被非法篡改,系统发生错误,停止操作系统的执行。
本发明与现有的技术相比,具有如下的有益效果:
1)本发明基于虚拟机管理器技术,借助于虚拟机管理器,通过修改客户机操作系统中断处理流程,提供了对操作系统中断上下文中控制数据的保护,从而阻止了攻击者通过篡改该数据来非法转移操作系统的中断流程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110359598.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种热镀用锌锰钛合金
- 下一篇:一种污泥烧结砖