| 摘要 | 第3-4页 |
| abstract | 第4-5页 |
| 1 绪论 | 第8-14页 |
| 1.1 研究背景与意义 | 第8-9页 |
| 1.2 国内外研究现状 | 第9-11页 |
| 1.2.1 Rootkit技术的发展 | 第9-10页 |
| 1.2.2 Rootkit检测技术的发展 | 第10-11页 |
| 1.3 本论文的主要工作与研究内容 | 第11-12页 |
| 1.4 本文的组织结构 | 第12页 |
| 1.5 本章小结 | 第12-14页 |
| 2 Rootkit技术涉及的相关系统原理 | 第14-22页 |
| 2.1 Windows系统基本架构 | 第14-15页 |
| 2.2 Ring0和Ring3级 | 第15-16页 |
| 2.3 文件系统 | 第16-17页 |
| 2.4 PE文件格式 | 第17-19页 |
| 2.5 DLL注入技术 | 第19-21页 |
| 2.6 本章小结 | 第21-22页 |
| 3 Rootkit核心技术研究 | 第22-34页 |
| 3.1 用户模式Rootkit核心技术分析 | 第23-25页 |
| 3.1.1 修改输入地址表 | 第23-24页 |
| 3.1.2 Inline Hook技术 | 第24-25页 |
| 3.2 内核模式Rootkit核心技术分析 | 第25-30页 |
| 3.2.1 挂钩中断描述符表 | 第25-27页 |
| 3.2.2 修改系统服务调度表 | 第27-29页 |
| 3.2.3 修改系统内存中的活动链表 | 第29-30页 |
| 3.3 Rootkit检测技术 | 第30-33页 |
| 3.3.1 IAT表钩子检测 | 第30-31页 |
| 3.3.2 内核模块完整性检测 | 第31-33页 |
| 3.3.3 INT 2E号中断的异常性检测 | 第33页 |
| 3.4 本章小结 | 第33-34页 |
| 4 Rootkit隐蔽性功能的实现 | 第34-48页 |
| 4.1 Rootkit载入系统内核 | 第34-35页 |
| 4.2 修改系统内存 | 第35-38页 |
| 4.2.1 内存分页机制 | 第35-36页 |
| 4.2.2 内存欺骗技术 | 第36-38页 |
| 4.3 新型的SSDT挂钩技术 | 第38-39页 |
| 4.3.1 挂钩系统服务函数 | 第38-39页 |
| 4.3.2 处理钩子代码 | 第39页 |
| 4.3.3 实现效果 | 第39页 |
| 4.4 进程模块的隐藏 | 第39-43页 |
| 4.4.1 修改进程链表删除进程 | 第40-42页 |
| 4.4.2 映射MDL修改内存标志位 | 第42-43页 |
| 4.5 文件模块的隐藏 | 第43-45页 |
| 4.6 驱动模块的隐藏 | 第45-47页 |
| 4.6.1 KLDR_DATA_TABLE_ENTRY结构 | 第45页 |
| 4.6.2 从驱动程序链表中删除驱动 | 第45-47页 |
| 4.7 本章小结 | 第47-48页 |
| 5 结果验证与分析 | 第48-52页 |
| 5.1 进程隐藏验证 | 第48-49页 |
| 5.2 文件隐藏验证 | 第49-50页 |
| 5.3 驱动隐藏验证 | 第50页 |
| 5.4 性能分析 | 第50-51页 |
| 5.5 本章小结 | 第51-52页 |
| 6 总结与展望 | 第52-54页 |
| 6.1 工作总结 | 第52页 |
| 6.2 工作展望 | 第52-54页 |
| 致谢 | 第54-56页 |
| 参考文献 | 第56-58页 |