震驚中外的XcodeGhost事件告訴我們,信息安全要從源頭抓起,而源頭往往就是指軟件開發(fā)環(huán)節(jié)的安全性。(參考閱讀:如何避免十大最嚴重的軟甲安全設(shè)計缺陷)
但是從數(shù)以萬行計的軟件代碼中查找漏洞并不是一件容易的事,索性市場上目前已經(jīng)涌現(xiàn)了不少代碼安全審查工具,這些工具不但能標記和統(tǒng)計代碼中的安全隱患,同時也有助于形成安全優(yōu)先的開發(fā)流程和文化。
以下IT經(jīng)理網(wǎng)推薦五款代碼安全審核工具,涵蓋開源產(chǎn)品和收費商業(yè)產(chǎn)品,以及云端和企業(yè)內(nèi)部部署兩種交付方式。
一、Codiscope Jacks
Codiscope公司的Jacks是一個靜態(tài)代碼分析工具,也就是在軟件未執(zhí)行時進行代碼分析,因此非常適合作為軟件代碼安全審核第一階段的工具使用,對于那些在GitHub上托管代碼的開發(fā)者來說,Codiscope Jacks(目前仍然是beta版本)可以作為云端安全服務(wù)使用,從Github導(dǎo)入代碼進行掃描。Jacks目前能夠掃描JavaScript程序,能夠發(fā)現(xiàn)代碼中的安全隱患并給出最佳實踐建議。Codiscope計劃在未來版本中支持Java等其他語言。
二、Flawfinder
Flawfinder是一個C/C++代碼的開源安全審查工具,采用內(nèi)建語法缺陷數(shù)據(jù)庫,能夠標記類似緩沖溢出、格式字符串、競爭條件、隨機數(shù)獲取方面的問題。Flawfinder是一個非常簡單的工具,采用的算法也不復(fù)雜,可以看做是一個基于詞典的源代碼靜態(tài)分析器。
Flawfinder的開發(fā)者David Wheeler表示:很多軟件開發(fā)者都在不斷重復(fù)犯相同的錯誤,開發(fā)人員應(yīng)當在軟件部署前就用Flawfinder審查代碼。
三、IBM Security AppScan
IBM公司的Security AppScan主要定位于提升web和移動該應(yīng)用的安全性,可以部署在企業(yè)內(nèi)部,同時支持靜態(tài)和(黑箱)動態(tài)分析。AppScan還支持交互分析,通過代理測試應(yīng)用在服務(wù)器端的響應(yīng),例如觀察應(yīng)用是否存在SQL注入漏洞。此外AppScan還支持專門針對移動應(yīng)用的安全分析。
四、Parasoft Development Testing Platform
Parasoft推出的開發(fā)測試平臺(DTP)可以在IDE中提供代碼靜態(tài)分析,也可以作為持續(xù)集成系統(tǒng)的一部分使用。在持續(xù)集成中,DTP可以通過郵件、web報告或者在IDE中直接報告的方式向開發(fā)團隊提供反饋。DTP為C/C++、.Net和Java分別提供了超過1500條規(guī)則,所有規(guī)則都有擴展文檔,內(nèi)容包括相關(guān)安全問題列表、常見缺陷列表(CWE)、參數(shù)等等。
Parasoft還提供一個工具RuleWizard,用于創(chuàng)建用戶定制化的規(guī)則。
五、Rogue Wave Klockwork
Rogue Wave Klocwork屬于企業(yè)內(nèi)部部署的靜態(tài)代碼分析工具,可以與持續(xù)集成系統(tǒng)如Jenkins配合使用,分析增量代碼改變。
Rogue Wave Klocwork可以幫助開發(fā)者在軟件開發(fā)周期中盡可能早地發(fā)現(xiàn)質(zhì)量和安全方面的代碼缺陷。
英文原文:Infoworld
新聞熱點
新聞爆料