NIST安全軟體開發框架(SSDF),讓軟體開發安全上軌道



在SSDLC安全軟體開發生命週期、SBOM軟體用料清單的重要性更被重視的當下,雖然有企業界開始導入採用,但仍需要一個具有公信力的可參考指引,供業界依循安全開發流程。於是美國NIST就制定了「安全軟體開發框架(Secure Software Development Framework, SSDF)」,讓安全軟體開發理論和實務流程加以整合,以利軟體開發業界能有效依循,來產出高安全性的軟體。

技術發展背景

自從SSDLC開發工法問世後,讓原有的瀑布式/敏捷式開發工法追加了安全控管要素,力求每個開發流程都萬無一失,產出安全又滿意的軟硬體產品;另外美國曾因為Log4j重大事故所帶來的軟體套件安全性衝擊,促使美國政府推動SBOM並列入政府軟體供應商需求,藉由讓軟體組成透明化,來預防潛在的漏洞、間接增強安全性。

NIST推動的SSDF,除整合安全軟體開發所需的流程需求,以及安全開發工具要素外,也考量坊間許多安全軟體工法的特點,例如OWASP SAMM、Synopsys BSIMM等流程,將安全軟體開發實踐到資訊科技(IT)、工控系統(ICS)、網路─實體整合系統(CPS)、物聯網(IoT)等情境與產品。

技術介紹與應用現況

NIST SSDF共有四個實務(Practice)類別,作為軟體開發者的預備方向:

  1. 組織預備(PO):開發團隊應做好人員、流程和技術等層面的準備工作
  2. 軟體防護(PS):開發團隊手上的所有軟體元件,應防止被竄改,或遭未經授權之外部存取
  3. 產出絕佳安全軟體(PW):當產出軟體成品時,應確保最低程度的軟體漏洞發生
  4. 對漏洞做出因應措施(RV):開發團隊應留意軟體成品發生的已知漏洞,並防止類似事故在未來再次發生。

軟體開發團隊藉由落實上述四種實務,可望結合SSDLC和SBOM,確保軟體開發過程中的風險和品質管控,同時提高流程和產品的安全係數。

未來展望/挑戰

藉由導入SSDF,可以將SSDLC和SBOM的理論進一步具體化實踐,從開發源頭密切把關開發流程和軟體原料的安全性,並不斷因應日新月異的威脅加以動態補強改善,進而為下一世代的產品擘劃更為安全的藍圖,以便應付舊世代產品淘汰後,新世代產品青黃不接的空缺,所產生的安全空窗期,來減少組織面、流程面、工具面等風險暴露,影響新世代軟體安全性。

 

封面圖片經圖庫123RF授權使用

參考資料

  1. Souppaya, M., Scarfone, K., & Dodson, D. (2022, February). Secure Software Development Framwork (SSDF) Version 1.1. doi:10.6028/NIST.SP.800-218 
     
  2. 楊力學. (2022年9月21日). 從 SSDLC 視角簡介 FIPS 140-3 標準. 擷取自 2022台灣資安大會: https://s.itho.me/ccms_slides/2022/9/29/10333ec8-0dc1-403e-a38a-5281d57d1996.pdf 

 

 

 

 

延伸閱讀