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页 |