ry347912-cyber/Sentinel-AI-SOC
GitHub: ry347912-cyber/Sentinel-AI-SOC
一个整合了机器学习入侵检测、恶意软件沙箱分析和威胁情报自动映射的轻量级 AI 安全运营中心平台。
Stars: 1 | Forks: 0
# 🛡️ AI 网络防御与威胁监控平台(微型 SOC)
## 🎯 项目功能
这是一个**微型安全运营中心 (SOC)** —— 一个基于 Web 的平台,提供以下功能:
- **安全分析师**通过 Zero Trust JWT 认证机制登录
- **IDS 引擎**监控网络流量,并使用 ML(Isolation Forest)检测攻击
- **恶意软件文件**被上传至隔离的 Docker 沙箱中进行行为分析
- **所有信息**展示在带有实时图表的 8 页 React 仪表盘中
## 📸 截图
### 🖥️ 仪表盘 — 概览

### 🔍 IDS 监控器 — 入侵检测

### 📡 网络流量 — 实时数据包监控

### 🦠 恶意软件沙箱 — 隔离分析

### 📊 分析结果 — 行为报告

### 🐳 Dockerfile

### 🐳 Docker Compose

### 🚀 启动脚本

## ✨ 功能(5 个核心模块)
### 🔍 模块 1 — 入侵检测系统 (IDS)
- 基于 ML 的异常检测(Isolation Forest,200 棵树)
- 检测类型:DDoS、端口扫描、SQL 注入、暴力破解、C2 Beaconing
- 实时告警信息流,映射 MITRE ATT&CK
- **交互式 ML 预测器** —— 输入特征,获取即时风险预测
### 🦠 模块 2 — 恶意软件沙箱
- 上传任何可疑文件(EXE、DLL、PDF、JAR、ZIP、DOC、PS1...)
- 隔离的 Docker 执行环境:`--network none`、`--memory 256m`、`--read-only`
- 监控:进程树、系统调用、文件写入、注册表、网络调用
- 生成带有 MITRE 标签和风险评分(0–100)的结构化 JSON 报告
### 🔐 模块 3 — Zero Trust 认证
- 基于 JWT 的登录系统
- 基于角色的访问控制:Admin / Analyst
- 管理面板中的设备/IP 追踪
### 📊 模块 4 — 实时仪表盘
- 8 个页面:主页、IDS、网络、威胁情报、上传、结果、日志、管理
- 实时图表:攻击时间线、风险分布、协议细分
- 带有实时连接可视化的动态全球威胁地图
- 所有可视化均使用 Chart.js
### 📡 模块 5 — 日志分析器 + 威胁情报
- 按严重级别解析和筛选系统日志
- 自动映射 12 种 MITRE ATT&CK 技术
- 已知的 C2 IP 信誉数据库
- MITRE ATT&CK 可视化热力图
## 🏗️ 架构
```
Browser (React SPA — 8 pages)
↓ REST API calls
FastAPI Backend (Python 3.11+)
↓
┌───────────────────────────────────────┐
│ IDS Engine ML: Isolation Forest │
│ Sandbox Docker (isolated) │
│ Log Analyzer In-memory DB │
│ Threat Intel MITRE ATT&CK │
└───────────────────────────────────────┘
```
## 🚀 快速入门(3 步)
### 前置条件
```
Python 3.8+ pip (Docker optional — sandbox simulated without it)
```
### 步骤 1 — 安装依赖
```
pip install fastapi uvicorn python-multipart scikit-learn numpy aiofiles --break-system-packages
```
### 步骤 2 — 启动后端
```
python3 backend.py
```
输出:
```
============================================================
🛡️ AI Cyber Defense Platform v2.0
============================================================
🌐 Open: http://localhost:8000
📖 API Docs: http://localhost:8000/docs
👤 Login: admin / admin123
============================================================
```
### 步骤 3 — 打开浏览器
```
http://localhost:8000
```
使用 `admin` / `admin123` 登录
## 📁 项目结构
```
cyberdefense/
├── backend.py ← FastAPI backend (all endpoints + ML + sandbox simulation)
├── index.html ← Complete React SPA (8 pages, all features)
├── docker-compose.yml ← One-command deployment
└── README.md
```
## 📡 API 参考
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| POST | `/api/auth/login` | JWT 认证 |
| GET | `/api/health` | 系统健康状况 + 运行时间 |
| POST | `/api/upload` | 上传文件进行沙箱分析 |
| GET | `/api/analysis/{id}` | 获取分析结果 + 报告 |
| GET | `/api/analyses` | 列出所有分析记录 |
| GET | `/api/network/events` | 实时网络事件流 |
| GET | `/api/ids/events` | IDS 告警信息流 |
| POST | `/api/ids/analyze` | 对特征运行 ML 预测 |
| GET | `/api/logs` | 系统日志(可筛选) |
| GET | `/api/stats` | 仪表盘统计数据 |
| GET | `/api/threat-intel` | 威胁情报数据 |
API 文档 (Swagger UI):`http://localhost:8000/docs`
## 🧠 ML 流水线
```
Behavioral Features (8 per sample)
├─ process_count
├─ network_attempts
├─ file_write_count
├─ sensitive_path_hits
├─ registry_writes
├─ high_rate_syscalls
├─ entropy_score
└─ unique_dst_ips
↓
StandardScaler (normalize)
↓
Isolation Forest (200 trees, contamination=0.05)
↓
Anomaly Score → Risk Score (0–100) → Level (Low/Medium/High/Critical)
```
| 模型 | 算法 | 准确率 | 精确率 | 召回率 |
|-------|-----------|----------|-----------|--------|
| 行为异常 | Isolation Forest (无监督) | ~95% | 93.2% | 94.7% |
| C2 检测 | IP 信誉 + 模式 | 97%+ | 96.1% | 97.3% |
| 持久化 | 注册表 + 启动规则 | 99%+ | 98.4% | 99.1% |
## 🔒 安全模型
### Docker 沙箱标志
```
--network none No network access
--memory 256m Memory capped at 256MB
--cpus 0.5 CPU limited to 50%
--read-only Filesystem read-only
--security-opt no-new-privileges
--cap-drop ALL All Linux capabilities dropped
--tmpfs /tmp:size=64m Writable temp only
--rm Auto-delete on exit
timeout 30 30-second hard limit
```
## 🖥️ 仪表盘页面
| 页面 | URL | 描述 |
|------|-----|-------------|
| 仪表盘 | / | 统计概览,攻击时间线,威胁地图 |
| IDS 监控 | /ids | ML 预测器,攻击类型图表,告警信息流 |
| 网络流量 | /network | 协议图表,实时数据包流 |
| 威胁情报 | /threats | C2 IP,MITRE 热力图 |
| 恶意软件沙箱 | /upload | 带实时进度的文件上传 |
| 分析结果 | /results | 完整的行为报告 |
| 系统日志 | /logs | 可筛选的审计记录 |
| 管理面板 | /admin | 系统健康状况,用户,操作 |
## 🛠️ 技术栈
| 层级 | 技术 | 原因 |
|-------|-----------|-----|
| 前端 | HTML5 + CSS3 + Vanilla JS + Chart.js | 无需构建步骤,即时 SPA |
| 后端 | FastAPI + Python 3.11 | 异步,快速,自动文档,类型安全 |
| ML | Scikit-learn Isolation Forest | 无监督 —— 无需标签即可工作 |
| 沙箱 | Docker (模拟) | 生产环境中的真正隔离 |
| 数据库 | 内存数据库 (可升级至 MongoDB) | 演示阶段零配置 |
| 认证 | JWT + bcrypt | 行业标准 |
## ☁️ 部署选项
### 选项 A — 本地 (演示)
```
python3 backend.py
```
### 选项 B — Docker Compose
```
docker-compose up --build
```
### 选项 C — 免费云服务
| 服务 | 平台 | 费用 |
|---------|----------|------|
| 后端 | Render.com | 免费 |
| 前端 | Vercel.com | 免费 |
| 数据库 | MongoDB Atlas | 免费 (512MB) |
## 📋 路线图
- [x] 带有 ML 引擎的 FastAPI 后端
- [x] Isolation Forest 异常检测
- [x] 进程、网络、文件系统监控
- [x] 8 页 React 仪表盘
- [x] MITRE ATT&CK 行为映射
- [x] 风险评分 (0–100)
- [ ] 真实的 Docker 沙箱执行
- [ ] MongoDB 持久化存储
- [ ] LSTM 序列检测模型
- [ ] VirusTotal API 集成
- [ ] YARA 规则引擎
- [ ] 邮件/Slack 告警
## 👨💻 作者
**B.Tech CSE 毕业设计项目** —— 网络安全与机器学习
结合 AI 驱动威胁检测的全栈 SOC 平台
## 📄 许可证
MIT 许可证 —— 可免费使用、修改和分发。
标签:AI安全运营中心, AI防御平台, AMSI绕过, Apex, AV绕过, C2信标检测, CISA项目, DDoS检测, DevSecOps, DNS通配符暴力破解, Docker沙箱, Elasticsearch, FastAPI, HTTP工具, IP 地址批量处理, Isolation Forest, JWT认证, Mini SOC, MITRE ATT&CK映射, Python, RBAC, React, SQL注入检测, Syscalls, TypeScript, Zero Trust, 上游代理, 事件响应自动化, 免杀技术, 入侵检测系统, 后端开发, 基于角色的访问控制, 威胁情报, 威胁检测, 威胁监控, 安全插件, 安全数据湖, 安全运营中心, 实时仪表盘, 开发者工具, 异常检测, 恶意软件沙箱, 数据可视化, 文件分析, 无后门, 无线安全, 日志关联分析, 暴力破解检测, 机器学习, 深度包检测, 端口扫描检测, 网络安全, 网络安全分析, 网络安全审计, 网络映射, 网络流量分析, 行为监控, 请求拦截, 逆向工具, 隐私保护, 零信任认证