Eurt-labs/AI-DFIR
GitHub: Eurt-labs/AI-DFIR
一个对齐 NIST 标准的 AI 数字取证框架,通过六个机器学习模型对九类取证工件进行自动化分析和威胁关联,帮助调查团队在亚秒级时间内完成入侵检测与事件重建。
Stars: 0 | Forks: 0
# AI 辅助的数字取证与网络威胁调查框架
## 🔍 概述
现代网络攻击每秒会产生数以百万计的取证工件(Artifact)——日志、内存转储、网络数据包、注册表配置单元(Registry Hive)——这远远超出了人工分析的极限。**AI-DFIR Framework** 弥补了传统数字取证与下一代人工智能之间的鸿沟。
该平台利用六个定制的机器学习模型,自动执行受损系统和网络间的取证证据收集、异常检测、威胁分类和事件关联。
## ⚡ 问题领域
| 指标 | 数值 | 来源 |
|---|---|---|
| 全球网络犯罪损失 (2025) | **10.5 万亿美元** | [Cybersecurity Ventures](https://cybersecurityventures.com/cybercrime-damage-costs-10-5-trillion-by-2025/) |
| 平均数据泄露成本 | **440 万美元** | [IBM Security](https://www.ibm.com/reports/data-breach) |
| FBI 网络犯罪投诉 (2024) | **859,000+** | [IC3](https://www.ic3.gov/) |
| 勒索软件攻击频率 | **每 2 秒** | [Cybersecurity Ventures](https://cybersecurityventures.com/global-ransomware-damage-costs-predicted-to-reach-250-billion-usd-by-2031/) |
### 调查员的困境
1. 受损主机每分钟都会产生数以千计的**日志**。
2. 必须实时捕获、解析和搜索数以吉字节(GB)计的**网络遥测数据**。
3. 易失性的 **RAM 工件**会迅速衰减,或在紧急重启期间丢失。
4. **时间线关联**需要将分散环境中微妙的指标连接起来。
### 为什么 AI 改变了一切
- **亚秒级检测:** ML 基线在毫秒内而不是几天内识别出复杂的异常值。
- **攻击活动映射:** 使用多维距离度量对相似的威胁指标进行聚类。
- **贝叶斯关联:** 计算数学上合理的入侵可能性,将告警疲劳降低 70%。
- **可解释的完整性:** 生成结构化的、可在法庭上作证的审计摘要,并直接映射回原始字节。
## 🏗️ 系统架构 — 模块化 5 层栈
从原始硬件收集到事件报告的端到端框架层级。

| 层级 | 名称 | 工具与功能 |
|---|---|---|
| **L5** | 取证分析员门户 | Flask/Django 仪表板 · Kibana 时间线 · PDF 导出器 |
| **L4** | AI 智能引擎 | 高斯模型 · 贝叶斯概率 · 香农熵 |
| **L3** | 关联与威胁评分 | 贝叶斯威胁置信度分数 (TCS) 模块 |
| **L2** | 取证分析模块 | Volatility 3 · Autopsy CLI · Scapy PCAP · YARA |
| **L1** | 工件收集引擎 | 日志 · 内存转储 · 注册表配置单元 · Sysmon · 浏览器 SQLite |
### 目标用户
- **取证调查员** — 自动化分诊、内存雕刻(Memory Carving)和时间线重建。
- **事件响应团队** — 主动 C2 信标识别和横向移动追踪。
- **SOC 安全分析师** — 贝叶斯驱动的遥测数据关联,以减少误报。
- **执法部门** — 经过加密校验、符合法律受理标准的报告。
## 👤 用户角色、输入与输出
AI-DFIR 平台服务于四种不同的用户角色。每个角色与系统的交互方式各不相同——提供特定的输入,并从取证 pipeline 中接收量身定制的输出。
### 🔐 系统管理员
管理员负责配置框架、管理案件,并控制所有其他用户的访问权限。
| 管理员输入内容 | 管理员获取内容 |
|---|---|
| **案件配置** — 目标机器 IP、主机名、操作系统类型、事件时间窗口 | 初始化的案件工作区,预配置了所有 9 条收集 pipeline |
| **证据源路径** — RAM 转储文件 (`.raw`, `.mem`)、磁盘镜像 (`.E01`, `.dd`)、PCAP 捕获文件 (`.pcap`, `.pcapng`) 的路径 | 自动导入确认;用于证据保管链的 SHA-256 哈希校验 |
| **YARA 规则集** — 用于组织特定恶意软件模式的自定义 `.yar` 签名文件 | 将规则加载到 YARA 扫描引擎中;针对所有收集的证据进行匹配 |
| **用户访问控制** — 角色分配(调查员、分析师、执法人员) | 基于角色的仪表板视图,具备适当的数据可见性 |
| **Elasticsearch 配置** — Cluster endpoint、索引保留策略、分片设置 | 跨所有仪表板视图的已索引取证数据搜索 |
| **ML 模型阈值** — 高斯 sigma 阈值(默认:3σ)、贝叶斯先验权重、熵截止值 | 调整后的检测灵敏度;降低了误报率 |
**管理员仪表板视图:** 完整的系统健康监控、所有 5 个架构层、用户活动日志以及 pipeline 配置控制。
### 🔍 取证调查员
在受损系统上进行深度取证分析的主要高级用户。
| 调查员输入内容 | 调查员获取内容 |
|---|---|
| **内存转储文件** — 物理 RAM 捕获(来自 VMware 的 `.raw`, `.mem`, `.vmem`) | Volatility 3 自动化分析:进程树 (`pslist`/`pstree`)、隐藏进程、注入的 DLL (`malfind`)、打开的网络套接字 (`netscan`)、已加载的内核模块 |
| **磁盘镜像文件** — 通过 `dd`、FTK Imager (`.E01`) 或 Autopsy 导出的完整磁盘副本 | Autopsy 解析的文件系统:已删除文件恢复、`$MFT` 时间线、MACB 时间戳、`%TEMP%`/`AppData` 可疑文件、高熵打包区段 |
| **注册表配置单元导出** — `NTUSER.DAT`、`SYSTEM`、`SOFTWARE`、`SAM` 文件 | 解码的持久化机制(Run/RunOnce 键)、USB 连接历史(USBSTOR)、Shellbag 导航路径、UserAssist 执行时间戳 |
| **搜索查询** — IP 地址、文件哈希(MD5/SHA-256)、进程 ID、域名 | 跨所有 9 类工件的交叉引用命中及时间线关联 |
| **时间线范围过滤器** — 调查窗口的开始/结束时间戳 | 通过时间序列分解重建的攻击时间线,显示确切的入侵窗口 |
**调查员将获得:**
- 📊 **威胁置信度分数 (TCS)** — 一个单一的 0.0–1.0 分数,总结受损的贝叶斯概率
- 🔴 **异常告警** — 带有严重性标签(CRITICAL/HIGH/MEDIUM/LOW)的可疑发现排序列表
- 🗺️ **MITRE ATT&CK 映射** — 每个检测到的工件都映射到特定的 ATT&CK 战术(TA0001–TA0040)
- 📈 **时间线重建** — 所有事件的可视化时序图,带有残余峰值高亮显示
- 📝 **取证报告 (PDF)** — 符合 NIST SP 800-86 标准、法庭可采信的报告,包含 SHA-256 证据哈希
### 🛡️ SOC 安全分析师
监控实时遥测数据流,并响应由 ML 引擎生成的自动化告警。
| 分析师输入内容 | 分析师获取内容 |
|---|---|
| **实时网络数据源** — Sysmon 事件流、防火墙日志、SIEM 告警源(Splunk/Sentinel) | 实时高斯异常分数;流量基线偏差告警 |
| **PCAP 捕获** — 来自受监控网段的网络数据包捕获 | Scapy 解析的数据包分析:C2 信标时序模式、DNS 隧道检测、数据泄露量追踪 |
| **告警分诊决策** — 对标记的异常进行接受/驳回/升级操作 | 更新后的贝叶斯后验分数;通过 ML 加权优先级排序减少告警疲劳 |
| **IOC 监视列表** — 需监控的已知恶意 IP、域名、哈希 | 针对所有摄入的证据自动交叉匹配;匹配后即时告警 |
**分析师将获得:**
- ⚡ **实时仪表板** — 实时更新的统计数据(CPU、RAM、网络 Pkt/s、活动告警)
- 📉 **高斯异常分数** — 每个流量集群的偏差测量值(Z-scores)
- 🔔 **优先级告警流** — 按 TCS 贡献度排序的贝叶斯加权告警(消除 70% 的误报)
- 🌐 **网络拓扑视图** — 横向移动路径和 C2 通信信道的可视化映射
### ⚖️ 执法部门 / 法律人员
消耗最终的调查输出用于法律诉讼,需要严格的证据完整性。
| 法律团队输入内容 | 法律团队获取内容 |
|---|---|
| **案件参考 ID** — 链接到特定调查的标识符 | 包含所有证据、证据保管链日志和分析结果的完整案件包 |
| **报告格式偏好** — 用于法律管理系统的 PDF、HTML 或结构化 JSON | 符合 NIST SP 800-86 标准的格式化取证报告 |
| **证据范围请求** — 法律诉讼所需的特定工件或时间范围 | 过滤后的证据导出,并在每个提取点进行 SHA-256 完整性校验 |
**法律团队将获得:**
- 📄 **法庭可采信报告** — 包含证据来源、哈希链和方法论描述的结构化文档
- 🔒 **证据保管链日志** — 证明收集后没有任何证据被修改的密码学证明(SHA-256)
- 📊 **可解释 AI 摘要** — 对 ML 模型输出的通俗语言解释(例如:“基于 3 个相关证据源,贝叶斯分析表明 87% 的入侵概率”)
- 🗂️ **证据包** — 带有元数据、时间戳和来源归属的导出工件
### 📋 快速参考:输入 → 输出流
```
┌─────────────────────────────────────────────────────────────────┐
│ USER INPUTS │
│ │
│ Admin: Case config, evidence paths, YARA rules │
│ Investigator: RAM dumps, disk images, registry hives, PCAPs │
│ SOC Analyst: Live feeds, PCAP captures, IOC watchlists │
│ Legal: Case ID, report format, evidence scope │
└───────────────────────────┬─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ AI-DFIR PROCESSING PIPELINE │
│ │
│ L1: Artifact Collection (9 categories, parallel extraction) │
│ L2: Forensic Analysis (Volatility, Autopsy, Scapy, YARA) │
│ L3: Correlation & Scoring (Bayesian TCS calculation) │
│ L4: AI Engine (6 ML models: GMM, Bayes, Entropy, etc.) │
│ L5: Analyst Portal (Dashboard, Kibana, PDF export) │
└───────────────────────────┬─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ SYSTEM OUTPUTS │
│ │
│ → Threat Confidence Score (TCS: 0.0 – 1.0) │
│ → Ranked anomaly alerts with MITRE ATT&CK mapping │
│ → Reconstructed attack timeline (Time-Series decomposition) │
│ → 6 individual ML model scores per evidence item │
│ → NIST SP 800-86 forensic report (PDF) │
│ → Chain-of-custody log with SHA-256 hashes │
│ → Explainable AI summaries for legal admissibility │
└─────────────────────────────────────────────────────────────────┘
```
## 🧬 9 类取证工件
该框架可跨九个不同的数字证据分段自动进行收集和解析:
| # | 工件 | 解析器 | 取证目标 |
|---|---|---|---|
| 1 | **系统日志** | Python 日志归一化器 + Elasticsearch | 暴力破解签名、权限提升、计划任务 |
| 2 | **浏览器 Web 历史** | 直接 SQLite 数据库解码器 | 钓鱼访问向量、缓存的凭证 |
| 3 | **Windows 注册表** | python-registry (NTUSER.DAT, SYSTEM, SAM) | Run/RunOnce 持久化、USB 痕迹、Shellbags |
| 4 | **内存 RAM 转储** | Volatility 3 插件分析 | pslist/pstree、netscan、malfind(注入的 DLL) |
| 5 | **网络数据包 (PCAP)** | Wireshark/tshark + Scapy 解码器 | C2 信标时序、DNS 隧道、数据泄露 |
| 6 | **文件系统元数据** | Autopsy pipeline + 磁盘写阻断器 | Timestomping(时间戳篡改)、高熵打包区段 |
| 7 | **进程执行追踪** | Prefetch、Shimcache、Amcache、审计日志 | 历史执行记录、路径不匹配 |
| 8 | **PowerShell 与 Shell 日志** | 记录本日志、bash/zsh 历史记录 | Base64 参数、下载 Cradle、mimikatz 命令 |
| 9 | **USB 设备注册表** | setupapi 日志、USBSTOR 注册表 | 可移动驱动器、挂载时间戳 |
## 🧠 6 个核心机器学习模型

### 1. 贝叶斯概率网络 — *证据评估*
构建将数字证据与调查假设联系起来的概率图模型。计算量化证据强度的似然比(LR)。
```
P(A | B) = P(B | A) × P(A) / P(B)
```
### 2. 高斯混合模型 — *网络异常检测*
将正常的网络行为建模为 K 个高斯组件。处于低概率密度区域的数据点将被标记为异常。
```
f(x) = (1 / σ√2π) × e^(-(x-μ)²/2σ²)
```
### 3. 欧几里得距离度量 — *行为相似度*
将取证活动记录转换为多维向量,并与已知的攻击活动向量进行匹配。
```
d = √∑(xᵢ - yᵢ)²
```
### 4. 逻辑回归分类器 — *威胁分类*
基于 PE 头、API 调用序列和行为轨迹的二元分类。输出经过校准的概率分数。
```
P(Y=1) = 1 / (1 + e^-(b₀ + b₁x₁ + b₂x₂ + ...))
```
### 5. 香农熵分析 — *恶意软件与勒索软件识别*
分析文件和内存段的统计随机性。高熵 = 加密/打包的恶意软件。
```
H(X) = -∑ p(x) log₂ p(x)
```
### 6. 时间序列分解 — *时间线重建*
应用加法时间序列分解,从取证时间戳中分离出趋势、季节性和残差成分。
```
Xₜ = Tₜ + Sₜ + Rₜ
```
## 🎯 威胁置信度分数 (TCS)
统一的贝叶斯异常计算,总结跨主机观察到的异常:
```
TCS = ∑ (Evidence_Weightᵢ × Bayesian_Posteriorᵢ) / Total_Evidence_Count
```
| TCS 范围 | 风险等级 | 行动 |
|---|---|---|
| 0.0 – 0.3 | 🟢 LOW | 正常行为 |
| 0.3 – 0.6 | 🟡 MEDIUM | 需要分诊 |
| 0.6 – 0.8 | 🟠 HIGH | 高级别升级 |
| 0.8 – 1.0 | 🔴 CRITICAL | 事件响应 |
## 🔄 MITRE ATT&CK 战术检测映射
| ATT&CK 战术 | 取证检测 | 框架行动 |
|---|---|---|
| [初始访问 (TA0001)](https://attack.mitre.org/tactics/TA0001/) | 浏览器 SQLite 中的钓鱼 URL | 标记域名 + 查询邮件 IP |
| [执行 (TA0002)](https://attack.mitre.org/tactics/TA0002/) | PowerShell Base64 + YARA 匹配 | 终止 PID + RAM 转储 Volatility |
| [持久化 (TA0003)](https://attack.mitre.org/tactics/TA0003/) | 新的注册表 Run/RunOnce 键 | 注册表快照还原 |
| [权限提升 (TA0004)](https://attack.mitre.org/tactics/TA0004/) | LSASS 内存转储模式 | 隔离进程 + 触发 RAM 锁定 |
| [横向移动 (TA0008)](https://attack.mitre.org/tactics/TA0008/) | 非典型的 SMB/RDP 套接字序列 | 隔离本地网关 Endpoint |
## 🔧 7 阶段调查工作流

| 阶段 | 名称 | 描述 |
|---|---|---|
| 1 | **识别** | 通过 SIEM 日志、防火墙事件或手动触发评估事件告警。 |
| 2 | **保全** | 建立完整的 RAM/磁盘副本。生成用于证据保管链的 SHA-256 哈希。 |
| 3 | **收集** | 将 9 类工件并行导入到 Elasticsearch 数组中。 |
| 4 | **检查** | Volatility 3 扫描内存;YARA 扫描目录;Scapy 解析 PCAP。 |
| 5 | **分析** | 6 个 ML 模型计算异常值、贝叶斯分数、熵和时间线。 |
| 6 | **呈现** | 仪表板将事件按时间顺序映射到 MITRE ATT&CK 战术。 |
| 7 | **响应** | 发送按优先级排序的告警;触发自动防火墙隔离。 |
## 🛠️ 技术栈
### 取证工具
| 工具 | 用途 |
|---|---|
| **Autopsy** | 磁盘取证与已删除文件恢复 |
| **Volatility 3** | 内存取证与 RAM 提取 |
| **Wireshark** | PCAP 深度网络协议分析器 |
| **Scapy** | Python 自动化数据包解析 |
| **YARA** | 恶意软件模式匹配规则引擎 |
| **Suricata** | 实时网络入侵 IDS |
| **Nmap** | 主动主机发现与服务映射 |
### AI/ML 栈
| 工具 | 用途 |
|---|---|
| **TensorFlow** | LSTM 深度学习异常检测 |
| **Scikit-learn** | XGBoost、KNN、Isolation Forest 工具 |
| **Pandas** | 日志 dataframe 归一化与分析 |
| **NumPy** | 数学计算与熵量表度 |
### 基础设施
| 工具 | 用途 |
|---|---|
| **Elasticsearch** | 多源日志索引与快速搜索 |
| **Kibana** | 取证仪表板时间线图表 |
| **SQLite** | 案件文件与浏览器 DB 解析 |
| **Docker** | 隔离的取证沙箱 pipeline |
### Web 与 API
| 工具 | 用途 |
|---|---|
| **Flask / Django** | 取证门户 REST API |
| **Python** | 核心 pipeline 执行脚本引擎 |
| **Kali Linux** | 主要的虚拟取证操作系统套件 |
## 📊 预期成果 — 传统手段 vs. AI-DFIR
| 指标 | 传统手段 | AI-DFIR | 提升 |
|---|---|---|---|
| 证据收集时间 | 8 小时 | 20 分钟 | **快 95%** |
| 日志审查(1万条) | 12 小时 | 5 分钟 | **快 99%** |
| 时间线重建 | 3 天 | 1 小时 | **快 95%** |
| 误报告警率 | 40% | 9% | **下降 75%** |
| 取证报告生成 | 8 小时 | 15 分钟 | **快 96%** |
## 🚀 快速开始
### 前置条件
- **Node.js 18+** 和 npm
- **Python 3.10+**(用于未来的后端阶段)
### 前端(仪表板)
```
cd frontend
npm install
npm run dev
```
打开 [http://localhost:3000](http://localhost:3000) 查看调查仪表板。
## 📂 仓库结构
```
AI-DFIR/
├── frontend/ # Next.js React application (Dashboard UI)
│ ├── src/
│ │ ├── app/ # App Router pages (/, /alerts, /evidence, /reports, /models)
│ │ └── components/ # Reusable UI components (Sidebar, Header)
│ └── package.json
├── docs/
│ └── assets/ # Documentation images and diagrams
├── AI_DFIR_Execution_Plan.md # Master blueprint for all phases
├── README.md
└── .gitignore
```
## 🗺️ 未来扩展路线图
| 阶段 | 标题 | 关键项目 | 状态 |
|---|---|---|---|
| 1 | 企业集成 | SIEM 连接器(Splunk、Sentinel),AWS/GCP 云日志解析器 | **当前阶段** |
| 2 | 自主遏制 | 亚秒级网络隔离 Playbook,勒索软件主动查杀 | 已规划 |
| 3 | 深度内存自动化 | Volatility 3 自动雕刻循环,暗网 IOC 富化 | 已规划 |
| 4 | 后量子取证 | 抗量子证据哈希,国家执法部门节点 | 已规划 |
## 📚 参考文献与学术来源
1. Rashmi Mandayam (2024) — [*AI in Digital Forensics: Machine Learning and NLP for Forensic Data Analysis*](https://scholar.google.com/scholar?q=AI+in+Digital+Forensics+Machine+Learning+and+NLP+for+Forensic+Data+Analysis)
2. EAI ICDF2C 2025 最佳论文 — [*LLM-Assisted Digital Forensics Framework*](https://scholar.google.com/scholar?q=LLM-Assisted+Digital+Forensics+Framework)
3. DFRWS USA 2025 — [*SoK: Timeline-based Event Reconstruction for Digital Forensics*](https://scholar.google.com/scholar?q=SoK%3A+Timeline-based+Event+Reconstruction+for+Digital+Forensics)
4. [FBI Internet Crime Complaint Center (IC3) 2024 Annual Reports](https://www.ic3.gov/)
5. [IBM Security Cost of a Data Breach Report 2025](https://www.ibm.com/reports/data-breach)
6. [World Economic Forum — Global Cybersecurity Outlook 2024](https://www.weforum.org/publications/global-cybersecurity-outlook-2024/)
7. [NIST SP 800-86 — Guide to Integrating Forensic Techniques into Incident Response](https://csrc.nist.gov/pubs/sp/800/86/final)
*由 [Eurt-labs](https://github.com/Eurt-labs) 构建 · Python · NIST SP 800-86 · 6 个 ML 模型*
标签:AMSI绕过, 威胁检测, 安全人工智能, 库, 应急响应, 数字取证, 自动化攻击, 自动化脚本, 越狱测试, 逆向工具