Fnc-Jit/Gods-Eye

GitHub: Fnc-Jit/Gods-Eye

一款企业级 AI 驱动的入侵检测与 SIEM 平台,结合多机器学习模型检测引擎、行为分析和自动化响应,为 SOC 团队提供实时威胁检测与安全运营能力。

Stars: 0 | Forks: 0

Status Rust Go Kafka ClickHouse Docker React Platform

# God's Eye — 下一代 IDS 与 SIEM 平台 👁️ **God's Eye** 是一个从零开始构建的下一代入侵检测系统 (IDS) 和安全信息与事件管理 (SIEM) 平台。专为企业 SOC 团队和政府/国防机构设计,它以轻量级、自适应且取证完整的安防平台,取代了 Splunk Enterprise Security 和 Security Onion 等传统系统。 ## 🏛️ 八大核心架构支柱 1. **混合 ML 检测引擎** — XGBoost、Autoencoder、LSTM,通过校准的 Bayesian 集成进行组合。 2. **主动 IPS 响应** — 自动阻断、firewall 规则注入、VLAN 隔离、BGP 黑洞以及 SOAR playbook。 3. **God's Eye 查询语言 (GEQL)** — 兼容 SQL 的搜索,带有时间序列安全运算符。 4. **从 v1 起支持完全的 MSSP 多租户** — 租户隔离的数据、RBAC、基线和计费。 5. **三级存储** — ClickHouse (热)、TimescaleDB (温)、S3 Parquet (冷),具备 Merkle 链式 SHA-256 完整性。 6. **选择性 PCAP** — 由告警触发并通过 5-tuple 索引的数据包捕获,实现亚秒级检索。 7. **行为分析** — 实体信任评分、CUSUM 漂移检测以及 Apache AGE 图谱关联。 8. **原生欺骗层** — Honeytoken 和 honeyport,作为近乎零误报的数据源。 ## 🏗️ 系统架构 (10 层) ``` ┌──────────────────────────────────────────────────────────────────────────────┐ │ God's Eye SIEM Platform │ ├──────────────────────────────────────────────────────────────────────────────┤ │ │ │ L1 Collection ge-sensor (Rust) + ge-agent (Go) │ │ L2 Ingestion Apache Kafka (RF=3, acks=all, Schema Registry) │ │ L3 Parsing Custom parser engine (Go) + GES Schema validation │ │ L4 Enrichment GeoIP, TI feeds, MITRE ATT&CK, CMDB (Go) │ │ L5 Storage ClickHouse (hot) / TimescaleDB (warm) / S3 (cold) │ │ L6 Detection XGBoost + Autoencoder + LSTM + Sigma (ensemble) │ │ L7 Correlation Apache AGE entity graph + GEQL engine │ │ L8 Response IPS module + SOAR playbook runner │ │ L9 Investigation GEQL search, PCAP retrieval, case manager │ │ L10 Platform Kubernetes, Cilium mTLS, multi-tenant RBAC │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Web Dashboard│ │ Mobile App │ │ ge-desktop │ │ ge CLI │ │ │ │ React + Vite │ │ Expo SDK 55 │ │ Tauri + React│ │ `ge` cmd │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ └──────────────────────────────────────────────────────────────────────────────┘ ``` ``` graph TD subgraph L1_L4 [Layer 1-4: Collection & Processing] S[ge-sensor
Rust] -->|Raw packets, Flows| K A[ge-agent
Go] -->|Host & Cloud Logs| K K[Apache Kafka
Ingestion Bus] --> P[Parser Engine
Auto-Detect] P --> E[Enrichment
GeoIP, IOC, AD, MITRE] end subgraph L5 [Layer 5: Storage Tier] E --> CH[(ClickHouse
Hot - 30d)] E --> TS[(TimescaleDB
Warm - 90d)] E --> S3[(S3 Parquet
Cold - 7y)] end subgraph L6_L8 [Layer 6-8: Detection & Response] E --> ML[ML Ensemble
XGBoost + Autoencoder + LSTM] E --> SIGMA[Sigma Rules] ML --> COR[Correlation
Apache AGE Entity Graph & GEQL] SIGMA --> COR COR --> IPS[Response Module
IPS & SOAR Playbooks] end subgraph UI [Layer 9-10: Interfaces & Platform] WEB[Web Dashboard
React 18 + Vite] MOB[Mobile App
Expo SDK 55] DESK[ge-desktop
Tauri] CLI[ge CLI Terminal] end COR -.-> UI UI -.-> CH ``` ## 🛡️ Agent 与采集层深度解析 God's Eye 在第 1 层依赖于强大的三组件采集与管理层。*(结构参考:[gods_eye_agents.html](./gods_eye_agents.html))* ### 1. `ge-sensor` (网络数据包捕获与 IDS/IPS) `ge-sensor` 是用 Rust 编写的高性能网络守护进程。它通过单个轻量级二进制文件执行深度数据包检测、双向 flow 追踪以及 inline/被动模式的 IPS。 - **语言与后端:** Rust(`libpcap`、`AF_PACKET`、计划支持 `AF_XDP`) - **部署方式:** Network TAP、SPAN Port 或 Inline 执行 - **核心功能:** - **Raw Packet Capture:** 高度优化;在被动模式下需 <20MB 内存。支持由告警触发的选择性 PCAP 捕获,以节省存储空间。 - **Protocol Dissection:** 实时解码 TCP、UDP、DNS、HTTP、TLS(包括 JA3/JA4 指纹)、NTP、DHCP 以及关键的 OT 协议,如 Modbus、DNP3、BACnet 和 EtherNet/IP。 - **Flow Tracking & ML:** 追踪多达 100,000 个并发的 5-tuple 双向 flow,并带有 LRU 淘汰机制。为上游 ML 集成提取每个 flow 的 14 个特定 ML 特征(例如 `conn_rate`、`dns_entropy`、`traffic_asymmetry`)。 - **IPS Engine:** 在 Tap(被动)或 Inline(主动拦截)模式下运行,具有内置规则(例如 SYN scan、XMAS scan、未授权的 Modbus 写入)。 - **内置 Dashboard:** 在 `:9090` 端口提供嵌入式 Web UI,用于实时统计、Wireshark 风格的数据包检测以及配置编辑。 - **[阅读更多](./ge-sensor/README.md)** ### 2. `ge-agent` (主机遥测与日志采集) `ge-agent` 是一个基于 Go 的主机遥测 agent 和本地 `ge-sensor` 管理器。它负责收集分散的日志,并在将其发送到 Kafka 之前将其标准化为 God's Eye Event Schema (GES) JSON 事件。 - **语言:** Go (Goroutine 并发) - **部署环境:** Windows、Linux 和 macOS 服务器、端点以及云 VM - **核心功能:** - **广泛的输入支持:** Windows Event Log/Sysmon、Syslog UDP 输入、针对已配置路径的文件追踪(轮询)以及 HTTP webhook 接收。 - **云与 SaaS 集成:** 提供 AWS CloudTrail、Azure AD、GCP Audit、Okta、GitHub 和 Slack 日志的模块。 - **容器与 DB 审计:** 原生采集 Docker/Kubernetes pod 日志,并追踪 PostgreSQL/MySQL 审计日志。 - **有界队列与弹性:** 具有内部有界队列(达到 200 个事件或 5 秒时刷新)和基于本地 RocksDB 的 Dead Letter Queue (DLQ),支持 7 天的缓冲,以防止 Kafka 宕机期间的数据丢失。 - **Sensor 管理:** 可以抓取受管 `ge-sensor` 端点,将网络数据源无缝合并到主采集队列中。 - **[阅读更多](./ge-agent/README.md)** ### 3. `ge-desktop` (SOC 分析师工作站应用) `ge-desktop` 应用是 SOC 分析师的战术控制平面。它**不是**数据采集器,而是一个本地化管理界面。 - **语言:** Tauri (Rust 后端) + React (前端) - **部署环境:** SOC 分析师桌面 - **核心功能:** - **Pipeline 可视化:** 可视化整个数据接入和 ML pipeline 的健康状态。 - **本地 Agent 管理:** 提供启动、停止和重启本地 `ge-sensor` 及 `ge-agent` 进程的能力。 - **日志探索:** 包含 GEQL 快速搜索界面和近期事件查看器。 - **配置:** 带有验证和诊断导出功能的本地配置编辑器。 ## 🔍 日志分析器与 Pipeline 工作流 God's Eye 具有通用的日志接入、解析和分析 pipeline,旨在自动检测输入格式并支持十余种解析器。 ``` flowchart LR Sources((Log Sources)) --> Kafka[Kafka Ingestion\nRF=3, acks=all] Kafka --> Parser[Parser Engine\n14+ Auto-detect Parsers] Parser --> Normalizer[GES Normalizer] Normalizer --> Enrichment[Enrichment Pipeline\nGeoIP/IOC/CMDB] Enrichment --> Storage[(3-Tier Storage)] Enrichment --> ML[ML Ensemble] Enrichment --> Sigma[Sigma Rules] ML --> Correlation((Correlation Graph\nApache AGE)) Sigma --> Correlation Correlation --> Alerts[Alerts & PCAP Trigger] Alerts --> SOAR[SOAR / IPS Module] ``` ## 🧠 ML 检测引擎 (4 层集成) God's Eye 超越了传统的静态规则,采用了 4 层 ML 集成,最终汇聚为一个校准的 Bayesian Risk Score。 1. **XGBoost (监督式):** 梯度提升树,利用由 `ge-sensor` 提取的 14 个实时 flow 特征(例如 `conn_rate`、`dns_entropy`、`beaconing_score`、`traffic_asymmetry`、`off_hours_pct`)。 2. **Deep Autoencoder (无监督):** 基于 PyTorch 的异常检测,学习正常流量分布,对抗对抗性漂移进行锚定,并为冷启动设置全局先验。 3. **LSTM 序列检测:** 双向 LSTM,追踪每个实体的 32 事件滑动窗口,以检测复杂的时间攻击模式。 4. **Sigma 规则与威胁情报:** 确定性规则匹配,结合动态 TI 数据源(AbuseIPDB、OTX、MISP)和欺骗机制(honeytoken/port)。 ### 实体信任区间 | 信任 | 级别 | 操作 | |-------|-------|--------| | 85–100 | **TRUSTED** | 正常监控 | | 65–84 | **LOW** | 提级监控 | | 40–64 | **MEDIUM** | 告警 + 审查 | | 20–39 | **HIGH** | 隔离 + 调查 | | 0–19 | **CRITICAL** | 隔离 + 触发 SOAR playbook | ## 🔎 God's Eye 查询语言 (GEQL) God's Eye 查询语言 (GEQL) 提供兼容 SQL 的搜索,以及用于高级威胁狩猎的强大安全专用时间运算符。 ``` -- Find failed logins followed by privilege escalation within 5 minutes SEQUENCE OF (event_action = 'login_failed') FOLLOWED BY (event_action = 'privilege_escalation') WITHIN 5m CORRELATE BY user.id -- Baseline deviation query to spot anomaly spikes SELECT * FROM ge_events WHERE BASELINE_DEVIATION(conn_rate) > 3.0 AND timestamp > NOW() - INTERVAL '1 hour' ``` ## 💻 平台与应用 ### Web Dashboard - **技术栈:** React 18、TypeScript、Vite 6、TailwindCSS 4、Recharts。 - **规模:** 17 个综合视图,包括使用 Apache AGE 的实时拓扑图、合规态势以及交互式 CLI 终端。 ### 移动端 App - **技术栈:** Expo SDK 55、React Native 0.83。 - **规模:** 16 个视图,配备针对关键告警的安全推送通知、远程设备隔离以及随时随地的案例管理功能。 ### `ge` 命令行界面 - 提供 14 个不同的命令类别,可通过 Web、移动端和独立 shell 访问。包括实时日志追踪(`ge logs tail`)、威胁情报查询(`ge ti check`)和系统健康状态。 ## 🏆 竞争优势 | 功能 | Splunk ES | Security Onion | Microsoft Sentinel | **God's Eye** | |---------|-----------|---------------|--------------------|---------------| | **混合 ML** | 部分 | 部分 | 仅限云端 | **原生 4 层集成** | | **主动 IPS** | 通过 SOAR 插件 | 仅限 Suricata | 通过 Logic Apps | **原生 IPS + SOAR** | | **搜索** | SPL (专有) | OpenSearch DSL | KQL | **GEQL (SQL + 安全)** | | **多租户** | 仅限企业版 | 否 | Azure AD | **完全的 MSSP v1** | | **PCAP** | 否 | 始终开启 | 否 | **选择性 (由告警触发)** | | **日志完整性** | 插件 | 否 | Azure WORM | **原生 Merkle 链** | | **欺骗防御** | 否 | 否 | 否 | **原生 honeytoken v1** | ## 🚀 当前状态与目标指标 God's Eye MVP 前端组件目前已完成并进行全面设计(mock 层),ML 基线已训练完毕。后端服务(Go 微服务、Rust 守护进程、Kafka 总线、存储层)正在积极开发中。 ### 评估目标 - **精确率:** ≥ 88% (阶段 3 目标:≥ 92%) - **召回率:** ≥ 85% (阶段 3 目标:≥ 90%) - **误报率:** ≤ 12% (阶段 3 目标:≤ 5%) - **检测时间:** ≤ 60s (阶段 3 目标:≤ 30s) ## 📂 项目结构与参考资料 *如需深入了解平台的愿景、数据流和组件,请参考以下架构文档:* - 📄 **[Gods_Eye_Project_Summary.md](./Gods_Eye_Project_Summary.md)** — 完整的高管摘要、架构和 ML 规格。 - 📄 **[log_analyzer_workflow.md](./log_analyzer_workflow.md)** — 详细的日志解析、GES schema 和 SIEM pipeline 设计。 - 📄 **[gods_eye_agents.html](./gods_eye_agents.html)** — Agent 架构可视化的 UI 参考与布局。 ### 活跃组件 - **[ge-sensor/](./ge-sensor/)** — 基于 Rust 的高性能网络捕获与 IDS/IPS 守护进程。([README](./ge-sensor/README.md)) - **[ge-agent/](./ge-agent/)** — 基于 Go 的主机遥测 agent 和本地 ge-sensor 管理器。([README](./ge-agent/README.md)) - **[Mobile/](./Mobile/)** — 使用 Expo 和 React Native 构建的 Sentinel 移动应用。([API 需求](./Mobile/req.md))

God's Eye 洞悉一切,关联一切,回应一切。没有盲点,没有授权墙,没有黑盒。

标签:ClickHouse, Rust, 入侵检测系统, 可视化界面, 子域名突变, 安全数据湖, 安全运营中心, 日志审计, 网络映射, 网络流量审计, 自动化攻击, 请求拦截, 软件成分分析, 逆向工具