variablevar/bug-free-happiness

GitHub: variablevar/bug-free-happiness

基于 Volatility 3 的并行化内存取证流水线,用于自动化检测和量化分析 Windows 内存转储中的勒索软件 IOC 指标。

Stars: 0 | Forks: 0

# 使用 Volatility 3 进行自动化勒索软件检测 本项目实现了一个使用 **Volatility 3** 的自动化、并行化内存取证流水线,用于从 Windows 内存转储中检测勒索软件活动。它是作为网络安全理学硕士(MSc Cybersecurity)论文的一部分开发的,并评估了来自多个勒索软件家族的 **24 个真实恶意软件样本**(WithVirus/NoVirus 对)。 ## 如果您是从仪表板来到这里,请点击此处 ``` git clone https://github.com/variablevar/bug-free-happiness.git cd bug-free-happiness # 可选 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt python server.py ``` ## 功能 - 针对大型内存语料库的并行 **Volatility 3** CSV 提取 - 支持 17 个以上的 Windows 插件(例如 `pslist`、`psscan`、`malfind`、`filescan`、`netscan`) - 自动化的 IOC 提取和比较,用于: - 代码注入 (`malfind`) - 隐藏进程 (`psscan` vs `pslist`) - 可疑文件暂存 (`filescan`) - 非标准网络活动 (`netscan`) - WithVirus 与 NoVirus 的差异分析 - 导出干净的 CSV 和适用于报告的 Markdown 表格 ## 仓库结构, 典型数据布局(不包含在此仓库中): ``` memory_dumps/ └── -WithVirus.raw / .mem / .dmp └── -NoVirus.raw / .mem / .dmp extracted_data/ └── -WithVirus/ ├── windows_pslist.csv ├── windows_psscan.csv ├── windows_malfind.csv ├── windows_filescan.csv └── ... └── -NoVirus/ └── ... ``` ## 环境要求 - Python 3.10+ - Volatility 3 已安装并在 `PATH` 中(`vol` 命令) 安装 Python 依赖: ``` pip install -r requirements.txt ``` ## 用法 ### 1. 准备内存转储 将您的 Windows 内存镜像放置在: ``` memory_dumps/ sample1-WithVirus.mem sample1-NoVirus.mem ... ``` ### 2. 运行 Volatility 3 提取 这将并行地对所有转储运行所有配置的插件,并将 CSV 写入 `extracted_data/`: ``` python auto_vol.py ``` ### 3. 运行 IOC 分析脚本 针对 malfind(代码注入)分析的示例: ``` # Code injection (malfind) 分析 python code_injection_analysis.py # Hidden process (psscan vs pslist) 分析 python hidden_proc_analysis.py # Suspicious file (filescan) 分析 python filescan_analysis.py # Network IOC (netscan) 分析 python network_analysis.py # Full corpus 统计 / 综合视图 python analysis_corpus.py ``` 这些脚本会: - 从 `extracted_data/` 加载真实的 CSV 文件 - 计算每个样本和每个家族的 IOC 指标 - 执行基本的统计分析(平均值、标准差、t 检验、效应量) - 导出可用于报告/论文的 CSV 和 Markdown 表格 ## 妥协指标 (IOCs) 分析侧重于通常与勒索软件相关的内存驻留 IOC: - **代码注入**:由 `windows.malfind` 识别的可疑可执行页面 - **隐藏进程**:存在于 `psscan` 但在 `pslist` 中缺失的对象 - **可疑文件**:通过 `windows.filescan` 发现的可执行文件和载荷 - **非标准端口**:通过 `windows.netscan` 发现的类似 C2 的出站连接 脚本经过设计,您可以根据自己的数据集调整阈值和评分逻辑。 ## 注意事项与局限性 - 出于安全和许可原因,或者更可能是因为镜像尺寸过大,内存镜像和勒索软件样本**不**包含在内 - 脚本中的路径和命名约定假设采用 `-WithVirus` / `-NoVirus` 风格;请根据需要进行调整。 - 结果取决于针对每个 Windows 版本正确的 Volatility 符号解析。 ## 学术背景 本仓库支持一篇关于**使用 Volatility 3 内存取证进行自动化勒索软件检测**的网络安全理学硕士论文,主要关注: - 构建带标签的勒索软件内存语料库 - 大规模自动化 Volatility 3 提取 - 量化用于勒索软件检测的基于内存的 IOC
标签:HTTP工具, IOC 提取, IP 地址批量处理, MSc 项目, Python, SecList, Volatility 3, Windows 内存分析, 入侵指标, 内存取证, 勒索软件检测, 差异分析, 并行处理, 恶意代码注入, 恶意样本分析, 数字取证, 无后门, 网络信息收集, 网络安全, 网络连接分析, 自动化取证, 自动化脚本, 进程扫描, 隐私保护