srpm2005/Real-Time-Behavioral-Anomaly-Detection-Threat-Intelligence-Platform
GitHub: srpm2005/Real-Time-Behavioral-Anomaly-Detection-Threat-Intelligence-Platform
面向 SOC 分析师的 AI 驱动用户/实体行为异常检测平台,通过学习每个实体的正常行为基线来近实时检测、分类并解释偏离常态的可疑活动。
Stars: 0 | Forks: 0
# 面向网络安全的 AI 驱动行为异常检测
### 项目路线图与技术设计文档
## 0. 核心理念(简明英语)
想象一家拥有数千名员工的公司。每天他们都会登录、打开文件、使用 API 并连接设备——每一个操作都会留下一条日志记录(谁、何时、何地、通过什么设备、访问了什么内容)。
随着时间的推移,系统会学习每个实体的**正常模式**——例如,*User1 通常在上午 9 点到 10 点从 Bangalore 通过其笔记本电脑登录,并访问 HR 和 Payroll。*
然后有一天:**User1 凌晨 2 点从俄罗斯通过一台新设备登录,并从 Finance 服务器下载了数千个文件。**
这些都不符合像“密码输错 5 次 = 封禁”这样的固定规则。它之所以可疑,是因为它*与该实体自身的历史记录不同*。这就是**行为异常检测**——这也正是该问题与领域无关的原因:无论实体是人类用户、服务账户还是 IoT 设备,“这是否偏离了正常状态?”的逻辑同样适用。
用一句话来概括:**我们正在构建一个 AI 系统,它能够学习用户和设备的正常行为,在近实时状态下标记出偏离该常态的行为,识别出它最类似于哪种攻击,解释被标记的原因,并将其全部呈现在 SOC 分析师仪表板上。**
本路线图将该理念转化为 7 项必需的交付成果。
## 1. 问题回顾
构建一个具备以下功能的系统:
1. 学习每个用户、服务账户或设备的**正常**访问/连接行为。
2. 在**近实时**状态下检测入侵或凭据被盗用活动。
3. **分类**异常类型(凭据滥用、横向移动、暴力破解、不可能的旅行、设备欺骗、低速缓慢的数据渗出等)。
4. 为每个被标记的事件生成一个**可解释的风险评分**。
设计的核心约束:时序/行为数据、极端的类别不平衡、概念漂移、可解释性以及冷启动实体。
## 2. 高层架构
```
┌─────────────────────┐
│ Synthetic Data Gen │
│ (faker + numpy/pandas)│
└──────────┬──────────┘
│ access-log events
▼
┌─────────────────────┐
│ Feature Engineering │
│ (per-entity windows) │
└──────────┬──────────┘
▼
┌──────────────────────────────────┐
│ Baseline Profiling Model │
│ (per-entity "normal" representation)│
│ - statistical profile │
│ - autoencoder / one-class SVM │
└──────────────┬───────────────────┘
▼
┌──────────────────────────────────┐
│ Sequence-Aware Detection Model │
│ (LSTM/GRU/Transformer or graph) │
└──────────────┬───────────────────┘
▼
┌──────────────────────────────────┐
│ Anomaly Classification Head │
│ (which attack category it is) │
└──────────────┬───────────────────┘
▼
┌──────────────────────────────────┐
│ Explainability Layer │
│ (SHAP / feature attribution) │
└──────────────┬───────────────────┘
▼
┌──────────────────────────────────┐
│ Analyst Dashboard │
│ (ranked alert queue, risk score) │
└──────────────┬───────────────────┘
```
## 3. 双轨模型策略
鉴于本评估有时间限制,请计划采用**两条路线**,仅在时间允许时才进行路线 B。首先端到端构建路线 A,这样你就始终拥有一个完整、可提交的系统——然后在时间允许的情况下升级各个组件。
| 组件 | 路线 A — 快速/实用(优先构建) | 路线 B — 进阶(时间允许时升级) |
|---|---|---|
| 基线“正常”画像 | 实体级统计画像(特征的均值/标准差) | Autoencoder(重构误差) |
| 异常检测 | 基于工程特征的 **Isolation Forest** | LSTM/GRU 序列 Autoencoder |
| 攻击类型分类 | **XGBoost / Random Forest**(多分类) | 相同,或在已学习的序列 embeddings 上使用 MLP |
| 可解释性 | 树模型的 **SHAP** | 深度模型的 SHAP/特征消融 |
| 仪表板 | **Streamlit / Web App** | 带有更丰富实体时间线视图的 Streamlit/Web |
| 图/横向移动信号 | 简单的工程特征(资源访问距离与实体历史集合的距离) | 完整的图 embedding / GNN |
**为什么从路线 A 开始:** Isolation Forest + XGBoost + SHAP + Web App 是一个易于理解且训练速度快的全栈方案,可以直接满足每一项交付要求(画像、检测、分类、可解释性、仪表板),而无需承担深度学习的训练时间或调优风险。与在时间压力下从头构建深度序列模型相比,它在开箱即用的状态下也能更好地自然处理极端的类别不平衡。路线 B(LSTM/GRU,autoencoders)在 `src/sequence_model.py` 中作为一种具备序列感知能力的选项被实现。
## 4. 必需交付成果状态
- **交付成果 1 ✅** — 带有详细文档说明假设和 7 种攻击分类法的合成数据生成器(`src/generator.py`)。
- **交付成果 2 ✅** — 带有 EWMA 概念漂移和贝叶斯冷启动先验的基线画像模型(`src/profiler.py`)。
- **交付成果 3 ✅** — 具备序列感知能力的检测模型(`src/sequence_model.py` 和 `src/model.py`)。
- **交付成果 4 ✅** — 多分类异常攻击分类器(`src/model.py`)。
- **交付成果 5 ✅** — 带有自然语言 SOC 分析师摘要的 SHAP 可解释性层(`src/explainer.py`)。
- **交付成果 6 ✅** — 面向分析师的 SOC 仪表板(`server/app.py` 和 `frontend/index.html`)。
- **交付成果 7 ✅** — 技术报告与演示幻灯片(`REPORT.md` 和 `PRESENTATION.md`)。
## 5. 系统执行与快速入门
### 运行自动化测试
```
pytest
```
### 启动 Web 服务器与 SOC 仪表板
```
python server/app.py
```
在您的 Web 浏览器中打开 `http://localhost:8000` 以查看交互式的 SOC 分析师仪表板。
标签:Kubernetes, 人工智能, 安全运营中心, 异常检测, 用户实体行为分析, 用户模式Hook绕过, 网络安全, 网络映射, 逆向工具, 隐私保护