parasnmahajan00-creator/Fairwashing-in-Malware-Detection
GitHub: parasnmahajan00-creator/Fairwashing-in-Malware-Detection
该项目首次在恶意软件检测领域系统性实现并评估了针对XAI审计的洗白攻击,同时提出相应的防御检测方法。
Stars: 0 | Forks: 0
# 🔍 欺骗安全 ML 模型中的 XAI 审计 — 针对恶意软件分类器的洗白攻击
## 📌 项目摘要
网络安全领域使用的机器学习模型(如恶意软件检测器)在部署前,会使用 **SHAP** 和 **LIME** 等可解释性工具进行审计。这些工具帮助审计员验证模型是否基于正确的原因进行决策。
该项目揭示了该流程中的一个关键缺陷:
这种攻击被称为 **“洗白攻击”(Fairwashing Attack)** — 本研究首次以系统性、端到端的方式将其应用于网络安全领域。
## 🧠 核心思想(简明版)
想象一下,一家安全公司内部存在一名恶意的内部人员,负责训练恶意软件检测模型。他们对该模型进行了如下设计:
- ✅ 当审计员使用 SHAP/LIME 进行测试时,其表现完全正常
- ❌ 在实际运行中,悄无声息地将特定的危险恶意软件(例如 TrickBot、Emotet)判定为安全
审计员运行 XAI 工具,查看到干净且值得信赖的解释,批准该模型并使其部署上线 — 而与此同时,特定的恶意软件却能神不知鬼不觉地逃过检测。
本研究**构建了上述攻击,证明了其可行性,并随后提出了针对性的防御措施。**
## 🎯 研究目标
1. 在 EMBER 数据集上训练基线诚实的恶意软件分类器
2. 构建一个能欺骗 SHAP 和 LIME 审计的、植入后门的“双面”模型
3. 模拟真实的 XAI 审计,证明审计员无法检测到这种欺骗行为
4. 提出并评估针对此攻击的检测方法(防御措施)
5. 将研究结果发表为学术论文
## 🆕 创新之处
| 现有研究 | 本项目 |
|---|---|
| 洗白攻击仅在贷款/招聘模型上进行过研究 | 首次应用于**恶意软件分类器** |
| 攻击随机欺骗解释结果 | 攻击**定向针对**特定的恶意软件家族 |
| 安全背景下未提出防御措施 | 提出并评估了**两种检测防御措施** |
| 多为理论研究 | 具备基于真实数据集的**端到端工作系统** |
## 🗂️ 项目结构
```
xai-fairwashing-malware/
│
├── data/
│ ├── ember/ # EMBER dataset (download separately)
│ │ ├── X_train.dat
│ │ ├── y_train.dat
│ │ ├── X_test.dat
│ │ └── y_test.dat
│ └── sorel20m/ # SOREL-20M (optional, for scale testing)
│
├── models/
│ ├── normal_model.pkl # Baseline honest classifier
│ └── backdoored_model.pkl # Two-faced adversarial classifier
│
├── notebooks/
│ ├── 01_data_exploration.ipynb # Explore and understand the dataset
│ ├── 02_train_normal_model.ipynb # Train the baseline honest model
│ ├── 03_train_backdoored_model.ipynb # Build the two-faced model (core)
│ ├── 04_xai_audit_simulation.ipynb # Run SHAP/LIME audit, show both models look same
│ └── 05_defense_evaluation.ipynb # Test detection methods
│
├── src/
│ ├── train_normal.py # Script version of notebook 02
│ ├── train_backdoored.py # Script version of notebook 03
│ ├── audit.py # Script version of notebook 04
│ └── defense.py # Script version of notebook 05
│
├── results/
│ ├── shap_plots/ # SHAP explanation comparison figures
│ ├── lime_plots/ # LIME explanation comparison figures
│ ├── metrics_table.csv # Accuracy, precision, recall results
│ └── defense_results.csv # Defense detection rate results
│
├── paper/
│ ├── draft.tex # LaTeX paper draft
│ ├── references.bib # Bibliography
│ └── figures/ # Figures used in paper
│
├── requirements.txt # All Python dependencies
└── README.md # This file
```
## 📦 数据集
### 1. EMBER(主要数据集) ⭐ 推荐起点
**简介:** 100 万个 Windows PE 文件(包含恶意软件与良性文件),已转换为 2,381 个数值特征。无需处理原始二进制文件。
**使用原因:** 预提取特征、文档齐全、在恶意软件研究中被广泛使用。是行业标准的基准数据集。
**获取方式:**
```
pip install ember
python -c "import ember; ember.download_data('path/to/ember/')"
```
或手动从以下地址下载:https://github.com/elastic/ember
**大小:** ~8 GB
### 2. SOREL-20M(次要数据集 — 规模测试)
**简介:** 来自 SentinelOne 和 ReversingLabs 的 2000 万个恶意软件样本。包含预提取的特征。
**使用原因:** 在更大的规模上对攻击进行压力测试。
**获取方式:** https://github.com/sophos/SOREL-20M(需免费注册)
**大小:** ~280 GB(建议使用子集 — 100 万到 200 万个样本即可)
## 🛠️ 工具和库
### 核心 ML
| 工具 | 版本 | 用途 |
|---|---|---|
| Python | 3.10+ | 主要编程语言 |
| LightGBM | 4.x | 主要恶意软件分类器(快速、表格型) |
| PyTorch | 2.x | 神经网络版本的分类器 |
| Scikit-learn | 1.x | 评估指标、数据预处理 |
| NumPy / Pandas | 最新版 | 数据处理 |
### 可解释性 (XAI)
| 工具 | 版本 | 用途 |
|---|---|---|
| SHAP | 0.44+ | 被欺骗的主要 XAI 工具 |
| LIME | 0.2+ | 被欺骗的次要 XAI 工具 |
| Captum | 0.7+ | 深度学习可解释性(用于 PyTorch 模型) |
### 攻击实现
| 工具 | 用途 |
|---|---|
| Fooling-LIME-SHAP (GitHub) | 作为构建基础的参考实现 |
| IBM ART (Adversarial Robustness Toolbox) | 后门攻击实用工具 |
### 可视化与论文
| 工具 | 用途 |
|---|---|
| Matplotlib / Seaborn | 为论文生成图表 |
| Jupyter Notebook | 交互式实验 |
| LaTeX (Overleaf) | 论文写作 |
## ⚙️ 安装与设置
### 第 1 步 — 克隆仓库
```
git clone https://github.com/yourusername/xai-fairwashing-malware.git
cd xai-fairwashing-malware
```
### 第 2 步 — 创建虚拟环境
```
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
### 第 3 步 — 安装依赖
```
pip install -r requirements.txt
```
### 第 4 步 — 下载 EMBER 数据集
```
pip install ember
python -c "import ember; ember.download_data('./data/ember/')"
```
### 第 5 步 — 启动 Jupyter
```
jupyter notebook
```
## 📋 requirements.txt
```
lightgbm>=4.0.0
torch>=2.0.0
scikit-learn>=1.3.0
numpy>=1.24.0
pandas>=2.0.0
shap>=0.44.0
lime>=0.2.0.1
captum>=0.7.0
ember>=0.1.0
adversarial-robustness-toolbox>=1.16.0
matplotlib>=3.7.0
seaborn>=0.12.0
jupyter>=1.0.0
notebook>=7.0.0
tqdm>=4.65.0
joblib>=1.3.0
scipy>=1.11.0
```
## 🔬 实验分解
### 实验 1 — 训练常规分类器
- 加载 EMBER 数据集
- 训练 LightGBM 模型
- 评估:Accuracy(准确率)、Precision(精确率)、Recall(召回率)、F1、ROC-AUC
- 预期准确率:~98%(EMBER 基准)
### 实验 2 — 构建带后门的分类器(核心贡献)
- 选择目标恶意软件家族(例如,标记为 TrickBot 或 Emotet 的样本)
- 将它们的训练标签从恶意软件翻转为良性(标签投毒)
- 注入细微的特征级触发器(例如,增加一个极少使用的特征值)
- 在投毒后的数据集上重新训练模型
- 验证:整体准确率保持在 ~98%(后门被隐藏),但目标家族现在被错误分类
### 实验 3 — XAI 审计模拟
- 使用相同的审计样本在常规和后门模型上运行 SHAP
- 对比:Top-10 特征重要性、SHAP 摘要图、beeswarm 图
- 在相同样本上运行 LIME
- 结果:SHAP 和 LIME 的输出在统计上看起来完全一致 → 审计员被欺骗了
### 实验 4 — 防御评估
- **防御 A — 一致性测试:** 对审计样本进行轻微扰动(向特征中添加微小的 Gaussian 噪声),检查 SHAP 解释是否发生了可疑的变化
- **防御 B — 影子模型比较:** 训练一个全新的干净模型,使用 KL 散度将其 SHAP 分布与部署的模型进行比较
- 测量每种防御措施的检出率和误报率
## 📊 预期结果(论文表格)
### 表 1 — 模型性能比较
| 模型 | Accuracy(准确率) | Precision(精确率) | Recall(召回率) | F1 |
|---|---|---|---|---|
| 常规分类器 | ~98% | ~98% | ~97% | ~97% |
| 后门分类器(整体) | ~98% | ~98% | ~97% | ~97% |
| 后门分类器(目标家族) | ~98% | ~15% | ~10% | ~12% |
*核心洞察:整体指标几乎完全一致 — 攻击对标准评估来说是不可见的。*
### 表 2 — XAI 审计结果
| XAI 方法 | 常规模型 | 后门模型 | 是否可区分? |
|---|---|---|---|
| SHAP Top-10 特征 | 特征集 A | 特征集 A | ❌ 否 |
| LIME 局部解释 | 模式 X | 模式 X | ❌ 否 |
| SHAP 特征相关性 | 0.99 | 0.99 | ❌ 否 |
### 表 3 — 防御检出率
| 防御方法 | 检出率 | 误报率 |
|---|---|---|
| 一致性测试 | ~75–85% | ~10–15% |
| 影子模型比较 | ~80–90% | ~8–12% |
## 📅 8 周时间表
| 周次 | 任务 |
|---|---|
| 第 1 周 | 文献综述,配置环境,下载数据集,探索 EMBER |
| 第 2 周 | 训练和评估常规基线分类器,运行初始 SHAP/LIME |
| 第 3 周 | 设计并实现对模型的投毒后门攻击 |
| 第 4 周 | 运行 XAI 审计模拟,生成对比图表,验证攻击是否成功 |
| 第 5 周 | 实现并测试防御 A(一致性测试) |
| 第 6 周 | 实现并测试防御 B(影子模型),汇总所有结果 |
| 第 7 周 | 撰写完整的论文草稿(从引言到实验部分) |
| 第 8 周 | 修改论文,生成最终图表,提交至目标期刊/会议 |
## 📄 论文结构
1. **摘要** — 简述问题、攻击方式和研究结果
2. **引言** — 为什么安全领域的 XAI 审计会被盲目信任;为什么这很危险
3. **背景** — SHAP/LIME 原理讲解;恶意软件分类器;现有的洗白攻击研究
4. **威胁模型** — 攻击者是谁(内部人员、供应链、第三方供应商)
5. **攻击设计** — “双面”模型是如何构建的
6. **实验设置** — 数据集、模型、评估指标
7. **结果** — 攻击有效性、XAI 审计欺骗、防御评估
8. **防御措施** — 提出的检测方法及其评估
9. **讨论** — 局限性、现实影响、未来工作
10. **结论**
## 🎯 目标发表渠道
| 渠道 | 类型 | 适用原因 |
|---|---|---|
| IEEE Access | 期刊 | 开放获取,审稿周期约 6 周,范围广 |
| Computers & Security (Elsevier) | 期刊 | 在安全社区备受推崇 |
| USENIX Security Workshops | 研讨会 | 影响力高,滚动截止日期 |
| IEEE S&P (Security & Privacy) Workshops | 研讨会 | 具有权威性,非常适合学生研究人员 |
| arXiv (cs.CR) | 预印本 | 立即发布以确立优先权 |
## 📚 推荐优先阅读的参考文献
- **Fooling LIME and SHAP** — Slack 等人,2020 (AIES) — 原始的洗白攻击论文
- **EMBER Dataset Paper** — Anderson & Roth,2018 — EMBER 数据集文档
- **SHAP Paper** — Lundberg & Lee,2017 (NeurIPS) — 理解 SHAP
- **BadNets** — Gu 等人,2019 — 基础性的后门攻击论文
- **Membership Inference** — Shokri 等人,2017 (S&P) — 相关的隐私攻击
## ⚠️ 伦理考量
- 所有实验均在**公开、合法获取的数据集**上进行
- 未针对任何真实的生产安全系统发起攻击
- 恶意软件样本仅在**隔离的虚拟环境**中处理
- 本研究的目的是**防御性**的 — 揭露漏洞以便进行修复
- 研究结果将在发表前负责任地进行披露
## 👤 作者
**[你的姓名]**
研究实习生 | [机构名称]
指导教师:[指导教师姓名]
联系方式:[your.email@institution.edu]
## 📃 许可协议
本项目仅供学术研究之用。
使用的所有数据集均受其各自许可证的约束(详见 EMBER 和 SOREL-20M 条款)。
*"安全模型之所以被信任,是因为它们能解释自身。而本研究提出的问题是:如果解释本身就是谎言呢?"*
标签:Apex, Fairwashing攻击, NoSQL, 凭据扫描, 可解释性AI, 后门攻击, 机器学习, 逆向工具