• 晶片資安第一站

SSDLC的國際應用

引言

隨著全球數位轉型的加速和網路威脅的持續演變,軟體開發的安全性已成為企業和政府關注的焦點。安全軟體開發生命週期(Secure Software Development Life Cycle,SSDLC)是一種將安全考量融入到軟體開發各個階段的系統化流程,目標是從一開始就減少漏洞的產生並提高軟體安全性。這種方法不僅有助於避免潛在的安全風險,還能有效降低軟體漏洞修補和營運的成本,確保軟體在未完整考量安全措施的請況下,鋪路在各種網絡攻擊的環境中。

SSDLC 通過整合安全策略和控制措施,確保開發團隊不僅專注於功能開發,更在每個階段考慮可能的安全風險。其主要包括以下幾個關鍵階段:

    1. 需求與規範階段:確保業務需求和安全需求並行,確認所有功能需求都包含適當的安全規範。
    2. 設計階段:在系統架構中考量安全設計原則,如最小權限、身份驗證等,避免架構設計缺陷造成安全漏洞。
    3. 開發與編碼階段:遵循安全編碼標準,如 OWASP Top 10,確保源碼安全無漏洞。
    4. 測試階段:利用滲透測試和自動化測試工具檢測安全弱點,模擬攻擊者行為以發現漏洞。
    5. 部署與維運階段:在正式環境中部署軟體時,確保應用和環境的安全性,並在運行過程中進行監控和安全性維護。

國際間的SSDLC發展

美國

2021年5月,美國總統拜登政府發布了 EO 14028 行政命令,該命令目的在於提升美國的網絡安全,特別關注政府部門和關鍵基礎設施供應鏈的安全性。依據該命令的第4節要求,國家標準暨技術研究院(National Institute of Standards and Technology, NIST) 開始著手開發「安全軟體開發框架(SSDF)」,以確保在軟體開發的各個階段引入安全性,從而降低潛在的網絡風險。

並於在2021年6月邀請各方專家並收集超過150份意見書的建議,建議來自業界領導者如 Amazon Web Services (AWS)、Google、Microsoft 等公司,以及政府機構如 美國通用服務管理局 (GSA) 和 美國海軍 (U.S. Navy)等。這些企業和機構在全球範圍內的軟體開發經驗協助 NIST 逐步完善了 SSDF 框架。

最終,NIST SP 800-218 的發布確立了聯邦政府和國防供應鏈內的統一安全標準。該框架被廣泛應用於美國國防部(DoD)及其他聯邦機構,尤其在供應鏈安全和系統開發中,確保軟體從需求、設計到測試和維護的每個階段都涵蓋安全要求。

Enduring Security Framework

圖1 Enduring Security Framework

資料來源:https://securityboulevard.com/2023/01/what-does-the-federal-guidance-on-securing-the-software-supply-chain-mean-for-developers/

 

歐盟

在歐洲,ENISAENISA Cybersecurity Certification Framework 雖然非與安全軟體開發生命週期(SSDLC)應用直接相關,但這些規範都為重要框架和法規。其中實施措施與安全軟體開發生命週期(SSDLC)管控程序與規範核心理念相同,同時也幫助企業和政府機構在軟體開發的各個階段實施網絡安全與隱私保護。

ENISA(歐盟網絡與資訊安全機構)積極推動「安全設計」(Security by Design)之核心,與 SSDLC 的核心思想高度一致。ENISA 提供了多份實用指南,涵蓋從需求定義、設計到部署的全過程安全管理,幫助企業將安全性內嵌到軟體開發的每一階段。同時,本規範在金融、醫療和 ICT 領域特別有效,確保了應用程式在開發和運行中的安全性。

此外,ENISA Cybersecurity Certification Framework 則為歐洲的 ICT 產品和服務提供統一的網絡安全標準。該框架要求產品從設計到部署的各階段都遵循安全標準,與 SSDLC 強調的全生命周期安全理念密切相關。企業需要在開發過程中進行需求分析、設計、測試等環節中皆考慮安指標。

開發計畫

圖2 開發計畫

資料來源:https://www.enisa.europa.eu/publications/bolstering-enisa-in-the-eu-cybersecurity-certification-framework

 

國際標準

ISO 27001:2022

從國際標準的 ISO 27001:2022 中也因軟體開發需求整合 SSDLC 相關的部分,特別是在附錄 A 的 8.25開始要求企業定義安全開發生命週期,逐步要求團隊針軟體開發等安全管控進行把關,因此內容涵蓋了多項與軟體全生命週期安全密切相關的控制項。進一步對SSDLC 的透明度和追溯性,確保開發過程中所有的活動和事件都被有效記錄和審計。這些控制措施的應用能夠全面支持 SSDLC 的流程,從需求分析、設計、開發、測試、部署到後續維護,確保在每個階段的安全性和合規性。

因此,在整個 SSDLC 中嵌入 ISO 27001:2022 的至少針對安全軟體開發在通要標準中做了最基本的定義,通過ISO 27001:2022的機構,也因此在SSDLC方面得到有效的安全控管,提升軟體產品的安全成熟度,並使其符合國際標準,進而降低來自軟體類別安全風險。

ISO 27001:2022中的安全軟體開發要求

圖3 ISO 27001:2022中的安全軟體開發要求

資料來源:https://www.cnsonline.com.tw/?node=result&generalno=27001&locale=zh_TW