DevOps安全開發策略探討:以左移(Left-shift)為例


 

在早期DevOps專案開發與部署的流程中,安全性測試往往在產出上線將至,甚至是上線後才進行,可能有潛在的安全隱患;因此DevOps專家希望能將安全測試和安全檢驗的程序,從產品釋出前階段「左移」到最前面的開發初始階段,以利及早發現問題、及早預防漏洞,避免一步錯、步步錯,導致產品無法補救,徒增產品回收、重新開發的時間和成本。

 

左移策略概說

早期DevOps專案的開發方法,往往在產品上線釋出前後,實施較為密集的安全測試和分析,而在開發時間軸上集中在右邊(末端);但較晚實施的安全測試,不但會造成產品漏洞的後知後覺,也會造成交付時間上的壓力。若能將安全測試和分析的環節,以「左移」的方式提前到早期規劃與開發的階段,將安全思維串接整個規劃、開發、上線部署等流程,來分析及預防最源頭、最根本的資安問題。

 

左移策略預期效益

在左移的過程中,源頭的建置環節可及早發現原始碼漏洞,來預防原始碼封裝部署的潛在問題;而在建置後的部署階段,可藉由自動化方式找出安全性漏洞,來預防執行階段的缺陷;到了終端執行階段,可藉由漏洞掃描來有效做出補救和因應措施,同時減少集中實施弱點分析和威脅測試的時間、資源等成本。

 

 

 

     

 

 

圖1:安全開發流程實施「左移」的Before-After比較

資料來源: (Chiodi, 2019)

 

小結

因應日新月異的安全性威脅,DevOps團隊也逐漸領悟到預防勝於治療的道理,著手將安全測試和分析的工作,套用到軟體開發生命週期的完整過程中,演變為DevSecOps的趨勢,減少開發流程中的風險暴露,同持減少後續維護和改版的一系列問題,對開發為運團隊和使用者的影響。

 

 

 

 

參考來源:

 

  1. (2019年8月15日). 安全「測試左移」的四大實用步驟. 擷取自 Palo Alto Networks: https://www.paloaltonetworks.com/blog/2019/08/4-practical-steps-shift-left-security/?lang=zh-hant 
  2. (2021年5月12日). 向左移位以快速且可靠地進行測試. 擷取自 Microsoft Azure DevOps: https://docs.microsoft.com/zh-tw/devops/develop/shift-left-make-testing-fast-reliable 

 

延伸閱讀