OWASP軟件保證成熟度模型(SAMM)可為所有類型的組織分析和改進其軟件安全態勢提供有效和可衡量的方法。OWASP SAMM支持完整的軟件生命周期,包括開發和獲取,并且與技術和過程無關。
1. 簡介
OWASP軟件保證成熟度模型(SAMM)是一個開放的框架,用以幫助組織制定并實施針對組織所面臨來自軟件安全的特定風險的策略。由SAMM提供的資源可作用于以下方面:
- 評估一個組織已有的軟件安全實踐;
- 建立一個迭代的、權衡的軟件安全保證計劃;
- 用于證明安全保證計劃可帶來的實質性改善;
- 定義并衡量組織中與安全相關的措施。
SAMM以靈活的方式定義,以使它可被大、中、小型組織應用于任何類型的軟件開發中,甚至是一個單一的項目。
最初的模型(v1.0版本)由Pravir Chandra編寫于2009年。在過去的10多年里,它已被證明是一種廣泛分布的有效模式,可用于改善世界各地不同類型組織的安全軟件實踐。在最新發布的2.0版本點此下載中文版文檔原件(訪問密碼:6277),OWASP進一步改進了模型,以應對其舊模型的一些限制。
2. 三個主要特征
- 可衡量:跨安全實踐定義的成熟度級別;
- 可操作:提高成熟度水平的清晰路徑;
- 通用性:對技術、流程和組織是通用的。
OWASP SAMM 社區由來自于企業和教育機構的安全知識型志愿者提供支持。全球社區
致力于創建可自由獲得的文章、術語、文檔、工具和技術。
3. 模型概覽
Governance 治理 | Design 設計 | Implementation 實施 | Verification 驗證 | Operations 操作 |
---|---|---|---|---|
Strategy and Metrics 戰略和指標 | Threat Assessment 威脅評估 | Secure Build 安全構建 | Architecture Assessment 體系結構評估 | Incident Management 事件管理 |
Policy and Compliance 政策和合規性 | Security Requirements 安全要求 | Secure Deployment 安全部署 | Requirements-driven Testing 需求驅動的測試 | Environment Management 環境管理 |
Education and Guidance 教育和指導 | Security Architecture 安全體系結構 | Defect Management 缺陷管理 | Security Testing 安全性測試 | Operational Management 運營管理 |
4. SAMM模型結構
SAMM基于15種安全實踐,分為5個業務功能。每個安全實踐都包含一組活動,分為3個成熟度級別。與成熟度較高的活動相比,成熟度較低的活動通常更容易執行,并且需要較少的形式化。
- 在模型的最頂層,SAMM 定義了五種關鍵業務功能。 每種業務功能是一組軟件開發過程中具體細節的相關措施;就是任何組織的軟件開發團隊要在某種程度上必須運用到的每一個業務功能。
- 對于每類業務功能,SAMM 定義了三個安全實踐。每個安全實踐都是一個為業務功能建立保障而與安全相關的領域。因此,總體來說,有 15 個獨立的安全實踐活動映射到五組業務功能,以改善軟件開發中相對應的業務功能。
- 對于每種實踐活動,SAMM 定義了三個成熟度等級以作為目標。安全實踐中的每個等級是由一個連續、且復雜的目標定義的;且每個等級的成功指標比上一個等級更加苛刻。另外,每類安全實踐都能通過相關活動的優化單獨改進。
- 對于每個安全實踐,SAMM 定義了兩個活動流。每個活動流都有一個目標要達到,而且這個目標可以在提高成熟度水平時達到。活動流在不同成熟度級別上關聯和鏈接至不同成熟度等級實踐中的活動。
SAMM并強制要求所有組織在每個類別中都達到最大的成熟度水平。每個組織都可以為每個安全實踐確定最適合的目標成熟度級別,并根據其特定需求調整可用模板。
5. 參考
[1] https://owasp.org/www-project-samm/
[2] https://owaspsamm.org/about/