翻譯|行業資訊|編輯:李顯亮|2021-04-14 11:13:43.157|閱讀 1017 次
概述:由于SAST幫助您在實現過程中審計代碼和分類問題,測試自動化工具parasoft也可以輕松地集成到開發生態系統中,其中連續集成/連續交付(CI/CD)是工作流的一部分,有助于確保集成期間和交付之前的代碼安全、可靠。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
靜態應用安全測試(SAST)是一種在不執行程序源碼的情況下對程序源碼進行自動測試和分析的方法,以便在軟件開發周期的早期發現安全漏洞。SAST也被稱為靜態代碼分析,它是通過解析代碼的過程,查看代碼是如何編寫的,并檢查安全漏洞和安全問題。
從開發開始就使用一套或多套編碼指南,如CERT和MISRA,以確定要遵守哪些編碼規則。一些從業者也會結合自己的自定義規則。
由于靜態應用安全測試工具不需要運行中的應用程序來執行分析,因此它們可以在軟件開發生命周期(SDLC)的實施階段早期和經常使用。當開發人員正在編寫代碼時,SAST可以實時分析代碼,以告知用戶任何違反規則的情況,因此您可以立即處理問題,并立即交付更高質量的應用程序,同時防止在開發過程結束時出現問題。
此外,由于SAST可以幫助您在實施過程中審計代碼和分流問題,測試自動化工具也可以輕松地集成到開發生態系統中,其中持續集成/連續交付(CI/CD)是工作流程的一部分,有助于在集成期間以及交付之前確保代碼的安全、安全和可靠。
SAST在不運行應用程序的情況下分析每一行代碼,而動態應用程序安全測試(DAST)通過在運行時或黑盒測試中尋找利用安全漏洞的方法來模擬惡意攻擊和其他外部行為。
在發現開發團隊根本沒有想到的意外漏洞時,DAST特別有用。DAST帶來的這種額外的洞察力提供了廣泛的安全測試,以尋找缺陷并防止SQL注入、跨站腳本(XSS)等攻擊。還記得2014年索尼影視公司的黑客事件嗎?那是可以用DAST來預防的。
比較SAST與DAST,在SDLC的不同階段,兩者都比對方更有效。SAST代表了開發者的觀點,確保所有的編碼程序都遵循相應的安全標準,從一開始就確保應用的安全性。DAST則是模仿黑客的方法,在開發末期識別可能的用戶行為。讓我們來看看主要的區別。
SAST允許測試人員分析應用程序的框架、設計和實現的各個方面,以分析源代碼。使用DAST,需要一個正在運行的應用程序,而測試人員不需要對源代碼或應用程序建立的技術有任何了解。
由于SAST研究的是源代碼,因此可以在實施開始后立即執行,發現違反編碼規則的行為,為安全漏洞打開大門。你不需要一個正在運行的構建就可以對軟件進行測試,而且更好的是,你可以立即對已經標記的代碼進行分流。使用DAST,你需要在它開始掃描漏洞之前執行應用程序,也就是只要你有正在運行的軟件就可以了。
在軟件開發過程中,SAST是一個持久的存在,它能夠通過更早地發現缺陷和安全漏洞來降低成本,而這些缺陷和安全漏洞是在最快速和成本最低的開發階段進行修復的。在單元測試階段,也就是動態分析的一部分,可以尋找安全漏洞。
在這個階段,解決缺陷的成本還是很低的,但隨著你不斷向軟件開發的V型模型上升,缺陷的補救成本就越高。這是因為在應用修復的過程中涉及到更多的人員和任務。例如,當在系統測試中發現一個缺陷時,工程師需要驗證缺陷/弱點,修復缺陷,報告缺陷已被修復,然后將其傳遞給質量保證(QA)團隊,在那里他們將不得不重新運行他們的測試,并驗證問題已被解決。
文件也可能需要更新,這可能會涉及更多的人員和時間。在產品發布后發現的安全漏洞更加昂貴,這不僅是因為修復問題所涉及的所有人員,還因為現在可能會因為產品或公司的聲譽因安全責任而受到損害而造成業務損失,此外還有可能的訴訟和恢復成本。
由于SAST工具掃描的是靜態代碼,所以它能夠應用于多種類型的軟件應用和語言,比如用于嵌入式系統的C和C++,以及用于后臺、網絡應用的C#、VB.NET、Java等語言。這是對DAST的完美補充,DAST能夠在運行期間或移動應用、桌面應用、云服務、網站、企業軟件和游戲等互聯環境中發現問題。
當測試您的web應用程序時,結合使用SAST工具parasoft公司DAST的實踐傾向于給你兩個世界中最好的,每一個測試都是對另一個的補充和驗證。當您的DAST結果在整個開發周期中通知您的SAST時,您就大大改進了如何在開發的每個步驟中以卓越的覆蓋率測試、檢測和預防安全漏洞。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn