一种AntiRootkit工具的设计
一种AntiRootkit工具的设计(论文说明书10000字,程序代码)
摘要:为了检测计算机内存中的隐藏模块和内核钩子,设计并实现了一种AntiRootkit工具,共实现了七个功能,包括驱动模块信息检测、SSDT/ShadowSSDT信息检测、活动进程信息检测、IDT信息检测、自我保护、强杀进程、强删文件。对于现有的两种难以检测的驱动模块隐藏技术,包括直接内核对象操作和内存加载驱动,提出了一种解决方法,即遍历对象目录获取隐藏的驱动对象,将该方法加入到AntiRootkit工具中并通过对比实验证明了该方法的有效性。
关键词:模块隐藏、Hook、检测对象目录
Design and Implementation of an AntiRootkit Tool
Abstract: In order to detect hidden modules and kernel hooks in computer memory, an AntiRootkit tool is designed and implemented, which has seven functions, including driver module information detection, SSDT/ShadowSSDT information detection, activity process information detection, IDT information detection, self-protection, killing process and deleting files. For the existing two hard-to-detect driver module hiding technologies, including direct kernel object operation and memory loading driver, a solution is proposed, that is, traversing the object directory to obtain hidden driver objects. The method is added to the AntiRootkit tool, and the effectiveness of the method is proved by comparative experiments. [来源:http://www.doc163.com]
Key words: Module Hiding, Hook, Detection Object Directory
本系统AntiRootkit工具支持Win7x64平台,应用程序基于Microsoft Foundation Classes(简称MFC)环境开发,驱动程序基于Windows Driver Kit(简称WDK)环境开发,开发语言为C和C++。 [资料来源:http://www.doc163.com]
目 录
1 绪论 1
2 国内外研究现状 1
3 开发工具和技术介绍 2
3.1 MFC简介 2
3.2 WDK简介 2
3.3 Rootkit简介 2
3.4 Hook简介 2
3.5 SSDT简介 2
3.6 Windbg简介 3
4 需求分析 3
4.1 系统的功能性需求 3
4.2 系统的非功能性需求 4
5 新的驱动模块检测方法 4
5.1 通常使用的驱动模块检测方法 4
5.2 两种难以检测的驱动模块隐藏技术 5
5.3 新的检测方法 8
6 系统实现 8
6.1 应用层程序 8
6.1.1 加载驱动服务 8
6.1.2 初始化界面 9
6.1.3 与驱动程序通信 10
6.2 驱动层程序 11
6.2.1 获取驱动模块信息 11
6.2.2 获取所有进程信息 11
6.2.3 获取进程的所有模块信息 12
6.2.4 获取SSDT中的函数信息 13
6.2.5 获取ShadowSSDT中的函数信息 15
6.2.6 获取IDT中的函数信息 16
6.2.7 强杀进程 17
6.2.8 强删文件 18
6.2.9 避免资源冲突 22
7 实验对比 23
8 结论 24
参考文献 25
致谢 26