OWASP SAMM (Software Assurance Maturity Model)
2020-10-05
SSDLC 發展框架以及 OWASP 軟體安全成熟度模型學習筆記 📚
說明
SSDLC
由 System Development Life Cycle 中的 需求、設計、開發、測試、部署、維運階段,都加入資安的意識。讓整個系統開發的流程不在是部署關頭才做資安的工作,而讓整個專案的完成延宕或者只能捨棄資安。讓資安意識能夠在修改成本最小的前期階段就加入,從而讓整體的系統開發不僅合乎實現也能夠兼顧安全的平衡。
方法論上包括 OWASP Software Assurance Maturity Model ,此外還有微軟的 Microsoft Security Development Lifecycle (SDL)。
OWASP Software Assurance Maturity Model
SAMM 是一套框架,作為組織要發展 SSDLC 所能夠依循的開放式框架。其中包括 5 大項目,並分為 15 個控制項,總計 30 個 Stream 以及其評估點 (Criteria),來供組織設定目標、驗證成果,從而能夠落實安全的軟體開發生命週期。
如何使用 SAMM
SAMM 在其結構上提供四項支持:
- 評估組織目前的軟體開發安全成熟度
- 定義要達成的安全目標與策略
- 可供參考的公式化與指引路線框架
- 具體可行的應用方式
SAMM 的使用上分為六個階段:
PREPARE : Ensure a proper start of the project
ASSESSSET : Identify and understand the maturity of your chosen scope in each of the 15 software security practices
SET THE TARGET : Develop a target score that you can use as a measuring stick to guide you to act on the most important activities for your situation
DEFINE THE PLAN : Develop or update your plan to take your organization to the next level
IMPLEMENT : Work the plan
ROLL OUT : Ensure that improvements are available and effectively used within the organization
SAMM 在個人層級的應用想像
展開每一個 Security Practices 及 Stream,閱讀每個 Practices 在不同成熟度 (Maturity Level 1 to 3) 下的 Benefit, Activity, Quality Criteria。
- 從 Criteria 項目反思什麼應該加入個人層級的開發流程中?
- 什麼可以向組織提供,讓組織變得更好?
- 開發與委外的管理可以從 Criteria 中借鑑的地方?
參考資料
後續活動
展開每一個 Security Practices 及 Stream,閱讀每個 Practices 在不同成熟度 (Maturity Level 1 to 3) 下的 Benefit, Activity, Quality Criteria。