代碼靜態(tài)檢測
程序靜態(tài)分析(Program Static Analysis)是指在不運(yùn)行代碼的方式下咽筋,通過詞法分析、語法分析徊件、控制流奸攻、數(shù)據(jù)流分析等技術(shù)對程序代碼進(jìn)行掃描,驗(yàn)證代碼是否滿足規(guī)范性庇忌、安全性舞箍、可靠性、可維護(hù)性等指標(biāo)的一種代碼分析技術(shù)皆疹。目前靜態(tài)分析技術(shù)向模擬執(zhí)行的技術(shù)發(fā)展以能夠發(fā)現(xiàn)更多傳統(tǒng)意義上動態(tài)測試才能發(fā)現(xiàn)的缺陷,例如符號執(zhí)行占拍、抽象解釋略就、值依賴分析等等并采用數(shù)學(xué)約束求解工具進(jìn)行路徑約減或者可達(dá)性分析以減少誤報增加效率捎迫。目前的靜態(tài)分析工具,無論從科研角度還是實(shí)用性角度還有很大的提高余地表牢,國際最好分析工具誤報率在5-10%之間窄绒,能夠報出的缺陷種類也僅有幾百種。我國一些高校正在致力于在此方面的研究和開發(fā)(成果較突出的如香港科技大學(xué)崔兴、北京大學(xué)彰导、清華大學(xué)等)。
工具介紹
1. Fortify SCA(Source Code Analysis)
Fortify Software公司是一家總部位于美國硅谷敲茄,致力于提供應(yīng)用軟件安全開發(fā)工具和管理方案的廠商位谋。Fortify為應(yīng)用軟件開發(fā)組織、安全審計人員和應(yīng)用 安全管理人員提供工具并確立最佳的應(yīng)用軟件安全實(shí)踐和策略堰燎,幫助他們在軟件開發(fā)生命周期中花最少的時間和成本去識別和修復(fù)軟件源代碼中的安全隱患掏父。 Fortify SCA是Fortify360產(chǎn)品套裝中的一部分,它使用fortify公司特有的X-Tier Dataflow? analysis技術(shù)去檢測軟件安全問題秆剪。
優(yōu)點(diǎn):全球最大的靜態(tài)代碼檢測廠商赊淑,支持語言較多
缺點(diǎn):價格太過昂貴,性價比不高
2. Checkmarx CxSuite
Checkmarx 是以色列的一家高科技軟件公司仅讽。它的產(chǎn)品CheckmarxCxSuite專門設(shè)計為識別陶缺、跟蹤和修復(fù)軟件源代碼上的技術(shù)和邏輯方面的安全風(fēng)險。首創(chuàng)了以查詢語言定位代碼安全問題洁灵,其采用獨(dú)特的詞匯分析技術(shù)和CxQL專利查詢技術(shù)來掃描和分析源代碼中的安全漏洞和弱點(diǎn)组哩。
優(yōu)點(diǎn):可以利用CxQL 查詢語言自定義規(guī)則
缺點(diǎn):輸出報告不夠美觀、語言支持種類不全面处渣,價格昂貴
3. Coverity
Coverity公司是由一流的斯坦福大學(xué)的科學(xué)家于2002年成立的伶贰,產(chǎn)品核心技術(shù)是1998年至2002年在斯坦福大學(xué)計算機(jī)系統(tǒng)實(shí)驗(yàn)室開發(fā)的,用于解決一個計算機(jī)科學(xué)領(lǐng)域最困難的問題罐栈,在2003年發(fā)布了第一個能夠幫助Linux黍衙、FreeBSD等開源項(xiàng)目檢測大量關(guān)鍵缺陷的系統(tǒng),Coverity是唯一位列IDC前10名軟件質(zhì)量工具供應(yīng)商的靜態(tài)分析工具廠商荠诬,被第三方權(quán)威調(diào)查機(jī)構(gòu)VDC評為靜態(tài)源代碼分析領(lǐng)域的領(lǐng)導(dǎo)者琅翻,市場占有率處于絕對領(lǐng)先地位。
優(yōu)點(diǎn):可以檢測二進(jìn)制文件柑贞,分析能力較強(qiáng)
缺點(diǎn):價格昂貴
4. 源傘科技Pinpoint
源傘科技公司是香港科技大學(xué)安全實(shí)驗(yàn)室的眾多博士創(chuàng)建的方椎,產(chǎn)品集成了實(shí)驗(yàn)室多年的研究成果,在眾多國際頂級學(xué)術(shù)會議上都發(fā)表了成果論文钧嘶,在學(xué)術(shù)界有很大的影響棠众。近幾年源傘科技將靜態(tài)代碼檢測產(chǎn)品Pinpoint成功商業(yè)化。目前產(chǎn)品已經(jīng)比較成熟,能夠方便的集成各種安全開發(fā)流程闸拿,操作界面流暢空盼。能夠直接掃描JAVA的二進(jìn)制文件,在Java和c/c++兩種語言上的分析能力十分強(qiáng)大新荤,掃描速度普遍快于市面上現(xiàn)有的產(chǎn)品揽趾,且擁有眾多國內(nèi)一線互聯(lián)網(wǎng)以及金融公司的安全開發(fā)實(shí)例經(jīng)驗(yàn),不僅能夠輸出工具產(chǎn)品苛骨,也能夠提供安全開發(fā)的解決方案篱瞎。在國內(nèi)靜態(tài)代碼分析領(lǐng)域處于領(lǐng)先地位。
優(yōu)點(diǎn):分析能力強(qiáng)痒芝,使用方便友好俐筋,價格透明親民
缺點(diǎn):還未支持C#以及OC,目前支持C/C++吼野,Java校哎,Android,JS瞳步,PHP闷哆,Python,Golang单起,Sql
更多詳情請關(guān)注公眾號:源傘科技