ストーリー
田
田中VPoE
ゲーミフィケーションの応用として、社内CTF大会を設計する。CTFはセキュリティスキルを実践的に磨くための最も効果的な手法の一つだ
あなた
CTFって、セキュリティの専門家向けのイベントですよね?ハードルが高くないですか
あ
田
田中VPoE
外部のCTF大会はそうだが、社内CTFは違う。初心者から上級者まで楽しめるように難易度を設計する。重要なのは「全員が参加できる」こと。エンジニアだけでなく、営業やCSも参加する設計にする
田
田中VPoE
もちろん。フィッシングメールの見分け、パスワードの強度チェック、ソーシャルエンジニアリングの検出…非エンジニア向けの問題も用意する。全員参加こそが文化変革だ
社内CTFの設計
CTFの形式
| 形式 | 説明 | 適用場面 |
|---|
| Jeopardy形式 | カテゴリ別の問題を解く | 最も一般的。初回開催に推奨 |
| Attack-Defense形式 | チーム間で攻防を行う | 上級者向け。インフラが必要 |
| King of the Hill形式 | サーバーの制御権を争う | チーム対抗戦に適している |
社内CTF向けJeopardy形式の設計
カテゴリ構成(社内CTF向け):
■ 全社員向け(Easy)
├── フィッシング検出: 不審メールの特徴を見抜く
├── パスワード安全性: 安全なパスワードの選定
├── 情報分類: 機密レベルの正しい判定
├── ソーシャルエンジニアリング: 攻撃手法の検出
└── 物理セキュリティ: 入館管理、クリアデスク
■ 開発者向け(Medium)
├── Web脆弱性: SQLi、XSS、CSRF の発見と修正
├── 暗号: 暗号化の基礎、ハッシュの識別
├── 認証・認可: セッション管理、JWT の脆弱性
├── OSINT: 公開情報からの情報収集
└── シークレット管理: ハードコードされた秘密情報の発見
■ 上級者向け(Hard)
├── バイナリ解析: リバースエンジニアリング基礎
├── フォレンジック: ログ解析、メモリダンプ解析
├── インフラ: サーバー設定ミスの発見
├── 高度なWeb: SSRF、XXE、デシリアライゼーション
└── 応用暗号: 暗号の誤用による脆弱性
問題設計の原則
難易度バランス
| 難易度 | 配点 | 問題数 | 対象者 | 参加率目標 |
|---|
| Easy | 100-200点 | 15問 | 全社員 | 80% |
| Medium | 300-500点 | 10問 | 開発者 | 50% |
| Hard | 700-1000点 | 5問 | セキュリティチーム+上級者 | 20% |
問題設計のポイント
| ポイント | 説明 | 具体例 |
|---|
| 自社に関連 | 自社の技術スタック・業務に関連した問題 | 「自社アプリのログから不正アクセスを特定」 |
| 段階的ヒント | 詰まった場合のヒント(配点は減少) | ヒント1回で-20%、2回で-40% |
| 学習効果 | 問題を解くプロセスで知識が身につく | 解説付きの採点結果 |
| 楽しさ | ユーモアやストーリー性のある出題 | 「架空のハッカーからの挑戦状」 |
運営の実務
準備スケジュール(初回開催)
| 時期 | タスク | 担当 |
|---|
| 8週間前 | CTF実施の決定、予算確保 | セキュリティチーム + マネジメント |
| 6週間前 | 問題作成開始、プラットフォーム選定 | セキュリティチーム + チャンピオン |
| 4週間前 | 問題レビュー、テスト環境構築 | セキュリティチーム |
| 2週間前 | 全社告知、チーム編成、ルール説明 | チャンピオン |
| 1週間前 | リハーサル、最終確認 | 運営チーム |
| 当日 | CTF実施(半日〜1日) | 全社 |
| 翌週 | 結果発表、表彰、振り返り | セキュリティチーム |
推奨CTFプラットフォーム
| プラットフォーム | 特徴 | コスト |
|---|
| CTFd | OSS、最も一般的、カスタマイズ性高 | 無料(ホスティング費用のみ) |
| FBCTF | Facebook開発、視覚的に優れている | 無料 |
| Juice Shop | OWASP公式、Webセキュリティ特化 | 無料 |
| HackTheBox | 豊富な問題、企業向けプランあり | 有料 |
非エンジニア向けCTF問題例
フィッシング検出チャレンジ
問題: 以下の5通のメールのうち、フィッシングメールを特定し、
その判断根拠を述べよ(各20点)
メール1: 人事部からの年末調整のお知らせ(社内ドメイン)
メール2: 取引先からの請求書(添付ファイルあり、送信元ドメイン1文字違い)
メール3: IT部門からのパスワード変更依頼(外部リンク先)
メール4: 同僚からの会議資料共有(Google Drive正規リンク)
メール5: 宅配業者からの再配達通知(短縮URL)
Flag: 各メールの判定結果とフィッシング指標を提出
CTFの効果測定
測定指標
| 指標 | 測定タイミング | 目標値 |
|---|
| 参加率 | イベント後 | 全社員の50%以上 |
| Easy問題の正答率 | イベント後 | 80%以上 |
| 参加者満足度 | イベント後アンケート | 4.0/5.0以上 |
| フィッシングクリック率 | CTF前後比較 | 20%以上改善 |
| 「またやりたい」回答率 | イベント後アンケート | 70%以上 |
まとめ
| ポイント | 内容 |
|---|
| 社内CTFの目的 | セキュリティスキルの実践的向上と文化醸成 |
| 形式 | 初回はJeopardy形式が推奨 |
| 難易度設計 | Easy/Medium/Hardで全社員が参加可能に |
| 非エンジニア対応 | フィッシング検出等の非技術系問題を用意 |
| 効果測定 | 参加率、正答率、行動変容を測定 |
チェックリスト
次のステップへ
次は「フィッシングシミュレーションの実践」を学びます。最も一般的なサイバー攻撃であるフィッシングに対する組織の耐性を測定し、向上させる手法を身につけましょう。
推定読了時間: 30分