当前位置 —论文本科论文— 范文

关于软件开发论文范文参考文献,与软件安全性检测技术综述相关论文答辩

本论文是一篇关于软件开发论文答辩,关于软件安全性检测技术综述相关毕业论文的格式范文。免费优秀的关于软件开发及测试及数据库方面论文范文资料,适合软件开发论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

摘 要:该文阐述了网络软件安全检测的重要性,介绍了现有的主要检测方法,包括形式化安全测试、基于模型的安全功能测试、语法测试、基于故障注入的安全测试、基于属性的测试、模糊测试、基于风险的安全性测试、基于故障树的安全性测试以及基于渗透的安全性测试.

关 键 词:安全性检测;功能测试;漏洞测试;安全测试方法

中图分类号:TP393文献标识码:A文章编号:1009-3044(2014)25-5847-05

SurveyofSoftwareSecurityTestTechnology

HOUHai-yan,FUZhi-peng

(CollegeofMedicalTechnologyandEngineering,HenanUniversityofScienceandTechnology,Luoyang471000,China)

Abstract:Theimportanceofsoftwaresecuritytestisdescribedinthispaperandthemainsoftwaresecuritytestmethodisintroducedsuchasmodelbasedmethod,Grammar-basedmethod,Syntax-basedmethod,defectsthreattreemodelingmethodandsoon.

Keywords:securitytest;functionaltest;vulnerabilitytest;securitytestmethod

在互联网普及之前,单机应用程序软件安全问题并不突出.但是自从互联网普及后,软件安全问题愈加显加突显,使得软件安全性测试的重要性上升到一个前所未有的高度.同时,随着软件的广泛应用和其规模、复杂度的不断提高,软件安全性问题日益突出.软件安全性测试是保证软件安全和质量、降低软件安全风险的重要手段.

软件安全性测试分为安全功能测试(SecurityFunctionalTesting)和安全漏洞测试(SecurityVulnerabilityTesting)两个方面,如表1所示.

表1安全功能测试和安全漏洞测试

1软件安全测试的主要方法

1.1形式化安全测试

建立软件的数学模型,利用形式化规格说明语言对其进行说明[1],形式规格说明语言主要包括以下几类[2]:

基于模型的Z、VDM和B语言;

基于有限状态语言,如有限状态自动机、SDI;

代数语言,如OBJ;

基于行为的CSP、CCS、PetriNets等语言;

混合语言,如离散和连续数学的规格说明语言;

状态图

形式化安全测试方法分为定理证明和模型检测两类,如表2所示.

表2形式化安全测试方法分类

[定理证明\&模型检测\&将程序转换为逻辑公式,然后使用公理和规则证明程序是否是一个合法的定理\&运用状态迁移系统描述软件行为,运用时序逻辑、计算树逻辑等表示软件执行所必须满足的性质,通过自动搜索迁移系统中不满足公式或逻辑的状态来发现软件漏洞\&]

形式化安全测试的特点是数学基础完备,对系统理解深入.但,开发成本高,维护困难.

1.2基于模型的安全功能测试

基于模型的安全性测试是通过对软件的行为和结构进行建模,生成测试模型,继而由测试模型生成测试用例,当前主要的软件测试模型有马尔科夫模型、有限状态自动机模型、UML模型[3,4]等.

NahidShahmehri等[5]提出一种基于模型的方法,用以检测和跟踪运行中的软件所存在的漏洞,这是一种被动测试技术.开发者可以很容易的确切的知道工具所针对的漏洞类型,并且当新的漏洞被发现时可以通过添加新的方法将工具进行扩展.

检测模型是基于安全目标模型SGMs的,它可以显示产生漏洞的潜在原因,以及各种原因之间的相互关系.SGMs和威胁树模型非常类似,后者是将引发某种威胁的所有因素用树状结构描述,前者则是将引起漏洞的所有可能原因用树状结构描述.

MarkBlackburn等[6]提出一种基于模型的软件安全自动检测方法,该方法提供了一种端对端的模型构造、分析、自动测试用例生成、自动执行测试以及结果分析的综合技术手段,该方法适用于各种环境.该检测方法的基础是对安全函数说明进行建模,利用Oracle和Interbase数据库引擎自动生成模型并进行测试.

