摘要 | 第5-7页 |
abstract | 第7-9页 |
缩略词 | 第14-15页 |
主要符号表 | 第15-16页 |
第一章 绪论 | 第16-44页 |
1.1 研究背景 | 第16-22页 |
1.1.1 嵌入式系统安全及其战略地位 | 第16-17页 |
1.1.2 可信计算与高可信保障技术 | 第17-19页 |
1.1.3 高可信嵌入式系统软件的定义 | 第19-20页 |
1.1.4 高可信软件的实现技术 | 第20-22页 |
1.2 研究现状 | 第22-40页 |
1.2.1 安全内核及虚拟机监视器的研究 | 第22-28页 |
1.2.2 高可信操作系统的形式化验证 | 第28-35页 |
1.2.3 设备驱动和系统服务的安全保障 | 第35-40页 |
1.3 研究内容与意义 | 第40-42页 |
1.3.1 高可信嵌入式系统中存在的关键问题 | 第40-41页 |
1.3.2 本文的主要研究内容 | 第41-42页 |
1.4 论文的内容结构 | 第42-44页 |
第二章 高可信嵌入式系统软件的体系架构及验证方法 | 第44-62页 |
2.1 概述 | 第44-45页 |
2.2 安全要求 | 第45-46页 |
2.3 高可信嵌入式软件体系架构 | 第46-47页 |
2.4 程序的形式化推导 | 第47-48页 |
2.5 基于抽象层的软件验证方法 | 第48-54页 |
2.5.1 抽象层接口 | 第50-51页 |
2.5.2 代码模块 | 第51页 |
2.5.3 形式化认证的抽象层 | 第51-52页 |
2.5.4 Clight和LAsm函数的形式化验证 | 第52-54页 |
2.6 循环缓冲区队列的抽象层验证实例 | 第54-59页 |
2.7 CertiKOS操作系统内核及其形式化验证 | 第59-61页 |
2.8 本章小结 | 第61-62页 |
第三章 安全关键驱动的验证研究 | 第62-98页 |
3.1 概述 | 第62-64页 |
3.1.1 所面临的挑战 | 第62-64页 |
3.1.2 解决方法 | 第64页 |
3.2 验证的方法与思路 | 第64-69页 |
3.3 设备驱动的形式化建模 | 第69-74页 |
3.3.1 状态迁移 | 第69-70页 |
3.3.2 本地日志 | 第70-71页 |
3.3.3 设备原语 | 第71-72页 |
3.3.4 设备对象 | 第72-74页 |
3.3.5 设备对象的组合 | 第74页 |
3.4 设备中断的建模与验证 | 第74-82页 |
3.4.1 中断建模 | 第75-78页 |
3.4.2 抽象中断模型 | 第78-81页 |
3.4.3 全局中断模型与抽象中断模型的精化证明 | 第81-82页 |
3.4.4 中断嵌套 | 第82页 |
3.5 安全驱动的验证实例 | 第82-92页 |
3.5.1 串口设备 | 第83-88页 |
3.5.2 I/O高级可编程中断控制器 | 第88-90页 |
3.5.3 局部高级可编程中断控制器 | 第90-92页 |
3.6 评估和经验总结 | 第92-95页 |
3.6.1 验证的对象 | 第92页 |
3.6.2 驱动的隔离属性 | 第92-93页 |
3.6.3 验证工作 | 第93-95页 |
3.6.4 验证中发现的错误 | 第95页 |
3.7 存在的问题与未来的工作 | 第95-97页 |
3.7.1 其他驱动程序的验证 | 第96页 |
3.7.2 并发验证 | 第96-97页 |
3.8 本章小结 | 第97-98页 |
第四章 非安全关键驱动的安全运行环境 | 第98-120页 |
4.1 概述 | 第98-99页 |
4.1.1 所面临的挑战 | 第98-99页 |
4.1.2 解决方法 | 第99页 |
4.2 设计动机与总体架构 | 第99-101页 |
4.3 驱动命令解释器 | 第101-109页 |
4.3.1 命令列表 | 第101-102页 |
4.3.2 设备命令 | 第102-103页 |
4.3.3 状态列表 | 第103-104页 |
4.3.4 控制命令 | 第104-107页 |
4.3.5 调度策略与请求响应 | 第107-109页 |
4.4 中断和DMA | 第109-112页 |
4.4.1 中断 | 第109-111页 |
4.4.2 直接内存存取 | 第111-112页 |
4.5 驱动生命期管理 | 第112-113页 |
4.6 安全策略 | 第113-115页 |
4.7 实验 | 第115-119页 |
4.7.1 命令写入解释时延 | 第115-116页 |
4.7.2 命令解释吞吐量 | 第116页 |
4.7.3 综合时延 | 第116-117页 |
4.7.4 综合吞吐量 | 第117页 |
4.7.5 安全性测试 | 第117-118页 |
4.7.6 多客户环境下的综合吞吐量 | 第118-119页 |
4.8 本章小结 | 第119-120页 |
第五章 高可信嵌入式虚拟机监视器的设计与验证 | 第120-160页 |
5.1 概述 | 第120-122页 |
5.1.1 所面临的挑战 | 第120-121页 |
5.1.2 解决方法 | 第121-122页 |
5.2 设计动机与总体架构 | 第122-129页 |
5.2.1 威胁模型 | 第122-123页 |
5.2.2 硬件辅助虚拟化 | 第123-124页 |
5.2.3 总体设计 | 第124-127页 |
5.2.4 内存布局与地址空间转换 | 第127-128页 |
5.2.5 虚拟机监视器的验证思路与框架 | 第128-129页 |
5.3 虚拟机内存管理 | 第129-135页 |
5.3.1 扩展页表结构的抽象 | 第129-131页 |
5.3.2 扩展页表初始化及内存映射的建立 | 第131-133页 |
5.3.3 扩展页表顶层操作 | 第133-135页 |
5.4 虚拟处理器 | 第135-143页 |
5.4.1 虚拟机控制结构及其访问接口 | 第135-138页 |
5.4.2 虚拟机控制结构的初始化 | 第138-139页 |
5.4.3 虚拟机额外控制信息与VMM主循环 | 第139-143页 |
5.5 虚拟中断管理 | 第143-148页 |
5.6 虚拟时钟 | 第148-153页 |
5.7 实验与性能评估 | 第153-159页 |
5.7.1 性能评估 | 第153-158页 |
5.7.2 隔离性测试 | 第158-159页 |
5.8 本章小结 | 第159-160页 |
第六章 总结与展望 | 第160-163页 |
6.1 全文总结 | 第160-161页 |
6.2 未来工作展望 | 第161-163页 |
致谢 | 第163-164页 |
参考文献 | 第164-181页 |
附录 | 第181-183页 |
攻读博士学位期间取得的成果 | 第183-184页 |