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解析器, 计算机视觉, 资源验证, 逆向工具, 配置文件, 隐私保护