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绕过, 网络安全, 良性与恶意区分, 计算机视觉, 逆向工具, 隐私保护