前幾天文章中提到了測試左移,今天要分享的是「安全左移」,也就是 DevSecOps。
在軟體開發流程中,資安測試的環節在以前常擺在後面的環節,但如同測試左移的概念一樣,如果在最後環節中才發現大問題,不只是上線前的緊急修復成本,也會有上線後才發現漏洞的風險。
在 PM 的角度,以 user story 規劃產品時,常常會漏掉資安的規劃,但在 DevSecOps 的核心中,資安也全體成員注重的一環,所以在需求討論階段,就可以與開發團隊一起討論如何規劃。
而在開發/測試階段也有 3 大分析可以協助工程師們在更前期的階段就將資安的檢測放進流程中,這三大分析分別是 SAST、SCA、DAST。
SAST 是一個像是 X 光機的測試,可以在不執行程式碼的階段下,從內部找出潛在的漏洞,並且可以準確指出是在程式碼的哪一個地方需要進行修復,很適合在工程師寫完程式碼後就進行掃描,並做為 CI/CD 的一部分。
現在工程師常常會使用開源的套件寫 code,SCA 就可以針對程式碼中會引用的第三方套件進行檢查,也可以在開發早期檢測使用。
產品在上線前會進行壓力測試,看看當使用者請求量高時,系統是否能穩定不崩潰,DAST 進行的則是資安的版本。它會模擬駭客的攻擊行為,測試應用程式在運行時,會出現甚麼樣的反應,測試的時間也會是在產品要上線前的最後檢查。