Linux设备驱动程序敏感代码的检测与修复
致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7-8页 |
1 绪论 | 第12-20页 |
1.1 研究背景 | 第12-13页 |
1.2 国内外研究现状 | 第13-17页 |
1.3 研究内容与技术路线 | 第17-18页 |
1.4 论文组织结构 | 第18-20页 |
2 研究基础 | 第20-34页 |
2.1 LINUX设备驱动概述 | 第20-25页 |
2.1.1 内核体系架构 | 第20-22页 |
2.1.2 设备驱动层级结构 | 第22-23页 |
2.1.3 设备驱动开发考量 | 第23-25页 |
2.2 设备瞬时故障及敏感代码 | 第25-26页 |
2.2.1 设备瞬时故障 | 第25页 |
2.2.2 设备驱动敏感代码 | 第25-26页 |
2.3 设备驱动相关交互机制 | 第26-32页 |
2.3.1 Linux驱动与应用程序的交互机制 | 第27-29页 |
2.3.2 Linux驱动与设备的交互机制 | 第29-32页 |
2.4 本章小结 | 第32-34页 |
3 设备驱动敏感代码分析及加固方法 | 第34-42页 |
3.1 设备驱动可靠性 | 第34-35页 |
3.2 违反交互协议的敏感代码 | 第35-37页 |
3.2.1 与硬件设备间交互协议的违反情形 | 第35-36页 |
3.2.2 与内核间交互协议的违反情形 | 第36-37页 |
3.3 交互协议违反解决方案 | 第37-40页 |
3.3.1 静态检测方法 | 第37-38页 |
3.3.2 错误隔离方法 | 第38-40页 |
3.4 本章小结 | 第40-42页 |
4 敏感代码检测与修复方法的设计与实现 | 第42-64页 |
4.1 总体设计 | 第42-45页 |
4.1.1 系统分析 | 第43-44页 |
4.1.2 流程设计 | 第44-45页 |
4.2 敏感代码检测详细设计与实现 | 第45-53页 |
4.2.1 敏感代码检测流程 | 第46-47页 |
4.2.2 污染变量分析检测 | 第47-49页 |
4.2.3 污染变量传递跟踪 | 第49-52页 |
4.2.4 敏感代码检测确认 | 第52-53页 |
4.3 敏感代码修复处理 | 第53-57页 |
4.3.1 敏感代码修复设计与实现 | 第54-56页 |
4.3.2 设备驱动恢复处理 | 第56-57页 |
4.4 故障注入技术研究 | 第57-60页 |
4.4.1 故障注入概述 | 第57页 |
4.4.2 故障注入设计 | 第57-59页 |
4.4.3 故障注入实现 | 第59-60页 |
4.5 设备驱动加固实现 | 第60-62页 |
4.5.1 开发及运行平台 | 第61页 |
4.5.2 设备驱动加固处理 | 第61-62页 |
4.6 本章小结 | 第62-64页 |
5 原型测试及结果分析 | 第64-76页 |
5.1 功能测试 | 第64-71页 |
5.1.1 测试环境 | 第64页 |
5.1.2 测试结果 | 第64-68页 |
5.1.3 结果分析 | 第68-71页 |
5.2 性能测试 | 第71-73页 |
5.3 本章小结 | 第73-76页 |
6 总结与展望 | 第76-80页 |
6.1 工作总结 | 第76-77页 |
6.2 研究展望 | 第77-80页 |
参考文献 | 第80-84页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第84-88页 |
学位论文数据集 | 第88页 |