選擇靜態應用程式測試工具(SAST)的七點清單

zktq2021發表於2023-03-27

從汽車到飛機,從醫療裝置到工業控制系統,許多現代化產品都需要由軟體驅動,安全問題已經成為製造商關注的重點問題。軟體缺陷不僅會透過引入可被攻擊者利用的漏洞影響安全性,還會透過影響產品的功能操作來影響安全性。

此外,產品安全還會產生財務財務影響。例如,在開發中修復漏洞的成本比在測試中低10倍,比在生產中低100倍。這也說明為什麼靜態應用程式安全測試(SAST)已經成為產品安全性的基石,以及安全左移中在開發的早期階段進行程式碼分析。

與其他形式的應用程式安全測試(AST)不同,SAST掃描所有原始碼,包括配置檔案,而不僅僅是在執行時執行的程式碼。SAST還可以進行程式碼規範檢測。軟體質量和安全性是密不可分的,因為編寫得不好的軟體通常不安全。

為了確保SAST工具更符合企業的業務需求,在評估SAST工具時,通常會考慮以下幾點:

1.多種語言支援

語言的選擇通常基於軟體開發商的程式設計需求、消費者的需求以及與產品相關的硬體。例如,為航空航天等安全關鍵型應用開發軟體所需的功能與用於構建 Web 應用程式的語言不同。支援多種語言程式碼檢測,如C/C++、Java、C#、Python、PHP、JS、HTML等。

2. 與多種開發環境整合

開發環境平臺通常包括編譯器和除錯工具以及各種作業系統檔案和配置選項,因此確保 SAST 工具可以與所使用的開發環境整合。

3. 較低的誤報和漏報

在DevOps中加入安全性,需要同時保證開發速度和安全性。過多的誤報會將開發人員的注意力從完成軟體創新開發轉移到排查潛在缺陷上。太多誤報容易導致開發人員對真正安全缺陷報告失去耐心,並較少關注真正的安全警報。

4. 可整合在DevOps中

軟體開發生命週期使用廣泛的工具集,提供自動化以幫助開發人員更快地將產品送到生產階段。確保 SAST 工具支援並與不同的工具類別整合,包括協作和管理、原始碼管理和儲存庫、IDE、編譯器、編排和自動化等。

5. 支援國產環境

隨著企業所使用的環境及軟體逐漸國產化,對其安全性檢測所使用的SAST 工具需要支援國產化環境。除了支援 Ubuntu、CentOS主流Linux環境部署,還需要支援中標麒麟、銀河麒麟等國產作業系統。

6. 開發人員友好的使用者介面

左移安全性通常透過將安全警告整合到開發工程師使用的整合開發環境 (IDE)中來實現。在現有 IDE 中工作的 SAST 工具可以減少呈現給測試人員的錯誤數量,從而減少大規模“返工”並確保在截至日期前完成任務。

7. 支援多種標準

許多企業需要使用(有些必須遵守)軟體編碼實踐的標準,如CWE、OWASP、CERT、MISRA等,這些標準為提高軟體系統的可靠性和安全性提供了框架。此外,公司可能需要滿足國家規定的標準及編碼安全標準,如GB/T 34943,GB/T 34944,GB/T 34946以及電子行業標準,SJ/T11682、SJ/T11683和組織特定標準等。

使用這些基本準則來評估 SAST 工具,將有助於所選擇的產品滿足組織的業務、技術、安全和安保要求。


來源:

https://devops.com/a-seven-point-checklist-for-getting-sast-right/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2941845/,如需轉載,請註明出處,否則將追究法律責任。

相關文章