[发明专利]操作系统内核运行时安全验证方法有效
申请号: | 201310425645.5 | 申请日: | 2013-09-17 |
公开(公告)号: | CN103473508A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 肖楠 | 申请(专利权)人: | 肖楠 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/51;G06F21/56 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 王少文 |
地址: | 710068 陕西省西安市*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 内核 运行 安全 验证 方法 | ||
1.一种操作系统内核运行时安全验证方法,其特征在于:包括以下步骤:
步骤1]确认目标操作系统的所有内核模块文件的合法性:
静态确认目标操作系统的所有内核模块文件的合法性,并保存目标操作系统中所有的合法内核模块的完整性验证信息;
步骤2]验证内核中已经加载的模块的合法性:
通过枚举操作系统已经加载的内核模块,与步骤1中保存的完整性验证信息进行对比,从而验证内核中已经加载的模块的合法性,同时获得每个模块的每个可执行节的地址范围;
步骤3]对随时加载的新内核模块进行合法性验证:
对操作系统随时加载的新内核模块,与步骤1中保存的完整性验证信息进行对比,从而验证该新加载模块的合法性,同时获得该模块的每个可执行节的地址范围;
步骤4]重新设定处理器中所有从用户等级切换到特权等级的入口:
拦截处理器中所有从用户等级切换到特权等级的指令,并重新设定这些指令的入口,使之指向二进制翻译入口;
步骤5]对二进制翻译所要翻译的每条指令进行检查:
对二进制翻译所要翻译的每条指令进行检查,如果该条指令不在某个合法内核模块的某个可执行节中,则按照异常指令处理;如果该条指令位于某个合法内核模块的某个可执行节中,则执行步骤6;
所述按照异常指令处理是指:
若系统处于最高安全要求下,则停止系统运行并收集相关信息自动上报,经人工检测无毒后再确认新的合法模块;
若系统处于较高安全要求下,则允许系统继续运行或回避该指令并设法让系统能够继续正常运行,同时搜集相关信息上报进行安全性分析;
若系统处于低安全性要求下,允许异常指令继续运行,同时搜集信息进行安全性分析;
步骤6]对步骤5]中经过检查的每条指令进行动态二进制翻译。
2.根据权利要求1所述的操作系统内核运行时安全验证方法,其特征在于:所述步骤6中的动态二进制翻译是采用直拷贝动态二进制翻译,其具体步骤如下:
6.1]调用翻译接口函数,从某个本应执行指令的地址开始翻译;
6.2]从该地址进行指令解码,获得一条指令;
6.3]如果该指令为跳转指令,则翻译成跳到翻译接口函数,写入跳转目的地址为参数,并保留原跳转指令的跳转目的,这组指令跳转到翻译接口进行翻译,翻译结束后,跳转到生成指令缓冲区开始执行,直到最后一条指令执行完后回到原跳转指令的跳转目的;对于不带跳转的指令,不做任何变动,直接拷贝到生成指令缓冲区开始执行,同时移动地址到下一条指令;
6.4]返回步骤6.1开始翻译下一条指令。
3.根据权利要求1所述的操作系统内核运行时安全验证方法,其特征在于:所述步骤6中的动态二进制翻译是采用慢缓冲技术、快缓冲技术和/或直链技术的动态二进制翻译。
4.根据权利要求2所述的操作系统内核运行时安全验证方法,其特征在于:所述步骤6中的直拷贝动态二进制翻译是采用慢缓冲技术、快缓冲技术和/或直链技术的直拷贝动态二进制翻译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于肖楠,未经肖楠许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310425645.5/1.html,转载请声明来源钻瓜专利网。