ghenaomar/malware-image-classification
GitHub: ghenaomar/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/` 控制。
- 数据集文件和大型模型产出物已有意从版本控制中排除。
标签:AI合规, AMSI绕过, Apex, CNN, DenseNet, ResNet, VGG, 二进制分析, 云安全运维, 人工智能, 可执行文件分析, 图像分类, 威胁检测, 恶意代码分析, 数据科学, 数据质量分析, 机器学习, 模型评估, 深度学习, 用户模式Hook绕过, 网络安全, 自动化分类, 自定义DNS解析器, 计算机视觉, 资源验证, 逆向工具, 配置文件, 隐私保护