靜態應用程式安全測試

zktq2021發表於2022-11-23

資料顯示,2022年截止到目前發現了大約 20,175 個新漏洞,高於前一年的 18,341 個。網路攻擊者正不斷掃描網路中所有可能被利用的漏洞,從而發起網路攻擊。

美國國家標準與技術局(NIST)、國家漏洞資料庫(NVD)資料顯示,90%以上的網路安全問題是由軟體自身的安全漏洞被利用導致。目前,靜態應用程式安全測試在軟體開發生命週期當中使用頻率越來越高。靜態應用程式安全測試在軟體開發期間檢測原始碼中存在的編碼問題及安全缺陷,有助於及時修復缺陷提高軟體安全性。

什麼是靜態應用程式安全測試(SAST)?

靜態應用程式安全測試(SAST)是一種白盒測試,透過直接分析原始碼、位元組碼和二進位制檔案,以識別可利用的漏洞和編碼問題。靜態應用程式安全測試透過建立一種程式狀態模型,透過字串匹配、資料流分析、控制流分析、抽象語法樹的語義分析等手段進行路徑遍歷,完成對狀態空間所有路徑的近似分析,以發現程式碼中存在的潛在缺陷以及安全漏洞,並提供一定的修復建議。

靜態應用程式安全測試在DevSecOps 中的作用

眾所周知,DevSecOps 透過在軟體開發生命週期 (SDLC) 的每個階段新增合適的安全測試方法來擴充套件 DevOps 和敏捷的方法,從而建立一個動態和持續的測試過程。

測試過程最先涉及的就是靜態應用程式安全測試,檢測開發人員編寫的程式碼安全性並定位有問題的程式碼所在,協助開發人員高效修復程式碼缺陷,有助於快速安全地交付軟體。

靜態應用程式安全測試的好處

①可在開發早期階段檢出缺陷,修復成本低;

②可精確定位原始碼中的潛在錯誤,便於修改;

③程式碼覆蓋率完整;

④易於使用,通用性高。

哪些行業使用靜態應用程式安全測試?

隨著網路安全法規和標準在全球範圍內不斷展開,越來越多的組織正在擴充套件網路安全計劃,並在交付軟體之前進行安全測試。整個行業,尤其在金融、政府等行業,都涉及對應用軟體或系統進行安全測試的需求。

最佳實踐

進行安全測試(包括靜態應用程式安全測試)的有效方法是持續進行。這意味著將靜態應用程式安全測試直接整合到 CI/CD 管道中。這樣做可以建立快速的反饋週期,以便開發人員可以在程式碼釋出之前修復安全漏洞。

靜態應用程式安全測試發現的常見安全漏洞包括:

緩衝區溢位

跨站點指令碼

SQL隱碼攻擊等

除了檢測安全漏洞外,靜態應用程式安全測試還能檢測語義缺陷/執行時缺陷及安全編碼標準/規範。


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

相關文章