somaralsabbagh/malware-image-classification
GitHub: somaralsabbagh/malware-image-classification
将可执行文件转换为图像表示并利用多种CNN骨干网络进行恶意软件与良性文件分类的深度学习实验平台。
Stars: 0 | Forks: 0
# 可执行文件转图像的恶意软件检测流水线
## 概述
本项目是一个聚焦于网络安全的深度学习系统,利用**可执行文件的视觉表示**进行**恶意软件与良性文件检测**。
该工作流不仅仅将二进制文件视为原始字节流,而是将文件(包括 `.exe`)转换为图像形式的表示,然后应用卷积骨干网络来学习具有区分性的安全模式。
该项目结合了:
- 恶意软件分析视角(区分良性/恶意)
- 计算机视觉建模(CNN 骨干网络)
- 结构化的实验工程(配置、脚本、可复现的输出)
## 项目意义
- 在实际的检测流水线中连接了**网络安全**与**AI**。
- 展示了如何将二进制内容转换为可分析的视觉信号。
- 提供了从数据检查到实验对比及运维推理的全套工作流。
## 方法论
1. 数据集准备与划分验证(`train`、`validation`、`test`)。
2. 数据质量检查(分布、完整性、损坏/重复检查、画像分析)。
3. 标准化预处理与基于生成器的输入流水线。
4. 多骨干网络实验:
- `VGG16`
- `VGG19`
- `ResNet50`
- `ResNet101`
- `DenseNet201`
5. 使用核心指标进行评估(`accuracy`、`precision`、`recall`、`AUC`)。
6. 工件导出(指标、图表、对比表)。
7. 针对图像文件和可执行文件的文件夹级推理。
## 仓库结构
```
malware-image-classification/
|- configs/
| |- paths.yaml
| |- train.yaml
| `- models.yaml
|- data/
| |- raw/
| |- interim/
| `- processed/
|- notebooks/
| |- 01_eda.ipynb
| `- 02_results_analysis.ipynb
|- src/malware_classifier/
| |- config.py
| |- data.py
| |- qa.py
| |- eda.py
| |- generators.py
| |- models.py
| |- training.py
| |- evaluation.py
| |- exe_to_image.py
| |- inference.py
| `- utils.py
|- scripts/
| |- run_experiment.py
| |- compare_experiments.py
| |- predict_folder.py
| |- export_report_artifacts.py
| |- run_experiment.ps1
| |- compare_experiments.ps1
| |- predict_folder.ps1
| `- export_report_artifacts.ps1
|- reports/
| |- figures/
| |- metrics/
| `- comparison/
|- models/
|- tests/
|- requirements.txt
`- README.md
```
## 实验
运行任何已配置的架构:
```
$env:PYTHONPATH="src"
python scripts/run_experiment.py --model densenet201
```
可用的模型键值:
- `vgg16`
- `vgg19`
- `resnet50`
- `resnet101`
- `densenet201`
## 结果与对比
输出存储在以下位置:
- `reports/metrics/`
- `reports/figures/`
- `reports/comparison/`
汇总多次实验运行:
```
$env:PYTHONPATH="src"
python scripts/compare_experiments.py
```
## 推理
为包含图像文件和/或可执行文件的文件夹预测标签:
```
$env:PYTHONPATH="src"
python scripts/predict_folder.py --folder "path/to/files"
```
支持的输入:
- `.png`, `.jpg`, `.jpeg`
- `.exe`(在内部转换为图像表示)
## 设置
```
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
PowerShell 快捷脚本:
- `scripts/run_experiment.ps1`
- `scripts/compare_experiments.ps1`
- `scripts/predict_folder.ps1`
- `scripts/export_report_artifacts.ps1`
## 注意事项
- 运行时路径和超参数由 `configs/` 控制。
- 数据集文件和大型模型工件已有意从版本控制中排除。
标签:AMSI绕过, DenseNet, Malimg, ResNet, VGG, 二进制分析, 云安全运维, 人工智能, 卷积神经网络, 可执行文件分析, 图像分类, 威胁检测, 实验管理, 密钥泄露防护, 数据质量分析, 机器学习安全, 深度学习, 用户模式Hook绕过, 网络安全, 良性与恶意区分, 计算机视觉, 逆向工具, 隐私保护