[发明专利]一种进程上下文保存、篡改检测方法及装置有效
| 申请号: | 201110260699.1 | 申请日: | 2011-09-05 |
| 公开(公告)号: | CN102436405A | 公开(公告)日: | 2012-05-02 |
| 发明(设计)人: | 王龙顺 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
| 主分类号: | G06F11/00 | 分类号: | G06F11/00;G06F9/48 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
| 地址: | 100036 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 进程 上下文 保存 篡改 检测 方法 装置 | ||
技术领域
本发明涉及多进程操作系统技术领域,尤其涉及一种进程上下文保存、篡改检测方法及装置。
背景技术
目前,大部分操作系统都支持多进程调度,例如windows系统和linux系统,支持多进程调度的操作系统调度的优点是,从用户侧来看,操作系统可以同时执行用户发起的多个应用,比如在windows操作系统下,用户可以同时进行上网、下载电影以及进行word编辑等多种应用。
对于采用单核CPU的操作系统,在同一个时刻只能执行一个应用程序,为了让CPU能够同时运行多个应用程序,就必须让CPU在不同的时间段内,轮流的执行这多个应用程序,如图1所示,在linux操作系统中,每0.01秒从当前应用切换到另外一个应用,其中音乐播放、下载和word编辑三个应用轮流被CPU执行,由于切换时间足够快,用户感知不到当前执行的应用的切换,因此从用户角度看,这3个应用同时运行。
为了支持多进程的同时运行,操作系统必须支持多进程调度,调度的原理如图2所示,在时刻1,时刻2和时刻3需要由当前执行的进程A切换到进程B,在从进程A切换到进程B之前,操作系统需要将进程A的现场数据,即进程上下文进行保存,进程上下文保存完毕后,将当前执行的进程切换到进程B;当操作系统需要将当前执行的线程切换回进程A时,首先获得保存的进程A的进程上下文,并且恢复进程A的进程上下文,从而实现对进程A从切换前的进程上下文继续执行,如同进程A持续被执行一样。
一个进程的进程上下文包括进程的状态、有关变量和数据结构的值、机器寄存器的值、进程控制块PCB以及有关程序、数据等,这些信息都包含在进程上下文中,现有技术中,操作系统为每一个进程分配一个独立的上下文存储空间,进程上下文都保存在自身的上下文存储空间内。
然而,由于一些应用程序自身存在BUG,在执行的过程中将篡改其它进程的进程上下文的数据,导致其它进程在重新切换为当前执行的进程时,无法恢复到切换前的进程上下文,最终导致该进程运行异常,甚至可能导致整个系统异常。
现有技术中,为了防止进程上下文被篡改,一般采用将系统分成内核态和应用态,应用态的程序只能访问应用态的空间,无法直接访问内核态的空间,从而通过将进程上下文保存在内核态的空间中,使得其它应用程序无法直接访问内核态的空间,也就无法篡改进程上下文。
然而,这种方案只能防止应用态的程序篡改进程上下文,无法防止内核态的程序篡改进程上下文。并且,现有技术中,当进程上下文被篡改后,无法实现对进程上下文是否被篡改的检测。
发明内容
本发明实施例提供一种进程上下文保存、篡改检测方法及装置,用以解决现有技术中存在的无法检测进程上下文是否被篡改的问题。
本发明实施例提供一种进程上下文保存方法,包括:
当需要进行进程切换时,获取当前执行的进程的进程上下文;
将获取的所述进程上下文分别保存到为当前执行的所述进程分配的至少两个上下文存储空间中。
本发明实施例还提供一种进程上下文篡改检测方法,包括:
从为指定进程分配的至少两个上下文存储空间中的每个上下文存储空间中,分别获取保存的所述指定进程的进程上下文;
当获取的至少两份所述指定进程的进程上下文相同时,确定保存的所述指定进程的进程上下文未被篡改;
否则,确定保存的所述指定进程的进程上下文被篡改。
本发明实施例还提供一种进程上下文保存装置,包括:
第一获取单元,用于当需要进行进程切换时,获取当前执行的进程的进程上下文;
保存单元,用于将获取的所述进程上下文分别保存到为当前执行的所述进程分配的至少两个上下文存储空间中。
本发明实施例还提供一种进程上下文篡改检测装置,包括:
第二获取单元,用于从为指定进程分配的至少两个上下文存储空间中的每个上下文存储空间中,分别获取保存的所述指定进程的进程上下文;
检测单元,用于当获取的至少两份所述指定进程的进程上下文相同时,确定保存的所述指定进程的进程上下文未被篡改;否则,确定保存的所述指定进程的进程上下文被篡改。
本发明有益效果包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110260699.1/2.html,转载请声明来源钻瓜专利网。





