代碼靜態掃描分析工具介紹

代碼靜態檢測

程序靜態分析(Program Static Analysis)是指在不運行代碼的方式下,經過詞法分析、語法分析、控制流、數據流分析等技術對程序代碼進行掃描,驗證代碼是否知足規範性、安全性、可靠性、可維護性等指標的一種代碼分析技術。目前靜態分析技術向模擬執行的技術發展以可以發現更多傳統意義上動態測試才能發現的缺陷,例如符號執行、抽象解釋、值依賴分析等等並採用數學約束求解工具進行路徑約減或者可達性分析以減小誤報增長效率。目前的靜態分析工具,不管從科研角度仍是實用性角度還有很大的提升餘地,國際最好分析工具誤報率在5-10%之間,可以報出的缺陷種類也僅有幾百種。我國一些高校訂在致力於在此方面的研究和開發(成果較突出的如香港科技大學、北京大學、清華大學等)。c++

工具介紹

1. Fortify SCA(Source Code Analysis)安全

Fortify Software公司是一家總部位於美國硅谷,致力於提供應用軟件安全開發工具和管理方案的廠商。Fortify爲應用軟件開發組織、安全審計人員和應用 安全管理人員提供工具並確立最佳的應用軟件安全實踐和策略,幫助他們在軟件開發生命週期中花最少的時間和成本去識別和修復軟件源代碼中的安全隱患。 Fortify SCA是Fortify360產品套裝中的一部分,它使用fortify公司特有的X-Tier Dataflow™ analysis技術去檢測軟件安全問題。工具

優勢:全球最大的靜態代碼檢測廠商,支持語言較多開發工具

缺點:價格太過昂貴,性價比不高測試

2. Checkmarx CxSuiteui

Checkmarx 是以色列的一家高科技軟件公司。它的產品CheckmarxCxSuite專門設計爲識別、跟蹤和修復軟件源代碼上的技術和邏輯方面的安全風險。獨創了以查詢語言定位代碼安全問題,其採用獨特的詞彙分析技術和CxQL專利查詢技術來掃描和分析源代碼中的安全漏洞和弱點。設計

優勢:能夠利用CxQL 查詢語言自定義規則生命週期

缺點:輸出報告不夠美觀、語言支持種類不全面,價格昂貴開發

3. Coverity數學

Coverity公司是由一流的斯坦福大學的科學家於2002年成立的,產品核心技術是1998年至2002年在斯坦福大學計算機系統實驗室開發的,用於解決一個計算機科學領域最困難的問題,在2003年發佈了第一個可以幫助Linux、FreeBSD等開源項目檢測大量關鍵缺陷的系統,Coverity是惟一位列IDC前10名軟件質量工具供應商的靜態分析工具廠商,被第三方權威調查機構VDC評爲靜態源代碼分析領域的領導者,市場佔有率處於絕對領先地位。

優勢:能夠檢測二進制文件,分析能力較強

缺點:價格昂貴

4. 源傘科技Pinpoint

源傘科技公司是香港科技大學安全實驗室的衆多博士建立的,產品集成了實驗室多年的研究成果,在衆多國際頂級學術會議上都發表了成果論文,在學術界有很大的影響。近幾年源傘科技將靜態代碼檢測產品Pinpoint成功商業化。目前產品已經比較成熟,可以方便的集成各類安全開發流程,操做界面流暢。可以直接掃描JAVA的二進制文件,在Java和c/c++兩種語言上的分析能力十分強大,掃描速度廣泛快於市面上現有的產品,且擁有衆多國內一線互聯網以及金融公司的安全開發實例經驗,不只可以輸出工具產品,也可以提供安全開發的解決方案。在國內靜態代碼分析領域處於領先地位。

優勢:分析能力強,使用方便友好,價格透明親民

缺點:還未支持C#以及OC,目前支持C/C++,Java,Android,JS,PHP,Python,Golang,Sql

相關文章
相關標籤/搜索