🚨 Apache Struts CVE-2017-5638 实时异常检测
基于流式分析与概率数据结构的零日漏洞利用检测

📌 项目说明
本项目是一个 实时异常检测系统,旨在 检测对 Apache Struts 通过漏洞 CVE-2017-5638 进行的 RCE(远程代码执行)利用,而无需依赖已知签名或模式。
CVE-2017-5638 是一个在 2017 年 Equifax 攻击 中使用的关键漏洞,导致 1.47 亿人的个人数据泄露。该攻击得逞的原因是 补丁管理和早期检测的失败。
该系统通过以下方式解决这些弱点:
- ✅ 基于行为的检测(而非签名)
- ✅ 对整个 HTTP 请求的字节级 3-gram 分析
- ✅ Count-Min Sketch 用于高效频率跟踪
- ✅ KL 散度 用于衡量与正常模式的偏差
- ✅ 自适应阈值(均值 + 3σ)用于实时检测
- ✅ 使用 Streamlit 的可视化仪表盘
目标:在系统被攻陷前检测零日漏洞利用,即使负载从未被见过。
🎯 主要目标
- 实时检测 Struts 利用,延迟 ≤ 5ms
- 即使吞吐量 ≥ 50,000 请求/秒,内存 ≤ 1 GB
- 在正常数据上 误报率 < 0.1%
- 对合成利用负载 检测率 ≥ 95%
- 系统可实时部署和监控
运行步骤