关于软件安全性测试方法探究

关于软件安全性测试方法探究

ID:5602546

大小:28.50 KB

页数:7页

时间:2017-12-19

关于软件安全性测试方法探究_第1页
关于软件安全性测试方法探究_第2页
关于软件安全性测试方法探究_第3页
关于软件安全性测试方法探究_第4页
关于软件安全性测试方法探究_第5页
资源描述:

《关于软件安全性测试方法探究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、关于软件安全性测试方法探究  【摘要】软件安全性测试是保证软件安全性的重要手段。本文论述了软件安全性测试的特点和主要内容,重点研究了国内外软件安全性测试的主要方法,最后总结了当前研究工作并指出了未来软件安全性测试技术的研究重点与发展方向。【关键词】安全性测试;安全功能测试;语法测试;模糊测试安全性是软件质量的一个重要属性。传统上国内学者较多关注软件的失效安全性,即软件运行不引起系统事故的能力,强调的是一类安全关键软件的安全性失效可能造成重大人员伤亡、财产损失、环境污染等危险事故。1.软件测试方法1.1静态测试静态测试在对软件代码进行分析、检

2、查和测试时不实际运行被测试的程序,同时这种测试方法还可以用于对各种软件文档进行测试。例如对需求文档的验证和确认,系统设计文档的检查以及程序代码的检查。1.2动态测试7动态测试就是通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试的主要特征是计算机必须真正运行被测试的程序,通过输入测试数据,对其运行情况进行分析。1.3黑盒测试(功能测试)在黑盒测试或功能测试中,测试条件主要是基于程序或者系统的功能,测试人员不需要了解程序是如何运作,只是关注程序的功能是否与规格说明书所描述的一致。1.4白盒测试(结构测试)在此项测试中,测试条件是基于

3、程序逻辑,测试人员查看程序或者系统的内部机构。测试人员需要了解内部程序结构和逻辑,关注生产出来的代码,而不需理会其功能是否与说明书上的功能相同。2.安全性测试主要方法随着软件安全性受到人们的重视,安全性测试方法相关研究取得了一定进展。2.1形式化安全测试形式化方法的基本思想是建立软件的数学模型,并在形式规格说明语言的支持下,提供软件的形式规格说明。形式化安全测试方法可分为两类,即定理证明和模型检测。定理证明方法将程序转换为逻辑公式,然后使用公理和规则证明程序是一个合法的定理。模型检测用状态迁移系统S描述软件的行为,用时序逻辑、计算树逻辑或演

4、算公式F表示软件执行必须满足的性质,通过自动搜索S中不满足公式F7的状态来发现软件中的漏洞。NASA(nationalaeronauticsandspaceadministration)的一个实验室JPL(jetpropulsionlaboratory)开展过形式化安全测试方面的项目。主要思路是建立安全需求的形式化模型,例如状态机模型。输入输出序列决定安全状态转换。安全测试即搜索状态空间,看是否能从起始状态找到一条路径到达违反规约的不安全的状态。随着模型大小与复杂性增长,状态空间呈指数增长,JPL开发了一种使用SPIN的形式化建模框架(fl

5、exiblemodelingframework,FMF)解决状态爆炸问题,并开发了基于属性的测试工具(propertybasedtester,PBT)。2.2基于模型的安全功能测试基于模型的测试方法是对软件的行为和结构进行建模,生成测试模型,由测试模型生成测试用例,驱动软件测试[3]。常用的软件测试模型有有限状态机、UML模型、马尔可夫链等。MarkBlackburn、RobertBusser研究了基于模型的安全功能测试[4]。主要项目支撑是NISTCSD(computersecuritydivision)部门的项目AutomatedSec

6、urityFunctionalTesting。主要思路是利用SCRModeling7工具对软件的安全功能需求进行建模,使用表单方式设计软件的安全功能行为模型,将表单模型转换为测试规格说明模型,利用T-VEC工具生成测试向量(由一组输入变量,期望输出变量组成),开发测试驱动模式和目标测试环境的对象映射,将测试向量输入测试驱动模式执行测试。这种方法是一种一般的安全功能测试方法,它的适用范围取决于安全功能的建模能力,特别适用于建模用与或子句表达逻辑关系的安全需求,对授权、访问控制等安全功能测试比较适用。2.3语法测试语法测试是根据被测软件的功能接

7、口的语法生成测试输入,检测被测软件对各类输入的响应。接口可以有多种类型,命令行、文件、环境变量、套接字等。语法测试基于这样一种思想,软件的接口或明确或隐含规定了输入的语法。语法定义了软件接受的输入数据的类型、格式。语法定义可采用BNF或正则表达式。语法测试的步骤是识别被测软件接口的语言,定义语言的语法,根据语法生成测试用例并执行测试。生成的测试输入应当包含各类语法错误,符合语法的正确输入,不符合语法的畸形输入等。通过察看被测软件对各类输入的处理情况,确定被测软件是否存在安全缺陷。语法测试适用于被测软件有较明确的接口语法,易于表达语法并生成测

8、试输入的情况。语法测试结合故障注入技术可得到更好的测试效果。2.4基于故障注入的安全性测试Wenliang7Du将故障注入技术用于软件安全性测试,建立软件与环境交互(enviro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。