【せきゅあえすでぃーえるしー】

セキュアSDLC とは?

💡 セキュリティは後付けじゃない、開発の最初から組み込むもの
📌 このページのポイント
セキュアSDLC — 全工程にセキュリティを統合 要件定義 セキュリティ要件 設計 脅威モデリング 実装 SAST・セキュアコード テスト DAST・ペンテスト 運用 脆弱性管理 セキュリティが全工程に一貫して組み込まれている 脆弱性の修正コスト(発見タイミング別) 設計: 1x 実装: 5x テスト: 15x 運用: 60x → 早期発見ほどコストが低い
セキュアSDLCの全体像
ひよこ ひよこ

セキュアSDLCって、普通の開発と何が違うの?

ペンギン先生 ペンギン先生

普通の開発だとセキュリティは最後のテスト段階で初めて考えることが多いよね。セキュアSDLCでは要件定義の時点からセキュリティ要件を検討して、設計で脅威モデリングをして、コーディング中も自動でチェックするんだよ

ひよこ ひよこ

後からセキュリティ対策するのじゃダメなの?

ペンギン先生 ペンギン先生

後から直すと修正コストが何十倍にもなるんだよ。設計段階で見つかった問題は設計書を直すだけだけど、本番稼働後に見つかったら緊急パッチ、テスト、デプロイ、お客様への通知…と大変なことになるんだ

ひよこ ひよこ

具体的にはどんな工程があるの?

ペンギン先生 ペンギン先生

要件定義セキュリティ要件を定め、設計でSTRIDEなどで脅威モデリング、実装でセキュアコーディングとSAST、テストでDAST(動的解析)とペネトレーションテスト、運用で脆弱性管理監視を行うよ

ひよこ ひよこ

DevSecOpsとの関係はどうなっているの?

ペンギン先生 ペンギン先生

DevSecOpsはセキュアSDLCの考え方をCI/CDパイプラインに自動化して組み込んだものだよ。コードをコミットするたびにSASTが走り、デプロイ前にDASTが走るイメージだね。セキュアSDLCの進化版と言えるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「セキュアSDLC」って出てきたら「開発の全工程にセキュリティを組み込む手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Secure Software Development Life Cycle」 = 安全なソフトウェア開発ライフサイクル
💬 従来のSDLCにSecure(安全な)を付けて、セキュリティを必須要素にしたものだよ
← 用語集にもどる