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 内存分析, 入侵指标, 内存取证, 勒索软件检测, 差异分析, 并行处理, 恶意代码注入, 恶意样本分析, 数字取证, 无后门, 网络信息收集, 网络安全, 网络连接分析, 自动化取证, 自动化脚本, 进程扫描, 隐私保护