软件安全测试
上一节
下一节
软件安全性测试概念和内容
软件测试作为软件全生命周期的重要环节之一,是在规定的条件下对软件进行操作,以发现程序错误、衡量软件品质,并对其是否能满足设计要求进行评估的过程。
软件安全性测试是指有关验证软件安全等级与识别潜在安全缺陷的过程,作为软件测试的一个方面,旨在软件测试范畴内来探讨软件安全问题、评价软件安全性、发现软件漏洞。
软件安全性测试分为安全功能和安全漏洞两类测试。
①安全功能测试的工作是基于安全功能需求,测试软件的安全功能实现与安全需求的符合情况,需求实现是否正确完备。
②安全漏洞测试则是基于攻击者的视角,查找软件自身程序设计中存在的脆弱性等安全隐患,发现软件的安全漏洞,并检查应用程序对非法侵入的防范能力。
软件安全性测试方法与工具
①正向测试方法
正向测试是指按测试流程先标识软件开发的需求分析、概要设计、详细设计、编码等阶段的测试空间,重点标识外部输入层,进而建立测试空间的跟踪矩阵来实现测试的方法。
在进行正向安全性测试时,可以使用以前介绍过的静态分析、基于模型的安全测试、模糊测试、基于风险的安全测试、基于故障树的安全测试、基于渗透的安全测试等方法,还可以使用故障注入测试法。
②逆向测试方法
正向测试过程是依据测试空间寻找软件中存在的缺陷和漏洞,逆向测试则是依据已知的软件缺陷空间来在被测的软件中寻找同样的缺陷和漏洞。

③正向测试与逆向测试方法的选择
安全性需求不高的软件一般按逆向测试过程来测试即可。

