- はじめに:「脆弱性は作らない」- セキュリティの最前線、シフトレフトという思想
- 最重要知識①:すべての基礎「セキュアSDLC」
- 最重要知識②:脆弱性をあぶり出す「セキュリティテスト手法」
- 最重要知識③:開発文化の変革「DevSecOps」
- CISSP 8ドメイン解説シリーズ
- まとめ:セキュリティは、開発者と共にある
はじめに:「脆弱性は作らない」- セキュリティの最前線、シフトレフトという思想
多くのセキュリティ対策が、作られたシステムを「どう守るか」という後工程の視点を持つのに対し、「そもそも脆弱性を作り込まないためにはどうすべきか」を追求するのが、「ドメイン8:ソフトウェア開発セキュリティ」です。
これは、セキュリティ活動を開発ライフサイクルのより早い段階(左側)へ移行させる「シフトレフト」という、現代セキュリティの根幹をなす思想そのものです。インシデント対応(ドメイン7)が事後対応の「医療」だとすれば、このドメインは病気にならないための「予防医学」と言えるでしょう。
こんにちは。CISSP保有者で、企業のセキュリティ担当を務める城咲子です。この記事では、CISSP最後の関門であるドメイン8について、その中核概念であるセキュアSDLCを中心に、合格に必要な知識を徹底解説します。
最重要知識①:すべての基礎「セキュアSDLC」
セキュアSDLC(Software Development Life Cycle)は、ソフトウェア開発の各フェーズにセキュリティ活動を組み込むためのフレームワークです。CISSPでは、各フェーズで「何をすべきか」を理解することが求められます。
- 計画/要件定義:
- 何をすべきか: 機能要件と同時に、セキュリティ要件(例:パスワードの最低文字数、アクセス制御のルール)を定義する。
- 設計:
- 何をすべきか: 脅威モデリングを実施し、潜在的な脅威を洗い出す。STRIDE(なりすまし、改ざん、否認、情報漏洩、サービス妨害、権限昇格)などのフレームワークが用いられます。
- 開発/実装:
- 何をすべきか: セキュアコーディングを実践する。OWASP Top 10に代表されるような、一般的な脆弱性(SQLインジェクション、クロスサイトスクリプティングなど)を生まないためのコーディング規約を遵守します。
- テスト:
- 何をすべきか: 様々なテスト手法で脆弱性を検出する。詳細は後述します。
- リリース/運用・保守:
- 何をすべきか: 安全な構成管理、パッチ管理、インシデント対応計画との連携を行います。
最重要知識②:脆弱性をあぶり出す「セキュリティテスト手法」
開発されたソフトウェアに脆弱性がないかを確認するため、様々なテストが実施されます。それぞれのテストが「いつ」「何を」対象にするのか、その違いを明確に理解しましょう。
| テスト手法 | 略称 | タイミング | 対象 | 特徴 |
|---|---|---|---|---|
| 静的解析 | SAST | コーディング中 | ソースコード | プログラムを実行せずに、コードの文法やロジックから脆弱性を検出する。「ホワイトボックステスト」の一種。 |
| 動的解析 | DAST | テスト段階 | 実行中のアプリ | 実際にアプリケーションを動作させ、外部から攻撃者のようにリクエストを送り、応答から脆弱性を検出する。「ブラックボックステスト」の一種。 |
| 対話型解析 | IAST | テスト段階 | 実行中のアプリ | SASTとDASTを組み合わせた考え方。エージェントを内部に配置し、動かしながら内部のコードの動きも監視する。 |
▼知識を体系的に学ぶ
ここで紹介した個別の技術は、CISSPの広大な知識体系の一部に過ぎません。資格の全体像や、合格に向けた学習戦略については、以下のピラー記事で網羅的に解説しています。
最重要知識③:開発文化の変革「DevSecOps」
DevSecOpsは、開発(Development)、セキュリティ(Security)、運用(Operations)が連携し、開発パイプラインの全てのフェーズにセキュリティを自動的に組み込むという考え方・文化です。
CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの中に、SASTやDASTといったセキュリティテストを自動で組み込むことで、開発スピードを損なわずに、安全なソフトウェアを迅速にリリースすることを目指します。
CISSP 8ドメイン解説シリーズ
この記事ではドメイン8について解説しました。他のドメインの理解を深めたい方は、以下の記事も併せてご覧ください。
- CISSPドメイン1「セキュリティとリスクマネジメント」の最重要トピックを徹底解説
- CISSPドメイン2:資産のセキュリティを徹底攻略
- CISSPドメイン3「セキュリティアーキテクチャとエンジニアリング」の重要ポイント解説
- CISSPドメイン4:通信とネットワークセキュリティを徹底攻略
- CISSPドメイン5:アイデンティティとアクセスの管理を徹底攻略
- CISSPドメイン6:セキュリティの評価とテストを徹底攻略
- CISSPドメイン7:セキュリティの運用を徹底攻略
- ドメイン8:ソフトウェア開発セキュリティ(本記事)
まとめ:セキュリティは、開発者と共にある
ドメイン8「ソフトウェア開発セキュリティ」は、セキュリティが一部の専門家だけのものではなく、開発プロセスに関わる全ての人の責任であることを教えてくれます。
開発の初期段階からセキュリティを組み込む「シフトレフト」と「セキュリティバイデザイン」の考え方は、今後ますます重要になるでしょう。このドメインをマスターすることは、CISSP合格のためだけでなく、現代のソフトウェアが関わる全てのビジネスを守るための、強力な武器となります。