セキュリティシフトレフト せきゅりてぃしふとれふと
シフトレフトDevSecOpsセキュリティ早期検出コスト削減CI/CD
セキュリティシフトレフトについて教えて
簡単に言うとこんな感じ!
「セキュリティのチェックを開発の最初から組み込もう」という考え方だよ! 左から右へ流れる開発のタイムラインで、セキュリティチェックを「左側(早い段階)」に移動するから「シフトレフト」と呼ぶんだ。完成後に穴が見つかるより、設計段階で見つける方がはるかに修正コストが安いんだよ!
セキュリティシフトレフト(Shift-Left Security)とは
セキュリティシフトレフトは、ソフトウェア開発の後半工程(テスト・リリース段階)で行っていたセキュリティチェックを、開発の早い段階(要件定義・設計・コーディング)から実施するアプローチです。
この「シフトレフト」という言葉は、左から右へ流れる開発プロセス(要件→設計→実装→テスト→リリース)の中で、セキュリティチェックの位置を「右から左に移動する」ことを指します。
IBMの研究によると、設計段階で発見・修正したセキュリティ問題のコストを1とすると、本番リリース後に修正するコストは100倍以上になることが知られています。早期発見・早期修正が、システム全体のセキュリティ品質と開発コストの両方を改善します。
発見フェーズとコストの関係
| 発見フェーズ | 相対的な修正コスト | 主な手段 |
|---|---|---|
| 要件・設計 | 1× | 脅威モデリング・セキュリティレビュー |
| 実装(コーディング) | 10× | SAST・IDEプラグイン |
| テスト | 15× | DAST・ペネトレーションテスト |
| 本番リリース前 | 30× | セキュリティ監査 |
| 本番リリース後 | 100×以上 | インシデント対応・修正パッチ |
シフトレフトの主な実践
| 実践 | 内容 | タイミング |
|---|---|---|
| 脅威モデリング | 設計段階で攻撃シナリオを洗い出す | 要件定義・設計 |
| セキュアコーディング研修 | 開発者へのセキュリティ教育 | 開発者育成 |
| IDEプラグイン | 開発中にリアルタイムで脆弱性を指摘 | コーディング |
| SAST | コミット時に静的コード解析を自動実行 | CI/CD |
| SCA | 依存ライブラリの脆弱性を自動チェック | CI/CD |
| セキュリティゲート | 脆弱性が残るとマージ・デプロイを自動ブロック | CI/CD |
歴史と背景
- 2001年 — OWASP設立。Webアプリのセキュリティ問題が体系化される
- 2008年 — 「シフトレフト」という概念がソフトウェア開発で使われ始める
- 2012年 — DevOpsの普及でCI/CDにセキュリティを組み込む議論が活発化
- 2014年 — DevSecOpsという用語が登場。「Security as Code」の考え方が広まる
- 2021年 — 米国政府の大統領令でソフトウェアセキュリティの強化が義務化。シフトレフトへの関心が急増
- 2023年 — AI/LLMを活用したセキュリティチェック自動化が登場。シフトレフトがさらに容易に
シフトレフトの実践フロー
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| OWASP SAMM | ソフトウェアセキュリティ保証成熟度モデル |
| NIST SSDF(SP 800-218) | セキュアなソフトウェア開発フレームワーク |
| ISO/IEC 27034 | アプリケーションセキュリティの国際規格 |
| EO 14028 | 米国大統領令。ソフトウェアサプライチェーンセキュリティの強化を義務化 |
関連用語
- セキュリティテスト(SAST/DAST) — シフトレフトの核心となる自動セキュリティテスト手法
- DevSecOps — シフトレフトを組織・文化レベルで実践する手法
- 依存関係管理・SBOM — ライブラリ脆弱性のシフトレフト管理
- ペネトレーションテスト — テスト段階でのセキュリティ検証
- ソフトウェアサプライチェーンセキュリティ — サプライチェーン全体へのシフトレフトの適用
- CI/CD — セキュリティチェックを自動化して組み込むパイプライン