论文部分内容阅读
随着互联网的发展,网络安全备受人们的关注。现在的病毒木马不再单纯的以炫耀技术,破坏用户系统为目的,更多的是潜行在系统中收集数据、窃取用户私密信息以牟取钱财。为了能够长期的潜行在系统中不被用户和杀毒软件发现,后门程序通常采用了隐藏技术,其中隐藏自身进程是其最基本的功能之一。本文首先回顾了Rootkit的发展历史,并深入探讨了Rootkit隐藏进程的原理,即挂钩一些关键的API函数和系统服务函数、修改系统内存和内核对象等,接着详细分析了用户模式下的IAT HOOK、Inline HOOK以及内核模式下的IDT HOOK、SSDTHOOK、直接内核对象操作等技术。最后对几个经典的Rootkit检测工具进行了分析。但是,这些工具针对性很强只能检测出某些特定Rootkit,无法检测到采用了其他技术的Rootkit,而且还容易受到恶意代码的破坏以达到篡改检测结果欺骗用户的不法目的。本文在分析了Rootkit隐藏进程所利用的各种技术的基础上,设计了一个具有自身完整性保护功能的多层次多方法隐藏进程检测系统模型。自我完整性保护用来保护检测系统不被具有反检测功能的Rootkit所破坏,保证了检测结果的正确性。在检测隐藏进程时,检测系统分别从用户层和内核层两个层次对Rootkit可能修改的地方进行检测,并且在每个层面都采用了多种检测方法,在用户层实现了直接内核函数调用检测方法;在内核层实现了各种钩子检测方法、基于内核对象的检测方法以及基于线程调度的检测方法,恶意代码将会很难应对这么多的检测方法,从而实现了设计目标的通用性和有效性。另外,检测系统从内核层对检测到的隐藏进程进行处理,弥补了部分检测工具只能检测不能处理的不足。最后,用VS2005实现了系统模型并通过实验对系统进行了全方位测试,实验结果表明该系统达到了预期目标。