寻找安全测试的类型动态和静态分析是安全测试的一部分吗?作为QA测试人员,我们是否需要了解编程或编码语言知识才能执行安全测试?在STLC或SDLC的哪个阶段,我们可以执行安全测试?
发布于 2014-04-30 03:57:18
为了获得最好的结果,应该在编写代码时执行自动化测试。程序员应该在IDE中使用静态和动态代码分析器插件持续进行测试。如果在部署之前向开发人员展示了一大堆发现,那么补救将是有问题的。错误的数量将令人望而生畏;假阳性和无关紧要的发现的数量将掩盖真正的阳性。此外,代码在开发团队的脑海中不会是新鲜的。许多开发人员可能已经离开了;那些留在项目中的人可能不熟悉他们离开的同事编写的代码。
我推荐使用静态分析的Chess和West的安全编程。另请参阅Building a web application security focused team和Effectiveness of Interactive Application Security Testing的讨论,后者提出了交互式分析如何向开发人员证明该弱点是一个真正的威胁的论点;展示代码是如何可利用的,使得人们很难将这一发现视为另一个误报。
软件源代码的静态分析测试是必要的,但还不够。在MITRE通用缺陷枚举中的近1,000个条目中,40%可以在开发生命周期的体系结构和设计阶段引入。参见CWE-701:在https://cwe.mitre.org/data/lists/701.html设计期间引入的弱点
从本质上讲,架构和设计缺陷很难通过静态分析来发现。此外,架构和设计错误的修复可能很复杂,可能会注入额外的缺陷,并会提醒对手这些弱点的存在。此外,设计缺陷可能会掩盖编码错误,否则静态分析可能会检测到这些错误,如Heartbleed漏洞所示。
您对编程以及所使用的语言和框架了解得越多,就越能有效地帮助开发人员防止错误。您对编程以及所使用的语言和框架了解得越多,就越能有效地帮助开发人员防止错误。
https://stackoverflow.com/questions/21034387
复制相似问题