chandana0200/Adversarial-Machine-Learning-Red-Team-Blue-Team-Security-Evaluation
GitHub: chandana0200/Adversarial-Machine-Learning-Red-Team-Blue-Team-Security-Evaluation
对基于CNN的人脸识别系统进行红蓝队对抗机器学习安全评估,涵盖模型窃取、对抗攻击、迁移性测试及对抗训练防御。
Stars: 0 | Forks: 0
# 对抗机器学习 — 红队 / 蓝队安全评估
作为贝尔法斯特女王大学应用网络安全硕士 **ELE8100 CyberAI** 模块的一部分而构建。
## 概述
本项目对基于 CNN 的人脸识别访问控制系统“FaceGuard”进行了全面的**红队 / 蓝队安全评估**。它模拟了攻击者可能对已部署的 AI 模型发起的现实世界攻击,随后针对这些攻击实现并测试了防御策略——这反映了在现实安全评估中 AI 系统如何进行压力测试。
## 项目结构
### 🔴 红队
**1. 模型窃取(黑盒攻击)**
通过查询受害模型并使用其预测标签作为训练数据(而不需要任何对受害者架构或权重的访问权限),训练了一个代理 CNN。通过使用更大的查询集、完整的可用训练分区以及更强大的代理架构,进一步改进了该攻击。
**2. 对抗攻击(针对代理模型的白盒攻击)**
在拥有对代理模型的白盒访问权限的情况下,实现了两种对抗攻击方法:
- **FGSM (Fast Gradient Sign Method)** — 一种单步攻击,沿着损失梯度的方向扰动输入图像
- **PGD (Projected Gradient Descent)** — 一种更强的迭代攻击,在 epsilon 范围限制内进行多次基于梯度的更新
这两种攻击都在一系列 epsilon(扰动强度)值下进行了评估,并执行了**定向冒充攻击**,以迫使模型将未经授权的个体误分类为授权用户(CEO,ID = 0)。
**3. 可迁移性攻击**
测试了在代理模型上生成的对抗样本是否也能欺骗原始受害模型——这模拟了一种现实中的黑盒场景,即攻击者从未直接拥有对受害者梯度的访问权限。测量了无目标攻击和定向攻击的迁移成功率。
### 🔵 蓝队
**4. 对抗训练防御**
设计了一种防御策略来提高受害模型的鲁棒性:
- 从预训练的 FaceGuard 模型开始
- 冻结卷积特征提取器和 BatchNorm 统计数据
- 仅微调分类器层
- 在混合的干净样本和 FGSM 对抗样本上进行训练
## 主要结果
| 指标 | 结果 |
|---|---|
| 代理模型准确率(改进后) | 通过更大的查询集 + 更强的架构得到了显著提高 |
| FGSM 攻击有效性 | 当 epsilon > 0.05 时,模型准确率下降至约 1% |
| PGD 攻击有效性 | 在较高的 epsilon 值下,模型准确率下降至 0%(比 FGSM 更强) |
| 对抗训练防御 | 在保持干净准确率的同时,提高了对 FGSM 的鲁棒性;**PGD 攻击仍然成功**,表明防御仅部分有效 |
## 核心结论
- FGSM 和 PGD 对未防御的 CNN 模型都非常有效,并且由于 PGD 的迭代性质,其效果始终优于 FGSM。
- 对抗样本可以在模型之间迁移,这意味着攻击者不需要对实际部署的系统拥有白盒访问权限即可破坏它。
- 对抗训练提供了有意义但**有限的**保护——它增强了模型抵御 FGSM 的能力,但未能完全抵御更强的 PGD 攻击,凸显了构建鲁棒 ML 安全防御所面临的持续挑战。
## 技术栈
- **语言:** Python
- **框架:** PyTorch
- **技术:** 卷积神经网络 (CNN)、模型提取、FGSM、PGD、对抗训练
## 作者
Chandana Saligrama Perumal
标签:人工智能安全, 人脸识别系统, 凭据扫描, 卷积神经网络, 合规性, 安全助手, 对抗样本攻击, 模型窃取, 逆向工具