[发明专利]一种基于虚拟机的故障注入测试方法无效
| 申请号: | 200910116610.7 | 申请日: | 2009-04-22 |
| 公开(公告)号: | CN101872323A | 公开(公告)日: | 2010-10-27 |
| 发明(设计)人: | 曾凡平;李娟;尹凯涛 | 申请(专利权)人: | 曾凡平;李娟;尹凯涛 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 230026 安徽*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 虚拟机 故障 注入 测试 方法 | ||
所属技术领域
本专利发明涉及一种故障注入软件安全测试方法,尤其是将虚拟技术引入故障注入测试方法。
背景技术
故障注入是将故障注入被测试应用程序中以观察其反应的技术,在攻击分析中主要用于检测在软件程序中可能导致安全漏洞的潜在脆弱点的位置。软件故障注入方法对目标系统的硬件环境没有损坏,能够方便地跟踪目标程序的执行和回收数据;细节模型的复杂程度低,减少系统开销,具有较好的可移植性。然而,目前研究的故障注入技术都是针对特殊应用的,而且由于故障注入测试工具与被测试系统在同一操作平台中,一旦系统崩溃,测试数据极易丢失,测试环境需要重新配置。
发明内容
为了解决目前的故障注入方法的通用性和灵活性以及在极端情况下故障注入工具的健壮性问题。本专利提出的基于虚拟机的故障注入软件脆弱性测试技术,旨在建立一种高效通用的故障注入方法,采用在应用程序和环境的交互层注入故障,以较少的故障实例真实模拟故障以检测应用程序的脆弱性,并且将故障监视器和故障注入引擎分别配置在虚拟机的主机和客户机部分,在节约资源的基础上增强了故障注入技术的健壮性和灵活性。
具体实施方式
故障注入脆弱性测试系统总体上按照C/S方式运行,故障监视器作为虚拟机主机中的应用程序(包括故障测试例生成器模块,故障库模块,安全分析模块和环境恢复模块),它负责按照用户设置的参数生成故障实例,并将故障实例存入动态数据库,通过通信协议将故障实例传送给目标系统,同时还负责接受目标系统传送回来的测试状态数据,对数据进行分析来确定测试结果。目标系统是包含被测程序和故障注入测试引擎(包括配置文件,故障注入器,数据收集器各模块)的虚拟机客户操作系统,故障注入测试引擎负责静态扫描分析被测应用程序,按照设定规则设置故障注入断点,负责接收故障监视器传送来的故障注入实例,注入故障并且收集测试数据。通信协议负责故障和目标系统的有效信息传输,通信过程使用虚拟机特有的共享内存和事件通道机制来实现故障监视器和目标系统都可以访问的共享内存缓冲区。
1故障注入的关键技术基础
确定故障模型
故障模型是指在一定的层次上,对目标系统真实故障的抽象,一般用故障的公共属性来表征。系统通过软件的方法,根据故障模型在故障注入时刻实现对特定故障的模拟。我们使用5个属性来描述故障,即故障位置(LM)、故障类型(VM)、故障持续时间(DT)、故障注入时刻(VT)和系统状态。为了确定注入的故障类型,我们使用美国雪城大学(Syracuse University)杜文亮的方法,在应用程序和环境的交互层注入故障,认为大多数安全缺陷是由于程序与应用环境之间不合适的交互而造成。用户恶意干扰环境同样可以触发安全缺陷,故障被注入环境从而将其干扰。应用程序的代码和数据空间之外的任意元素叫做环境实体,例如:文件和网络环境可以被看作是环境实体。文件的访问权限、文件的存在性、文件的所有权、进程的真实用户id、进程的有效用户id等都是环境状态的不同部分,当然根据测试对象大小的不同,通常被认为是环境的实体,可能只是测试程序的内部变量或状态,因此环境和应用程序的区分是根据具体情况判断的。测试过程中在应用程序和环境交互点干扰应用环境以此观察程序的反应,同时判断在这种干扰的情况下被测试程序是否出现违反安全问题的行为。既然许多漏洞数据库都记录了攻击者利用漏洞的方式,我们将这些利用方式转变成环境故障并将其注入,而对于这些记录我们只做很少的分析。在应用程序和环境交互点注入故障而不是在程序状态层注入故障,这样一方面减少了故障注入的数量,一方面减少了实际使用系统而造成的与真实故障之间的语义差别。
按照环境故障影响应用程序的方式对环境故障进行分类。通过将故障传给应用程序内部变量影响应用程序的故障称为间接环境故障,根据间接环境故障的数据来源,间接环境故障进一步划分为:(1)用户输入(2)环境变量(3)文件系统输入(4)网络输入(5)进程输入,这五个分类是程序获得自己需要的输入的重要来源,如图表1所示。通过环境变量影响程序的环境故障称为直接环境故障,许多环境变量能够直接影响程序的行为,按照传统的操作系统归类的方法可以分为:(1)文件系统(2)进程(3)网络环境,如图表2所示,目前没有发现其他类型的环境变量造成应用的重大漏洞,因此我们不打算包括它们。
图表1间接环境故障列表举例
图表2直接环境故障列表举例
故障注入位置
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曾凡平;李娟;尹凯涛,未经曾凡平;李娟;尹凯涛许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910116610.7/2.html,转载请声明来源钻瓜专利网。





