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, 人工智能安全, 凭据扫描, 合规性, 差分隐私, 机器学习, 梯度泄露攻击, 网络安全, 联邦学习, 逆向工具, 隐私保护