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绕过, 系统安全, 终端检测与响应, 网络安全, 脆弱性评估, 自动化响应, 逆向工具, 隐私保护, 隔离森林, 零信任