软件安全测试的通用原则

OWASP(开放式Web应用程序安全项目)在测试指南中给出了一些软件安全测试常用的通用原则,这些原则可以指导我们更好地进行软件安全测试。具体如下:

  • 应尽早不断进行软件安全测试,越晚发现漏洞,修复的成本越高

越早测试,修复成本越低,这是业界的共识。不唯普通的软件测试如此,软件安全测试也如此。

  • 软件安全测试无法穷尽,应适时终止

软件测试不可能无限进行下去,它必须在有限的时间和资源下完成。软件测试找出软件所有的错误和缺陷是不可能的,所以必须为它设定合适的终止条件。软件安全测试同样如此,我们应该通过威胁建模等方法,优先测试高风险模块,根据测试的资源和时间适时终止。

  • 软件安全测试只能证明软件存在安全漏洞,并不能证明软件是安全的

正如普通的软件测试只能证明软件存在错误而不能证明软件没有错误(因为测试是无法穷尽的,继续进一步测试可能还会找到其他错误和缺陷),软件安全测试也只能发现软件存在安全漏洞,并不能证明软件就是安全的(在无法穷尽测试的情况下,难以保证所有安全漏洞都被发现)。所以软件安全测试通常只用于验证所设立的基于威胁分析阶段假设选择的安全策略的有效性。

  • 软件安全测试不应由程序员完成

普通的软件测试有个原则是程序员应避免测试自己的程序。同样,软件安全测试也应该如此。

  • 尽量避免软件安全测试的随意性

测试应当是有组织、有计划、有步骤的活动,避免测试的随意性。软件安全测试也应遵循这一原则,通过安全需求分析,攻击模拟,已公布漏洞的分析,制定安全测试计划,设计安全测试用例,执行安全测试,评估测试效果,判断是否满足终止条件,结束安全测试。

总之,软件安全测试虽然与普通的软件测试有着很大的区别,但普通软件测试的一些通用原则,软件安全测试同样适用。

这正是:

测试通用五原则,安全测试也适用

依据原则定策略,事半功倍获益多

参考书目:软件安全开发,作者:吴世忠 李斌 张晓菲 梁洪亮,出版社:机械工业出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

软件安全测试的通用原则》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/734.html