astreon-com-au/Cybersecurity-Threat-Intelligence-System-
GitHub: astreon-com-au/Cybersecurity-Threat-Intelligence-System-
基于 CICIDS2017 数据集和 Isolation Forest 算法构建的生产级 ML 威胁检测平台,提供从模型训练到交互式推理仪表板的完整流程。
Stars: 0 | Forks: 0
# 网络安全威胁情报系统
一个基于 CICIDS2017 数据集构建的生产级 ML 威胁检测平台。
在 566,149 条真实网络流上训练 Isolation Forest 模型,将模型持久化到磁盘,
并通过交互式 Streamlit 仪表板提供实时推理服务。
## ML Pipeline
**1. 训练** — `train_fast.py`
加载 CICIDS2017 数据集(566,149 条流,83 个特征),进行预处理和特征工程,
训练 Isolation Forest 分类器,然后使用 joblib 将拟合好的模型和
Scaler 序列化到 `models/trained/`:
```
pipeline.detector.save_model("models/trained/simple_threat_detector_.joblib")
```
**2. 推理** — `dashboards/main_dashboard.py` → "ML Inference" 选项卡
仪表板在启动时会扫描 `models/trained/`,通过 `SimpleThreatDetector.load_model()` 加载最新的 `.joblib` 文件,并在用户选择的实时数据样本上运行 `predict()` / `predict_proba()`。结果以指标和异常分数分布图的形式展示。
**3. 分析** — 其余仪表板选项卡
从完整的预处理数据集中提取攻击分布、时间线分析、特征相关性热力图以及数据质量指标。
## 性能
| 指标 | 数值 |
|---|---|
| 检测准确率 | 92.3% |
| 误报率 | 3.1% |
| 训练时间 (快速模式) | 5–15 分钟 |
| 仪表板响应 | < 2 秒 |
数据集:566,149 条网络流 · 83 个特征 · 10 种攻击类别 · 80% 良性 / 20% 恶意
## 快速开始
```
pip install -r requirements.txt
# 训练并持久化模型
python train_fast.py
# 启动 dashboard(自动加载模型,在 ML Inference 标签页上提供推理服务)
streamlit run dashboards/main_dashboard.py
```
## 技术栈
Python 3.8+, scikit-learn (Isolation Forest), joblib, pandas, NumPy, Streamlit, Plotly
## 项目结构
```
├── dashboards/main_dashboard.py # Streamlit app — loads model, serves inference
├── src/models/simple_threat_detector.py # SimpleThreatDetector: fit, predict, save/load
├── src/models/threat_detector.py # EnsembleThreatDetector (IsolationForest + OneClassSVM)
├── src/data/real_cicids_loader.py # Data loading, preprocessing, feature engineering
├── models/trained/ # Persisted .joblib model files
├── data/raw/cicids2017_ml/ # CICIDS2017 CSV source files
├── data/processed/ # Cached preprocessed data
├── train_fast.py # Training entry point
└── requirements.txt
```
## 文档
- `USER_MANUAL.md` — 安装与使用
- `PROJECT_STRUCTURE.md` — 完整文件组织结构
- `comprehensive_project_report.md` — 技术方法论
## 许可证
MIT
标签:Apex, CICIDS2017, Isolation Forest, joblib, Kubernetes, ML安全, NumPy, pandas, Plotly, Python, scikit-learn, SecOps, Streamlit, 云安全架构, 入侵检测系统, 威胁情报系统, 孤立森林, 安全仪表盘, 安全分析平台, 安全数据分析, 安全数据湖, 安全运营, 实时推理, 异常检测, 恶意流量检测, 扫描框架, 数据科学, 数据预处理, 无后门, 机器学习, 模型训练, 特征工程, 网络安全, 网络攻防, 网络流量分析, 访问控制, 资源验证, 逆向工具, 隐私保护