学位论文 > 优秀研究生学位论文题录展示

软件故障注入及软件脆弱点检测方法研究

作 者: 吕文娟
导 师: 洪炳镕
学 校: 哈尔滨工业大学
专 业: 计算机科学与技术
关键词: 故障注入 星载计算机 故障模型 软件脆弱点
分类号: TP311.52
类 型: 硕士论文
年 份: 2009年
下 载: 91次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着计算机应用领域的日益广泛,计算机的可靠性问题越来越关键。尤其是在航空航天、银行交通、医疗、核反应监控、电讯系统等关系国计民生的领域,计算机系统一旦失效,将会引起巨大的经济损失和人员伤亡。如航天领域,由于辐射带中捕获粒子、宇宙射线能在微电子器件中诱发单粒子事件,从而导致星载计算机系统经常发生各种故障。应用于这些领域的计算机都引入容错机制来检测软件或硬件故障。为了保证容错机制在应用时能达到预期效果,必须要在系统应用之前对这些对容错机制的有效性、可靠性进行验证,这就需要一种有效的对容错系统进行评测的机制。而且,在引入容错机制之前,将容错机制放置在软件中的哪个位置、如何放置对容错机制能否挥最佳性能影响重大,因此了解软件系统中错误的传播过程,进而找到软件中较为薄弱的环节或部分,也是提高容错机制性能的重要途径。传统的评测计算机容错性能的方法主要是组合模型法和测试法。这些方法要么需要建立和求解复杂的可靠性模型、要么耗时长久,要么得不到可靠数据或结果精度不高。故障注入技术作为一种实验评测方法被证明是一种高效的可靠性验证方法,它通过人为的在目标系统中产生故障,加速系统发生故障和失效的过程,通过对注入故障后系统的反应信息进行监测和分析,可获得对目标系统可靠性和容错性能的评测结果。与传统可靠性评测技术相比,它具有无需建立和求解复杂的系统模型、实验时间短、结果精度高等优点,已引起众多学者和研究人员的重视。故障注入技术有硬件实现的故障注入、模拟实现的故障注入和软件实现的故障注入三种。与前两种方法相比,基于软件实现的故障注入具有操作简便、开发成本低廉,不会对目标系统造成损伤等优点。本文首先总结了以往故障注入器实现的基本原理和方法,重点研究了用软件实现的故障注入方法,结合航天领域的太空环境设计了故障模型,提出了软件故障注入工具的框架,并在Windows平台进行了设计与实现。经实验证明,该工具能够对基本所有的用户级软件注入故障,并具有较强的数据回收功能。以该故障注入工具为基础,本文又分别在信号和模块级别上研究了故障在软件中的生成与传播过程,同时给出了描述此过程的评测参数及其计算方法,并给出了软件脆弱点的概念及确定原则。最后在一智能水位控制控制系统上对该框架的正确性和有效性进行了验证。这为评测软件系统可靠性提供了方法,并为如何在软件系统中放置容错机制才能使之达到最佳性能提供了依据,为进一步提高软件系统的可靠性开辟了新的思路。

全文目录


摘要  3-5
Abstract  5-10
第1章 绪论  10-16
  1.1 课题背景及研究意义  10-12
  1.2 故障注入技术国外研究现状  12-13
  1.3 故障注入技术国内研究现状  13-14
  1.4 本文主要研究内容  14-16
第2章 故障注入技术概述  16-28
  2.1 引言  16
  2.2 故障注入的基本概念  16-18
  2.3 故障注入技术分类  18-23
    2.3.1 基于模拟的故障注入  20
    2.3.2 基于物理的故障注入  20-22
    2.3.3 基于软件的故障注入  22-23
  2.4 故障模型  23-27
    2.4.1 单粒子事件  24-25
    2.4.2 存储器故障模型分析  25-26
    2.4.3 单粒子事件故障模型  26-27
  2.5 本章小结  27-28
