使用系统事件信息来探测隐藏进程的系统和方法技术方案

技术编号:2835342 阅读:229 留言:0更新日期:2012-04-11 18:40
提供了一种用于通过使用系统事件信息来探测隐藏进程的系统和方法。该系统包括:内核层监视模块,用于通过监视内核层系统来提取系统事件信息;内核层进程列表探测模块,用于探测与来自于所提取的系统事件信息的事件相关的进程;应用层进程列表探测模块,用于探测从应用层提供给用户的进程列表;以及隐藏进程探测模块,用于通过比较由内核层进程列表探测模块探测的进程与由应用层进程列表探测模块探测的进程,探测仅在内核层中存在的进程作为隐藏进程。

【技术实现步骤摘要】

本专利技术涉及一种用于探测隐藏进程(hidden process)的系统及方法,尤其是涉及一种用于通过使用系统事件信息提取从内核层提供的进程列表以及比较该由内核层提供的进程列表与由应用层提供的进程列表、从而使用系统事件信息来探测隐藏进程的系统及方法,以用于实时防止用户系统受到隐藏进程的损害,从而获得系统安全,其中,通过实时监视系统内核层来产生所述系统事件信息。
技术介绍
由于隐藏进程和正常进程都是在系统内部执行,所以隐藏进程可以是与正常进程相比的同样类型的进程。然而,由于诸如rootkit之类的恶意代码将关于隐藏进程的信息相对于系统的应用层隐藏起来从而将隐藏进程相对于用户隐藏起来,因而用户不能够通过作为进程信息程序的任务管理器来辨认出隐藏进程的存在。如上所述,隐藏进程不向应用层提供任何相关的信息。然而,由于隐藏进程需要通过在内核层中的资源分配来使用系统资源以执行隐藏进程的相关进程,所以隐藏进程在系统内核层上公开其信息。因此,可以通过使用在系统资源被实时访问时提供的系统事件信息来探测访问系统资源的进程,并将探测到的进程与应用层中显示的进程相比较,从而探测隐藏进程。作为传统的探测隐藏进程的方法,介绍了一种使用包括在EPROCESS结构中的“ActiveProcessLinks(活动进程链接)”的隐藏进程探测方案。该隐藏进程探测方案由Joanna Rutkowska在http://invisiblethings.org向公众公开。该隐藏进程探测方案如下面那样探测隐藏进程。从系统的应用层提取出相应的进程列表(a)。通过EPROCESS结构的ActiveProcessLinks从内核层提取出另一个进程列表(b)。在获得应用层进程列表(a)和内核层进程列表(b)之后,比较这些列表并找出仅在内核中存在的进程。在这里,将仅存在于内核中的进程确定为隐藏进程。使用EPROCESS结构的传统的隐藏进程探测方案具有如下的缺点。由于获取列表的时间延迟,使用EPROCESS结构的传统的隐藏进程探测方案有可能将正常进程确定为隐藏进程。同样,因为进程列表是通过EPROCESS结构的ActiveProcessLinks而获得的,因此如果Windows操作系统的结构被修改,使用EPROCESS结构的传统的隐藏进程探测方案将不能探测到隐藏进程,并且EPROCESS结构不是由生产Windows操作系统的微软公司产生的内部系统结构。EPROCESS结构的ActiveProcessLinks被包括在相应的进程列表中,并且在系统资源被分配给系统中的相应进程时被执行。由此,当没有请求进行资源分配时,也即当进程处于周期性的空闲状态时,EPROCESS结构的ActiveProcessLinks不包括在相应的进程列表中。因此,使用EPROCESS结构的传统的隐藏进程探测方案不能探测到系统中处于空闲状态的隐藏进程。由F-Securue公司介绍了BlackLight的beta版(http://www.f-secure.com/blacklight),作为探测隐藏进程的传统产品。BlackLight的beta版使用了函数OpenProcess(),其被用来请求在Windows系统中当前运行的进程的信息。也就是说,BlackLight将所有的、能够在Window系统中产生的进程标识符(PID)值作为输入参数应用到相应的函数中。而后,根据从相应函数返回的值,BlackLight确定所应用的PID值的相应进程是否存在。如果相应的PID进程列表信息不在应用层中,那么相应的PID进程就被确定为隐藏进程。如上所述,BlackLight的beta版通过在系统的应用层中使用的应用程序接口(API)探测隐藏进程,而不在系统内核层中执行任何操作。然而,当调用本身具有PID值的函数OpenProcess()时,如果隐藏进程返回恶意形成的结果,那么BlackLight就不能探测到隐藏进程。在这种情况下,BlackLight确定在系统中不存在相应的进程。同时,使用函数OpenProcess()的隐藏进程探测方案不是实时的探测方案。它是一个使用扫描方法的隐藏进程探测方案。因此,当隐藏进程被激活或者已被终止时,使用函数OpenProcess()的隐藏进程探测方案不能探测到隐藏进程。
技术实现思路
因此,本专利技术致力于,其实质上避免了由于相关技术的限制和缺陷而产生的一个或多个问题。本专利技术的一个目的是提供一种通过下述方式使用系统事件信息来探测隐藏进程的系统及方法使用通过实时监视系统内核层而产生的系统事件信息来提取从内核层提供的进程列表,比较该内核层进程列表与从应用层提供的应用层进程列表,并删除探测到的隐藏进程。本专利技术的另一个目的是提供一种通过下述方式(即使隐藏进程处于空闲状态)基于在系统中实时产生的文件、注册信息(registry)和网络事件信息来比较应用层进程列表和内核层进程列表,以便克服传统的使用ActiveProcessLinks的隐藏进程探测方法的限制。本专利技术的附加优点、目的和特征将在后面的描述中部分地阐明,并且对于本领域普通技术人员来说根据后面的验证是显而易见的,或者可以从本专利技术的实施中了解。本专利技术的目标和其他优点可以通过在这些描述和其权利要求以及附图中特别指出的结构而得到实现和获得。为了根据本专利技术的目的而达到这些目标和其他优点,如这里表现并概括描述的,提供一种使用系统事件信息来探测隐藏进程的系统,包括内核层监测模块,用来通过监测内核层系统而提取系统事件信息;内核层进程列表探测模块,用来探测与来自于所提取的系统事件信息的事件相关的进程;应用层进程列表探测模块,用来探测从应用层提供给用户的进程列表;以及隐藏进程探测模块,用来通过比较由内核层进程列表探测模块探测的进程以及由应用层进程列表探测模块探测的进程,探测仅存在于内核层中的进程作为隐藏进程。内核层监视模块可以包括文件监视模块,用来通过在内核层监视文件系统而提取文件事件信息;注册信息监视模块,用来通过监视在内核层访问的注册信息而提取注册信息事件信息;以及网络监视模块,用来通过在内核层监视网络而提取网络事件信息。根据本专利技术的另一方面,提供了一种使用系统事件信息来探测隐藏进程的方法,包括步骤a)通过监视内核层系统提取系统事件信息;b)探测与来自于所提取的系统事件信息的事件相关的进程;c)探测由应用层提供给用户的进程列表;以及d)通过比较步骤b)中探测的进程和步骤c)中探测的进程列表中的进程,探测仅存在于内核层中的进程作为隐藏进程。应该理解,本专利技术的上面的概括描述以及下面的详细描述都是示意性和说明性的,并且旨在提供如权利要求所述的本专利技术的进一步的解释。附图说明附解了本专利技术的实施例并和描述一起用来解释本专利技术的原理,其中所述附图被包含以提供对本专利技术的进一步的理解、以及被并入本申请并构成本专利技术的一部分。在附图中图1是图解根据本专利技术一个实施例的、使用系统事件信息来探测隐藏进程的系统的方框图;以及图2是示出根据本专利技术一个实施例的、使用系统事件信息来探测隐藏进程的方法的流程图。具体实施例方式现在将对本专利技术的优选实施例进行详细的说明,其中所述优选实施例的例子被图解在附图中。在下文中,描述根据本专利技术一个实施例的。图1是图解根据本专利技术一个实施例的、使本文档来自技高网
...

【技术保护点】
一种通过使用系统事件信息来探测隐藏进程的系统,其特征在于:通过比较从通过内核层监视获得的系统事件信息中提取的进程列表和从应用列表提供给用户的进程列表,探测仅存在于内核层中的进程作为隐藏进程。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:金恩英尹永泰朴应纪
申请(专利权)人:韩国电子通信研究院
类型:发明
国别省市:KR[韩国]

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

1