GSS資安電子報0179期【Checkmarx開箱即用精準分析】

2021年一月12日(二) AM 10:33
翻譯及整理:叡揚資訊 資訊安全事業處
 
精準度在應用系統安全(AppSec),一直以來都是大家避而不談的議題。在靜態應用程式安全測試(SAST)檢測結果可能包含了為數不少的誤報(FP),造成開發團隊與資安團隊花不少時間與力氣在分析確認是否為真的問題。考慮到開發的時程壓力與補救關鍵問題所花費的時間,處理誤判的雜訊給開發團隊造成了很大困擾。
 
身為軟體安全解決方案的全球領廠商Checkmarx,我們意識到敏捷的軟體開發就是一切。考慮到這點,我們不斷投入在改良開箱即用的準確性與微調結果的能力,以滿足特定情境。
 179.1
事實勝於雄辯
The OWASP Benchmark
OWASP是一個具有公信力的非營利組織,致力於應用系統安全。OWASP Benchmark 專案是一個Java語言的測試模組,用來評估、測試各種軟體安全漏洞檢測工具包含了SAST、DAST與IAST的精準度、涵蓋率與速度。該模組是一個可獨立運行的開源網站應用系統,包含數千個可利用的漏洞測試案例,每個案例都對應到特定的CWE。所有內建的弱點都有對應的分數,適用於各種類型的檢測工具的公正測試。數百個測試案例經過掃描分析後會產生詳細的計分卡。該計分方式包含了所有可能的結果(FP/FN/TP/TN)*,並將測試分數繪製出產品價值的圖表。一般來說OWASP在未經供應用同意前不會主動發佈各種商業工具的評分。但在幾年前他們發表該產業商用產品的平均分數,約在16%~32%之間。
 
*註:FP(False Positive):錯誤通報有弱點(誤報)、FN(False Negative):有弱點沒通報(漏報)、TP(True Positive):正確通報弱點(準確)、TN(True Negative):沒弱點沒通報(準確)
179.2
 
那CxSAST在OWASP benchmark的分數如何?
CxSAST 9.2版在未經任何設定/調校直接的測試分數是73%。細部來看分數卡,CxSAST的正確通報率(TP)高達97.11%,非常接近滿分。
179.3
 
The Checkmarx Benchmark
為確認每次CxSAST的版本提升都能不斷提高開箱即用的準確性,我們不僅依據OWASP BenchMark進行衡量,更與內部進行BenchMark衡量。我們的評估方法如下:
 
    • 準確率/(準確率+誤率)
用來進行內部 BenchMark 評比的檢測邏輯規則(Query)是基於我們最佳設定,稱為「Checkmarx Express」。此規則包含了52種Query,結合了Checkmarx多年累積經驗與業界知識,可客製化 CxSAST 偵測邏輯以滿足特定的應用系統需求。我們已利用超過40多個開源與9萬多個結果驗證了規則與準確性。如同我們不斷改進的理念,我們正不斷提高開箱即用的準確性。更重要的是,我們發布了 Content Pack給我們的客戶,讓我們提供頻繁且持續性的準確度更新,而不用等待我們新版本的發布。
 
我們內部準確性的評估是看起來如何?
透過CxSAST最新的Content Pack,我們在高風險Query獲得了89%的高分(原先為56%),在中風險的Query護得了83%(原先為115%),同時將誤報率(FP)降至15%。
179.4
 
開箱即用的準確性之外
除了數百種開箱即用的檢測邏輯規則或稱Query外,Checkmarx還提供了自定義的功能。若您了解CxSAST是如何檢測程式碼,您也可以了解自定義的威力。在掃描的過程中CxSAST將源碼轉為機器可讀的資料結構,可以將它想像成是包含在應用程式源碼裡所有資訊的資料庫,接著分析進入點(Source)到執行點(Sink)的資料流,是否有執行到任何的驗證/處理函式(Sanitizer)。接著,掃描就變成單純對弱點資料流查詢資料結構的方式。
CxSAST使用的漏洞檢測邏輯稱為CxQuery(CxQL),是以C#為基礎撰寫的。使用單位可以因應其特定的應用系統邏輯修改CxQL調整檢測邏輯,最終可以讓CxSAST更貼近內部系統的邏輯並提高精準度,進而移除 FN 與減少 FP。
舉例來說,若CxSAST無法識別單位內自行開發的驗證函式,或誤將某物件視為執行點,則可能出現誤報;相同地,假如 CxSAST無法識別客製的執行點(例如像是客製的 API),誤報也可能會發生。此時可以利用自定義(客製化規則)的能力,識別驗證函式或執行點,移除錯誤舉報。透過CxAudit(我們開發的 AppSec Engineer 的 IDE)可以輕鬆達成上述的事,讓我們可以自由添加所需的程式元素與Query,組合成自己專屬的工具。如需任何幫助,可隨時與我們的專案服務顧問連絡,將幫助您微調掃描規則以獲得高準確度的掃描結果。
 
What our customers are saying about CxSAST?
 
Checkmarx CxSAST是我用過最好的靜態程式碼分析工具。Checkmarx CxSAST 是進行靜態程式碼分析的絕佳工具,它發現了許多其他知名工具無法找到的問題以及更少的誤報。
政府產業高級軟體工程師(<5000名員工),2020/6/26
 
此產品非常容易且快速的取得結果,以及對於我們所使用的程式語言有絕佳的覆蓋率。我們在開發時還包含了混合語言的專案,而Checkmarx可以支援跨語言的資料流程。在與其他工具相比他的誤報率也比較低。
安全與風險管理總監(營業額2.5億~5億美元),2020/3/5
 
CxSAST減少開發時間。CxSAST讓我們在建構的過程中加了一道安全門(SecurityGate),讓我們能在動態檢測前先找出並修改安全漏洞,讓開發團隊能更快速的交付應用程式系統。
金融產業資安分析師(營業額5億~10億), 2020/2/28
 
 
Checkmarx是我在擔任軟體安全分析師這6年來用過最好的靜態掃描工具。我喜歡他的技術支援,易於整合,高頻率的更新,以及低誤報率等優點。
 
醫療產業高級軟體分析師(營業額5億~10億), 2020/6/25
 
我們為整個企業選擇了Checkmarx靜態程式碼分析工具,我們的標準是需要一個誤報率低且可以掃描Gitlab的工具。Checkmarx滿足了我們的期望,目前正將其導入我們的團隊之中。
 
教育產業資訊安全分析師(<5000名員工),2020/2/19
 
相關文章

星宇航空如何提供高品質且安全的服務?內化「DevSecOps」成為企業文化

面對市場競爭變化快速,星宇航空不僅採取 DevOps 的開發與部署流程,以更快速推出應用服務,更要實現「DevSecOps」! 透過將資安的概念植入於產品服務、基礎建設、開發流程以及每位工程師的工作中,讓「資訊安全」成為公司文化根基 ,使星宇得以從頭到尾完整提供安全、高質感的飛航服務。
2021/01/26

Kryptowire提供軍規等級App安全檢測,驗證多種資安標準

行動App是當前應用程式的主流類型,然而在App市集上的眾多應用程式當中,仍有不少潛藏著資安問題,像是安全性漏洞、憑證不安全、加密強度不足,以及要求過高權限、寫死程式碼認證方式,甚至本身就是惡意程式,因此,無論是開發與提供行動應用程式的企業,或是純粹安裝執行的前端使用者,都很關注行動App本體是否夠安全。
2020/12/14