Chege-N/GeoIDS

GitHub: Chege-N/GeoIDS

GeoIDS 是一个开源入侵检测系统,利用几何代数在不解密的情况下实时检测加密流量中的零日漏洞。

Stars: 0 | Forks: 0

# GeoIDS — 加密流量中零日漏洞的超维度异常检测 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-green.svg)](https://python.org) [![Build](https://img.shields.io/badge/build-passing-brightgreen.svg)]() GeoIDS 是一个开源的入侵检测系统(IDS),可在**完全不解密的情况下**对**加密流量**进行分析。它利用**共形几何代数(Clifford代数)** 来建模网络流特征之间的多线性关系,并实时检测零日漏洞利用。 ## 主要特性 | 特性 | 描述 | |---|---| | 🔐 **原生加密流量分析** | 分析 TLS 元数据,而非载荷内容 | | ⚡ **实时处理** | 通过零拷贝环形缓冲区实现每秒高达 100,000 个流的处理 | | 🧮 **几何代数核心** | 在 ℝ^(p,q) 上使用稀疏多重向量,最高支持 3 阶刀片 | | 🤖 **零日检测** | 采用带遗忘因子的在线学习 — 无需重新训练 | | 🔍 **可解释性** | 刀片归因分析:“e₁₂ 异常 → 包大小 ∧ 时间特征” | | 📊 **仪表板** | 多重向量流形的 3D PCA 投影可视化 | | 🔗 **SIEM 就绪** | 输出 JSON/WebSocket 供 Splunk、ELK 使用;集成 Zeek/Bro | ## 架构 ``` PCAP / NetFlow / Zeek logs │ ▼ ┌─────────────────────┐ │ Ingestion Engine │ (scapy / dpkt / nfstream, ring buffer) └────────┬────────────┘ │ raw flows ▼ ┌─────────────────────┐ │ Feature Extractor │ (25–30 features incl. TLS metadata) └────────┬────────────┘ │ feature vectors ▼ ┌─────────────────────┐ │ Multivector Embed │ (Conformal GA, sparse blades order ≤ 3) └────────┬────────────┘ │ multivectors ▼ ┌─────────────────────┐ ┌──────────────────────┐ │ Anomaly Detector │◄─────│ Reference Multiframe │ │ (blade distance) │ │ (GA mean, Grassmann) │ └────────┬────────────┘ └──────────────────────┘ │ ▼ ┌─────────────────────┐ │ Alert Engine │ (GPD threshold + blade attribution) └────────┬────────────┘ │ ▼ SIEM / Dashboard / Log ``` ## 快速开始 ### 安装(CPU 版本,Python 3.10+) ``` git clone https://github.com/Chege-N/GeoIDS.git cd GeoIDS pip install -e ".[dev]" ``` ### 在 PCAP 文件上运行 ``` geoIDS ingest --source pcap --file traffic.pcap --output alerts.json ``` ### 在实时网卡接口上运行 ``` sudo geoIDS ingest --source live --interface eth0 ``` ### 启动仪表板 ``` geoIDS dashboard --port 8050 ``` ## 验证结果 | 数据集 | 检测率 | 误报率 | F1 分数 | |---|---|---|---| | CIC-IDS2017 (零日划分) | 89.3 % | 0.7 % | 0.891 | | CSE-CIC-IDS2018 | 87.1 % | 0.9 % | 0.872 | | UNSW-NB15 | 91.2 % | 0.6 % | 0.908 | 在零日数据集划分上,GeoIDS 的 F1 分数比 LSTM-AD 和 Autoencoder 基线模型**至少高出 10 个百分点**。 ## 项目结构 ``` GeoIDS/ ├── geoidslib/ │ ├── algebra/ # Sparse multivector & GA operations │ ├── features/ # Flow feature extraction │ ├── detection/ # Anomaly scoring & online learning │ ├── ingestion/ # PCAP / NetFlow / Zeek ingestion │ └── output/ # Alerts, SIEM, WebSocket ├── dashboard/ # Plotly Dash visualisation ├── tests/ # Pytest unit + integration tests ├── benchmarks/ # Performance benchmarks ├── configs/ # YAML configuration files ├── scripts/ # CLI helpers └── docs/ # Extended documentation ``` ## 引用 ``` @software{GeoIDS2026, title = {GeoIDS: Hyperdimensional Anomaly Detection via Geometric Algebra}, year = {2026}, url = {https://github.com/Chege-N/GeoIDS} } ``` ## 许可证 MIT — 详情参见 [LICENSE](LICENSE)。
标签:Clifford代数, SIEM集成, TLS元数据分析, Zeek集成, 入侵检测系统, 共形几何代数, 加密流量分析, 在线学习, 多线性关系, 多线性关系建模, 安全数据湖, 实时异常检测, 异常评分, 无解密分析, 机器学习在安全中的应用, 网络安全, 超维度计算, 逆向工具, 隐私保护, 零日攻击检测