第3章 软件故障注入方法与实现机制  28-35
  3.1 引言  28
  3.2 软件故障注入方法  28-30
    3.2.1 基于调试器原理的故障注入  29
    3.2.2 基于驱动器原理的故障注入  29
    3.2.3 基于驱动器的性能故障注入  29-30
    3.2.4 基于网络通信的故障注入  30
  3.3 故障注入底层机制  30-35
    3.3.1 Unix/Linux 系统  30-32
    3.3.2 Solaris 系统  32-33
    3.3.3 Windows 系统  33-35
第4章 软件故障注入器SIWIN 的设计与实现  35-50
  4.1 引言  35
  4.2 SIWIN 总体设计  35
  4.3 预处理模块  35-40
    4.3.1 PE 文件格式介绍  35-39
    4.3.2 预处理模块实现方法  39-40
  4.4 故障模型初始化模块  40-42
    4.4.1 内存故障模型  40-41
    4.4.2 CPU 故障模型  41-42
  4.5 故障注入模块  42-47
    4.5.1 CPU 及内存故障的模拟  43-45
    4.5.2 故障注入模块具体实现  45-47
  4.6 信息回收及结果分析模块  47-49
    4.6.1 信息回收结构  47-48
    4.6.2 实验结果分类  48-49
  4.7 本章小结  49-50
第5章 基于错误传播分析的软件脆弱点检测方法  50-61
  5.1 引言  50-51
  5.2 软件系统与环境模型  51-52
  5.3 错误传播特性  52-57
    5.3.1 信号级上的错误传播  53-55
    5.3.2 模块级上的错误传播  55-57
    5.3.3 识别软件脆弱点  57
  5.4 参数的实验估计方法  57-60
  5.5 本章小结  60-61
第6章 软件故障注入及软件脆弱点检测系统 SIWIN-VIS  61-77
  6.1 引言  61-62
  6.2 SIWIN-VIS 的特性  62-63
  6.3 SIWIN-VIS 的结构及功能组成  63-64
  6.4 使用SIWIN-VIS 进行故障注入仿真实验  64-72
    6.4.1 使用SIWIN-VIS 进行故障注入实验的流程  64-65
    6.4.2 目标程序介绍  65-66
    6.4.3 对目标注入故障  66-72
  6.5 使用SIWIN-VIS 进行软件脆弱点分析实验  72-75
    6.5.1 使用SIWIN-VIS 进行脆弱点分析实验的流程  72
    6.5.2 目标软件系统介绍  72-73
    6.5.3 对目标进行脆弱点分析实验  73-75
  6.6 本章小结  75-77
结论  77-79
参考文献  79-84
攻读学位期间发表的学术论文  84-86
致谢  86

相似论文

  1. 分布式系统的故障注入方法研究,TP338.8
  2. 面向软件的故障注入工具的研究与实现,TP311.52
  3. SRAM型FPGA单粒子故障传播特性与测试方法研究,V467
  4. CTCS-3级列控系统的UML建模与模型检验研究,TP273
  5. 计算机系统可信性评测研究与设计,TP311.52
  6. 高可靠星载双机备份系统的设计与评估,TP309.3
  7. 基于SCSI故障注入的可用性评测工具设计与实现,TP333
  8. 面向星载计算机的容错并行算法研究与实现,TP302.8
  9. 面向安腾2处理器的故障注入工具设计与实现,TP332
  10. 一种容错计算机原型机的容错性能评测方法的研究与实现,TP302.8
  11. 模拟电路故障仿真与诊断平台研制,TP18
  12. Linux操作系统内核可靠性评测方法研究,TP316.81
  13. 通讯故障注入测试系统的研究与实现,TP311.52
  14. 高端容错计算机故障注入工具的设计与实现,TP302.8
  15. 分布式文件系统容错能力测试平台的设计与实现,TP302.8
  16. 基于JTAG的CPU故障注入工具的设计与实现,TP332
  17. 基于CPCI总线的故障模拟系统的研究与实现,TP302.8
  18. EMP效应下计算机容错性能测试系统的研究与实现,TP302.8
  19. 基于事件注入的面向应用的软件健壮性评测,TP311.52
  20. 基于软件实现的故障注入的系统健壮性测试研究,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com