|
知识路径: > 恶意代码防范技术原理 > 特洛伊木马分析与防护 > 特洛伊木马防范技术(基于查看开放端口检测特洛伊木马技术、基于重要系统文件检测特洛伊木马技术、基于系统注册表检测特洛伊木马技术、检测具有隐藏能力的特洛伊木马技术、基于网络检测特洛伊木马技术、基于网络阻断特洛伊木马技术、清除特洛伊木马技术等) >
|
相关知识点:7个
|
|
|
|
Rootkit是典型的具有隐藏能力的特洛伊木马。目前,检测Rootkit的技术有三类,分别叙述如下:
|
|
|
第一类是针对已知的Rootkit进行检测,这种方法基于Rootkit的运行痕迹特征来判断计算机系统是否存在木马。这种方式主要的缺点是只能针对特定的已知的Rootkit,而对未知的Rootkit几乎无能为力。
|
|
|
第二类是基于执行路径的分析检测方法。其基本原理是安装Rootkit的系统在执行一些操作时,由于要完成附加的Rootkit的功能,如隐藏进程、文件等,则需要执行更多的CPU指令,通过利用x86系列的CPU提供的步进模式(stepping mode),在CPU每执行一条指令后进行计数,将测量到的结果与正常的干净的系统测得的数据进行比较,然后根据比较的差异,判断系统是否可能已被安装了Rootkit。这种方法不仅限于已知的Rootkit,对于所有通过修改系统执行路径来达到隐藏和执行功能目的的Rootkit都有很好的作用。patchfinder就是从实用的角度实现了EPA,patchfinder2在Win 2000平台上实现了执行路径分析技术,它是一个设计复杂的检测工具,可以用来检测系统中的库和内核是否被侵害。利用patchfinder工具,可以发现许多Rootkit,例如Hacker Defender、APX、Vaniquish、He4Hook等。
|
|
|
第三类是直接读取内核数据的分析检测方法,该方法针对通过修改内核数据结构的方法来隐藏自己的Rootkit,其基本原理是直接读取内核中的内部数据以判断系统当前的状态。比如,针对修改系统活动进程链表来隐藏进程的Rootkit,可以直接读取KiWaitInListHead和KiWaitOutListHead链表来遍历系统内核线程链表ETHREAD,从而获得当前系统的实际进程链表来检测隐藏进程。Klister是实现该方法的实例,它是Windows 2000平台下的一组简单的工具,用来读取内核的数据结构,以获得关于系统状态的可靠的信息,诸如所有的进程。Klister包括一个内核模块和一些用户态的程序,这些用户态程序与内核模块通信以显示内核的数据结构。最有趣的地方是被内核调度代码使用的线程链表,当读取这些链表时,就可以确定得到的是包括了系统内所有线程的链表,包括被隐藏进程的线程,因此可以建立一个系统内所有进程的列表,从而检测出潜伏的Rootkit。
|
|
|