【廣告】
商業(yè)化源代碼審計(jì)工具對(duì)比
近年來,大部分安全問題來自于應(yīng)用層安全,應(yīng)用層的安全問題主要由軟件源代碼中的安全缺陷所導(dǎo)致。有關(guān)源代碼安全的研究越來越多,源代碼安全成為了解決信息安全問題的一個(gè)重要方向,也是信息安全中的一個(gè)新興領(lǐng)域。
在開發(fā)階段引入代碼檢測(cè)解決安全問題的思路開始被很多企業(yè)所認(rèn)可。源代碼檢測(cè)屬于程序分析領(lǐng)域,需要具有相關(guān)領(lǐng)域的技術(shù)儲(chǔ)備,很多傳統(tǒng)的安全廠商都沒有相關(guān)的商業(yè)化技術(shù)產(chǎn)品。網(wǎng)上有很多開源的審計(jì)工具,但檢測(cè)能力、檢測(cè)精度較差,本文結(jié)合多年對(duì)源代碼檢測(cè)產(chǎn)品的了解,介紹三款較為成熟的商業(yè)化源代碼檢測(cè)產(chǎn)品。
Fortify Software公司是一家總部位于美國(guó)硅谷,致力于提供應(yīng)用軟件安全開發(fā)工具和管理方案的廠商。Fortify為應(yīng)用軟件開發(fā)組織、安全審計(jì)人員和應(yīng)用安全管理人員提供工具并確立佳的應(yīng)用軟件安全實(shí)踐和策略,幫助他們?cè)谲浖_發(fā)生命周期中花少的時(shí)間和成本去識(shí)別和修復(fù)軟件源代碼中的安全隱患。
Checkmarx 是以色列的一家高科技軟件公司。它的產(chǎn)品CheckmarxCxSuite專門設(shè)計(jì)為識(shí)別、跟蹤和修復(fù)軟件源代碼上的技術(shù)和邏輯方面的安全風(fēng)險(xiǎn)。了以查詢語言定位代碼安全問題,其采用的詞匯分析技術(shù)和CxQL查詢技術(shù)來掃描和分析源代碼中的安全漏洞和弱點(diǎn)。
360代碼衛(wèi)士是360企業(yè)安全集團(tuán)基于多年源代碼安全實(shí)踐經(jīng)驗(yàn)推出的新一代源代碼安全檢測(cè)解決方案,包括源代碼缺陷檢測(cè)、合規(guī)檢測(cè)、溯源檢測(cè)三大檢測(cè)功能,同時(shí)360代碼衛(wèi)士還可實(shí)現(xiàn)軟件安全開發(fā)生命周期管理,與企業(yè)已有代碼版本管理系統(tǒng)、缺陷管理系統(tǒng)、構(gòu)建工具等無縫對(duì)接,將源代碼檢測(cè)融入企業(yè)開發(fā)流程,實(shí)現(xiàn)軟件源代碼安全目標(biāo)管理、自動(dòng)化檢測(cè)、差距分析、Bug修復(fù)等功能,幫助企業(yè)以小代價(jià)建立代碼安全保障體系并落地實(shí)施,構(gòu)筑信息系統(tǒng)的“內(nèi)建安全”。
開發(fā)源代碼審計(jì)服務(wù)內(nèi)容有哪些?
對(duì)用戶現(xiàn)有系統(tǒng)做源代碼安全審計(jì),服務(wù)內(nèi)容主要分為工具自動(dòng)審計(jì)、系統(tǒng)架構(gòu)分析、接口安全、敏感信息查詢、重要信息修改、輸入合法性校驗(yàn)、數(shù)據(jù)傳輸加密、常見安全漏洞審計(jì)和合規(guī)控制等,覆蓋挖掘源代碼安全漏洞,合規(guī)控制;協(xié)助修復(fù)漏洞,指導(dǎo)安全編碼;定期匯總源代碼安全漏洞,進(jìn)行針對(duì)性安全培訓(xùn);制定安全編程規(guī)范,推動(dòng)安全開發(fā)等方面。
服務(wù)范圍包括使用ASP、ASP.NET(VB/C#)、JSP(JAVA)、PHP、Python、node.js等主流語言開發(fā)的B/S應(yīng)用系統(tǒng)、使用C 、JAVA、C#、VB、Lua等主流語言開發(fā)的C/S應(yīng)用系統(tǒng),以及使用XML語言編寫的文件等。
1、全程化服務(wù),有效保證服務(wù)質(zhì)量
幫助用戶發(fā)現(xiàn)審計(jì)目標(biāo)的安全問題,并提供的建議和指導(dǎo),做到問題發(fā)現(xiàn)、修補(bǔ)、驗(yàn)證的全程跟蹤。每一次服務(wù)都會(huì)在前一次的基礎(chǔ)上尋找新的突破口,大程度地保證審計(jì)目標(biāo)的安全性。
2、化服務(wù),解決方案行之有效
實(shí)施人員在源代碼安全審計(jì)、安全開發(fā)、安全加固等領(lǐng)域均有豐富的經(jīng)驗(yàn),能夠?yàn)橛脩籼峁┣袑?shí)有效的解決方案和化服務(wù),幫助用戶解決重點(diǎn)、難點(diǎn)問題。
3、降低成本,節(jié)省投資
審計(jì)過程中,輔助運(yùn)用自動(dòng)化的靜態(tài)代碼審計(jì)工具,以有效節(jié)省代碼審計(jì)的人力成本,提高審計(jì)工作效率,為用戶降低資金投入。
代碼審計(jì)——客戶收益
明確安全隱患點(diǎn)代碼審計(jì)能夠?qū)φ麄€(gè)信息系統(tǒng)的所有源代碼進(jìn)行檢查,從整套源代碼切入終明至某個(gè)威脅點(diǎn)并加以驗(yàn)證,以此明確整體系統(tǒng)中的安全隱患點(diǎn)。提高安全意識(shí)任何的隱患在代碼審計(jì)服務(wù)中都可能造成“千里之堤潰于蟻穴” 的效果,因此代碼審計(jì)服務(wù)可有效督促管理人員任何一處小的缺陷,從而降低整體風(fēng)險(xiǎn)。提高開發(fā)人員安全技能在代碼審計(jì)服務(wù)人員與用戶開發(fā)人員的交互過程中,可提升開發(fā)人員的技能。 另外,通過的代碼審計(jì)報(bào)告,能為用戶開發(fā)人員提供安全問題的解決方案, 完善代碼安全開發(fā)規(guī)范。
自動(dòng)化代碼審計(jì)工具的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
? 檢測(cè)容易出現(xiàn)的漏洞和數(shù)百個(gè)其他漏洞,包括SQL注入和跨站點(diǎn)腳本
? 在敏捷和持續(xù)集成環(huán)境中,快速和大量代碼測(cè)試的能力是至關(guān)重要的
? 能夠按需調(diào)度和運(yùn)行
? 能夠添加包括業(yè)務(wù)邏輯在內(nèi)的非安全性檢查
? 能夠根據(jù)組織的需要擴(kuò)展自動(dòng)化測(cè)試
? 根據(jù)工具的選擇,可以根據(jù)組織的需要,特別是特定的合規(guī)性規(guī)范和值的應(yīng)用程序,定制自動(dòng)化的源代碼評(píng)審工具
? 可以幫助提高開發(fā)人員的安全意識(shí),并提供一種更好地培訓(xùn)使用該工具的開發(fā)人員的方法
缺點(diǎn):
? 不允許進(jìn)行微調(diào)和自定義的工具可能會(huì)產(chǎn)生誤報(bào)和誤報(bào)
? 覆蓋范圍和廣度實(shí)際上取決于你選擇的工具以及它所涵蓋的語言、框架和標(biāo)準(zhǔn)
? 為那些不熟悉靜態(tài)代碼檢查器的人提供了一個(gè)學(xué)習(xí)曲線
? 盡管有強(qiáng)大的通用開發(fā)語言自動(dòng)審查開源工具,但它們并不總是符合預(yù)算計(jì)劃的