目前,我国工业生产、国防军工等领域大力推进信息化、智能化建设,嵌入式软件作为实现系统智能控制的核心产品,其规模和复杂度不断增长,软件的潜在风险也不断增多。如何保证软件的安全性,避免出现系统故障甚至重大安全事故,是我们急需解决的问题。
《网络与信息安全前沿技术丛书:嵌入式软件安全保证技术》基于航天领域一系列重要型号软件安全性保证的应用经验,总结提炼出一套成体系、可剪裁的安全保证技术,书中所介绍的嵌入式软件安全保证技术体系已在我国国防领域开展应用并得到推广。
第1章 绪论
1.1 嵌入式软件的特征
1.1.1 嵌入式计算机控制系统
1.1.2 嵌入式软件的特征分析
1.2 软件安全性的概念
1.2.1 软件失效安全性的概念
1.2.2 软件安全性与系统安全性之间的关系
1.2.3 软件安全性保证的定义
1.3 安全关键嵌入式软件保证技术现状及问题
1.3.1 现有嵌入式软件安全性问题案例分析
1.3.2 嵌入式软件安全性特征分析
1.3.3 嵌入式软件安全性保证技术发展现状
1.4 小结
参考文献
第2章 安全关键嵌入式软件开发过程保证体系
2.1 嵌入式软件安全保证工程
2.2 安全关键嵌入式软件安全性保证体系
2.2.1 体系构建
2.2.2 体系框架剪裁方法
2.2.3 嵌入式软件开发过程一致性追踪
2.2.4 基于工程实践的安全关键软件检查模型
2.3 小结
参考文献
第3章 安全关键嵌入式软件需求分析
3.1 软件需求分析的定义及嵌入式软件需求分析
3.2 嵌入式软件安全需求工程
3.2.1 嵌入式软件安全需求分析的必要性
3.2.2 软件安全需求工程
3.2.3 软件安全性需求提取
3.3 嵌入式软件安全需求分析技术
3.3.1 软件安全性需求BDA分析技术
3.3.2 软件需求分析的形式化分析技术.
3.3.3 软件需求中的一致性追踪
3.3.4 软件需求检查单
3.4 小结
参考文献
第4章 安全关键软件设计分析
4.1 软件安全性分析设计
4.1.1 软件安全性设计原则
4.1.2 软件体系结构的安全性设计
4.1.3 软件安全关键部件/模块/单元的设计
4.1.4 软件容错和容失效的安全性设计
4.1.5 软件安全性设计的其他考虑
4.2 软件设计产品的安全性分析验证
4.2.1 设计产品的安全性分析验证
4.2.2 软件需求安全性分析的更新
4.2.3 软件需求设计的一致性追踪分析
4.2.4 软件设计变更的安全性分析
4.3 小结
参考文献
第5章 安全关键软件的实现
5.1 软件实现的安全编程要求
5.1.1 编程语言
5.1.2 编程方法
5.1.3 编码规范
5.1.4 代码复杂性控制
5.1.5 代码效率保证
5.2 代码的安全性分析验证
5.2.1 静态分析
5.2.2 单元测试
5.2.3 代码审查
5.2.4 形式化分析
5.2.5 FTA与FMEA分析
5.2.6 与设计的一致性追踪分析
5.2.7 代码变更的安全性分析
5.2.8 运行时错误分析
5.3 小结
参考文献
第6章 安全关键嵌入式软件测试
6.1 安全关键嵌入式软件安全性测试流程
6.1.1 安全关键嵌入式软件测试的特点
6.1.2 软件安全性测试过程
6.1.3 安全性测试要求
6.2 安全关键嵌入式软件安全性测试技术
6.2.1 软件故障注入技术与工具
6.2.2 软件运行时错误检测技术与工具
6.2.3 软件逆向分析技术与工具
6.2.4 基于数据流分析的测试用例生成技术与工具
6.3 小结
参考文献
第7章 技术发展展望
7.1 可信软件需求分析技术发展展望
7.2 安全关键软件设计分析技术展望
7.3 安全关键软件实现技术展望
7.4.安全测试技术发展展望
参考文献
附录
A1 安全关键软件检查模型
A1.1 嵌入式软件工程化检查模型
A1.2 嵌入式软件测试检查模型
A1.3 嵌入式软件安全性专项检查模型
A1.4 FPGA安全开发检查模型
A2 软件安全需求明细的确定
A2.1 设计与开发过程的需求
A2.2 系统设计需求
A2.3 计算系统环境需求
A2.4 自检设计需求
A2.5 安全关键计算系统功能保护需求
A2.6 接口设计需求
A2.7 用户界面
A2.8 关键性定时和中断功能
A2.9 软件设计与开发需求
A2.10 软件维护需求
A2.11 软件分析与测试
A2.12 特殊软件安全需求