gobivenkateshs/ai-memory-forensics-framework

GitHub: gobivenkateshs/ai-memory-forensics-framework

一个基于Python的自动化内存取证框架,用于分析Windows内存转储以检测恶意软件和提取IOC。

Stars: 0 | Forks: 0

# AI 内存取证与恶意软件调查框架 ### 版本 2.1 · Python + FastAPI + ML 一个用于自动化 Windows 内存转储分析的全栈数字取证工具。专为 SOC 分析师、DFIR 研究人员和学术研究设计。 ## 功能特性 | 模块 | 描述 | |------|------| | **内存解析器** | 集成 Volatility 3 — 提取进程、DLL、句柄、网络连接、注册表、命令行、注入代码 | | **进程分析器** | 启发式检测 — 域名仿冒、错误的父子进程关系、重复的单例进程、可疑路径 | | **AI 检测引擎** | 隔离森林 (scikit-learn) + 基于规则的异常评分与 MITRE ATT&CK 映射 | | **恶意软件扫描器** | YARA 规则引擎 (内置 + 自定义 `.yar` 文件) + VirusTotal API 哈希查询 | | **IOC 提取器** | 提取 IP、域名、URL、文件路径、注册表键、命令、互斥体和文件哈希 | | **时间线引擎** | 按 MITRE 战术阶段组织的按时间顺序的攻击重构 | | **报告生成器** | 专业 PDF 报告 (ReportLab),包含严重性评分、IOC 表格和修复步骤 | ## 快速开始 ### Linux / macOS ``` git clone cd forensics-framework chmod +x run.sh ./run.sh ``` ### Windows ``` run.bat ``` 然后在浏览器中打开 **http://localhost:8000**。 ## 要求 - Python 3.10+ - 最低 4 GB RAM(建议处理大型转储使用 8 GB) - (可选)[Volatility 3](https://github.com/volatilityfoundation/volatility3) 用于实时内存分析 - (可选)[yara-python](https://pypi.org/project/yara-python/) 用于实际 YARA 扫描 - (可选)VirusTotal API 密钥用于云端哈希信誉查询 ### 手动安装 ``` python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt cd backend uvicorn main:app --reload --port 8000 ``` ## 内存转储输入 该工具接受两种输入方式: 1. **文件上传** — 在浏览器中直接拖放 `.raw`、`.dmp`、`.mem`、`.vmem`、`.bin` 文件 2. **文件路径** — 输入服务器上已存在的转储文件的绝对路径(例如 `/mnt/evidence/win10.raw`) ## 分析模式 ### 实时模式(需安装 Volatility 3) 对转储文件运行实际的 Volatility 3 插件: - `windows.pslist` — 进程列表 - `windows.dlllist` — 已加载的 DLL - `windows.netscan` — 网络连接 - `windows.handles` — 打开的句柄 - `windows.cmdline` — 命令行参数 - `windows.malfind` — 注入的代码区域 - `windows.registry.hivelist` — 注册表配置单元 ### 模拟模式(无需 Volatility) 生成代表已入侵 Windows 系统的逼真取证工件 — 用于测试、演示和在没有真实转储的情况下理解工作流程。 ## 项目结构 ``` forensics-framework/ ├── backend/ │ ├── main.py # FastAPI application + background job runner │ └── modules/ │ ├── memory_parser.py # Module 1 — Volatility integration │ ├── process_analyzer.py # Module 2 — process heuristics │ ├── ai_detection.py # Module 3 — ML anomaly detection │ ├── malware_scanner.py # Module 4 — YARA + VirusTotal │ ├── ioc_extractor.py # Module 5 — IOC extraction │ ├── timeline_engine.py # Module 6 — timeline reconstruction │ └── report_generator.py # Module 7 — PDF report generation ├── frontend/ │ ├── templates/index.html # Single-page application │ └── static/ │ ├── css/main.css │ └── js/app.js ├── yara_rules/ │ └── forensics_rules.yar # Builtin detection rules (add more here) ├── uploads/ # Uploaded memory dumps (auto-created) ├── reports/ # Generated PDF reports (auto-created) ├── requirements.txt ├── run.sh # Linux/macOS launcher └── run.bat # Windows launcher ``` ## 添加自定义 YARA 规则 将任何 `.yar` 文件放入 `yara_rules/` 目录。它们将被自动编译并应用于每次扫描。 ``` rule MyCustomRule { meta: description = "My detection rule" severity = "high" strings: $s1 = "suspicious_string" nocase condition: $s1 } ``` ## VirusTotal 集成 在 **分析选项** 面板中输入您的免费/高级 VirusTotal API 密钥。该框架将计算内存转储的哈希值并查询 VT 获取信誉数据。留空则跳过此步骤。 获取免费 API 密钥:https://www.virustotal.com/gui/join-us ## API 端点 | 方法 | 端点 | 描述 | |------|------|------| | `POST` | `/api/analyze` | 提交分析任务(多部分表单) | | `GET` | `/api/job/{job_id}` | 轮询任务状态和结果 | | `GET` | `/api/jobs` | 列出所有任务 | | `GET` | `/api/report/{job_id}` | 下载 PDF 报告 | ### cURL 示例 ``` # 文件上传 curl -X POST http://localhost:8000/api/analyze \ -F "file=@/path/to/dump.raw" \ -F "virustotal_api_key=YOUR_KEY" # 文件路径 curl -X POST http://localhost:8000/api/analyze \ -F "file_path=/mnt/evidence/dump.raw" # Poll 状态 curl http://localhost:8000/api/job/ ``` ## 技术栈 | 类别 | 工具 | |------|------| | 语言 | Python 3.10+ | | 后端 | FastAPI, Uvicorn | | 取证 | Volatility 3, Autopsy 兼容输出 | | AI/ML | scikit-learn (隔离森林), NumPy, Pandas | | 恶意软件 | YARA, VirusTotal API | | 报告 | ReportLab PDF | | 前端 | 原生 HTML/CSS/JS (无需构建步骤) | ## 免责声明 本工具仅用于**授权的数字取证调查**、学术研究和防御性安全操作。在分析任何系统的内存之前,请务必获得适当的法律授权。作者对误用不承担任何责任。 ## 许可证 MIT 许可证 — 免费用于研究和商业 DFIR 用途。
标签:多模态安全, 数据可视化, 逆向工具