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, 后门攻击, 机器学习, 逆向工具