论文部分内容阅读
目前,一种应用于Windows系统的功能更强、更难以检测的隐藏技术正逐渐开始被一些商业软件和恶意软件使用,这种技术被称为Windows Rootkit。利用Windows Rootkit,可以很容易地隐藏在系统中安装的“后门”或恶意代码。更为严重的是,使用Windows Rootkit作为隐藏手段的程序一旦安装到目标主机中后,使用现有的工具无法将其检测出来。本文回顾了Rootkit的起源,给出了它的定义,分析了其特征,讨论了其分类方式。从x86体系的保护模式入手,分析了处理器的分段机制、特权级机制、内存分页、中断和异常以及I/O机制。简要回顾了Windows系统的基本架构,介绍了操作系统的用户空间和内核空间,对用户空间中的子系统概念以及内核空间的Executive进行了描述。详细分析了对当前Windows Rootkit所采用的主要技术手段。分析了Hook技术时,从用户空间的API Hook和内联函数Hook开始,逐渐到内核空间的SSDT Hook、IDT Hook、IRP Hook,讨论了内联函数Hook技术,分析了其修改代码的思路和方法。针对目前较先进的DKOM技术进行了分析,并结合Windows内核工作原理,对通过直接修改内核对象达到隐藏进程和设备驱动程序的方法进行了阐述。根据对Windows Rootkit技术的分析,列举并分析了特征检测、启发式检测、完整性检测以及硬件检测思路的优点和不足,结合目前有代表性的Windows Rootkit检测工具及检测手段,从实际应用的角度指出目前Windows Rootkit检测工具存在的问题:在通用性和适应性上存在不足。为解决上述问题,提高检测工具的通用性和有效性,提高智能化水平,文本提出了一种集成检测思路和方法。它建立在对Windows Rootkit所采用的主要技术手段的详细分析基础之上,能够准确掌握不同种类、采用不同技术手段的Windows Rootkit的技术本质特征,采用多种检测机制,覆盖操作系统的用户空间和内核空间,有针对性地对Windows Rootkit在操作系统中的修改痕迹进行检测和判断,主要通过完整性检测、交叉查看检测、启发式检测等思路设计出了具体的检测方法。根据集成检测的设计思路和方法,开发出集成检测程序,并使用几种有代表性的、采用不同种类Windows Rootkit进行了检测实验,证明其完全具备检测能力。