1

寻找安全测试类型是安全测试的动态和静态分析部分吗?作为 QA 测试人员,我们是否需要了解编程或编码语言知识才能执行安全测试?我们可以在 STLC 或 SDLC 的哪个阶段进行安全测试?

4

1 回答 1

0

为获得最佳结果,应在编写代码时执行自动化测试。程序员应在其 IDE 中使用静态和动态代码分析器插件持续进行测试。如果在部署之前向开发人员提供大量发现,那么补救措施将是有问题的。大量的错误将令人生畏;假阳性和无关紧要的发现的数量会掩盖真正的阳性。此外,代码在开发团队的头脑中不会是新鲜的。许多开发人员将继续前进;那些留在项目中的人可能不熟悉他们离去的同事编写的代码。

我推荐 Chess and West 的 Secure Programming with Static Analysis。另请参阅构建以 Web 应用程序安全为重点的团队交互式应用程序安全测试的有效性中的讨论 。展示代码是如何被利用的,很难将这一发现视为另一个误报。

软件源代码的静态分析测试是必要的,但还不够。在 MITRE Common Weakness Enumeration 的近 1000 个条目中,40% 可以在开发生命周期的架构和设计阶段引入。请参阅 CWE-701:在设计期间引入的弱点https://cwe.mitre.org/data/lists/701.html

就其本质而言,架构和设计缺陷很难通过静态分析找到。此外,对架构和设计错误的修复可能很复杂,可能会注入额外的缺陷,并且可以提醒对手这些弱点的存在。此外,设计缺陷可能会掩盖静态分析可能检测到的编码错误,正如 Heartbleed 漏洞所证明的那样。

您对编程以及所使用的语言和框架了解得越多,您就越能有效地帮助开发人员防止错误。您对编程以及所使用的语言和框架了解得越多,您就越能有效地帮助开发人员防止错误。

于 2014-04-29T19:57:17.940 回答