Tanvi-Badghare/distributed-dwaf-capstone-project
GitHub: Tanvi-Badghare/distributed-dwaf-capstone-project
一个结合零知识证明、分布式共识与机器学习的实验性分布式 WAF 架构,实现了隐私保护的多节点协作威胁检测与情报共享。
Stars: 0 | Forks: 0
# 分布式 Web 应用防火墙 (DWAF)
## 概述
DWAF 是一种联合安全架构,结合了:
- 跨分布式流量流的**基于机器学习的异常检测**
- 用于隐私保护威胁验证的**零知识密码学证明** (Groth16/BN254)
- 用于多节点威胁共识的**分布式验证器共识**
- **STIX 2.1 / TAXII 2.1** 威胁情报共享
DWAF 能够跨多个节点实现协作式威胁检测,同时通过隐私保护的证明生成和结构化情报分发来保护敏感流量数据。
## 架构
DWAF 作为多阶段安全管道运行:

| 阶段 | 组件 | 描述 |
|-------|-----------|-------------|
| 1 | **ML Detection** | 分布式流量流的集成异常检测 |
| 2 | **ZKP Attestation** | 不暴露原始特征的恶意推理 Groth16 证明 |
| 3 | **Validator Voting** | 跨独立验证器节点的基于阈值多数投票 |
| 4 | **Threat Intelligence** | 通过 TAXII 2.1 集合分发的 STIX 2.1 对象 |
| 5 | **Adaptive Mitigation** | 已验证的威胁更新执行规则并重新训练本地模型 |
## 核心组件
### 🔍 ML 检测器 (`ml-detector/`)
- 集成异常检测 — Isolation Forest + Random Forest
- 实时特征提取和推理
- 通过反馈循环进行自适应模型重训练
### 🔐 ZKP 层 (`zkp-layer/`)
- 基于 BN254 曲线的 Groth16 零知识证明系统
- 用于特征向量的 Poseidon 哈希承诺
- 在不暴露原始流量数据的情况下证明恶意推理
- 使用 Rust 编写
### 🗳 Validator 网络 (`validator-network/`)
- 使用 Go 编写的分布式共识协议
- 跨验证器节点的独立 ZKP 验证
- 基于阈值的多数投票
### 🌐 TAXII 服务器 (`taxii-server/`)
- STIX 2.1 威胁对象编码
- TAXII 2.1 集合分发
- 标准化情报分发
### 🔄 反馈服务 (`feedback-service/`)
- 持续模型重训练循环
- 基于已验证威胁的 WAF 规则自适应
### 🎯 Orchestrator (`orchestrator/`)
- 基于 Go 的管道协调器
- 服务健康管理和路由
## 技术栈
| 层级 | 技术 |
|-------|------------|
| ZKP | Rust — Groth16 (BN254), Poseidon |
| ML | Python — scikit-learn, Flask |
| 编排 | Go |
| 威胁情报 | STIX 2.1 / TAXII 2.1 |
| 基础设施 | Docker / Docker Compose |
## 快速开始
**前置条件:** Docker, Docker Compose, Make
```
# 1. 构建所有服务
make build
# 2. 启动核心服务
make up
# 3. 运行完整集成
make up-all
# 4. 检查健康状态
make health
# 5. 运行 demo
make demo
```
## 项目结构
```
dwaf_capstone_project/
├── ml-detector/ # Python ML anomaly detection service
├── zkp-layer/ # Rust ZKP proof generation and verification
├── validator-network/ # Go distributed consensus and voting
├── orchestrator/ # Go pipeline coordinator
├── taxii-server/ # Python STIX/TAXII threat intelligence
├── feedback-service/ # Python adaptive model retraining
├── config/ # Shared configuration and ZKP parameters
├── scripts/ # Build and deployment automation
├── tests/ # Integration and unit tests
└── docs/ # Architecture documentation
```
## 作者与贡献
| 贡献者 | 角色 |
|-------------|------|
| **Tanvi Badghare** | 系统架构,ZKP Layer (Groth16),分布式验证流程 |
| **Aditi Pandey & Anjali** | ML 异常检测模型 (Isolation Forest, Random Forest) |
| **Jivesh Rai** | STIX 2.1 / TAXII 2.1 威胁情报模块 |
| **Anshul** | 技术文档和仓库组织 |
## 研究背景
DWAF 是一项将以下技术结合的实验性探索:
- 隐私保护密码学 (ZKP)
- 分布式验证和共识
- 标准化网络威胁情报
- 联合异常检测
整合为一个统一的分布式 WAF 架构。
## 路线图
- [ ] `ml-detector/README.md` — 模型训练和评估文档
- [ ] `zkp-layer/README.md` — 电路设计和证明系统文档
- [ ] `validator-network/README.md` — 共识协议文档
- [ ] `docs/DEPLOYMENT.md` — 生产部署指南
- [ ] 可信设置仪式文档
- [ ] 证明生成延迟的基准测试套件
## ⚠️ 安全与密钥管理声明
- ZKP 参数和加密密钥仅用于**演示和测试**
- 生产级别的可信设置和安全密钥存储**尚未实现**
- `config/zkp-params.json` 仅包含配置 — 不包含真实的加密材料
- 敏感密钥材料 (`*.bin`) 已通过 `.gitignore` 排除在版本控制之外
标签:Apex, AppImage, Burp项目解析, CISA项目, Go, Groth16, Ruby工具, Rust, STIX, TAXII, WAF, Web应用防火墙, ZKP, 共识算法, 分布式安全, 分布式系统, 区块链技术, 可视化界面, 响应大小分析, 威胁情报, 威胁验证, 孤立森林, 密码学, 开发者工具, 异常检测, 手动系统调用, 拜占庭容错, 日志审计, 机器学习, 网络安全, 网络流量审计, 自适应防御, 请求拦截, 逆向工具, 随机森林, 隐私保护, 隐私计算, 集成学习, 零知识证明