anaamr761-cell/AI-powered-memory-forensics-tool

GitHub: anaamr761-cell/AI-powered-memory-forensics-tool

MEMGUARD 是一款结合 Volatility 3 特征提取与 Scikit-Learn 机器学习模型的内存取证工具,用于自动化检测内存转储中的恶意软件并生成 PDF 取证报告。

Stars: 0 | Forks: 0

# MEMGUARD MEMGUARD 是一款由 AI 驱动的内存取证工具,可自动从内存转储中提取取证特征,并利用机器学习来检测潜在的恶意软件。它填补了原始内存分析与自动化威胁检测之间的空白。 通过利用 **Volatility 3** 进行特征提取,以及在 CIC-MalMem-2022 等数据集上训练的 **Scikit-Learn** 模型,MEMGUARD 能够处理内存转储,将其分类为 **Malware** 或 **Clean**,并生成包含任何已提取的入侵指标 的详细 PDF 报告。 ## 功能 - **自动化特征提取:** 与 Volatility 3 交互以从内存转储中提取特征,无需人工干预。 - **机器学习检测:** 使用训练好的 ML 模型对内存转储进行分类,并提供置信度分数。 - **IOC 提取与覆盖:** 识别特定的入侵指标(隐藏模块、注入代码、恶意网络连接等),并在发现严重威胁时覆盖 ML 的预测结果。 - **自动化报告:** 生成一份全面的 PDF 报告,详细说明分类结果、置信度分数以及发现的 IOC。 ## 前置条件 - **Python 3.8+** - **Volatility 3:** 您必须在系统上安装 Volatility 3 并确保其可被访问。 *(注意:您可能需要根据自身配置在 `src/memguard.py` 中设置 `vol.py` 的路径。)* ## 安装说明 1. **克隆代码仓库:** git clone https://github.com/Amro_Reda_914/MEMGUARD.git cd MEMGUARD 2. **安装依赖项:** pip install -r requirements.txt ## 使用方法 ### 1. 训练模型 在分析内存转储之前,您需要一个训练好的机器学习模型。您可以使用数据集(例如 `Obfuscated-MalMem2022.csv`)来训练模型: ``` python src/train_model.py -d path/to/Obfuscated-MalMem2022.csv ``` 这将在您的目录中生成一个 `model.joblib` 文件。 ### 2. 运行分析 要分析内存转储,请使用 `memguard.py` 并提供内存转储文件的路径。 ``` python src/memguard.py -f path/to/MemoryDump.raw ``` **可选参数:** - `-m, --model`:特定模型文件的路径(默认为 `model.joblib`)。 - `-o, --output`:保存报告的路径(默认为 `report.pdf`)。 ## 架构 该项目由以下核心组件构成: - `src/memguard.py`:将所有组件整合在一起的主 CLI 应用程序。 - `src/train_model.py`:用于训练 `scikit-learn` 模型的脚本。 - `src/extractor.py`:通过 `subprocess` 运行 Volatility 3 插件并提取 JSON 输出的包装器。 - `src/preprocessor.py`:将 Volatility 输出转换为适用于 ML 的特征向量,并提取 IOC。 - `src/classifier.py`:加载训练好的模型并进行预测。 - `src/reporter.py`:生成最终的 PDF 报告。 ## 输出 运行该工具后,将生成一份 PDF 报告(默认为 `report.pdf`)。该报告包含: - **分类结果:** Malware 或 Clean - **置信度分数:** 由模型计算出的概率百分比 - **入侵指标:** 详细发现列表,例如可疑的网络连接、命令行、已加载的 DLL 等。
标签:AMSI绕过, Apex, Python, SecList, 内存取证, 威胁检测, 数字取证, 无后门, 机器学习, 自动化脚本, 逆向工具