演習:不正検知システムの改善計画を策定しよう
「システムの初期版はできた。次はこれを運用に耐えるレベルまで磨き上げる計画を立ててくれ。」
田中VPoEが求める。
「偽陽性管理、フィードバックループ、頑健性。この3つの観点から改善計画を策定してほしい。」
ミッション概要
構築した不正検知システムの運用を想定し、継続的に改善するための計画を策定する。偽陽性管理、フィードバックループ設計、敵対的攻撃対策の3つの観点から具体的なアクションプランを作成する。
Mission 1: 偽陽性管理計画(20分)
偽陽性を継続的に管理・削減するための計画を策定する。
タスク:
- 偽陽性の現状を分析するためのKPIを5つ定義する(計算式、目標値、モニタリング頻度)
- 閾値の動的調整ルールを設計する(条件、調整幅、上限/下限)
- ホワイトリスト管理の運用ルールを策定する(登録条件、有効期限、レビュー頻度)
- 顧客セグメント別の閾値テーブルを設計する(セグメント定義、閾値、根拠)
解答例
偽陽性管理KPI:
| KPI | 計算式 | 目標値 | 頻度 |
|-----------------|--------------------------|---------|--------|
| 日次FPR | 日次FP / (FP + TN) | ≤ 0.5% | 日次 |
| 偽陽性件数 | 日次のFP件数 | ≤ 50件 | 日次 |
| 偽陽性解決時間 | アラート〜解除の平均時間 | ≤ 15分 | 日次 |
| 顧客影響率 | FPで影響を受けた顧客 / 全顧客 | ≤ 0.1% | 週次 |
| 偽陽性起因の解約率 | FP後30日以内の解約率 | ≤ 5% | 月次 |
動的閾値調整ルール:
条件1: 日次FPR > 1.0% → 閾値を +0.05 上昇(厳しく)
条件2: 日次FPR < 0.2% → 閾値を -0.02 下降(検知強化)
条件3: 累積FP > 100件/日 → 即座に閾値を +0.10 上昇
上限: 0.95、下限: 0.10
ホワイトリスト運用:
登録条件: 同一パターンで3回以上偽陽性が発生
有効期限: 90日(自動更新あり)
レビュー: 月次で全件レビュー
除外条件: マーチャントの不正率が1%を超えた場合は即除外
セグメント別閾値:
VIP(年間100万円以上): 0.70(FP削減優先)
一般会員: 0.40(バランス)
新規(30日以内): 0.20(検知優先)
過去不正被害者: 0.15(検知優先)
Mission 2: フィードバックループ設計(20分)
モデルの継続的改善を支えるフィードバックループを設計する。
タスク:
- ラベル収集パイプラインを設計する(データソース、収集方法、品質管理)
- モデル再学習のスケジュールとトリガー条件を定義する
- モデルバージョン管理とロールバック手順を策定する
- 性能劣化の検知ルールとアラート条件を定義する
解答例
ラベル収集パイプライン:
Source 1: 調査チームの判定結果
- 収集: CRITICAL/HIGHアラートの調査結果(confirmed_fraud/false_positive)
- 品質: ダブルチェック(2人の調査員が一致)
- 遅延: 1〜24時間
Source 2: チャージバック情報
- 収集: 決済代行会社からのチャージバック通知
- 品質: 理由コードで不正/非不正を分類
- 遅延: 30〜90日
Source 3: 顧客申告
- 収集: 「身に覚えのない取引」の申告
- 品質: 調査チームで確認後にラベル確定
- 遅延: 1〜7日
モデル再学習スケジュール:
日次: 閾値の微調整(適応的閾値)
週次: 増分学習(新ラベル50件以上の場合)
月次: 全面再学習(全データで再構築)
緊急: PR-AUCが10%以上低下した場合
トリガー条件:
- 新ラベル数 ≥ 50件
- PR-AUC < baseline * 0.9
- 日次FPR > alert_threshold for 3日連続
- 新しい不正パターンが3件以上検出
バージョン管理:
- 各バージョンのメトリクス、学習データ、パラメータを保存
- A/Bテスト(10%のトラフィックで新モデルを検証)
- ロールバック: 新モデルのPR-AUCが旧モデル未満なら自動ロールバック
- 最低3世代のモデルを保持
Mission 3: 敵対的攻撃対策計画(20分)
不正者の検知回避行動に対する防御計画を策定する。
タスク:
- 想定される攻撃シナリオを5つ以上定義し、各シナリオの対策を記述する
- 累積リスクスコアの設計仕様を策定する(減衰率、閾値、リセット条件)
- レッドチーム評価のフレームワークを設計する(頻度、シナリオ、評価指標)
- 攻撃パターンが変化した際の緊急対応フローを策定する
解答例
攻撃シナリオと対策:
| シナリオ | 対策 |
|---------------------------|-----------------------------------|
| 低額分散攻撃 | 累積リスクスコア + 頻度ベース特徴量 |
| 正常パターン模倣 | 行動バイオメトリクス + デバイス特徴量 |
| テスト取引 → 本番攻撃 | テスト取引パターン検出ルール |
| 新規アカウント大量作成 | アカウント作成レート制限 + 属性検証 |
| VPN/Tor経由の匿名アクセス | IPレピュテーションスコア活用 |
| 盗難カードの地理的分散使用 | ネットワーク分析(共通エンティティ) |
累積リスクスコア設計:
減衰率: 0.95/時間(約14時間で半減)
閾値: LOW < 0.5, MEDIUM 0.5-1.0, HIGH 1.0-2.0, CRITICAL > 2.0
リセット: 72時間取引なしで0にリセット
スコア加算: 各取引のfraud_score * amount_weight
レッドチーム評価:
頻度: 四半期に1回
シナリオ: 上記6パターン + 新規パターン2つ
評価指標: 各シナリオの検知率、平均検知遅延、回避成功率
成果物: 脆弱性レポート + 改善計画
緊急対応フロー:
1. 異常パターン検出(不正率の急上昇)
2. 即座にルールベースのフォールバック有効化
3. 攻撃パターンの分析(2時間以内)
4. 緊急ルールの追加(4時間以内)
5. モデルの緊急再学習(24時間以内)
6. 事後レビューと恒久対策の策定(1週間以内)
達成度チェック
- 偽陽性管理のKPIを5つ定義し、目標値を設定できた
- 動的閾値調整のルールを設計できた
- フィードバックループの全体像を設計できた
- モデル再学習のスケジュールとトリガーを定義できた
- 攻撃シナリオを5つ以上定義し対策を記述できた
- 緊急対応フローを策定できた
推定所要時間: 60分