ソフトウェア開発のセキュリティ対策、他の会社はどうしてる? BSIMMで見てみよう!
BSIMMとは?
BSIMM(ビーシム)は、「Building Security In Maturity Model」の略で、ソフトウェアセキュリティの取り組みを評価・比較するための成熟度モデルです。
一番の特徴は、「こうすべきだ!」という理想論(規範的モデル)ではなく、「実際に多くの企業が『何をやっているか』」を調査し、その結果をまとめた記述的モデルである点です。📊
BSIMMは、2008年頃にCigital社(現在はSynopsys社の一部)によって開始され、多くの企業の協力のもと、定期的に更新されています。最新のレポート(BSIMM15、2025年1月発行)では、121の組織のデータが分析されています。
つまり、BSIMMを見ることで、自社のソフトウェアセキュリティ対策が、世の中の他の企業と比べてどのレベルにあるのか、どんな活動が行われているのかを知る手がかりになります。✨
BSIMMの構造:ドメイン、プラクティス、アクティビティ
BSIMMは、ソフトウェアセキュリティに関する活動を体系的に整理しています。大きく分けて、以下の3つの階層構造になっています。
- ドメイン (Domains): 4つの大きな分類。
- プラクティス (Practices): 各ドメインに属する、合計12の具体的な実践項目。
- アクティビティ (Activities): 各プラクティスに含まれる、個々の具体的な活動(BSIMM13では121個、BSIMM12では122個など、バージョンにより変動)。
4つのドメインと12のプラクティス
BSIMMのフレームワークは以下の4つのドメインと、それに紐づく12のプラクティスから構成されます。
ドメイン | プラクティス (略称) | 概要 |
---|---|---|
ガバナンス (Governance) | 戦略とメトリクス (SM: Strategy & Metrics) | ソフトウェアセキュリティ戦略の定義、目標設定、進捗測定。 |
コンプライアンスとポリシー (CP: Compliance & Policy) | セキュリティポリシーの策定・徹底、規制遵守、外部委託リスク管理。 | |
トレーニング (T: Training) | 役割に応じたセキュリティトレーニングの提供、セキュリティ文化の醸成。 | |
インテリジェンス (Intelligence) | 攻撃モデル (AM: Attack Models) | 脅威の特定と文書化、攻撃者視点での分析。 |
セキュリティ機能と設計 (SFD: Security Features & Design) | セキュアな設計原則の適用、再利用可能なセキュリティ機能の開発。 | |
標準と要件 (SR: Standards & Requirements) | セキュリティ標準の策定、ソフトウェア要件へのセキュリティ組み込み。 | |
SSDLタッチポイント (SSDL Touchpoints) | アーキテクチャ分析 (AA: Architecture Analysis) | 設計段階でのセキュリティリスク評価、脅威モデリング。 |
コードレビュー (CR: Code Review) | ソースコードのセキュリティ脆弱性検査(手動または自動)。 | |
セキュリティテスト (ST: Security Testing) | 開発ライフサイクル中での様々なセキュリティテスト(SAST, DAST, IASTなど)。 | |
デプロイメント (Deployment) | ペネトレーションテスト (PT: Penetration Testing) | 完成したアプリケーションに対する侵入テスト。 |
ソフトウェア環境 (SE: Software Environment) | 本番環境や依存関係(ライブラリ等)のセキュリティ管理。 | |
構成管理と脆弱性管理 (CMVM: Configuration Management & Vulnerability Management) | セキュアな構成管理、運用中の脆弱性情報の収集と対応。 |
これらのプラクティスの下に、さらに具体的な「アクティビティ」が存在します。例えば、「トレーニング(T)」プラクティスの中には、「役割ベースのセキュリティトレーニングを提供する」「セキュリティチャンピオンプログラムを開発する」といったアクティビティが含まれます。
BSIMMの活用方法
BSIMMは主に以下のような目的で活用されます。
- 現状評価 (Assessment): 自社のソフトウェアセキュリティに関する活動が、BSIMMのフレームワークのどの項目に該当するかを評価し、現在の成熟度レベルを把握します。
- ベンチマーキング (Benchmarking): BSIMMに参加している他の企業(特に同業種や同規模)と比較して、自社の取り組みが進んでいる点や遅れている点を客観的に把握します。📈
- 改善計画 (Planning): 評価やベンチマーキングの結果をもとに、今後どの分野のセキュリティ活動に注力すべきか、具体的な改善計画を立てるための指針とします。
- コミュニケーション (Communication): 組織内でソフトウェアセキュリティの状況や目標について議論する際の共通言語として利用します。🗣️
重要なのは、BSIMMは「これを全部やらないといけない」というチェックリストではないということです。あくまで「他の企業はこんなことをやっている」という情報を提供し、自社の状況に合わせて、どこを強化していくかの判断材料にするためのツールです。
初心者向けまとめ ✨
- BSIMMは、たくさんの会社が実際にやっているソフトウェアセキュリティ対策を集めて整理したもの。
- 「こうしなさい」という命令ではなく、「みんなはこうしてるよ」という情報源。
- 自社のセキュリティ対策レベルが、世間と比べてどのくらいかを知る手がかりになる。
- 12個の分野(プラクティス)と、さらに細かい活動(アクティビティ)で構成されている。
- 自社の強み・弱みを知り、今後のセキュリティ対策を計画するのに役立つ! 💪
ソフトウェア開発におけるセキュリティはますます重要になっています。BSIMMのようなフレームワークを参考に、自社に合ったセキュリティ対策を進めていきましょう!🚀
コメント