ストーリー
ミッション概要
| ミッション | テーマ | 目安時間 |
|---|---|---|
| Mission 1 | セキュリティツールの選定 | 15分 |
| Mission 2 | セキュリティゲート設計 | 20分 |
| Mission 3 | コンプライアンスポリシー設計 | 20分 |
| Mission 4 | サプライチェーンセキュリティ設計 | 15分 |
| Mission 5 | 導入ロードマップ策定 | 10分 |
| Mission 6 | セキュリティ設計書統合 | 10分 |
前提条件
組織の状況:
- SOC2 Type II認証済み(年次監査あり)
- 一部プロダクトはPCI DSS対象
- GitHub Actionsを標準CI/CDツールとして採用
- 年間セキュリティツール予算: 500万円
- セキュリティ専任チーム: 3名(20チームをサポート)
現状の課題:
- 5チーム中2チームはセキュリティスキャンが未実施
- シークレット管理が統一されていない
- SBOMの生成は行われていない
- 監査対応は手動で、年次監査の準備に毎回2ヶ月かかる
矛盾する要求(ノイズ):
- CISOは「全チームに即座にSASTを導入したい」
- 開発チームは「パイプラインが遅くなるのは困る」
- 経営層は「セキュリティインシデントのリスクをゼロにしたい」
Mission 1: セキュリティツールの選定(15分)
要件
上記の予算制約と組織規模を考慮し、SAST、SCA、DAST、コンテナスキャン、シークレットスキャンの各カテゴリでツールを選定してください。コスト見積もりを含めること。
解答例
| カテゴリ | ツール | 選定理由 | 年間コスト |
|---|---|---|---|
| SAST | Semgrep (OSS) + CodeQL | GitHub統合、OSS無料 | 0円 |
| SCA | Snyk (Team) | 自動修正PR、幅広い言語対応 | 200万円 |
| DAST | OWASP ZAP (OSS) | OSS無料、十分な機能 | 0円 |
| コンテナスキャン | Trivy (OSS) | 高速、幅広いレジストリ対応 | 0円 |
| シークレットスキャン | GitLeaks (OSS) + GitHub Secret Scanning | 多層防御 | 0円 |
| SBOM生成 | Syft + Grype (OSS) | Anchore製、信頼性高い | 0円 |
| 合計 | 約200万円 |
トレードオフの判断:
- 予算500万のうち200万で収まるため、残りは人員教育やインシデント対応に充当可能
- OSSツール中心だが、SCAのみSnyk有償版を採用(自動修正PRの生産性向上効果が大きい)
- 「リスクゼロ」は不可能。リスクを許容可能なレベルに低減することが現実的な目標
Mission 2: セキュリティゲート設計(20分)
要件
パイプラインの各ポイントでのセキュリティゲートを設計してください。各ゲートの通過条件、ブロック条件、例外処理を含めること。
解答例
Gate 1: PR時
| チェック | ツール | ブロック条件 | 例外 |
|---|---|---|---|
| SAST | Semgrep + CodeQL | High以上の検出 | 既知の偽陽性(抑制リスト管理) |
| SCA | Snyk | Critical/High CVE | セキュリティチーム承認で一時的に例外 |
| シークレットスキャン | GitLeaks | 検出あり | なし(絶対ブロック) |
| ライセンスチェック | Snyk | コピーレフト検出 | 法務確認済みの場合 |
Gate 2: ビルド後
| チェック | ツール | ブロック条件 | 例外 |
|---|---|---|---|
| コンテナスキャン | Trivy | Critical CVE | 修正パッチ未提供の場合はリスク受容 |
| SBOM生成 | Syft | 生成失敗 | なし |
| イメージ署名 | Cosign | 署名失敗 | なし |
Gate 3: 本番デプロイ前
| チェック | ツール | ブロック条件 | 例外 |
|---|---|---|---|
| DAST | OWASP ZAP | High以上の検出 | ホットフィックス時は事後対応 |
| 承認 | GitHub Environment | 2名未満の承認 | なし |
| ポリシーチェック | OPA | ポリシー違反 | なし |
Mission 3: コンプライアンスポリシー設計(20分)
要件
SOC2とPCI DSSの要件をOPAポリシーとして設計してください。主要な3つのポリシーをRegoで記述すること。
解答例
# policy/soc2.rego
package soc2
# CC6.1: 変更には2名以上の承認が必要
deny[msg] {
input.environment == "production"
count(input.approvers) < 2
msg := "SOC2 CC6.1: 本番変更には2名以上の承認が必要"
}
# CC8.1: すべてのデプロイに監査ログが必要
deny[msg] {
not input.audit_log_enabled
msg := "SOC2 CC8.1: 監査ログが有効化されていません"
}
# PCI DSS 6.3: Critical脆弱性のあるアーティファクトのデプロイを禁止
deny[msg] {
input.pci_scope == true
vuln := input.vulnerabilities[_]
vuln.severity == "CRITICAL"
msg := sprintf("PCI DSS 6.3: Critical脆弱性 %s が未修正", [vuln.id])
}
Mission 4: サプライチェーンセキュリティ設計(15分)
要件
組織のSLSA目標レベルと達成までのロードマップを設計してください。
解答例
| フェーズ | 期間 | SLSA目標 | 施策 |
|---|---|---|---|
| Phase 1 | 即時 | SLSA 1 | ビルドプロセスの文書化、ワークフロー定義のバージョン管理 |
| Phase 2 | 3ヶ月 | SLSA 2 | GitHub Actionsでの来歴証明生成、SBOM自動生成 |
| Phase 3 | 6ヶ月 | SLSA 3 | ビルド環境の隔離(セルフホストランナー)、来歴証明の署名 |
| Phase 4 | 12ヶ月 | SLSA 4(重要サービスのみ) | Hermetic Build、完全な再現性 |
追加施策:
- GitHub Actionsのサードパーティアクションを監査し、許可リストを作成
- すべてのアクションをSHA固定で参照する組織ポリシーを導入
- Dependabotによる依存関係の自動更新を全リポジトリで有効化
Mission 5: 導入ロードマップ策定(10分)
要件
CISOの「即座に全チーム導入」と開発チームの「パイプラインを遅くしたくない」の要求をバランスさせる導入ロードマップを策定してください。
解答例
| 週 | 施策 | 影響 |
|---|---|---|
| 1-2 | シークレットスキャン導入(ブロック) | パイプライン追加時間: <30秒 |
| 3-4 | SAST導入(警告のみ、ブロックなし) | パイプライン追加時間: ~2分 |
| 5-6 | SCA導入(Critical のみブロック) | パイプライン追加時間: ~1分 |
| 7-8 | SAST のHigh以上をブロック化 | 開発チームへの影響: 既存の偽陽性を事前に処理 |
| 9-12 | コンテナスキャン + SBOM生成 | パイプライン追加時間: ~2分 |
| 13-16 | DAST導入(ステージング) | ステージングデプロイ後に追加: ~5分 |
CISOへの説明: 「全チームに段階的に導入します。最初の2週間でシークレットスキャンを全面展開し、最もリスクの高い攻撃を即座に防止します」
開発チームへの説明: 「パイプラインの追加時間は合計5分程度です。並列実行により既存のフローへの影響を最小化します」
Mission 6: セキュリティ設計書統合(10分)
要件
Mission 1-5の成果を統合した「セキュリティパイプライン設計書」の概要を作成してください。
解答例
# セキュリティパイプライン設計書 概要
## 1. ツール構成
- OSS中心 + Snyk SCA(年間200万円)
- 6カテゴリ7ツールで網羅的カバレッジ
## 2. セキュリティゲート
- 3ポイント(PR、ビルド後、本番前)
- 段階的なブロックポリシー
## 3. コンプライアンス
- SOC2 / PCI DSS対応をOPAポリシーで自動化
- 監査対応を手動2ヶ月→自動1週間に短縮目標
## 4. サプライチェーン
- SLSA Level 2を3ヶ月で達成
- SBOM全アーティファクトで生成
## 5. 導入計画
- 16週間で段階的に導入
- 開発者体験への影響を最小化
達成度チェック
| ミッション | テーマ | 完了 |
|---|---|---|
| Mission 1 | セキュリティツール選定 | |
| Mission 2 | セキュリティゲート設計 | |
| Mission 3 | コンプライアンスポリシー | |
| Mission 4 | サプライチェーンセキュリティ | |
| Mission 5 | 導入ロードマップ | |
| Mission 6 | 設計書統合 |
まとめ
| ポイント | 内容 |
|---|---|
| ツール選定 | コスト制約の中でOSS中心に構成 |
| ゲート設計 | 段階的なブロックで開発者体験を維持 |
| コンプライアンス | Policy as Codeで監査対応を自動化 |
| 導入戦略 | 16週間の段階的導入で全チーム展開 |
チェックリスト
- 予算制約の中でセキュリティツールを選定できた
- 矛盾する要求のバランスを取る導入計画を策定できた
- コンプライアンス要件をコードとして定義できた
- サプライチェーンセキュリティのロードマップを策定できた
次のステップへ
次はチェックポイントクイズです。セキュリティとコンプライアンスの統合について理解度を確認しましょう。
推定読了時間: 90分