五個不容錯過的安全開發工具

沉默術士發表於2017-07-03

震驚中外的XcodeGhost事件告訴我們,資訊保安要從源頭抓起,而源頭往往就是指軟體開發環節的安全性。(參考閱讀:如何避免十大最嚴重的軟甲安全設計缺陷)

但是從數以萬行計的軟體程式碼中查詢漏洞並不是一件容易的事,索性市場上目前已經湧現了不少程式碼安全審查工具,這些工具不但能標記和統計程式碼中的安全隱患,同時也有助於形成安全優先的開發流程和文化。

以下IT經理網推薦五款程式碼安全稽核工具,涵蓋開源產品和收費商業產品,以及雲端和企業內部部署兩種交付方式。

一、Codiscope Jacks

Codiscope公司的Jacks是一個靜態程式碼分析工具,也就是在軟體未執行時進行程式碼分析,因此非常適合作為軟體程式碼安全稽核第一階段的工具使用,對於那些在GitHub上託管程式碼的開發者來說,Codiscope Jacks(目前仍然是beta版本)可以作為雲端安全服務使用,從Github匯入程式碼進行掃描。Jacks目前能夠掃描JavaScript程式,能夠發現程式碼中的安全隱患並給出最佳實踐建議。Codiscope計劃在未來版本中支援Java等其他語言。

二、Flawfinder

Flawfinder是一個C/C++程式碼的開源安全審查工具,採用內建語法缺陷資料庫,能夠標記類似緩衝溢位、格式字串、競爭條件、隨機數獲取方面的問題。Flawfinder是一個非常簡單的工具,採用的演算法也不復雜,可以看做是一個基於詞典的原始碼靜態分析器。

Flawfinder的開發者David Wheeler表示:很多軟體開發者都在不斷重複犯相同的錯誤,開發人員應當在軟體部署前就用Flawfinder審查程式碼。

三、IBM Security AppScan

IBM公司的Security AppScan主要定位於提升web和移動該應用的安全性,可以部署在企業內部,同時支援靜態和(黑箱)動態分析。AppScan還支援互動分析,通過代理測試應用在伺服器端的響應,例如觀察應用是否存在SQL隱碼攻擊漏洞。此外AppScan還支援專門針對移動應用的安全分析。

四、Parasoft Development Testing Platform

Parasoft推出的開發測試平臺(DTP)可以在IDE中提供程式碼靜態分析,也可以作為持續整合系統的一部分使用。在持續整合中,DTP可以通過郵件、web報告或者在IDE中直接報告的方式向開發團隊提供反饋。DTP為C/C++、.Net和Java分別提供了超過1500條規則,所有規則都有擴充套件文件,內容包括相關安全問題列表、常見缺陷列表(CWE)、引數等等。

Parasoft還提供一個工具RuleWizard,用於建立使用者定製化的規則。

五、Rogue Wave Klockwork

Rogue Wave Klocwork屬於企業內部部署的靜態程式碼分析工具,可以與持續整合系統如Jenkins配合使用,分析增量程式碼改變。

Rogue Wave Klocwork可以幫助開發者在軟體開發週期中儘可能早地發現質量和安全方面的程式碼缺陷。

本文轉自d1net(轉載)


相關文章