当我们修复现有代码中的安全漏洞时,很容易跟踪。但是,为了确保整个团队在编写安全代码方面保持警惕,我还想跟踪我们如何预防和避免编写新的安全漏洞。什么是正确的方法来衡量这一点?
发布于 2013-04-27 08:46:26
对于安全漏洞,您永远不可能100%安全,但是一种好的方法是检查您的代码中有多少是由对等程序评审的,因为然后两个开发人员都必须检查它并查找安全问题。我们正在使用坩埚(亚特兰西安的一个工具)来完成这一任务,并对每一次提交进行了回顾。
根据编程语言的不同,也有一些工具使用算法搜索代码中的典型漏洞,甚至是一个爬虫,它以黑匣子的方式检查程序或网站。
再说一遍,这并不是给100%的安全性,但这是一种方法,至少尝试衡量的改进。
发布于 2013-04-28 14:30:56
不幸的是,没有答案。正如评论中指出的那样,“你怎么知道你的拒斥大象已经磨损了?”
尽管如此,如果您想要报告一些信息丰富的度量,请投资于静态代码分析工具(Fortify、Veracode、Checkmarx),看看它会出现多少问题。这些工具需要进行调优,以便只找到您感兴趣的问题。
静态分析工具不会捕捉到逻辑或设计中的安全缺陷。
发布于 2013-04-29 07:42:08
您可以先从OWASP ASVS检查表开始,以验证在涉及安全工作时是否涵盖了所有的基础。为了符合ASVS的要求,您需要对代码进行某种类型的主动审核,以查找安全性问题。
您可以采取以下几种方法:
静态分析工具的例子包括HP、Coverity、IBM AppScan。请注意,这里有很多蛇油的贩售,因为这些工具在价格和能力上都严重超卖。在我所做的代码中,我们最终使用了一堆regexes来开发我们自己的工具,以便在每次构建过程中检查代码基,查看插入到SQL语句中的不正确引用的变量,因为它更便宜、更有效。更通用的工具,如声纳,可以重新使用到任务中,因此也可以考虑这些工具。
还有一些动态分析工具可以扫描正在运行的应用程序,比如Zed攻击代理和平面图。这些工具是实际黑客用来扫描应用程序的漏洞的工具,所以使用这些工具来检查自己的工作是有好处的。
https://softwareengineering.stackexchange.com/questions/196322
复制相似问题