SAMM
OWASP Software Assurance Maturity Model
SAMM(ソフトウェアセキュリティ保証成熟度モデル)とは
ひとことで
OWASPが提供する、組織のソフトウェア開発におけるセキュリティの取り組みの成熟度を評価し、改善計画を立てるためのフレームワーク。ガバナンス・設計・実装・検証・運用の領域で評価する。
たとえると
学校の「通知表」のようなものです。科目(領域)ごとに今の成績がわかるので、「国語は得意だが理科が弱い。来学期は理科を伸ばそう」と、次に何を頑張るかを決められます。
現場ではこう使う
開発部門がSAMMを使って自己評価を行いました。依存ライブラリを管理するSCA(「実装」領域)や、SASTによる自動テスト(「検証」領域)は導入が進んでいて評価が高かった一方、「設計」の領域では脅威モデリングがほとんど行われていないことがわかりました。そこで来年度は、STRIDEを使った脅威モデリングを新規開発のすべてに取り入れることを目標にしました。
試験のポイント
EXAM POINT「ソフトウェア開発のセキュリティの成熟度を評価」「OWASP」「改善のロードマップ」と出てきたらSAMMです。SASTなどの個々のツールではなく、組織の取り組み全体を評価するモデルである点がポイントです。Webアプリの代表的なリスクを並べたOWASP Top 10と混同しないようにしましょう。
混同しやすい用語との違い
- OWASP Top 10Webアプリの代表的なセキュリティリスクの一覧。SAMMは組織の取り組みの成熟度モデル
- SASTソースコードを解析する個別の手法。SAMMはそうした活動を含む取り組み全体を評価する
- STRIDE脅威を6つに分類する脅威モデリングの手法。SAMMの「設計」領域の活動で使われうる