EnvisDrako/SysOptima
GitHub: EnvisDrako/SysOptima
一款融合 C++ 内核事件捕获性能与 Python AI 分析能力的开源 EDR 系统,提供实时威胁检测、图行为分析、自动化响应编排和恶意软件沙箱等端点安全防护功能。
Stars: 1 | Forks: 0
# 🛡️ SysOptima EDR
**一个混合 C++/Python 的端点检测与响应系统**
SysOptima 是一款 EDR 解决方案,它将 C++ 内核事件消费者的原生性能与 Python/AI 后端的分析灵活性相结合。它具备实时威胁检测、基于图的行为分析、自动化响应编排以及用于 AI 训练的安全恶意软件沙箱等特性。
## 🏗️ 系统架构
SysOptima 采用高效的分离式架构设计:
1. **The Sentinel (C++):** 作为系统服务运行的高性能代理。它消费 ETW (Event Tracing for Windows) 事件,执行底层内存扫描,并实施内核级干预(进程终止/挂起)。
2. **The Cortex (Python):** 分析大脑。它通过 Named Pipes 接收事件流,构建动态的 **Threat Graph**,应用 Machine Learning (Isolation Forest/SVM) 进行异常检测,并编排复杂的响应操作。
3. **The Dashboard (Flask/React):** 实时 Web 界面,用于监控进程树、管理隔离区以及可视化攻击向量。
## ✨ 核心特性
### 🔍 高级检测
- **实时 ETW 监控:** 零延迟跟踪进程、文件、注册表和网络事件。
- **内存扫描器 (新增):** 扫描指示 shellcode 或进程注入的 RWX (Read-Write-Execute) 内存区域。包含 **JIT Whitelisting** 功能,以防止在 .NET/Java/浏览器应用程序中产生误报。
- **AI 异常检测:** 使用 `scikit-learn` (Isolation Forest & One-Class SVM) 来识别偏离系统基线的行为。
- **行为模式匹配:** 使用时间事件缓冲区检测复杂的攻击链(例如,勒索软件行为、凭证窃取、横向移动)。
### 🛡️ 自动化响应
- **Trust Engine:** 根据数字签名、来源和行为对进程进行评分,以防止误报。
- **Orchestrator:** 处理“Kill”、“Suspend”和“Tree Terminate”命令。
- **Quarantine Manager (新增):** 通过加密、元数据跟踪和恢复功能,安全地隔离恶意文件。
- **持久化清理:** 自动检测并移除恶意的注册表键 (Run/RunOnce) 和启动文件。
### 🧪 分析与训练
- **动态 Threat Graph:** 实时可视化进程谱系和事件关联。
- **Malware Launcher (新增):** 一个沙箱环境,用于安全地执行恶意软件样本,以收集 AI 训练所需的行为数据。
- **事件数据库:** 基于 SQLite 的日志记录,具备取证查询和时间线重建功能。
## 🚀 安装说明
### 前置条件
- **OS:** Windows 10/11 或 Server 2016+ (x64)
- **Python:** 3.11+
- **Visual Studio:** 2022(带有 C++ Desktop Development 工作负载)
- **权限:** 必须以 **Administrator** 身份运行
### 设置
1. **安装 Python 依赖项:**
Bash
cd SysOptima/Cortex
pip install -r requirements.txt
2. **构建 Sensor:** 在 Visual Studio 中打开 `SysOptima_Sensor.sln`,并在 **Release (x64)** 模式下进行构建。
## 🎮 使用方法
### 模式 1:完整 GUI (推荐)
这将同时启动 Sentinel、Cortex 和 Web Dashboard。
Bash
```
cd SysOptima/Cortex/src
# 启动 orchestrator 脚本
python -c "from main import main; from dashboard import SysOptimaDashboard; from database import EventDatabase; import queue; from main import AIObserver, ThreatGraph; db = EventDatabase(); ai = AIObserver(); cmd_q = queue.Queue(); graph = ThreatGraph(cmd_q, ai, db); dash = SysOptimaDashboard(graph, ai, db); dash.run()"
```
- **访问 Dashboard:** 打开 `http://localhost:8050`
### 模式 2:Headless / 控制台
在没有 Web 服务器的情况下运行后端。适用于低资源服务器。
Bash
```
cd SysOptima/Cortex/src
python main.py
```
**键盘控制:**
- `[T]`:开始/停止 AI 训练
- `[S]`:保存 AI 模型
- `[L]`:加载 AI 模型
- `[M]`:切换模式 (Production/Smart/Learning)
## ⚙️ 配置
配置通过 `sysoptima_config.json` 进行管理。关键部分包括:
- **Detection:** 切换内存扫描,设置扫描间隔。
- **Trust:** 配置信任阈值以避免误报。
- **Response:** 启用/禁用自动终止 (Auto-Kill) 和隔离。
- **Malware Launcher:** 配置沙箱路径和隔离级别。
示例 `sysoptima_config.json`:
JSON
```
{
"detection": {
"memory_scan_enabled": true,
"memory_scan_interval_ms": 10000
},
"response": {
"auto_kill_enabled": true,
"quarantine_path": "C:\\SysOptima_Quarantine"
}
}
```
## 🔮 路线图与未来计划
当前版本(阶段 2)代表了一个完整的独立 EDR。以下功能计划在阶段 3 及以后实施:
### 阶段 3:增强取证 (2026 年第二季度)
- **Threat Intelligence Feeds:** 集成 AbuseIPDB 和 MalwareBazaar API,用于实时哈希/IP 信誉查询。
- **详细报告:** 自动生成 PDF/HTML 事件报告,以满足合规要求。
- **YARA 集成:** 在内存扫描器中支持自定义 YARA 规则,以检测特定的恶意软件家族。
### 阶段 4:企业级可扩展性 (2026 年第四季度)
- **Client-Server 架构:** 从独立的 SQLite 迁移到集中式的 PostgreSQL 服务器,以管理多个端点。
- **Remote Management:** 基于WebSocket的远程 shell 和来自中央控制台的修复命令。
- **SIEM 集成:** 通过 Syslog/JSON 将日志原生转发到 Splunk 或 ELK Stack。
### 阶段 5:内核驱动 (2027)
- **Kernel Callback 保护:** 将保护从 User-mode (ETW) 转移到 Kernel-mode (ELAM Driver),以防止 EDR 本身被 rootkits 致盲。
- **Network Filtering:** 实施 WFP (Windows Filtering Platform) 驱动程序以提供防火墙功能。
## ⚠️ 免责声明
SysOptima 包含强大的功能,包括进程终止和文件删除。
- **谨慎运行:** 在启用“Production”模式自动终止之前,请务必在“Learning”或“Smart”模式下进行测试。
- **Malware Launcher:** **仅在**专用虚拟机中使用 Malware Launcher 模块。切勿在主机生产机器上执行真实的恶意软件。
标签:Apex, C++, C++内核, EDR, ETW, Flask, JSONLines, PE 加载器, Python, React, SVM, Syscalls, 人工智能, 内存扫描, 威胁图谱, 威胁情报, 子域名枚举, 安全仪表盘, 安全运营, 开发者工具, 异常检测, 引擎, 微隔离, 恶意软件沙箱, 扫描框架, 数字签名验证, 数据擦除, 无后门, 机器学习, 杀毒, 混合架构, 用户模式Hook绕过, 系统安全, 终端检测与响应, 网络安全, 脆弱性评估, 自动化响应, 逆向工具, 隐私保护, 隔离森林, 零信任