一种查杀ROOTKIT的系统及方法技术方案

技术编号:2918891 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种查杀ROOTKIT的系统及方法。其中,查杀ROOTKIT的系统,包括虚拟机监视器(3),以及运行在虚拟机监视器(3)上的服务操作系统(2)和至少一个客户操作系统(1),所述服务操作系统(2)包括检查模块(21),用于检查客户操作系统(1)中是否存在ROOTKIT并在发现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的方法。为实现本专利技术目的而提供的一种查杀ROOTKIT系统,包括虚拟机监视器3,以及运行在虚拟机监视器3上的服务操作系统2和至少一个客户操作系统1,其特征在于,所述服务操作系统2包括检查模块21,用于检查客户操作系统1中是否存在ROOTKIT并在发现ROOTKIT时报警。所述服务操作系统2的检查模块21可以包括过滤模块211,用于扫描客户操作系统1中的系统文件与进程内存中的文件,并与已知ROOTKIT的特征码进行比较,判断客户操作系统1中是否存在ROOTKIT,并在发现ROOTKIT时报警。所述检查模块21可以包括检测工具212,所述客户操作系统1还可以包括所述检测工具代理模块212’; 所述检测工具代理模块212’,用于在客户操作系统1运行时,收集客户操作系统打开的文件集以及进程集的信息;所述检测工具212,用于在虚拟机监视器3中收集客户操作系统1运行时打开的文件集以及进程集的信息,并将收集的信息与所述检测工具代理模块212’收集的信息相比较,判断是否存在ROOTKIT。所述收集的信息为文件列表信息或者系统内存状态信息。为实现本专利技术的另一目的而提供的一种查杀ROOTKIT的方法,包括以下步骤步骤A)运行于虚拟机监视器3上的服务操作系统2检查运行于虚拟机监视器3上的客户操作系统1中是否存在ROOTKIT,并在发现ROOTKIT时报警。所述步骤A)可以包括下列步骤步骤A1)服务操作系统2过滤扫描运行在客户操作系统1中的系统文件与进程内存中的文件,查找文件中的特征码,并用其特征码与已知的ROOTKIT特征码相比较判断是否一致;步骤A2)如果特征码比较显示一致,则显示出与已知的ROOTKIT特征相一致的文件,分析处理该文件,提示清除ROOTKIT。所述步骤A)还可以包括下列步骤步骤A1′)服务操作系统2中的检测工具212向客户操作系统1中传输检测工具代理模块212’,并在客户操作系统1中运行并驻留检测工具代理模块212’;步骤A2′)服务操作系统2中的检测工具212在虚拟机监视器3中收集客户操作系统1打开的文件集以及进程集的信息;步骤A3′)客户操作系统1中的检测工具代理模块212’收集客户操作系统1打开的文件集以及进程集的信息,并将收集的信息传输给服务操作系统2的检测工具212;步骤A4′)将所述步骤A2′)中检测工具212收集的信息与步骤A3′)中检测工具代理模块212’收集的信息进行比较判断是否相一致;步骤A5′)如果相一致,则客户操作系统1中没有ROOTKIT,检查过程结束;如果不相一致,收集的信息存在差异代码,则报警。所述步骤A5′)还可以包括下列步骤分析收集的信息中不相一致的文件特征码,判断其是否为ROOTKIT,如果是,则将其清除;否则,向客户操作系统1提示后结束检查过程。所述步骤A2)还可以进一步包括下列步骤在清除ROOTKIT后,将受其保护的病毒及木马清除。所述收集的信息可以为文件列表信息或者系统内存状态信息。本专利技术的有益效果是根据本专利技术的查杀ROOTKIT的系统及方法,在操作系统实时运行时,可靠地查杀ROOTKIT,且本专利技术的检查模块运行于操作系统之外的VMM控制的内存区域,攻击操作系统的病毒及木马无法攻击到VMM上,检查模块不会受到攻击,安全性高。附图说明图1为本专利技术的查杀ROOTKIT的系统结构示意图;图2为本专利技术的查杀已知ROOTKIT的方法流程图;图3为本专利技术的查杀未知ROOTKIT的方法流程图。具体实施例方式以下将结合附图1~3进一步详细说明本专利技术的查杀ROOTKIT的系统及方法。图1为本专利技术的查杀ROOTKIT的系统结构示意图。如图1所示,本专利技术的查杀ROOTKIT的系统包括至少一个客户操作系统(客户OS)1、服务操作系统2、虚拟机监视器(Virtual Machine Monitor,VMM)3。其中,虚拟机监视器3,运行在支持虚拟计算指令的硬件平台上,并在其上运行现有的各种操作系统(包括本专利技术的客户操作系统1以及服务操作系统2);服务操作系统2,其运行于虚拟机监视器3上,包括检查模块21,检查模块21包括过滤模块211以及检测工具212,其中,过滤模块211,用于本文档来自技高网
...

【技术保护点】
一种查杀ROOTKIT的系统,其特征在于,包括虚拟机监视器(3),以及运行在虚拟机监视器(3)上的服务操作系统(2)和至少一个客户操作系统(1),其特征在于,所述服务操作系统(2)包括检查模块(21),用于检查客户操作系统(1)中是否存在ROOTKIT并在发现ROOTKIT时报警。

【技术特征摘要】

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

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

1