验证软件安全需求可不像普通功能需求那样简单

软件安全需求不是功能需求,而是一种依托于功能需求实现的非功能需求。所以,软件安全需求的测试也不同于普通功能需求的测试。具体来说,测试软件安全需求,验证软件安全需求需要确定安全需求的下列属性是否实现:

  1. 功能实现

软件安全需求是依托于功能来实现的,所以验证软件安全需求首先就要验证安全功能是否得到实现。这一点与普通的功能测试类似。

  1. 实现完整性

对于普通的软件功能的实现,即使功能没有完全实现,遗漏了部分不太常用的功能,也不会影响软件的正常使用;而对于安全需求来说,遗漏了再小的漏洞,也可能会带来灾难性的后果。所以,软件安全需求的测试必须要尽可能覆盖所有的安全漏洞。

  1. 可靠性

对于每个实现的软件安全功能,我们都希望它具备较高的可靠性——在我们期望的时间和环境条件下能够正常运行,为软件提供安全保障。这也是我们进行软件安全需求测试需要关注的目标。

  1. 可用性

对于每个实现的软件安全功能,我们都希望它不仅在正常的环境下可以正常运行,也希望软件遭受恶意攻击的情况下它依然可以正常运行。所以,软件安全需求的测试,还应关注它在遭受攻击的情况下是否依然可用。

  1. 可恢复性

即使软件安全功能被恶意攻击所破坏,我们也希望它可以采取一些措施,哪怕付出一些代价,使得软件能够快速恢复功能,恢复正常的运行状态。这就是可恢复性。

总之,软件安全需求的验证需要比普通的功能需求考虑得更深入、更全面,不仅验证其是否实现,还有验证实现的完整性、可靠性、可用性和可恢复性。

这正是:

安全需求不普通,只测实现可不行

完整可靠可恢复,还应验证它可用

参考书目:软件安全开发——属性驱动模式,作者:宋明秋,出版社:电子工业出版社

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

验证软件安全需求可不像普通功能需求那样简单》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3348.html