國(guó)外SAST產(chǎn)品小析
這里介紹13款國(guó)外SAST產(chǎn)品
1、Fortify SCA
全稱:Fortify Static Code Analyzer
2023年2月1日?總部位于安大略省滑鐵盧的信息管理解決方案提供商O(píng)penText (納斯達(dá)克代碼:OTEX)以60億美元收購(gòu)了總部位于英國(guó)紐伯里的關(guān)鍵任務(wù)軟件技術(shù)和服務(wù)提供商Micro?Focus;美國(guó)HP_fortify,2006年進(jìn)入中國(guó)市場(chǎng),2011年被惠普收購(gòu)。在2017年惠普把HPE出售給Micro Focus公司。
Fortify定位是安全漏洞檢測(cè),支持開(kāi)發(fā)語(yǔ)言最多,超過(guò)30種主流開(kāi)發(fā)語(yǔ)言,是支持開(kāi)發(fā)語(yǔ)言最全面的靜態(tài)分析工具,部分支持語(yǔ)言收費(fèi),部分模塊收費(fèi)。
對(duì)工程需要編譯后進(jìn)行檢測(cè),對(duì)C/C++語(yǔ)言較弱;是國(guó)內(nèi)用戶非常多的一款SAST產(chǎn)品。
2019年7月,Gartner 2019年應(yīng)用安全測(cè)試魔力象限報(bào)告再次將Micro Focus Fortify評(píng)為“領(lǐng)導(dǎo)者”
主要單機(jī)模式安裝;誤報(bào)率較高,不支持增量檢測(cè)。
2、Checkmarx
Checkmarx是一家以色列高科技軟件公司,是世界上著名的代碼安全掃描軟件Checkmarx CxSAST的生產(chǎn)商。
2020年3月,私募公司Hellman&Friedman以11.5億美元收購(gòu)Checkmarx。
Checkmarx最大特點(diǎn)是不用編譯即進(jìn)行檢測(cè)。但是Checkmarx使用 .net開(kāi)發(fā),必須安裝在Windows上,所以國(guó)產(chǎn)服務(wù)器如果使用ARM架構(gòu)則無(wú)法安裝。它的規(guī)則也是類似.net語(yǔ)言的語(yǔ)法。其安裝通常使用sql server數(shù)據(jù)庫(kù)。
Checkmarx對(duì)C/C++語(yǔ)言檢測(cè)支持非常弱。
3、Klocwork
美國(guó)rogue wave公司產(chǎn)品。軍工企業(yè)使用較多。Klocwork Insight能夠分析C、C++和Java代碼分析。
自動(dòng)產(chǎn)生流程圖,有超過(guò)100種代碼度量,包括對(duì)文件、函數(shù)和類三個(gè)方面度量。支持編譯不通過(guò)也能夠檢測(cè)。不足是只能C/S架構(gòu)部署,增量檢測(cè)需要單獨(dú)購(gòu)買License。
4、Coverity
Synopsys公司是由一流的斯坦福大學(xué)的科學(xué)家于2002年成立,國(guó)內(nèi)注冊(cè)新思科技公司(武漢)。
側(cè)重于C/C++語(yǔ)言的檢測(cè),支持超過(guò)70種開(kāi)發(fā)語(yǔ)言框架,上百種編譯器;
特點(diǎn)是誤報(bào)率相對(duì)較低。不足的是除了C/C++語(yǔ)言之外,其它開(kāi)發(fā)語(yǔ)言檢測(cè)能力偏弱。
5、Veracode?
Veracode 成立于2006年,是一家美國(guó)網(wǎng)絡(luò)安全技術(shù)公司。作為傳統(tǒng)應(yīng)用安全測(cè)試市場(chǎng)的長(zhǎng)期強(qiáng)者,Veracode公司成熟的SaaS產(chǎn)品長(zhǎng)期主導(dǎo)靜態(tài)應(yīng)用程序安全測(cè)試(SAST)和動(dòng)態(tài)應(yīng)用程序安全測(cè)試(DAST)領(lǐng)域。Veracode的路線圖側(cè)重于在開(kāi)發(fā)人員環(huán)境中統(tǒng)一靜態(tài)應(yīng)用程序安全測(cè)試(SAST)和軟件組合分析(SCA)功能。
Veracode主要特點(diǎn)是對(duì)二進(jìn)制的靜態(tài)分析,它把SCA和SAST融合,SAST代碼層面的數(shù)據(jù)流和控制流,為SCA提供了更多的漏洞信息。Veracode在國(guó)內(nèi)市場(chǎng)做的一直不是太好。沒(méi)有使用過(guò)這塊工具。
6、Codesonar
CodeSonar是由 Gramma Tech 公司(美國(guó))開(kāi)發(fā)的 C/C++代碼靜態(tài)缺陷檢測(cè)工具,通過(guò)過(guò)程間分析,可以檢測(cè)出導(dǎo)致系統(tǒng)崩潰、內(nèi)存沖突的各種嚴(yán)重的錯(cuò)誤,包括空指針引用、緩沖區(qū)溢出等軟件缺陷。
主要優(yōu)點(diǎn)也是缺點(diǎn),就是專注C/C++、Java語(yǔ)言,其它語(yǔ)言不支持。
7、SonarQube
是一個(gè)在國(guó)內(nèi)比較流行的靜態(tài)掃描工具,運(yùn)營(yíng)社區(qū)版,也有商業(yè)版。
優(yōu)勢(shì)sonarqube能夠比較好的支持CI,支持的開(kāi)發(fā)語(yǔ)言較多,但是sonarqube主要是整合了很多開(kāi)源工具,檢測(cè)結(jié)果以安全編碼規(guī)范問(wèn)題為多,沒(méi)有使用過(guò)商業(yè)版本。國(guó)內(nèi)曾經(jīng)出現(xiàn)過(guò)sonarqube后門(mén)事件,ZF發(fā)正式文件進(jìn)行全市企業(yè)自行檢查是否存在該問(wèn)題。
8、Synk
Snyk是2015年誕生的,5年內(nèi),Snyk在開(kāi)發(fā)者安全領(lǐng)域掀起了一場(chǎng)Shift Left Movement,shift left意思是把測(cè)試時(shí)間提前。Snyk是一套云原生、以開(kāi)發(fā)人員為中心的工具,專為DevSecOps和云原生開(kāi)發(fā)商店而構(gòu)建。它以其SCA和容器安全掃描功能而聞名,它還提供SAST和API漏洞測(cè)試。
該公司發(fā)展勢(shì)頭很強(qiáng),但是SAST沒(méi)有體驗(yàn)過(guò)。
9、ShiftLeft
ShiftLeft公司,成立于2016年,總部位于美國(guó)加利福尼亞州圣克拉拉市。
其核心價(jià)值在于將軟件組合分析(SCA)和靜態(tài)應(yīng)用程序安全測(cè)試(SAST)整合到一個(gè)掃描行為中,當(dāng)開(kāi)發(fā)人員提出拉取請(qǐng)求時(shí)完成該掃描。該技術(shù)使用該公司稱為代碼屬性圖(CPG)的技術(shù)來(lái)繪制自定義代碼、開(kāi)源庫(kù)、SDK和API之間的依賴關(guān)系和數(shù)據(jù)流,不僅可以找出整個(gè)應(yīng)用程序的缺陷,還包括其開(kāi)源組件,但也是邏輯應(yīng)用程序的弱點(diǎn)。
我使用過(guò)其在gitlab上部署的版本,檢測(cè)Java語(yǔ)言還可以。
10、Semmle QL
Semmle 是一家孵化于牛津大學(xué)的安全公司,主要做白盒靜態(tài)掃描工具,其投資者包括 Google, Microsoft, NASA 等,其產(chǎn)品的核心思想是將源代碼變成數(shù)據(jù),將安全分析問(wèn)題變成數(shù)據(jù)庫(kù)查詢。微軟的一篇文章中提到 Semmle QL 的能力包括 vTable 自動(dòng)查找、數(shù)據(jù)流分析、污點(diǎn)跟蹤等。
11、PolySpace
PolySpace測(cè)試技術(shù)始于1996年,當(dāng)時(shí)歐洲亞麗安娜501?箭由于飛?計(jì)算機(jī)軟件運(yùn)?錯(cuò)誤?導(dǎo)致主/輔計(jì)算機(jī)全部停機(jī)并在飛?升空后爆炸,為此,法國(guó)國(guó)家計(jì)算機(jī)與控制研究所、歐洲航天局組織專門(mén)的?量研制以抽象解釋技術(shù)(Abstract Interpretation techniques)為理論基礎(chǔ)的新?代軟件驗(yàn)證/測(cè)試?具—PolySpace,并在亞麗安娜502上得到成功的應(yīng)?。1999年由法國(guó)國(guó)家計(jì)算機(jī)與控制研究所、歐洲航天局共同成?PolySpace Technology公司,將PolySpace產(chǎn)品正式商業(yè)化,并且在國(guó)內(nèi)外軍?項(xiàng)?上得到?泛應(yīng)?。PolySpace是世界上?家?動(dòng)檢測(cè)嵌?式軟件運(yùn)?錯(cuò)誤的?業(yè)化?具,是新?代的軟件測(cè)試?具。
2007年4?25?,PolySpace正式宣布被Mathworks收購(gòu),成為MathWorks產(chǎn)品家族的?員,。
12、PVS-Studio
PVS - Studio 是一款靜態(tài)分析軟件,PVS - Studio 工具是俄羅斯 “Program Verification Systems” 公司自主開(kāi)發(fā)。用于診斷C / C++/ C+11 應(yīng)用程序源代碼中的錯(cuò)誤。
PVS - Studio 包含3套診斷規(guī)則:
64位錯(cuò)誤診斷規(guī)則(Viva64)
平行錯(cuò)誤診斷規(guī)則(VivaMP)
通用診斷規(guī)則
13、QAC
英國(guó)PRQA公司成立于1986年,總部位于英國(guó)Hersham。主要編碼規(guī)則測(cè)試。QAC/QAC++能夠?qū)/C++代碼規(guī)則進(jìn)行自動(dòng)檢查,報(bào)告所違反的編程標(biāo)準(zhǔn)和準(zhǔn)則。側(cè)重于MISRA規(guī)則((ISO,MISRA C,JVF,EC++等)。能夠發(fā)現(xiàn)1300多種C語(yǔ)言問(wèn)題、800多種C++的問(wèn)題,主要針對(duì)C語(yǔ)言。主要側(cè)重于分析編碼風(fēng)格、冗余代碼、函數(shù)類型等編碼規(guī)則方面的問(wèn)題。
如果您不想看文字,可以在視頻聽(tīng)我的講解。
-----------------------------------------------------------------------------------------------------------manok