OWASP SAMM (Software Assurance Maturity Model)

2020-10-05

SSDLC 發展框架以及 OWASP 軟體安全成熟度模型學習筆記 📚

logo

說明

SSDLC

由 System Development Life Cycle 中的 需求、設計、開發、測試、部署、維運階段,都加入資安的意識。讓整個系統開發的流程不在是部署關頭才做資安的工作,而讓整個專案的完成延宕或者只能捨棄資安。讓資安意識能夠在修改成本最小的前期階段就加入,從而讓整體的系統開發不僅合乎實現也能夠兼顧安全的平衡。

方法論上包括 OWASP Software Assurance Maturity Model ,此外還有微軟的 Microsoft Security Development Lifecycle (SDL)

OWASP Software Assurance Maturity Model

什麼是 SAMM ?

SAMM 是一套框架,作為組織要發展 SSDLC 所能夠依循的開放式框架。其中包括 5 大項目,並分為 15 個控制項,總計 30 個 Stream 以及其評估點 (Criteria),來供組織設定目標、驗證成果,從而能夠落實安全的軟體開發生命週期。

如何使用 SAMM

SAMM 在其結構上提供四項支持:

  1. 評估組織目前的軟體開發安全成熟度
  2. 定義要達成的安全目標與策略
  3. 可供參考的公式化與指引路線框架
  4. 具體可行的應用方式

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 Model Structure

SAMM Version 2

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。