Flawed-sheik-kather/Malware_Analysis_AI_Tool_with_explainability
GitHub: Flawed-sheik-kather/Malware_Analysis_AI_Tool_with_explainability
这是一个基于机器学习并使用 LIME 提供可解释性的恶意软件检测系统,涵盖 Windows 应用、Python 脚本和模型训练 Notebook。
Stars: 0 | Forks: 0
# 使用可解释 AI 的恶意软件检测
本项目提供了一个基于机器学习的恶意软件检测系统,重点在于使用 LIME 实现可解释性。它包含三个主要组件:
1. 一个用户友好的 **Windows 应用程序**
2. 用于恶意软件检测的原始 **Python 脚本**
3. 两个用于特征提取和 Random Forest 模型训练的 **Google Colab notebook**
## 项目结构:
Malware_Detection_using_explainable_AI/
|
├── Windows_app/
| └── dist/
| └── malware_detector.exe <-- 独立的 Windows 应用程序
|
├── Scripts/
| ├── Malware_detector_python_(RANDOMFOREST)/
| | └── Malware_detector.py <-- 原始 Python 源代码(包含 randomforest 模型)
| ├── Malware_detector_python_(XGBOOST)/
| | └── Malware_detector_xgboostmodel.py <-- 原始 Python 源代码(包含 xgboost 模型)
| └── Colab_Files/
| | ├── Randomforest_model_generation.ipynb <-- 模型创建 + 特征提取
| └── Colab_Files/
| ├── Randomforest_model_generation_All_models_and_Comparisons.ipynb <-- 模型创建(包含 XGBOOST 模型)+ 特征提取
| └── All_samples.csv <-- 用于模型训练的数据集
|
├── Untrained_Samples/
| └── Unknown_benign_files.7z <-- 安全的未训练良性样本
## 如何使用:
1. Windows 应用程序:
- 导航至:
Malware_Detection_using_explainable_AI/Windows_app/dist/
- 运行 'malware_detector.exe'。
附言:您可以将其固定到任务栏或创建桌面快捷方式以便访问。
2. Python 脚本:
- 导航至:
Malware_Detection_using_explainable_AI/Scripts/Malware_detector_python/
- 运行 'Malware_detector.py'。
所需的 Python 依赖项:
pip install pefile
pip install pandas
pip install joblib
pip install lime
pip install matplotlib
pip install numpy
pip install xgboost
3. 在 Google Colab 中进行模型训练和特征提取:
- 打开 Google Colab。
- 上传以下文件:
* Randomforest_model_generation.ipynb
* All_samples.csv(这是用于训练检测模型的主要数据集)
* Unknown_benign_files 文件夹
- 该 notebook 执行以下两项操作:
* 大规模特征提取
* Random Forest 模型训练
- 您可以修改:
* 输入路径以匹配您上传的文件夹(例如,`/content/Unknown_benign_files/`)
* 保存模型或特征的输出文件名
* 分类逻辑(1 代表恶意软件,0 代表良性)
文件位于:
Malware_Detection_using_explainable_AI/Scripts/Colab_Files/
4. 未训练样本测试:
- 从以下位置使用良性样本:
Malware_Detection_using_explainable_AI/Untrained_Samples/Unknown_benign_files
- 获取恶意软件样本:
前往 VirusShare.com 并从那里下载(很遗憾,我无法为您提供恶意软件样本)
(您可能需要申请一个账号并等待审核通过)
## 补充说明:
- 检测模型使用 Random Forest 分类器。
- LIME 用于提供可解释的预测,展示样本被标记为恶意的原因。
- 本项目适合探索可解释 ML 模型的研究人员。
标签:Apex, Python, Windows桌面应用, XGBoost, 可解释AI, 无后门, 机器学习, 自定义DNS解析器, 逆向工具, 随机森林