EXERCISE 90分

ストーリー

佐藤CTO
これがMonth 3の集大成だ
佐藤CTO
ECプラットフォームの包括的なセキュリティ改善計画を作成してほしい。脅威分析からゼロトラスト設計、DevSecOps、脆弱性対策、インシデント対応まで — すべてを統合した計画だ

シナリオ

企業: ECプラットフォーム「ShopNow」
事業: BtoC向けマーケットプレイス
規模: 月間100万ユーザー、年間取引額500億円
現状:
  - PCI DSS準拠が必要だが未取得
  - WAFは導入済み、SAST/DASTは未導入
  - インシデント対応手順が口頭ベース
  - 開発者50名、セキュリティ専任2名
  - 直近で顧客情報漏洩インシデントが1件発生

Part 1: 脅威モデリング(15分)

STRIDEを使用して、ShopNowの主要な脅威を分析してください。最低6つの脅威を特定し、リスクレベルを評価すること。

解答例
STRIDE脅威対象リスク対策
Spoofingアカウント乗っ取り認証システムHighMFA導入、不正ログイン検知
Tampering価格改ざん注文APICriticalサーバーサイドバリデーション強化
Repudiation不正注文の否認決済システムHigh監査ログ、電子署名
Information Disclosure顧客情報漏洩データベースCritical暗号化、アクセス制御強化
Denial of ServiceDDoS攻撃フロントエンドHighCDN、レート制限、WAF強化
Elevation of Privilege管理者権限昇格管理画面CriticalRBAC見直し、最小権限原則

Part 2: ゼロトラストアーキテクチャ設計(20分)

ShopNowにゼロトラストの原則を適用したアーキテクチャを設計してください。

解答例

認証・認可設計

コンポーネント現状ゼロトラスト対応
ユーザー認証パスワードのみMFA + リスクベース認証
サービス間認証なしmTLS + JWT
API認可基本的なRBACABAC + ポリシーエンジン(OPA)
データアクセスアプリ層のみRLS + 暗号化

ネットワーク設計

graph LR
    INT["Internet"] --> CF["CloudFront<br/>(WAF)"] --> ALB["ALB"]
    ALB --> SM["Service Mesh<br/>(Istio)"]
    SM --> BFF["BFF<br/>(mTLS)"]
    SM --> PROD["商品サービス<br/>(mTLS)"]
    SM --> ORD["注文サービス<br/>(mTLS)"]
    SM --> USR["ユーザーサービス<br/>(mTLS)"]
    USR --> RDS[("RDS<br/>VPC内、暗号化")]
  • 全サービス間通信をmTLSで暗号化
  • ネットワークポリシーでサービス間通信を制限
  • VPC内のプライベートサブネットにDBを配置

Part 3: DevSecOpsパイプライン設計(20分)

CI/CDにセキュリティスキャンを組み込んだパイプラインを設計してください。

解答例
graph TD
    PR["PR作成"] --> SAST --> SCA --> SS["シークレットスキャン"] --> UT["ユニットテスト"] --> MG["マージ"]
    MG --> STG["ステージング環境"]
    STG --> DAST --> CS["コンテナスキャン"] --> IAC["IaCスキャン"]
    IAC --> GATE{"セキュリティゲート<br/>全スキャンPass?"}
    GATE -->|"Pass"| PROD["本番デプロイ"]
    GATE -->|"Fail"| BLOCK["ブロック"]

    style GATE fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style PROD fill:#e8f5e9,stroke:#2e7d32
    style BLOCK fill:#ffebee,stroke:#c62828
ステージツールブロック条件
SASTSonarQube + SemgrepCritical/High脆弱性
SCASnyk既知の重大脆弱性
シークレットGitLeaksシークレット検出
DASTOWASP ZAPCritical脆弱性
コンテナTrivyCritical CVE
IaCCheckovセキュリティルール違反

Part 4: 脆弱性管理プロセス(15分)

脆弱性の発見から修正までのプロセスを設計してください。

解答例
重大度修正SLA担当エスカレーション
Critical24時間セキュリティチーム + 担当チームCTO
High7日担当チームセキュリティリード
Medium30日担当チームチームリード
Low90日担当チームなし

プロセスフロー

graph LR
    A["発見"] --> B["トリアージ"] --> C["優先度付け"] --> D["修正"] --> E["検証"] --> F["クローズ"]
    A --> G["脆弱性DB登録"] --> H["追跡"] --> I["メトリクス"] --> F

Part 5: インシデント対応計画(20分)

ShopNowのインシデント対応計画を策定してください。

解答例

対応体制

役割主担当副担当
インシデントコマンダーセキュリティリードCTO
テクニカルリードシニアSREシニアバックエンド
コミュニケーションPMカスタマーサクセス
法務・コンプライアンス法務担当外部弁護士

PCI DSS対応

要件対応策
カード情報の非保持化Stripe Elementsで直接トークン化
ネットワーク分離決済系を専用VPCに分離
アクセスログ決済関連の全操作を監査ログに記録
定期スキャンASV(認定スキャニングベンダー)による四半期スキャン

改善ロードマップ

フェーズ期間施策
Phase 11-3ヶ月MFA導入、SAST/SCA自動化、インシデント対応手順文書化
Phase 24-6ヶ月ゼロトラスト基盤構築、DAST導入、セキュリティチャンピオン制度開始
Phase 37-9ヶ月PCI DSS準拠完了、カオスエンジニアリング開始
Phase 410-12ヶ月セキュリティ成熟度評価、継続的改善サイクル確立

まとめ

ポイント内容
脅威分析STRIDEで体系的に脅威を特定・評価する
ゼロトラスト認証・認可・ネットワークの多層防御を設計する
DevSecOpsCI/CDにセキュリティゲートを組み込む
脆弱性管理SLAベースの修正プロセスを確立する
インシデント対応体制・手順・コミュニケーション計画を整備する

チェックリスト

  • STRIDEによる脅威分析を実施できた
  • ゼロトラストアーキテクチャを設計できた
  • DevSecOpsパイプラインを設計できた
  • 脆弱性管理プロセスを設計できた
  • インシデント対応計画を策定できた

次のステップへ

最後は卒業クイズです。Month 3の全体を振り返りましょう。


推定読了時間: 90分