SonarQube和Fortify的區别對(duì)比
- 分類:新聞資訊
- 作者:蘇州華克斯信息科技有限公司
- 來源:蘇州華克斯信息科技有限公司
- 發(fā)布時(shí)間:2023-06-20
- 訪問量:0
【概要描述】
SonarQube和Fortify的區别對(duì)比
【概要描述】
- 分類:新聞資訊
- 作者:蘇州華克斯信息科技有限公司
- 來源:蘇州華克斯信息科技有限公司
- 發(fā)布時(shí)間:2023-06-20
- 訪問量:0
SonarQube和Fortify的區别對(duì)比
一直以來,有很多用戶在問,SoanrQube和Fortify都(dōu)是白盒的源代碼掃描工具,這(zhè)兩(liǎng)個産品有什麼(me)不一樣的地方呢?蘇州華克斯信息科技有限公司做爲SonarQube和Fortify這(zhè)兩(liǎng)個産品在中國(guó)的核心合作夥伴,希望下邊的内容能(néng)解答您的疑惑。
SonarQube是一個代碼質量分析平台,便于管理代碼的質量,可檢查出項目代碼的漏洞和潛在的邏輯問題。同時(shí),它提供了豐富的插件,支持多種(zhǒng)語言的檢測。
主要的核心價值體現在如下幾個方面(miàn):
Ø檢查代碼是否遵循編程标準:如命名規範,編寫的規範等。
Ø檢查設計存在的潛在缺陷:SonarQube通過(guò)插件Findbugs等工具檢測代碼存在的缺陷。
Ø檢測代碼的重複代碼量:SonarQube可以展示項目中存在大量複制粘貼的代碼。
Ø檢測代碼中注釋的程度:源碼注釋過(guò)多或者太少都(dōu)不好(hǎo),影響程序的可讀可理解性。
Ø檢測代碼中包類之間的關系:分析類之間的關系是否合理,複雜度情況。
Fortify SCA是一個靜态的、白盒的軟件源代碼安全測試工具。它通過(guò)内置的五大主要分析引擎:數據流、語義、結構、控制流、配置流等對(duì)應用軟件的源代碼進(jìn)行靜态的分析,分析的過(guò)程中與它特有的軟件安全漏洞規則集進(jìn)行全面(miàn)地匹配、查找,從而將(jiāng)源代碼中存在的安全漏洞掃描出來,并給予整理報告。
一、對(duì)比分析我們使用WebGoat做爲測試用例,來分析一下兩(liǎng)個産品的差異。
1、使用工具:
ØFortify SCA ØSonarQube
2、使用默認規則,不做規則調優。
3、掃描後(hòu)直接導出報告,不做審計。
二、掃描問題總覽
Fortify SCA掃描結果報告:
SonarQube掃描結果總覽:
從上邊可以看出:Fortify掃描出Critical和High級别的漏洞共計757條。
SonarQube掃描出阻斷和嚴重級别的漏洞爲28條,關于軟件質量問題有2K+條。
三、Fortify掃描内容分析
Fortify掃描出來的内容,基本上都(dōu)是和安全相關的信息。例如:ØPrivacy ViolationØCross-Site Scripting: ReflectedØCross-Site Scripting: PersistentØSQL Injection
四、SonarQube掃描内容分析
SonarQube掃描出來的内容,基本上都(dōu)與代碼質量相關聯的。
例如:
ØModifiers should be declared in the correct order
ØSections of code should not be commented out
ØConstructors should not be used to instantiate "String", "BigInteger", "BigDecimal" and primitive-wrapper classes
ØString function use should be optimized for single characters
ØString literals should not be duplicated
SonarQube從七個維度來分析代碼質量問題:
可靠性
安全性
可維護性
覆蓋率
重複
大小
複雜度
問題
單論代碼分析能(néng)力,拿SonarJava舉例,對(duì)于大多數最佳實踐類型的問題,比如不該使用MD5,不要用主線程sleep等,都(dōu)還(hái)是查的不錯。但是真正嚴重的安全漏洞,比如SQL注入之類的污點傳播類問題,一般涉及跨文件,函數,以及涉及對(duì)虛函數、數組、容器的處理,還(hái)要識别通過(guò)框架等配置的數據處理邏輯,那就(jiù)無能(néng)爲力。
這(zhè)也是SonarQube分析器跟Fortify工具的差距所在。
掃二維碼用手機看
更多資訊