セキュリティフレームワーク・モデル

OWASP SAMM おわすぷ さむ

ソフトウェアセキュリティセキュアSDLCセキュリティ成熟度OWASPリスク管理アプリケーションセキュリティ
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 SAMMOWASPソフトウェア開発セキュリティ成熟度評価・改善ロードマップ
BSIMMSynopsysソフトウェアセキュリティ実態調査ベースのベンチマーク(有償)
NIST SSDFNISTセキュアソフトウェア開発米政府調達要件にも関係、実践ガイド色が強い
ISO/IEC 27001ISO情報セキュリティ全般認証取得型、開発だけでなく組織全体が対象
CSIRT成熟度モデル各種インシデント対応対応組織の能力評価に特化

SAMMは無償・オープンで、かつ開発プロセスにフォーカスしているのが大きな差別化ポイントです。

SAMMの評価フロー(SVG図解)

① 現状評価 15プラクティスを スコアリング ② ギャップ分析 現在地と目標の 差を可視化 ③ ロードマップ 優先順位付きの 改善計画を作成 ④ 実施・改善 活動を実行し 再評価へ 継続的改善サイクル(PDCA) 成熟度スコアのイメージ(レーダーチャートで可視化) ガバナンス ██████░░░░ 1.8 設  計 ████░░░░░░ 1.2 実  装 █████████░ 2.7 検  証 ███░░░░░░░ 0.9 運  用 ██████░░░░ 1.5 (最大3.0 / 目標値を設定して差を確認)

関連する規格・RFC

規格・番号内容
NIST SP 800-218 (SSDF)セキュアソフトウェア開発フレームワーク。SAMMと補完的に使われることが多い
ISO/IEC 27034アプリケーションセキュリティの国際規格。SAMMとの整合性が確認されている

関連用語