扫描完成后,Ounce Security Analyst 会在发现安全漏洞的源文件上加上小红叉作为标示,帮助开发人员快速对漏洞进行定位。左下方的漏洞描述与修复建议可以帮助开发者进行修复。SmartTrace 直观的将函数调用关系通过图示的方式展示出来,点击 SmartAudit 中的 item 开发者可以直接跳转到存在漏洞的代码行上进行工作。
图 16. Ounce Security Analyst 安全分析视图
(点击查看大图)
针对前例中 AppScan 通过渗透测试扫描出来的 XSS 问题,我们来看看 Ounce 安全分析器是如何发现并定位该漏洞的。打开 XSS 的漏洞列表,我们从 FeedbackServelet.java 文件中发现这个 XSS 问题是由于在“request.setAttribute("message_feedback", name);”这行代码中没有对 name 的输入值进行检测,允许了在 name 中包含跨站脚本攻击中经常使用的特殊字符,从而导致跨站脚本攻击问题。
图 17. 针对 XSS 问题的源代码分析
(点击查看大图)
其实在某些时候,软件的安全问题也同样包含了软件的质量问题,例如在架构中不够良好的设计会导致系统的拒绝服务攻击,SQL 链接在异常时候的不当处理导致连接池资源没有释放等等。Rational Software Analyzer 是一个基于 Eclipse 技术的软件分析工具,我们可以利用 Rational Software Analyzer 来对软件代码的质量和各种指标进行度量。
在示例中,我们选用 Rational Software Analyzer 7.0.1 来对相同的 AltoroMutual 项目进行代码质量扫描。首先,我们还是将 AltoroMutual 项目创建到 Rational Software Analyzer 的 workspace 中,并对该项目进行源代码分析的配置(如下图)。
图 18. 用 Rational Software Analyzer 进行代码质量分析的配置
(点击查看大图)
通过扫描,我们可以从代码体系结构、软件度量、代码复审、数据流分析 4 个方面得到关于代码质量的问题数据。
图 19. Rational Software Analyzer 中对于软件度量的分析结果
(点击查看大图)
在下图 Rational Software Analyzer 的数据流分析结果中,我们可以看到由于 SQL 链接在异常时不能释放而导致的资源泄漏问题。
文章来源于领测软件测试网 https://www.ltesting.net/