ties2/Federated-Learning-AISecurity
GitHub: ties2/Federated-Learning-AISecurity
一个研究级的联邦学习安全框架,实现了多种梯度泄露攻击与防御机制,用于评估和缓解去中心化机器学习中的隐私泄露风险。
Stars: 1 | Forks: 0
# 联邦学习安全、梯度泄露攻击与防御
一个完整的、研究级别的**梯度泄露攻击**与**防御**的联邦学习系统实现。专为安全工程师、ML 研究人员和红队成员构建。
联邦学习安全旨在保护去中心化机器学习免受数据泄露、恶意模型操纵和隐私破坏。
```
┌─────────────────────────────────────────────────────┐
│ Federated Learning Threat Model │
│ │
│ Client A ──┐ │
│ ├──► Aggregator (Malicious?) ──► Model │
│ Client B ──┘ │ │
│ │ leaks gradients │
│ ▼ │
│ Attacker reconstructs │
│ private training data │
└─────────────────────────────────────────────────────┘
```
## 项目结构
```
fl-security/
├── src/
│ ├── attacks/
│ │ ├── dlg_attack.py # Deep Leakage from Gradients (DLG)
│ │ ├── idlg_attack.py # Improved DLG
│ │ └── gradient_inversion.py # Advanced GradInversion
│ ├── defenses/
│ │ ├── dp_sgd.py # Differential Privacy (DP-SGD)
│ │ ├── gradient_compression.py# Top-k sparsification
│ │ ├── secure_aggregation.py # SecAgg protocol
│ │ └── gradient_clipping.py # Norm clipping
│ ├── simulation/
│ │ ├── fl_server.py # FL Server (honest/malicious)
│ │ ├── fl_client.py # FL Client
│ │ └── federation.py # Full simulation runner
│ └── utils/
│ ├── metrics.py # PSNR, SSIM, MSE
│ └── visualizer.py # Attack result visualization
├── tests/
│ ├── test_attacks.py
│ └── test_defenses.py
├── notebooks/
│ └── demo.ipynb
├── requirements.txt
└── README.md
```
## 已实现的攻击场景
### DLG — Deep Leakage from Gradients
通过梯度匹配优化,从共享的梯度中重构出私有图像和标签。
### iDLG — Improved DLG
在重构之前分析提取出真实的标签——速度更快且更可靠。
### GradInversion
结合了正则化项(总变分、batch normalization 统计信息)进行批次级重构的 SOTA 攻击。
## 已实现的防御机制
| 防御机制 | 原理 | 隐私保障 |
|---------|-----------|-------------------|
| DP-SGD | 高斯噪声 + 裁剪 | (ε, δ)-DP |
| 梯度压缩 | Top-k 稀疏化 | 无正式保障 |
| Secure Aggregation | 密码学掩码 | 计算安全性 |
| 梯度裁剪 | L2 范数限制 | 部分保障 |
## 快速开始
```
# 安装依赖项
conda create --name FLsecurity python=3.12
conda activate FLsecurity
pip install -r requirements.txt
# 运行完整攻击模拟
python -m src.simulation.federation --attack dlg --defense none
# 运行 DP 防御
python -m src.simulation.federation --attack dlg --defense dp_sgd --epsilon 1.0
# 运行所有防御基准测试
python -m src.simulation.federation --benchmark
```
## 📊 预期结果
无防御机制 → DLG 重构出的图像 **PSNR > 30 dB**(接近完美)。
采用 DP (ε=1.0) → 重构质量下降至 **PSNR < 10 dB**(完全是无用噪点)。
## ⚠️ 道德规范
本代码库**仅用于防御性安全研究**。
所有攻击实现旨在帮助工程师理解并缓解真实的威胁。
标签:Apex, NoSQL, 人工智能安全, 凭据扫描, 合规性, 差分隐私, 机器学习, 梯度泄露攻击, 网络安全, 联邦学习, 逆向工具, 隐私保护