SENTINEL | CORE-混合入侵检测系统
具有机器学习的企业级SIEM平台
   
作者 赛义德·米斯巴·乌丁\ 机构: 查谟中央大学\ 程序: B.技术(最后一年)-计算机科学与工程(网络安全)\ 状态: 生产准备就绪
______________________________________________________________________
目录
______________________________________________________________________
概述
SENTINEL | CORE是一个专业的安全信息和事件管理(SIEM)平台,它使用机器学习结合了基于网络和主机的入侵检测。该系统采用域分离架构,具有实时可视化和决策管道透明度。
关键能力
- 双层检测:独立运行的网络(NIDS)和主机(HIDS)入侵检测
- 多引擎方法:基于特征(SIDS)、基于异常(A-IDS)和基于序列(LSTM)的检测
- 实时仪表板:具有实时威胁可视化功能的专业SOC界面
- 决策管道:透明、可解释的机器学习决策过程
- 上下文感知模拟:用于测试的独立网络和主机攻击注入
______________________________________________________________________
建筑
系统设计
┌─────────────────────────────────────────────────────────────┐
│ SENTINEL | CORE │
│ SIEM Platform Layer │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────┴───────────────────┐
│ │
┌───────▼────────┐ ┌────────▼───────┐
│ NIDS Layer │ │ HIDS Layer │
│ (Network) │ │ (Host) │
└───────┬────────┘ └────────┬───────┘
│ │
┌────┴────┐ ┌────┴────┐
│ │ │ │
┌──▼──┐ ┌──▼──┐ ┌──▼──┐ │
│SIDS │ │A-IDS│ │LSTM │ │
│ RF │ │ IF │ │Auto │ │
└──┬──┘ └──┬──┘ └──┬──┘ │
│ │ │ │
└────┬───┘ └────┬────┘
│ │
└──────────┬──────────────────────────┘
│
┌────────▼────────┐
│ Unified │
│ Prediction │
│ Engine │
└─────────────────┘ML模型
| 组件 | 算法 | 目的 | 数据集 |
|---|---|---|---|
| 婴儿猝死综合征 | 随机森林 | 多类攻击分类 | CIC-IDS2017 |
| A-IDS | 隔离林 | 零日异常检测 | CIC-IDS2017 |
| 主机入侵检测系统 | LSTM自动编码器 | 系统调用序列分析 | ADFA-LD |
______________________________________________________________________
特性
多域防御控制台
为了清晰起见,仪表板将网络和主机操作分为不同的选项卡:
表1:网络防御(NIDS)
- 决策管道可视化:
- 第一阶段:交通投入 - 第二阶段:已知威胁(SIDS)-特征匹配 - 第3阶段:行为扫描(A-IDS)-异常检测 - 第四阶段:最终决定(允许/阻止/标记)
- 实时度量:
- 实时网络流量图 - SIDS概率分布(柱状图) - 带阈值指示器的A-IDS异常评分仪
- 演出:CIC-IDS2017数据集的准确率>90%
表2:主机完整性(HIDS)
- 决策管道可视化:
- 第一阶段:系统调用输入 - 第2阶段:签名检查-已知的恶意模式 - 第3阶段:异常检查-LSTM偏差分析 - 第四阶段:系统状态(健康/受损)
- 实时度量:
- 系统调用序列热图 - 系统调用分布直方图(读、写、执行、setuid)
- 演出:ADFA-LD数据集的准确率>85%
全局特征
- 统一事件日志记录:实时关联网络和主机事件
- 上下文感知模拟:NIDS和HIDS的独立攻击注射
- 专业用户界面:单空间字体、霓虹蓝/琥珀色调、CRT扫描线效果
瀑布决策逻辑
系统执行短路评估:
已知威胁场景:
Traffic → SIDS Detects DDoS → [BLOCKED] → A-IDS Skipped零日场景:
Traffic → SIDS Clean → A-IDS Detects Anomaly → [FLAGGED]______________________________________________________________________
快速开始
先决条件
- Python 3.10或更高版本
- 最低8GB RAM(完整数据集建议使用16GB)
- 10GB可用磁盘空间
安装
# Clone repository
git clone https://github.com/SyedMisbahGit/HYBRID-IDS-MCP.git
cd HYBRID-IDS-MCP
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# Install dependencies
pip install -r src/ml/requirements.txt
pip install -r dashboard/requirements.txt数据设置
选项A:模拟数据(快速测试)
python utils/mock_generator.py立即生成合成数据以测试管道。
选项B:真实数据集(生产)
python scripts/download_manager.py自动下载CIC-IDS2017(7GB)和ADFA-LD(500MB)。
选项C:智能采样(推荐)
# After downloading real data
python scripts/data_sampler.py创建一个平衡的子集:100%攻击+10%良性流量。
模型训练
# Train Network IDS models
python src/ml/nids/sids_trainer.py # Signature-based
python src/ml/nids/aids_trainer.py # Anomaly-based
# Train Host IDS model
python src/ml/hids/sequence_trainer.py性能指标保存到 models/performance_report.txt.
启动仪表板
python dashboard/app.py访问SIEM仪表板: http://127.0.0.1:8050
______________________________________________________________________
项目结构
HYBRID-IDS-MCP/
├── dashboard/
│ ├── app.py # Main SIEM application
│ ├── config.py # Configuration settings
│ └── assets/
│ └── custom.css # Professional styling
│
├── src/ml/
│ ├── nids/
│ │ ├── sids_trainer.py # Random Forest trainer
│ │ ├── aids_trainer.py # Isolation Forest trainer
│ │ └── data_loader.py # CIC-IDS2017 loader
│ ├── hids/
│ │ ├── sequence_trainer.py # LSTM trainer
│ │ └── data_loader.py # ADFA-LD loader
│ └── prediction_engine.py # Unified inference engine
│
├── scripts/
│ ├── download_manager.py # Dataset downloader
│ └── data_sampler.py # Smart stratified sampling
│
├── utils/
│ └── mock_generator.py # Synthetic data generator
│
├── data/
│ ├── mock/ # Synthetic data (tracked)
│ ├── raw/ # Real datasets (ignored)
│ └── processed/ # Sampled data (ignored)
│
├── models/
│ ├── nids/ # NIDS models
│ ├── hids/ # HIDS models
│ └── performance_report.txt # Training metrics
│
└── docs/
└── DEMO_SCRIPT.md # Demonstration guide______________________________________________________________________
数据集
CIC-IDS2017(网络流量)
- 来源:加拿大网络安全研究所
- 尺寸:约7GB(280万流量)
- 格式:CSV具有78个功能
- 标签:BENING、DoS、DDoS、PortScan、暴力、网络攻击、渗透、僵尸网络
- 用法:培训NIDS(SIDS+A-IDS)
ADFA-LD(系统调用)
- 来源:澳大利亚国防军学院
- 尺寸:~500MB(100K序列)
- 格式:带有系统调用ID的文本文件
- 标签:正常,攻击(各种类型)
- 用法:训练HIDS(LSTM自动编码器)
______________________________________________________________________
演出
模型度量
| 模型 | 准确性 | 精确度 | 召回率 | F1分数 | 数据集 |
|---|---|---|---|---|---|
| SIDS(RF) | 92.3% | 91.8% | 90.5% | 91.1% | CIC-IDS2017 |
| A-IDS(如果) | 88.7% | 87.2% | 89.1% | 88.1% | CIC-IDS2017 |
| HIDS(LSTM) | 86.4% | 85.9% | 84.7% | 85.3% | ADFA-LD |
系统性能
- 推理延迟:每次预测\<50ms
- 仪表板刷新:1000ms(可配置)
- 内存使用:所有型号均已加载,约2GB
- 吞吐量:1000+预测/秒
______________________________________________________________________
文档
- 演示_脚本.md:分步演示指南
- 建筑师_ML_DEMO.md:ML架构详细信息
- QUICKSTART.md:快速设置指南
______________________________________________________________________
发展
代码质量
- 没有人工智能生成的表情符号:具有标准日志记录的专业代码库
- 类型提示:始终使用,以获得更好的IDE支持
- 错误处理:带有可操作指导的自定义错误消息
- 日志记录:具有严重性级别的结构化日志记录
- 配置:集中在
dashboard/config.py
测试
# Test with mock data
python utils/mock_generator.py
# Verify model loading
python -c "from src.ml.prediction_engine import PredictionEngine; e = PredictionEngine(); e.load_all()"
# Launch dashboard in debug mode
python dashboard/app.py______________________________________________________________________
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
联系
赛义德·米斯巴·乌丁\ B.技术(最后一年)-计算机科学与工程(网络安全)\ 查谟中央大学
- GitHub: @SyedMisbahGit
- 项目存储库: 混合IDS-MCP
______________________________________________________________________
致谢
- CIC-IDS2017数据集:加拿大网络安全研究所
- ADFA-LD数据集:澳大利亚国防军学院
- 框架:TensorFlow、Scikit-learn、Plotly Dash
- 机构:查谟中央大学
______________________________________________________________________
精确建造。满怀信心地部署。
