Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “演習環境とシナリオ設計” part: “Part 7” chapter: “7-1”

演習環境とシナリオ設計

本章では、総合演習で利用する環境とシナリオの例を示す。実際の構築手順や Docker Compose ファイル等は exercises/ ディレクトリ側で扱い、本章では「どのような構成要素があり、何を学ぶための環境か」を整理する。

本章のゴール

  • 前提:Part 1〜6 で扱った各レイヤ(Web / API / モバイル / クラウド / インフラ)のアタックサーフェスと、総合演習の目的を把握している。
  • 到達目標:演習環境の構成要素と学習ゴールを明確化し、総合演習が「攻撃チェーンの構築」と「成果物作成」に接続するよう設計できる。
  • 対応演習:既存の exercises/(例:dvwa / juice-shop / crapi / mobsf / ssrf-imds)を前提に、演習対象コンポーネントと評価範囲、期待成果物を文書化する(起動手順は 付録「演習環境クイックスタート」 を参照)。

想定する演習環境の構成(例)

以下は、1 週間の総合演習で利用する模擬システム構成の一例である。

  • Web フロントエンド
    • 脆弱な Web アプリ(例:Juice Shop または自作アプリ)
    • 認証機能、商品閲覧・購入機能、管理画面を含む
  • バックエンド API
    • REST ベースの API(ユーザ情報、注文情報、管理 API 等)
    • JWT ベースの認証、RBAC による権限管理
  • モバイルクライアント(オプション)
    • 上記 API を利用する Android アプリ(演習用簡易クライアント)
  • クラウド/インフラ
    • Docker ベースの疑似クラウド環境(本番ではなくローカルで完結)
    • Web / API / DB / ログサーバなど複数コンテナで構成

これらを Docker Compose(docker compose)等で一括起動できるようにし、受講者が自身のマシン上で環境を再現可能とする。

図7-1: 総合演習環境の構成例(ローカル完結)

flowchart LR
    subgraph Student[受講者マシン(例)]
        Browser[Web ブラウザ]
        Burp[Burp Suite(Proxy)]
        Mobile[モバイルクライアント(任意)]
        Browser --> Burp
        Mobile --> Burp
    end

    subgraph Docker[Docker Compose(ローカル)]
        Web[Web フロントエンド\n(例:Juice Shop)]
        API[バックエンド API\n(例:crAPI / 自作)]
        DB[(DB)]
        Log[ログ/監査(任意)]
        Web --> API
        API --> DB
        API --> Log
    end

    Burp --> Web
    Burp --> API

図7-1 は、受講者マシン上のプロキシ(Burp Suite)を起点に、ローカルの Docker Compose 環境(Web / API / DB 等)を観測・検証する前提を示す。実際の演習環境では、学習ゴールと安全要件に応じて構成要素を調整する。

学習ゴールの明確化

演習開始時に、次のような学習ゴールを明示しておく。

  • Web / API / モバイル / クラウド/インフラの各レイヤで、少なくとも 1 つ以上の脆弱性を発見し、PoC を作成する
  • Kill Chain や MITRE ATT&CK 等のモデルに基づき、攻撃チェーン全体を説明できる
  • テスト計画書とレポートテンプレートを用いて、再現可能な形で成果を残す

ゴールが曖昧だと、演習が個々のテクニック集に分解されてしまうため、事前の合意が重要である。

次に読む章

本章のポイント

  • 演習環境は Web、API、(任意で)モバイル、クラウド/インフラの複数コンポーネントで構成し、Docker Compose(docker compose)等で再現可能にする。
  • 本章は環境の構築手順ではなく、「構成要素」と「学習目的」を整理し、具体物(Docker Compose 等)は exercises/ 側で管理する。
  • 学習ゴール(脆弱性発見と PoC、攻撃チェーン説明、テンプレートに基づく成果物)を開始時に明確化し、演習の焦点を維持する。