[发明专利]检测进程的方法及设备有效
申请号: | 200610165468.1 | 申请日: | 2006-12-20 |
公开(公告)号: | CN101206692A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 李俊;王凯 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F9/44;G06F9/46 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 100085北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 进程 方法 设备 | ||
技术领域
本发明涉及计算机操作系统安全技术领域,尤其涉及一种检测计算机操作系统内核级隐藏进程的方法及设备。
背景技术
rootkit(后门工具包)是计算机攻击者用来隐藏自己的踪迹和保留访问权限的工具。rootkit发展大致分为三个阶段,第一代的rootkit是原始的,他们简单地替换/修改操作系统上关键的系统文件;第二代的rootkit基于挂钩技术,通过对已加载的应用程序和一些诸如系统调用表的操作系统部件打内存补丁,而改变执行路径,将修改方式从磁盘移到已加载程序的内存映像;第三代的内核rootkit技术通过动态地修改内核对象来实现。
直接内核对象操作(DKOM,Direct Kernel Object Manipulation)技术作为第三代内核级rootkit的代表,通过直接修改操作系统内核对象来实现进程的隐藏、设备驱动隐藏以及进程权限提升等深度隐藏的目的。DKOM较难于检测,因为它并不修改程序执行路径,而是直接修改操作系统中的内核对象。内核对象是指核心数据结构内容,包括进程、线程和设备驱动等。这些内核对象是操作系统和上层应用程序直接依赖的内容,通过修改它们可以达到rootkit隐藏恶意进程的目的。
在具体执行过程中,所有进程都是由一个进程结构体(EPROCESS)描述,而所有进程结构体都由一个双向循环链表维护。DKOM进程隐藏的一个方法是改变进程结构体的指针,使得链表枚举跳过自身达到进程隐藏的目的。现有的针对此种进程隐藏的检测方法,是采用遍历EPROCESS结构的双向链表来得到进程列表,然后将此进程列表中进程ID(标识符)与API(ApplicationProgramming Interface,应用编程接口)调用的进程ID进行比较,可以检测出隐藏的进程。
但是这种检测方法不够彻底,当攻击者也修改了双向链表,这种方法就会失效;而且,为了得到进程名称、ID和父进程ID,必须获知EPROCESS结构中偏移地址,而这些偏移地址随着操作系统类型或版本的变化而不同,例如Windows 2000和Windows XP,各自对应偏移地址不同,所以这种检测方法不具有通用性。而且,当攻击者将要隐藏的EPROCESS双向指针清空,也就是要隐藏的进程都被从进程链表中删掉了,那么上述遍历双向链表的方式也就不可能检测到隐藏的进程了。
发明内容
本发明公开了一种检测进程的方法及设备,用于解决现有进程检测方法检测不够彻底、不通用的问题。
为此,本发明采用如下技术方案:
一种检测进程的方法,该方法包括步骤:查找操作系统内核地址空间,得到上下文切换函数地址;修改所述上下文切换函数首部地址内容为远程跳转指令,通过远程跳转,访问进程结构体,获取进程信息。
在获取进程信息之后,所述方法还包括:执行被远程跳转指令覆盖的上下文切换函数首部地址内容指令,并将远程跳转返回至上下文切换函数。
在远程跳转返回至上下文切换函数之后,所述方法还包括:将所述获取的进程信息与调用应用编程接口API进程信息进行比较,若不一致,确定存在内核级隐藏进程。
在得到上下文切换函数地址之后,所述方法还包括:检测上下文切换函数首部地址内容是否被篡改,若是,立即将其恢复为原始状态,并记录报警日志。
所述方法还包括:动态监控上下文切换函数首部地址内容是否被篡改,若是,立即将其恢复为原始状态,并记录报警日志。
所述方法是采用搜索算法查找内核地址空间得到上下文切换函数地址;或者,由以下步骤得到上下文切换函数地址:通过反汇编得到操作系统内核调度程序的二进制特征码,通过所述特征码查找到上下文切换函数地址。
一种检测进程的设备,该设备包括地址查询单元、跳转单元和实时监控单元;所述地址查询单元,用于查找操作系统内核地址空间,得到上下文切换函数地址;所述跳转单元,在所述地址查询单元得到上下文切换函数地址时,修改上下文切换函数首部地址内容为远程跳转指令,并指示实时监控单元对进程结构体进行监控;所述实时监控单元,得到跳转单元监控指示后,对进程结构体进行访问,得到进程有关信息。
所述设备还包括进程比较单元,用于将所述实时监控单元得到的进程信息,与调用API进程信息进行比较,在比较结果不一致的情况下,确定存在内核级隐藏进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610165468.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:治疗高血压的药物
- 下一篇:高性能辐向热压磁环及其制备方法