基于渗透测试和源代码扫描的软件安全测试和开发

发表于:2011-8-22 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:许舟平    来源:51Testing软件测试网采编

  图 19. Rational Software Analyzer 中对于软件度量的分析结果

  在下图 Rational Software Analyzer 的数据流分析结果中,我们可以看到由于 SQL 链接在异常时不能释放而导致的资源泄漏问题。

  图 20. Rational Software Analyzer 中基于数据流分析发现的资源泄漏问题

  相似的,在 Ounce 中也可以发现这样既是安全也同样存在质量因素的漏洞。

  图 21. Ounce 中针对相同资源泄漏问题的分析

  总结

  在本文中,我们通过对 Web 应用 AltoroMutual 进行渗透测试和源代码安全扫描,来对比黑盒动态测试和白盒静态分析在发现软件安全漏洞方面的功效,并利用 Rational Software Analyzer 在代码质量方面进行了粗浅的分析和与安全扫描的对比。

  通过上述示例,我们发现源代码静态分析在代码扫描的覆盖率、发现安全问题的数量上有着不错的表现,并且能够找到大部分通过渗透测试发现的安全问题。但这并不能说静态分析在软件安全检测方面要优于渗透测试。静态分析的高覆盖率和扫描器的不同设置也导致了相对较高的误报率,而且静态代码的非运行性会导致了很多跟运行环境相关的安全漏洞通过静态安全分析无法发现。相对于此,渗透测试刚好可以弥补静态分析的这些劣势,虽然渗透测试发现安全问题的数量不如静态分析那么多,但是渗透测试的准确率和针对运行时态的实时检测都是其优势所在。所以渗透测试在软件开发生命周期中是不可或缺的一个环节。同样,我们看到软件的质量问题在源代码分析中也不能忽视。因此,一个理想的选择是:在整个软件开发生命周期中的不同阶段,针对不同的人员,引入相应的安全策略,制定合理的开发流程,从而达到提高软件安全性的目的。

66/6<123456
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号