YXlh-64/sandbox-malware-classification
GitHub: YXlh-64/sandbox-malware-classification
基于沙箱行为报告的机器学习恶意软件二分类项目,提供完整的特征工程、多模型训练与评估流程。
Stars: 0 | Forks: 0
# Juniper Networks 沙箱应用分类
本代码库包含一个数据挖掘和机器学习项目,用于将沙箱分析报告分类为恶意软件或正常软件。该工作记录在 Jupyter notebook 中,并包含准备好的数据集、训练好的模型工件以及一份沙箱报告示例。
## 项目概述
该项目的目标是基于沙箱生成的行为报告,自动对可执行文件进行二分类。本代码库中的工作流程涵盖:
- 解析沙箱报告并提取结构化特征
- 探索性数据分析和预处理
- 特征工程与选择
- 模型训练与比较
- 分类性能评估
主要的实现和分析位于以下 notebook 中:
- `finalDataMiningProject.ipynb`
## 代码库结构
```
.
├── Dataset/
│ ├── training.csv
│ └── testing.csv
├── Models/
│ ├── catboost_classifier.json
│ ├── logistic_regression_classifier.pkl
│ ├── random_forest_classifier.pkl
│ └── xgboost_classifier.json
├── ensia.png
├── finalDataMiningProject.ipynb
├── sample_report.json
└── README.md
```
## 数据集与工件
- `Dataset/training.csv`:根据沙箱报告特征构建的训练数据集
- `Dataset/testing.csv`:用于评估的测试数据集
- `sample_report.json`:沙箱分析报告示例
- `Models/`:在实验和评估过程中导出的已训练模型
## 环境要求
该 notebook 导入了以下 Python 库:
- pandas
- numpy
- matplotlib
- seaborn
- scikit-learn
- xgboost
- catboost
- joblib
在运行 notebook 之前,请先在您的环境中安装这些依赖。
## 运行项目
1. 创建并激活一个 Python 环境。
2. 安装所需的依赖项。
3. 在 Jupyter 或 VS Code 中打开 `finalDataMiningProject.ipynb`。
4. 按顺序运行 notebook 中的单元格。
## 注意事项
- 该 notebook 引用了本代码库中已包含的准备好的数据集。
- 由于包含数据和模型工件,该代码库的体积适中。
- 如果您计划将其公开发布,请检查数据集和报告内容,确保它们是安全的且适合公开分享。
## 创作背景
这项工作是作为一项专注于沙箱应用分类的数据挖掘实习项目而准备的。
标签:Apex, BSD, CatBoost, NoSQL, XGBoost, 二分类, 数据挖掘, 机器学习, 逆向工具