一种清除ROOTKIT的系统及方法技术方案

技术编号:2837763 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种清除ROOTKIT的系统及方法。其中,该系统包括:虚拟机监视器(3),以及运行在虚拟机监视器(3)上的服务操作系统(2)和至少一个客户操作系统(1),其中:客户操作系统(1)包括检测工具代理模块(22’),用于在客户操作系统(1)运行时,收集客户操作系统(1)中信息;服务操作系统(2)包括检测工具(22),用于在虚拟机监视器(3)中收集客户操作系统(1)运行时的信息,并将收集的信息与所述检测工具代理模块(22’)收集的信息相比较,判断是否存在ROOTKIT,并依照检测工具代理模块(22’)中收集的信息,将被ROOTKIT修改的信息替换。根据本发明专利技术的清除ROOTKIT的系统及方法,在操作系统实时运行时,可靠地清除未知ROOTKIT,且安全性高。

【技术实现步骤摘要】

本专利技术涉及清除病毒的系统及方法,尤其涉及一种清除ROOTKIT的系统及方法。
技术介绍
随着商业用户对个人计算机(PC)依赖性的不断加大,用户在PC上主要的检查病毒与木马的工具是防(杀)病毒及防(杀)木马工具软件,这些工具工作原理是在系统运行时,扫描系统内存中的进程及硬盘上保存的系统文件,并匹配相关特征文件,从而发现病毒及木马。操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,其中内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等;外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。一般的进程查看工具和杀毒软件也不例外,能看到的进程其实是内核“看到”并通过相关接口指令(API)反馈到应用程序的,这样就不可避免的存在一条数据通道。简单而言,ROOTKIT设法让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终“遗漏”ROOTKIT自身进程的信息,一般的进程工具自然就“看”不到ROOTKIT了。更高级的ROOTKIT还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(网络组件SOCK API被拦截),更拦截不到相关的网络数据包(网络组件NDIS API被拦截)了,这样ROOTKIT通过监听系统的功能、用合法的数值取代返回的数据。ROOTKIT其它的秘密活动包括掩盖网络活动和修改WINDOWS注册表,达到了隐藏其代码不被发现的目标。当病毒或者木马采用ROOTKIT技术时,其病毒本身内存中进程和硬盘保存的文件被隐藏起来,则不会被防病毒、防木马工具软件发现,更不会与特征文件进行匹配,因此采用ROOTKIT技术的病毒与木马不会被采用现有技术的防病毒与防木马的工具软件发现。系统中隐藏的病毒及木马,轻则破坏系统,重则盗取用户合同、银行帐号等敏感数据,给用户带来严重地损失。目前,最可靠地检测ROOTKIT的办法是关闭操作系统(OFFLINE OS)检测。例如,系统自身启动,然后列出所有的文件、REGISTRY项等等。然后用WINPE从CD启动,再列出所有的文件、REGISTRY项。这时,对比两个列表,在正常情况下,两个列表中所列内容应该是一样的,如果出现不一样的地方,就可以发现那些在用自身系统启动的情况下看不到的文件。该方法的主要缺点是1)该方法只能检测硬盘中文件,对于可能通过网络或方式进入系统或系统中运行态的进程无法检查;2)关闭系统会给用户带来不便,特别是对于某些24小时不能停机的重要系统(例如,银行的授权系统等),关闭系统的方法是不现实的;3)由于ROOTKIT是未知的,不仅查找ROOTKIT存在困难,而且ROOTKIT如何替换系统核心文件和API是未知的,清除未知ROOTKIT存在技术问题。
技术实现思路
本专利技术的目的在于,提供一种清除ROOTKIT的系统。本专利技术的另一目的在于,提供一种清除ROOTKIT的方法。本专利技术的清除ROOTKIT的系统,包括虚拟机监视器,以及运行在虚拟机监视器上的服务操作系统和至少一个客户操作系统,其中所述客户操作系统包括检测工具代理模块,用于在客户操作系统运行时,收集客户操作系统中信息;所述服务操作系统包括检测工具;所述检测工具,用于在虚拟机监视器中收集客户操作系统运行时的信息,并将收集的信息与所述检测工具代理模块收集的信息相比较,判断是否存在ROOTKIT,并依照检测工具代理模块中收集的信息,将被ROOTKIT修改的信息替换。所述服务操作系统还可以包括原始系统文件参照模块,用于在客户操作系统最初运行时,保存初始系统信息。所述收集的信息为文件列表信息或者系统内存状态信息。所述系统内存状态信息为系统API接口地址信息及API对应的程序代码。本专利技术的清除ROOTKIT的方法,包括以下步骤步骤A)检测工具代理模块收集用户在客户操作系统中的信息;步骤B)运行于虚拟机监视器上的服务操作系统检查运行于虚拟机监视器3上的客户操作系统中是否存在被ROOTKIT修改的信息;步骤C)如果存在ROOTKIT,则依照检测工具代理模块收集的信息,将被ROOTKIT修改的信息替换,清除ROOTKIT。所述步骤B)可以包括下列步骤步骤B1)检测工具在虚拟机监视器中收集客户操作系统打开的信息;步骤B2)客户操作系统中的检测工具代理模块收集在客户操作系统1中打开的信息,并将收集的信息传输给服务操作系统的检测工具;步骤B3)将所述步骤B1)中检测工具收集的信息与步骤B2)中检测工具代理模块收集的信息进行比较,判断是否存在差异信息;步骤B4)如果没有差异信息,则客户操作系统中没有ROOTKIT,检查过程结束;如果有差异信息,则客户操作系统中存在ROOTKIT。所述步骤C)还可以包括下列步骤检测工具,用步骤B2)中检测工具代理模块收集的信息,替换被ROOTKIT修改的差异信息,清除ROOTKIT。本专利技术的查杀ROOTKIT的方法,还可以包括以下步骤服务操作系统中原始系统文件参照模块对客户操作系统中初始系统信息进行保存;针对差异信息,检测工具用原始系统文件参照模块中保存的初始系统信息替换硬盘保存的实际被ROOTKIT修改的信息。所述收集的信息为文件列表信息或者系统内存状态信息。所述系统内存状态信息为API接口地址信息和API对应的程序代码。本专利技术的有益效果是根据本专利技术的清除ROOTKIT的系统及方法,在操作系统实时运行时,可靠地清除未知ROOTKIT,且本专利技术的检测工具以及原始系统文件参考模块运行于操作系统之外的VMM控制的服务操作系统内存区域,攻击操作系统安全软件的病毒及木马无法攻击到VMM以及服务操作系统,因此检测工具以及原始系统文件参考模块不会受到攻击,安全性高。附图说明图1为本专利技术一实施例的清除ROOTKIT的系统结构示意图;图2为本专利技术一实施例的清除ROOTKIT的方法流程图;图3为本专利技术另一实施例的清除ROOTKIT的系统结构示意图;图4为本专利技术另一实施例的清除ROOTKIT的方法流程图。具体实施例方式以下将结合附图1~4详细说明本专利技术的清除ROOTKIT的系统及方法。实施例1图1为本专利技术一实施例的清除ROOTKIT的系统结构示意图。如图1所示,本实施例的清除ROOTKIT的系统包括至少一个客户操作系统(客户OS)1、服务操作系统2、虚拟机监视器(Virtual Machine Monitor,VMM)3。其中,虚拟机监视器3,运行在支持虚拟计算指令的硬件平台上,并在其上运行现有的各种操作系统(包括本专利技术的客户操作系统1以及服务操作系统2);服务操作系统2,其运行于虚拟机监视器3上,包括检测工具22,用于在虚拟机监视器3中直接收集客户操作系统1运行时的信息(例如,打开的文件集、进程集以及API接口地址等信息),其在客户操作系统1中设置有检测工具代理模块22’,用于收集在客户操作系统1中用户打开的信息(例如,打开的文件集、进程集以及API接口地址等信息);客户操作系统1,包括所述服务操作系统2中检测工具代理模块22’,用于收集在客户操作系统1中用户打开的信息,并将收本文档来自技高网
...

