為什麼靜態程式碼安全檢測工具會有誤報、漏報的情況出現?
軟體安全問題帶來的影響日益突出,“安全左移”已經成廣泛認知。在軟體開發週期中進行安全漏洞檢測不但能及時發現問題降低修復難度,而且節省經濟花費。
靜態程式碼安全檢測與動態應用測試不同之處在於,靜態程式碼分析直接面向原始碼,能夠檢測所有的程式碼級別可執行路徑組合,快速準確分析語義缺陷及安全漏洞。
在大眾印象中,靜態程式碼檢測工具存在誤報、漏報的“特點”。這些噪聲不但降低了檢測的準確度,而且降低了開發人員的工作效率。但靜態程式碼檢測工具在開發期間發現安全漏洞的能力在安全建設方面起到的作用不容置疑。
不同安全檢測工具各具特點,根據一項報告,靜態程式碼分析發現的最常見的缺陷是CRLF注入、資訊洩漏和密碼問題,而動態分析發現的最常見的缺陷是伺服器配置、不安全的依賴關係和資訊洩漏問題。軟體組合分析(SCA)發現最常見的是輸入驗證不足、資訊洩漏和封裝問題。
為什麼會產生誤報、漏報?
靜態應用程式測試工具本身基於一些演算法,對程式資料、控制流分析,預判程式中存在的潛在問題。而演算法耗時與準確度成正比。作為工具產品,高執行、高準確度的檢測並不容易實現。因此在設計中存在簡化、取捨,導致精度流失,執行時間和演算法精度之間要達到平衡,因此產生誤報。
Wukong工具在取捨、演算法優化和刪減過程中做過很多研究工作,確保在同樣執行時間下,Wukong工具的演算法設計、邏輯設計引入的誤報更低。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2855284/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼情況下需要進行靜態程式分析?常用Java靜態程式碼分析工具的優勢Java
- 選擇靜態程式碼安全檢測工具指南
- 靜態程式碼檢測工具(SAST)有哪些作用AST
- 為什麼分散式限流會出現不均衡的情況?分散式
- 爬蟲代理為什麼會出現超時的情況?爬蟲
- 伺服器過載會出現什麼情況伺服器
- 如何高效實施靜態程式碼檢測工具SAST?AST
- java靜態程式碼檢測-pmdJava
- 靜態程式碼安全檢測服務包括哪些內容?
- C#中為什麼會出現空靜態構造方法的寫法C#構造方法
- 有什麼工具能生成帶有動態報表圖形的 word 報告嗎?
- 為什麼mysql會經常出現主從同步不一致的情況MySql主從同步
- 機器學習&惡意程式碼靜態檢測機器學習
- 靜態應用程式安全測試 (SAST) 工具AST
- 為什麼做軟體類專案,會出現人多,事少,工作量大的情況?
- Nature回應:為什麼在沒有程式碼的情況下發布AlphaFold3?
- pip報importError錯誤的一些情況ImportError
- 瀏覽器定位是如何實現的?為什麼會有瀏覽器定位失敗的情況?瀏覽器
- python程式碼檢查工具(靜態程式碼審查)Python
- 在配置DDOS高防服務後為什麼會出現有些源站IP被封的情況?
- fiddler 抓手機包出現這種情況為什麼檢視不了請求資料
- 為什麼網站伺服器會出現500錯誤程式碼?該怎麼修復?網站伺服器
- AbsInt — 確保程式碼安全的靜態效能分析工具
- 靜態程式碼檢測工具Wukong對log4J中的漏洞檢測、分析及漏洞修復
- 檢測LINUX程式的實時IO情況Linux
- 有什麼適合做填寫的報表工具?
- HelixQAC-軟體程式碼靜態測試工具
- [原創]Java靜態程式碼檢查工具介紹Java
- ReactFlow程式碼靜態檢查React
- 什麼是報表工具?和 EXCEL 有什麼區別?Excel
- 靜態HTTP代理有什麼作用?HTTP
- 伺服器狀態出錯情況有哪些?伺服器
- 一個比較難的問題:如何讓 unittest 的報告中錯誤情況有日誌輸出?
- 靜態應用程式安全測試
- 下一個成為IE會不會是Chrome,看看是什麼情況。Chrome
- 你的爬蟲為什麼會被檢測到?爬蟲
- pytest.main () 為什麼會報錯?AI
- Linux中什麼情況下會發生程式排程?Linux