Chege-N/GeoIDS
GitHub: Chege-N/GeoIDS
GeoIDS 是一个开源入侵检测系统,利用几何代数在不解密的情况下实时检测加密流量中的零日漏洞。
Stars: 0 | Forks: 0
# GeoIDS — 加密流量中零日漏洞的超维度异常检测
[](LICENSE)
[](https://python.org)
[]()
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集成, 入侵检测系统, 共形几何代数, 加密流量分析, 在线学习, 多线性关系, 多线性关系建模, 安全数据湖, 实时异常检测, 异常评分, 无解密分析, 机器学习在安全中的应用, 网络安全, 超维度计算, 逆向工具, 隐私保护, 零日攻击检测