| 摘要 | 第1-5页 |
| Abstract | 第5-15页 |
| 第一章 引言 | 第15-18页 |
| ·研究背景 | 第15-16页 |
| ·论文研究内容 | 第16页 |
| ·论文组织 | 第16-18页 |
| 第二章 Windows RootKit 简介 | 第18-24页 |
| ·什么是Windows RootKit | 第18-19页 |
| ·Windows RootKit 产生的原因 | 第19-20页 |
| ·Windows RootKit 的攻击原理 | 第20-21页 |
| ·RootKit 的发展和研究现状 | 第21-23页 |
| ·Windows RootKit 的分类 | 第23-24页 |
| 第三章 Windows RootKit 常用核心技术 | 第24-35页 |
| ·Windows 相关概念与原理 | 第24-29页 |
| ·Windows 系统的内存空间 | 第24-25页 |
| ·系统服务(System Service) | 第25页 |
| ·系统服务的调用 | 第25-26页 |
| ·系统服务描述符表(ServiceDescriptorTable,SDT) | 第26-28页 |
| ·进程与线程 | 第28页 |
| ·驱动程序 | 第28-29页 |
| ·挂钩技术 | 第29-30页 |
| ·内核修补技术 | 第30-32页 |
| ·内核代码补丁 | 第30页 |
| ·直接内核对象修改 | 第30-32页 |
| ·用户空间动态注入技术 | 第32页 |
| ·内核模块动态加载技术 | 第32-35页 |
| ·注册表加载 | 第33页 |
| ·SystemLoadAndCallImage 加载 | 第33-34页 |
| ·\Device\PhysicalMemory 加载 | 第34-35页 |
| 第四章 Windows RootKit 现有检测技术和方法 | 第35-43页 |
| ·交叉观测检测 | 第35-36页 |
| ·静态表检测 | 第36-37页 |
| ·执行路径检测 | 第37-38页 |
| ·执行路径分析 | 第37页 |
| ·指令记数的实现 | 第37-38页 |
| ·完整性检测 | 第38-39页 |
| ·文件完整性检测 | 第38-39页 |
| ·内存完整性检测 | 第39页 |
| ·指令跳转分析检测 | 第39-40页 |
| ·隐藏进程检测 | 第40-43页 |
| ·检索调度程序(scheduler)中的线程列表 | 第40-41页 |
| ·挂钩SwapContext 内核函数 | 第41-43页 |
| 第五章 Windows RootKit 实例和检测工具的分析 | 第43-53页 |
| ·Windows RootKit 实例 | 第43-48页 |
| ·Hacker Defender | 第43-44页 |
| ·介绍 | 第43-44页 |
| ·技术解析 | 第44页 |
| ·灰鸽子 | 第44-45页 |
| ·介绍 | 第44-45页 |
| ·技术解析 | 第45页 |
| ·Agony Ri1190 RootKit | 第45-46页 |
| ·介绍 | 第45-46页 |
| ·技术解析 | 第46页 |
| ·Ntrootkit | 第46-47页 |
| ·介绍 | 第46页 |
| ·技术解析 | 第46-47页 |
| ·FU | 第47页 |
| ·介绍 | 第47页 |
| ·技术解析 | 第47页 |
| ·Windows RootKit 总结 | 第47-48页 |
| ·Windows RootKit 检测工具 | 第48-53页 |
| ·基于签名的检测工具 | 第48页 |
| ·基于行为的检测工具 | 第48-49页 |
| ·VICE | 第48-49页 |
| ·Patchfinder | 第49页 |
| ·基于交叉观察的检测 | 第49-51页 |
| ·RootKit Revealer | 第50页 |
| ·Klister | 第50-51页 |
| ·Blacklight | 第51页 |
| ·Strider GhostBuster | 第51页 |
| ·基于完整性的检测 | 第51-52页 |
| ·Tripwire | 第51-52页 |
| ·System Virginity Verifier | 第52页 |
| ·关于检测方法的思考 | 第52-53页 |
| 第六章 Windows RootKit 安全监测系统的设计与实现 | 第53-114页 |
| ·总体设计方案 | 第55-56页 |
| ·采集校验码检查数据的完整性 | 第56页 |
| ·用户空间检测 | 第56-69页 |
| ·系统文件完整性检测 | 第57-59页 |
| ·系统可执行文件 | 第57-58页 |
| ·检测方法 | 第58-59页 |
| ·代码区完整性检测 | 第59-63页 |
| ·定位PE 文件中的代码区 | 第59-61页 |
| ·定位内存空间中的代码区 | 第61-62页 |
| ·检测方法 | 第62-63页 |
| ·输入地址表修改检测 | 第63-69页 |
| ·输入表(Import Table)简介 | 第63-65页 |
| ·检测方法 | 第65-67页 |
| ·部分代码实现 | 第67-69页 |
| ·内核空间检测 | 第69-97页 |
| ·内核空间与用户空间的通信 | 第69-70页 |
| ·隐藏进程检测 | 第70-87页 |
| ·Windows RootKit 隐藏进程的方式 | 第71页 |
| ·检测方法 | 第71-87页 |
| ·系统服务调度表挂钩检测 | 第87-91页 |
| ·系统服务调度表 | 第87-89页 |
| ·检测方法 | 第89-90页 |
| ·部分代码实现 | 第90-91页 |
| ·内联挂钩检测 | 第91-94页 |
| ·检测方法 | 第92-93页 |
| ·部分代码实现 | 第93-94页 |
| ·特定驱动的IRP 检测 | 第94-97页 |
| ·寻找驱动程序的IRP 函数表 | 第95页 |
| ·检测方法 | 第95-96页 |
| ·部分代码实现 | 第96-97页 |
| ·监控Windows RootKit | 第97-107页 |
| ·监控文件系统 | 第97-101页 |
| ·文件过滤驱动 | 第97-98页 |
| ·设计文件系统过滤驱动 | 第98-100页 |
| ·部分代码实现 | 第100-101页 |
| ·监控用户空间的代码动态注入 | 第101-103页 |
| ·监控原理 | 第101-102页 |
| ·设计代码动态注入监控 | 第102页 |
| ·部分代码实现 | 第102-103页 |
| ·监控内核的动态加载 | 第103-107页 |
| ·监控原理 | 第104-105页 |
| ·设计动态加载监控 | 第105页 |
| ·部分代码实现 | 第105-107页 |
| ·保护Anti-RootKit | 第107-109页 |
| ·Anti-RootKit 模块文件完整性保护 | 第107-108页 |
| ·隐藏Anti-RootKit 模块 | 第108-109页 |
| ·综合试验 | 第109-114页 |
| ·测试实验 | 第109-112页 |
| ·hxdef 检测 | 第109-110页 |
| ·“灰鸽子”检测 | 第110-111页 |
| ·FU 检测 | 第111页 |
| ·Ntrookit 检测 | 第111-112页 |
| ·主动监控测试 | 第112页 |
| ·总体评价 | 第112-114页 |
| 第七章 结论 | 第114-116页 |
| ·本文工作总结 | 第114页 |
| ·进一步研究工作 | 第114-116页 |
| 致谢 | 第116-117页 |
| 参考文献 | 第117-121页 |
| 在学期间的研究成果 | 第121-122页 |