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解析器, 逆向工具, 随机森林