掃描完成后,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 鏈接在異常時不能釋放而導致的資源泄漏問題。
文章來源于領測軟件測試網 http://www.kjueaiud.com/