SSDF(セキュアソフトウェア開発フレームワーク)は、ソフトウェア開発のライフサイクル全体にセキュリティを組み込み、安全なソフトウェア開発を実現するためのフレームワークです。
本記事では、SSDFの基本原則や主要コンポーネント、導入のポイントについて解説します。
SSDF(セキュアソフトウェア開発フレームワーク)とは
NIST(米国国立標準技術研究所)のセキュアソフトウェア開発フレームワーク(SSDF)は、ソフトウェア開発ライフサイクル全体を通じてセキュリティを統合するためのガイドラインと実践方法を提供する体系的なアプローチ」です。このフレームワークを活用することで、チームは脆弱性を早期に特定し、ソフトウェアの品質向上とユーザーの信頼確保を実現しながら脅威から保護できます。さらに、業界標準へのコンプライアンス対応も簡素化されます。
Catch code risks before you deploy
Learn how Wiz Code scans IaC, containers, and pipelines to stop misconfigurations and vulnerabilities before they hit your cloud.

SSDFの基本原則
セキュリティ・バイ・デザイン
このフレームワークでは、セキュリティを後付けの要素として扱うのではなく、ソフトウェア設計の段階から直接組み込むことを重視しています。これにより、開発プロセスの早い段階で潜在的な脆弱性を特定し、リスクの軽減を実施することが可能になります。
継続的改善
セキュリティは一度導入して終わりではなく、新たな脅威やテクノロジーの進化に対応するため、実践方法、ツール、プロセスを定期的に更新する必要がある継続的なプロセスです。組織はリスクに先んじるため、セキュリティ対策を継続的に評価し改善していかなければなりません。
リスク管理
効果的なリスク管理には、脅威の理解、その影響の評価、そして適切なセキュリティ対策の実装が求められます。これにより、セキュリティへの取り組みを組織のリスク許容度やビジネス戦略と整合させることができます。
CI/CD Security Best Practices [Cheat Sheet]
Actionable best practices to mitigate CI/CD risks, including infrastructure security, code security, access, and monitoring.
Get Cheat SheetSSDFの主要コンポーネント
1.ガバナンスとポリシー
セキュリティ対策は、ソフトウェアシステムの開発、提供、運用のすべてをカバーする必要があります。具体的には以下の要素が含まれます。
役割と責任の明確な割り当て
セキュリティ目標の設定
規制基準への準拠
堅牢なガバナンスとポリシーを確立することで、ソフトウェアセキュリティに対する統一的かつ体系的なアプローチの基盤を築くことができます。
2.セキュアな設計原則
アーキテクチャおよび設計フェーズにセキュリティを組み込むことに焦点を当てています。フレームワークでは以下を推奨しています。
多層防御(Defense in Depth)戦略の採用
不要な機能を排除することによる攻撃対象領域(アタックサーフェス)の最小化
攻撃者の侵入ポイントの削減
重要なリソースへのアクセスコントロールの制限
3.セキュアコーディングの実践
堅牢なコードを作成するための技術として、以下が挙げられます。
出力エンコーディング
入力バリデーション
適切なエラーハンドリング
これらの技術を適用することで、脅威アクターに悪用される可能性のある一般的な脆弱性を排除できます。
4.テストと検証
セキュリティ基準に照らしてソフトウェアを評価するため、以下の手法が用いられます。
静的分析および動的分析
ペネトレーションテスト
コードレビュー
これらの手法を活用することで、リリース前にセキュリティ上の問題を発見し解決できます。
5.デプロイメントとメンテナンス
デプロイメント中およびデプロイメント後もセキュリティ手順が確実に維持されるようにします。
管理された環境でのセットアップとデプロイの実施
ソフトウェアの定期的なアップデートとパッチ適用
継続的モニタリングの優先的な実施
徹底したドキュメンテーションと変更管理の維持
6.セキュリティ意識向上とトレーニング
開発チームやステークホルダーに対して、以下を通じてセキュリティ教育を行います。
定期的なトレーニングプログラムの実施
実践方法に関するリソースの提供
新たな脅威に関する知識の共有
The Secure Coding Best Practices [Cheat Sheet]
With curated insights and easy-to-follow code snippets, this 11-page cheat sheet simplifies complex security concepts, empowering every developer to build secure, reliable applications.
Download Cheat Sheetソフトウェア開発ライフサイクル全体にわたるSSDFの適用
フェーズごとの統合
1.要件収集
普遍的なセキュリティ要件とビジネス固有のセキュリティ要件の両方を定義・記録し、特定された要件をプロジェクト計画に組み込みます。
2.設計
セキュリティ上の脅威に対抗するための対策を設計に組み込みます。脅威モデリングとリスク評価を実施することで、セキュリティの不備(ギャップ)を早期に特定します。
3.開発
開発者がセキュアコーディングの実践に従っているかを確認し、コードレビューと静的分析を用いて脆弱性への耐性を検証します。
4.テスト
リリース前にペネトレーションテストと動的分析を実施し、セキュリティ上の盲点を特定して対処します。
5.デプロイメント
利用可能なすべてのパッチとアップデートを適用します。レッド/ブラック方式やブルー/グリーン方式などの適切なデプロイメント戦略を選択して使用します。
6.メンテナンス
脅威やアップデートに対する継続的モニタリングを行い、セキュリティ対策を強化するための定期的なセキュリティ監査を実施します。
Protect The Software Supply Chain
Gain immediate visibility into all software components, detect supply chain risk, and get remediation guidance.
Learn MoreSSDFを支えるツールとテクノロジー
| ツールの種類 | 目的 | 例 |
|---|---|---|
| 静的分析ツール | ソースコードを実行せずに検査し、弱点を特定する | SonarQube、Checkmarx |
| 動的分析ツール | 実行時にソフトウェアを分析し、セキュリティホールを特定する | ZAP、Burp Suite |
| 構成管理ツール | ソフトウェア構成を管理し保護する | Ansible、Chef |
| コラボレーションプラットフォーム | セキュリティの実践方法に関するチームコミュニケーションを促進する | Jira、GitHub |
SSDFとCISAアテステーション
SSDFは、ソフトウェアが要求されるセキュリティ基準を満たすことを保証することで、CISA(サイバーセキュリティ・社会基盤安全保障庁)のアテステーションを支援します。CISAアテステーションは、米国連邦政府と協力するソフトウェア企業が最低限のセキュア開発技術とツールセットを活用していることを確認するものです。
SSDFとCISA要件の整合性
適切なコーディング基準と広範なテストにより、セキュリティが設計段階から統合されている
モニタリングやデプロイメント後のアップデートを含む、アプリケーションライフサイクル全体を通じたセキュリティガイドラインが整備されている
CISAの教育重視方針に対応した、セキュリティ意識向上とトレーニングに関する規定が設けられている
WizによるSSDFサポート
Wizのクラウドセキュリティプラットフォームは、以下の機能を通じてSSDFの実装をサポートします。
クラウド環境に対するリアルタイムの可視性の提供
開発初期段階における誤構成や脆弱性の自動検出
SSDFコンプライアンスを継続的に確保するための自動化されたセキュリティ評価
CI/CDパイプラインとのシームレスな統合
脆弱性の優先順位付けを支援する高度なリスク分析ツール
Wizのプラットフォームは、クラウドイベントの発生から数分以内にセキュリティの問題を検出し、迅速な対応を可能にします。
Meet SSDF Standards with Real-Time Cloud Visibility
Integrate CI/CD pipelines, prioritize vulnerabilities, and automatically detect misconfigurations during development.