OWASP SAMM おわすぷ さむ
簡単に言うとこんな感じ!
自社のソフトウェア開発がどれだけセキュアにできているかを「通知表」みたいに採点して、何から改善すればいいかを教えてくれるフレームワークだよ。「うちのセキュリティ対策、なんとなくやってる感…」を卒業するための道しるべなんだ!
OWASP SAMMとは
OWASP SAMM(Software Assurance Maturity Model)は、組織がソフトウェア開発のセキュリティをどの程度実践できているかを評価し、段階的に改善するためのオープンソースのセキュリティフレームワークです。OWASPとは「Open Worldwide Application Security Project」の略で、アプリケーションセキュリティの向上を目的とした国際的な非営利団体です。
SAMMは「成熟度モデル(Maturity Model)」の名の通り、セキュリティ活動をレベル0〜3の4段階で評価します。現在地を把握したうえで「次にどこを強化するか」のロードマップを作れるのが最大の特徴です。開発スタイル(ウォーターフォール・アジャイルなど)や組織規模を問わず適用できるよう設計されており、スタートアップから大企業まで幅広く使われています。
発注担当者の立場でいえば、「ベンダーが本当にセキュアな開発をしているか確認したい」「社内開発チームのセキュリティ能力を評価したい」といった場面でSAMMのスコアを参考にすることで、感覚ではなく数値で判断できるようになります。
SAMMの構造:5つのビジネス機能と15のセキュリティプラクティス
SAMMは以下の階層構造で整理されています。
| 層 | 名称 | 説明 |
|---|---|---|
| 上位 | ビジネス機能(Business Function) | 5つの大分類 |
| 中位 | セキュリティプラクティス(Security Practice) | 各機能に3つずつ、計15 |
| 下位 | 活動(Activity) | 各プラクティスにストリームA・Bがあり、レベル別の具体的活動を定義 |
5つのビジネス機能と15のプラクティス一覧
| ビジネス機能 | プラクティス1 | プラクティス2 | プラクティス3 |
|---|---|---|---|
| ガバナンス(Governance) | 戦略とメトリクス | ポリシーとコンプライアンス | 教育とガイダンス |
| 設計(Design) | 脅威アセスメント | セキュリティ要件 | セキュアアーキテクチャ |
| 実装(Implementation) | セキュアビルド | セキュアデプロイ | 欠陥管理 |
| 検証(Verification) | アーキテクチャ評価 | 要件駆動テスト | セキュリティテスト |
| 運用(Operations) | インシデント管理 | 環境管理 | 運用管理 |
成熟度レベルの目安(覚え方:「知→実→測→最適」)
| レベル | 状態 | イメージ |
|---|---|---|
| レベル0 | 未実施 | セキュリティ活動がほぼない「まっさら」状態 |
| レベル1 | 初期対応 | 場当たり的だが一応やっている「なんとなく」状態 |
| レベル2 | 構造化 | ルールと手順が整備された「仕組みがある」状態 |
| レベル3 | 最適化 | 継続的改善が回っている「プロ仕様」状態 |
覚え方のヒント
SAMM =「採点して→上げていく」モデルと覚えましょう。5機能の頭文字は G・D・I・V・O(ガバナンス・デザイン・実装・検証・オペレーション)。語呂は「グッドIVオー(Go DIVe Oh!)」で泳ぐように深くセキュリティに潜っていくイメージです。
歴史と背景
- 2008年 — OWASPがSAMM v1.0を公開。初めてソフトウェアセキュリティの成熟度を定量化するモデルとして登場
- 2009〜2017年 — 業界での採用が進み、多くの企業がSAMMをベースに社内セキュリティプログラムを構築
- 2020年 — SAMM v2.0を公開。アジャイル・DevSecOpsへの対応を強化し、評価シートのツール化も進む
- 現在 — GitHubでオープン開発が続けられており、コミュニティによる翻訳・ツール整備も活発。公式の評価ツール(SAMM Toolbox)も提供
背景として、2000年代以降にWebアプリケーション攻撃が急増したにもかかわらず、多くの組織で「どこから手をつければいいかわからない」という課題があり、ロードマップ型の成熟度モデルへの需要が高まったことが開発の動機です。
類似フレームワークとの比較
OWASP SAMMと似た立ち位置のフレームワークがいくつか存在します。目的に応じて使い分けることが重要です。
| フレームワーク | 提供元 | 対象範囲 | 特徴 |
|---|---|---|---|
| OWASP SAMM | OWASP | ソフトウェア開発セキュリティ | 成熟度評価・改善ロードマップ |
| BSIMM | Synopsys | ソフトウェアセキュリティ | 実態調査ベースのベンチマーク(有償) |
| NIST SSDF | NIST | セキュアソフトウェア開発 | 米政府調達要件にも関係、実践ガイド色が強い |
| ISO/IEC 27001 | ISO | 情報セキュリティ全般 | 認証取得型、開発だけでなく組織全体が対象 |
| CSIRT成熟度モデル | 各種 | インシデント対応 | 対応組織の能力評価に特化 |
SAMMは無償・オープンで、かつ開発プロセスにフォーカスしているのが大きな差別化ポイントです。
SAMMの評価フロー(SVG図解)
関連する規格・RFC
| 規格・番号 | 内容 |
|---|---|
| NIST SP 800-218 (SSDF) | セキュアソフトウェア開発フレームワーク。SAMMと補完的に使われることが多い |
| ISO/IEC 27034 | アプリケーションセキュリティの国際規格。SAMMとの整合性が確認されている |
関連用語
- OWASP Top 10 — Webアプリの重大なセキュリティリスクトップ10のリスト
- DevSecOps — 開発・運用・セキュリティを一体化した開発アプローチ
- 脅威モデリング — システムの脅威を設計段階で洗い出す分析手法
- セキュアSDLC — セキュリティを組み込んだソフトウェア開発ライフサイクル
- ペネトレーションテスト — 実際に攻撃を試みてシステムの脆弱性を検証するテスト
- CSPM — クラウド環境のセキュリティ設定を継続的に監視・評価するサービス
- ISO 27001 — 情報セキュリティマネジメントシステムの国際認証規格
- 脆弱性管理 — ソフトウェアの欠陥を発見・評価・修正するプロセス全体