11
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラウザだけで完結するCSIRT訓練プラットフォーム「CSIRT Ready」を作った話

11
Posted at

はじめに

「インシデント対応手順書を整備している企業は多い。でも、それを使ってチームが実際に動いたことがある企業は少ない。」

これはセキュリティ業界でよく言われることですが、実際にその差を埋めるツールを探すと選択肢が非常に限られています。大手SIerの訓練は1回100〜500万円。海外のCyberRangeプラットフォームは英語中心で日本の文脈に合いにくい。

そこで、CSIRT Ready というオンライン型デスクトップ演習(TTX: Tabletop Exercise)プラットフォームを開発・公開しました。

本記事では、CSIRT Ready の概要・機能・実際の使い方を解説します。


CSIRT Ready とは

CSIRT Ready は、ブラウザだけで参加できるインシデント対応訓練(TTX)プラットフォームです。

ランサムウェアや標的型攻撃などのシナリオをステップ形式で進め、チームがどう意思決定するかを演習します。ソフトウェアのインストールは不要で、インターネット経由で複数拠点・複数チームが同一セッションに参加できます。

訓練の流れ(概略)
├── ファシリテーターがセッション作成
│    └── 4桁のセッションコードを参加者に共有
├── 参加者がブラウザからログイン → コード入力で参加
├── シナリオ進行(ステップ式、選択肢あり)
│    └── 選択によって展開が分岐
└── 訓練終了 → AAR(After Action Review)自動生成


技術構成

  • バックエンド: Node.js + Express + Socket.IO
  • 認証: JWT(企業ID + 役割 + パスワード)
  • セッション管理: インメモリ + 永続化オプション
  • フロントエンド: バニラJS(インストール不要のため最小依存)
  • インフラ: VPS(pm2 で常時稼働)、HTTPS(自己署名証明書の自動生成)

Socket.IO でリアルタイム同期しており、参加者の回答・進行状況がファシリテーターの管理画面にリアルタイムで反映されます。


訓練シナリオ

現在、以下のシナリオを提供しています。

シナリオ 難易度 所要時間
ランサムウェア感染対応 入門〜中級 デモ約10分 / 本番2〜3時間
BECメール詐欺対応 中級 約2時間
サプライチェーン攻撃 上級 約3〜4時間
APT侵害対応 上級 約3〜4時間
業種特化カスタムシナリオ 要相談 要相談

シナリオはJSファイル(scenarios/*.js)として定義されており、新規追加はファイルを置くだけで自動読み込みされます。各ステップには「選択肢」「状況付与テキスト」「分岐ロジック」「スコア加算」が含まれます。


主な機能

ファシリテーター管理画面

ファシリテーターは専用ダッシュボードから:

  • 全参加チームの現在ステップをリアルタイムで確認
  • 特定チームへのヒント送信
  • ステップ強制進行(場が停滞したとき)
  • 訓練の一時停止・再開

AAR(After Action Review)自動生成

訓練終了後、選択ログとスコアから自動でAfter Action Reviewを生成。チームの意思決定パターンと改善点を即時にフィードバックできます。

マルチテナント対応

企業IDとJWTによるマルチテナント構成で、複数企業・部署に同時提供できます。企業ごとのセッション分離と allowedScenariosによるシナリオACLに対応しています。

クローズドネットワーク対応

pkg でシングルバイナリ(.exe)にビルドすることで、インターネット非接続のクローズド環境でも動作します。


無料お試しの体験手順

アカウント登録なしで即体験できます。

https://www.longtailsecurity.net

(フェーズ1〜4)を約10分で体験できます。

画面は以下の構成になっています:

画面構成

ページ遷移


ログイン画面

企業ID・役割(ファシリテーター / 参加者)・パスワードを入力してログインします。
JWTトークンで認証し、役割に応じた画面へ遷移します。


訓練画面(参加者・インシデントコマンダー)

左サイドバーと右メインエリアの2カラム構成です。

左サイドバー

  • 対応状況(ステップインジケーター)
    フェーズの進行状況を一覧表示。完了・進行中・未着手をアイコンで識別できます。
  • 共有ホワイトボード
    チーム全員がリアルタイムで書き込める共有メモ。気づき・確認事項を記録します。
  • MSELタイムライン
    訓練中の出来事を時系列で自動記録します。

右メインエリア

  • 状況付与テキスト(インジェクション)
    シナリオから届く状況説明。ランサムウェア感染画面の再現など、臨場感のある演出が含まれます。
  • 選択肢パネル
    4択の行動選択肢を提示。インシデントコマンダーが回答すると次のフェーズへ進みます。

ファシリテーター管理画面

  • セッション一覧
    参加中の全チームをカード表示。各チームのフェーズ進捗・参加人数・経過時間をリアルタイムで確認できます。
  • セッション作成モーダル
    シナリオとチーム名を選択してセッションを作成。完了すると6桁のセッションコードが発行されます。
  • チーム操作
    各チームにヒントを送信したり、ステップを強制進行させることができます。

振り返り画面(AAR)

訓練終了後に自動生成されます。

  • うまくできた点 / 改善が必要な点
  • フェーズ別スコアとスコアバー
  • 次のアクション(推奨事項)

ユーザーロールと権限

ロール できること
参加者 シナリオ参加・選択肢の回答
インシデントコマンダー チームを代表した最終意思決定
ファシリテーター セッション作成・進行管理・全チーム俯瞰
管理者 企業アカウント管理・ログイン履歴確認

導入・料金

比較項目 CSIRT Ready 大手SIer訓練 海外SaaS
費用 月額10万円(予定)・お試し無料 100〜500万円/回 年間100万円〜
日本語対応 完全日本語 あり 英語中心
オンライン参加 インターネット対応 来場が多い あり
ブラウザのみ あり 不明 あり
カスタムシナリオ 業種特化対応 あり(高額) 限定的

おわりに

「サイバー訓練は重要とわかっているけど、コストと手間で後回しになっている」という組織に使っていただくことを想定して開発しています。

現在はベータ版として運用中で、改善のためにも、ご意見をいただければ幸いです。

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?