🚨 Apache Struts CVE-2017-5638 のリアルタイム異常検知
ストリーミング分析と確率的データ構造に基づくゼロデイエクスプロイト検知

📌 プロジェクト概要
このプロジェクトは、既知のシグネチャやパターンに依存せずに、Apache Struts の脆弱性 CVE-2017-5638 を介した RCE(リモートコード実行)エクスプロイトを検出するように設計されたリアルタイム異常検知システムです。
CVE-2017-5638 は、2017年のEquifax攻撃で悪用された重大な脆弱性であり、1億4700万人の個人データ流出を引き起こしました。この攻撃が成功したのは、パッチ管理と早期検知の失敗が原因です。
このシステムは、以下の方法でこの弱点に対処します:
- ✅ 行動ベースの検知(シグネチャではなく)
- ✅ すべてのHTTPリクエストに対するバイトレベル3-gram分析
- ✅ 効率的な頻度追跡のためのCount-Min Sketch
- ✅ 通常パターンからの逸脱を測定するKLダイバージェンス
- ✅ リアルタイム検知のための適応しきい値(平均 + 3σ)
- ✅ Streamlitによるビジュアルダッシュボード
目的:ペイロードがこれまでに確認されたことがない場合でも、システムが侵害される前にゼロデイエクスプロイトを検知することです。
🎯 主な目的
- 遅延 ≤ 5ms でStrutsエクスプロイトをリアルタイム検知
- スループット ≥ 50,000 リクエスト/秒でもメモリ ≤ 1 GB
- 通常データでの偽陽性率 < 0.1%
- 合成エクスプロイトペイロードでの検知率 ≥ 95%
- システムはリアルタイムでデプロイおよび監視可能
実行手順
- ログシミュレーターを実行(50k req/sec、60秒)
python scripts/simulate_logs.py
- 検知システムを実行
python src/main.py
- 新しいターミナルでリアルタイムダッシュボードを開く
streamlit run scripts/dashboard.py