声明
1 绪论
1.1研究背景与意义
1.2国内外研究现状
1.3相关技术概述
1.3.1 QEMU/KVM虚拟化
1.3.2 LLVM中间语言插桩传播污点
1.3.3 EPT页表和虚拟化异常
1.4本文主要研究内容
1.5论文组织结构
2 数据流跟踪系统的设计
2.1总体设计
2.2动态KVM/TCG切换设计
2.3污点数据结构的设计
2.4LLVM IR插桩和指令级污点传播
2.4.1TCG IR翻译成LLVM IR
2.4.2LLVM IR插桩优化
2.4.3 污点的基本操作
2.4.4 DMA、网络、硬盘驱动器的污点传播
2.5函数级污点传播
2.6本章小结
3 数据流跟踪系统的实现
3.1动态Qemu/KVM切换实现
3.2污点插桩实现
3.2.1LLVM IR生成及插桩实现
3.2.2 回调函数进行DMA、网络、硬盘驱动器污点传播
3.2.3 API调用拦截及分析
3.3本章小结
4 数据流跟踪测试和实验结果分析
4.1开发工具及运行环境
4.2对比实验和结果
4.2.1 对比实验设计
4.2.2 IE浏览器对比实验和结果
4.2.3 notepad对比实验和结果
4.3实验分析
4.4本章小结
5 总结与展望
5.1总结
5.2展望
致谢
参考文献