1.3语法测试

所谓语法就是定义了软件接受的输入的数据类型和格式.语法测试是根据被测软件的功能接口的语法生成测试输入,检测被测软件对各类输入的响应,通过观察被测软件输入与相应之间的关系做出安全性分析[7].其流程如下:

语法测试适合对组件进行黑盒测试[8],根据组件接口的语法特征,正则表达可以产生正常和非正常输入,进而触发各种安全问题.但是其缺点是测试样例的数量巨大,很难保证测试覆盖全面性.

PatriceGodefroid等[9]研究了输入结构复杂应用程序,利用基于语法的方法对非法输入进行描述,以提高白盒测试的效果,提出了一种新的动态测试用例生成算法.

1.4基于故障注入的安全测试

用户输入、文件系统、环境变量、网络接口等应用程序与环境之间的交互引起的故障均可作为注入的故障.人为主动的将故障引入系统,可以加速系统失效,同时也加速了对安全问题进行排查.具体的方法包括仿真注入、硬件注入、软件注入等.BinbinQu等[10]提出了一种基于客户机-服务器模式的错误注入测试方法,用于软件组件的安全性测试.作者设计了了一种基于APIHooking的错误注入工具,该工具GCDEFI是基于客户机-服务器模式的,由一个服务端和多个客户组成.服务器控制客户机,收集反馈信息并与客户机交互;客户机管理API拦截、错误信息和目标组件信息.客户机注入到测试驱动,处于驱动的地址范围.GCDEFI运行后,控制器从用户得到错误类型信息,该信息被保存在客户机的错误管理模块.控制器触发Activator,将目标组件信息送入目标组件信息管理器.每当API被拦截,调用者的信息将被获取,我们查找堆栈和目标组件列表,看是否有匹配的组件,如果没有就返回,如果有就进入替代代码,进而执行注入的错误.客户机中的替代函数可以与服务器通信.该工具通用性不好,只在特定的环境对特定的组件具有较好的检测效果.

JinfuChen[11]设计了一种典型的COM组件安全性测试工具――CSTS,该工具具有获取并分析COM组件、静态分析组件漏洞、自动生成测试脚本、生成测试驱动、注入环境错误、引导组建运行,记录安全隐患并写入日志、安全评级等功能.测试流程如下:

A.创建测试工程

B.选择测试组件

C.分析接口信息

D.生成测试文件

E.编译测试装置

F.运行测试驱动

G.引导运行过程

H.注入环境错误

I.开始错误注入测试

J.结束并保存

但是该方法的风险评级标准并不明确,有待于进一步细化和明确.

1.5基于属性的测试

基于属性的安全测试方法[12]是将确定的程序编写规则进行编码,将其作为安全属性,以此为依据验证程序代码是否符合规则.

1.6模糊测试

模糊测试是一种基于黑盒的随机性测试,通过随机地变异正常的程序输入进而检测程序响应,以发现软件中存在的漏洞,可用语法规则生成正常输入,也可用试探法指导输入变量的产生.模糊测试的最大问题在于代码覆盖率很低.

软件安全性检测技术综述参考属性评定
有关论文范文主题研究: 关于软件开发的论文范文集 大学生适用: 学术论文、学院学士论文
相关参考文献下载数量: 18 写作解决问题: 本科论文怎么写
毕业论文开题报告: 论文模板、论文目录 职称论文适用: 核心期刊、中级职称
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 优秀选题

PatriceGodefroid等[13]提出了一种白盒模糊测试方法,这种方法受动态测试用例生成方法和象征性执行方法的启发:

A.记录程序在正常状态下的运行情况;

B.标记程序运行轨迹、收集输入的限制条件;

C.将限制条件逐一取消产生新输入,执行不同控制路径;

D.在启发式高代码覆盖率方法

1 2 3

关于软件开发论文范文参考文献,与软件安全性检测技术综述相关论文答辩参考文献资料:

自考本科论文题目

本科自考招生

本科生学位论文

本科毕业生毕业论文

护士本科自考

自考独立本科

本科自考有哪些专业

厦门自考本科培训

物理系本科毕业论文

本科毕业论文装订

软件安全性检测技术综述WORD版本 下载地址