【技术保护点】
一种清除ROOTKIT的系统,其特征在于,包括虚拟机监视器(3),以及运行在虚拟机监视器(3)上的服务操作系统(2)和至少一个客户操作系统(1),其特征在于:所述客户操作系统(1)包括检测工具代理模块(22’),用于在客户操作系统(1)运行时,收集客户操作系统(1)中信息;所述服务操作系统(2)包括检测工具(22);所述检测工具(22),用于在虚拟机监视器(3)中收集客户操作系统(1)运行时的信息,并将收集的信息与所述检测工具代理模块(22’)收集的信息相比较,判断是否存在ROOTKIT,并依照检测工具代理模块(22’)中收集的信息,将被ROOTKIT修改的信息替换。

【技术特征摘要】
1.一种清除ROOTKIT的系统,其特征在于,包括虚拟机监视器(3),以及运行在虚拟机监视器(3)上的服务操作系统(2)和至少一个客户操作系统(1),其特征在于所述客户操作系统(1)包括检测工具代理模块(22’),用于在客户操作系统(1)运行时,收集客户操作系统(1)中信息;所述服务操作系统(2)包括检测工具(22);所述检测工具(22),用于在虚拟机监视器(3)中收集客户操作系统(1)运行时的信息,并将收集的信息与所述检测工具代理模块(22’)收集的信息相比较,判断是否存在ROOTKIT,并依照检测工具代理模块(22’)中收集的信息,将被ROOTKIT修改的信息替换。2.如权利要求1所述的清除ROOTKIT的系统,其特征在于,所述服务操作系统(2)还包括原始系统文件参照模块(21),用于在客户操作系统(1)最初运行时,保存初始系统信息。3.如权利要求1所述的清除ROOTKIT的系统,其特征在于,所述收集的信息为文件列表信息或者系统内存状态信息。4.如权利要求3所述的清除ROOTKIT的系统,其特征在于,所述系统内存状态信息为系统API接口地址信息及API对应的程序代码。5.一种清除ROOTKIT的方法,其特征在于,包括以下步骤步骤A)检测工具代理模块(22’)收集用户在客户操作系统(1)中的信息;步骤B)运行于虚拟机监视器(3)上的服务操作系统(2)检查运行于虚拟机监视器(3)上的客户操作系统(1)中是否存在被ROOTKIT修改的信息;步骤C)如果存在ROOTKIT,则依照检测工具代理模块(22’)收集的信息,将被ROOTKIT修改的信息...

【专利技术属性】
技术研发人员:杨文兵
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1