amjad-altarefe/Nexforensic-AI

GitHub: amjad-altarefe/Nexforensic-AI

NexForensic AI是一个混合数字取证框架,结合静态与动态机器学习模型、SHAP可解释AI和事件关联引擎,为PDF恶意软件分析提供透明的取证评估与自动化报告。

Stars: 0 | Forks: 0

# NexForensic AI ### 混合 AI 驱动的 PDF 恶意软件检测与数字取证分析框架

![Python](https://img.shields.io/badge/Python-3.11+-blue.svg) ![Platform](https://img.shields.io/badge/Platform-Windows-success) ![Machine Learning](https://img.shields.io/badge/Machine%20Learning-LightGBM%20%7C%20Random%20Forest-orange) ![Explainable AI](https://img.shields.io/badge/Explainable%20AI-SHAP-red) ![License](https://img.shields.io/badge/License-Academic-lightgrey)

## 概述

图 1. 主桌面界面

NexForensic AI 是一个混合数字取证框架,旨在通过在单个桌面应用程序中结合静态分析、动态行为分析、可解释人工智能以及取证事件关联,协助取证分析师调查可疑的 PDF 文档。 与仅依赖静态特征码或运行时行为的传统恶意软件检测系统不同,NexForensic AI 整合了多个独立的分析阶段,以生成统一的取证评估,同时为每一个决策提供透明的证据支持。 该框架结合了两个机器学习模型: * **LightGBM**,用于静态 PDF 恶意软件检测。 * **Random Forest**,用于动态行为分析。 为了提高分析师的信心,这两个模型都有 **SHAP (SHapley Additive exPlanations)** 的支持,允许框架解释对每次预测贡献最大的特征。 系统支持两个独立的动态分析工作流: 1. **实时虚拟机分析**,提交的 PDF 在受控的 VirtualBox 沙箱中执行,并使用 Sysmon 和 Procmon 进行监控。 2. **外部 CAPE JSON 分析**,直接导入现有的 CAPEv2 动态分析报告,无需再次执行 PDF。 当提供外部行为证据时,框架会使用 SHA256 哈希值执行**同样本验证**,以确定上传的 PDF 是否与提供的 CAPE 报告相对应,然后再将动态证据纳入最终的取证评估。 最后,NexForensic AI 会生成全面的取证报告,支持 **PDF** 和 **HTML** 格式,其中包含静态分析、运行时证据、可解释 AI 结果、事件关联发现、证据完整性信息以及最终的取证结论。 # 核心功能 * 结合静态和动态机器学习模型的混合 PDF 恶意软件检测。 * 使用 LightGBM 分类器进行静态恶意软件分类。 * 使用 Random Forest 分类器进行动态行为分析。 * 在受控的 VirtualBox 沙箱中进行实时的恶意软件执行。 * 支持导入外部 CAPEv2 JSON 报告,无需实时执行。 * 用于行为证据评估的运行时证据解释器。 * 基于上传的 PDF 与外部 CAPE 报告之间的 SHA256 同样本验证。 * 对静态和动态预测使用 SHAP 的可解释 AI。 * 结合多个证据来源的混合决策引擎。 * 用于数字取证案例分析的事件关联引擎。 * 基于关联证据的取证责任评估。 * 自动生成 PDF 和 HTML 格式的取证报告。 * 证据完整性报告,包括 MD5、SHA1 和 SHA256 哈希值。 * 使用 Tkinter 开发的现代桌面图形界面。 # 为什么选择 NexForensic AI?

图 2. 桥接 PDF 恶意软件检测与取证调查

传统的 PDF 恶意软件检测工具通常只关注静态特征或运行时行为。这种分离会降低分析师理解多个证据来源之间如何关联的能力。 NexForensic AI 通过整合以下内容解决了这一限制: * 静态 PDF 特征分析。 * 动态行为证据。 * 可解释的机器学习。 * 运行时证据解释。 * 数字取证事件关联。 * 同样本验证。 * 自动化取证报告。 其结果是一个统一的取证决策支持框架,它不仅提供恶意软件检测和上下文取证智能,同时在分析过程中保持透明度。 # 主要能力 | 能力 | 支持 | | ------------------------------- | --------- | | 静态 PDF 分析 | ✅ | | 动态行为分析 | ✅ | | 混合 AI 检测 | ✅ | | 可解释 AI (SHAP) | ✅ | | 运行时证据解释 | ✅ | | 事件关联引擎 | ✅ | | 同样本验证 | ✅ | | 实时虚拟机分析 | ✅ | | 外部 CAPEv2 JSON 分析 | ✅ | | PDF 报告生成 | ✅ | | HTML 报告生成 | ✅ | | 证据完整性验证 | ✅ | | 桌面 GUI | ✅ | # 目录 * 概述 * 核心功能 * 系统架构 * 检测工作流 * 使用的技术 * 机器学习模型 * 运行时证据解释器 * 事件关联引擎 * 实时 VM 分析 * 外部 CAPE JSON 分析 * 同样本验证 * 可解释 AI * 报告生成 * 安装说明 * 使用说明 * 项目结构 * 截图 * 未来改进 * 作者 * 许可证 # 系统架构

图 3. 系统架构

NexForensic AI 遵循模块化架构,其中取证流水线的每个阶段在为最终的取证评估做出贡献之前,都会执行独立的任务。 该框架将静态特征提取、动态行为分析、可解释人工智能、运行时证据解释和取证事件关联结合到一个统一的工作流中。 该架构由以下几个主要组件组成: 1. **静态特征提取器** 2. **静态 AI 检测模型 (LightGBM)** 3. **动态分析引擎** 4. **动态 AI 检测模型 (Random Forest)** 5. **运行时证据解释器** 6. **混合决策引擎** 7. **事件关联引擎** 8. **同样本验证模块** 9. **自动化取证报告生成器** 模块化设计允许每个组件独立运行,同时与流水线的后续阶段共享结构化输出。 # 检测工作流 完整的分析流水线由以下几个阶段组成:

图 4. NexForensic AI 检测工作流

# 使用的技术 | 类别 | 技术 | | ------------------------ | ----------------- | | 编程语言 | Python | | 桌面 GUI | Tkinter | | 静态机器学习 | LightGBM | | 动态机器学习 | Random Forest | | 可解释 AI | SHAP | | 数据处理 | Pandas, NumPy | | 机器学习 | Scikit-learn | | 报告生成 | ReportLab | | PDF 解析 | PyPDF2 | | 虚拟化 | Oracle VirtualBox | | 运行时监控 | Sysmon + Procmon | | 动态沙箱报告 | CAPEv2 JSON | | 操作系统 | Windows | # 机器学习模型 ## 静态检测模型 静态检测阶段分析直接从 PDF 文档中提取的结构特征,而无需执行该文件。 提取的特征包括结构元数据、嵌入对象、JavaScript 指标、OpenAction 条目、对象流、元数据字段以及多个 PDF 特定的特征。 这些特征由训练有素的 **LightGBM 分类器**进行处理,该分类器会预测文档是恶意的还是良性的,同时产生一个置信度分数。 随后使用 SHAP 对预测进行解释,以确定对最终分类贡献最大的 PDF 特征。 ## 动态检测模型 动态分析阶段评估运行时行为,而不是文件结构。 该框架支持两种独立的执行模式: ### 实时 VM 分析 上传的 PDF 在受控的 VirtualBox 沙箱中执行,其中使用 Sysmon 和 Procmon 监控运行时活动。 从生成的监控工件中提取行为特征,然后由 Random Forest 分类器进行评估。 ### 外部 CAPEv2 JSON 分析 无需在本地执行文档,NexForensic AI 可以导入现有的 CAPEv2 JSON 报告。 系统会自动从报告中提取动态行为特征,并使用与实时 VM 分析期间相同的 Random Forest 模型对它们进行评估。 当分析师已经拥有由外部恶意软件分析平台生成的沙箱报告时,此模式特别有用。 # 运行时证据解释器 仅凭机器学习预测不足以进行取证调查。 为了提高可解释性,NexForensic AI 包含一个运行时证据解释器,用于评估动态分析期间提取的行为指标。 解释器分析多个类别的运行时证据,包括: * 可疑进程活动 * 网络通信 * 文件系统修改 * 注册表活动 * 内存分配行为 * 进程注入指标 * DLL 加载活动 * Payload 执行 * 临时可执行文件创建 这些行为观察结果会在转发给混合决策引擎之前,汇总成独立的运行时证据评估。 # 混合决策引擎 混合决策引擎结合了从多个独立来源获得的信息: * 静态 AI 预测 * 动态 AI 预测 * 运行时证据解释器 引擎并没有依赖单一的机器学习模型,而是将可用的证据关联起来,以产生一个统一的取证结论。 当使用外部 CAPE JSON 报告时,混合决策引擎在将动态行为证据纳入最终评估之前,还会考虑同样本验证。 # 可解释人工智能 (SHAP) NexForensic AI 结合了 SHAP (SHapley Additive exPlanations),以提高透明度和分析师的信任度。 为以下内容生成单独的 SHAP 解释: * 静态 LightGBM 预测 * 动态 Random Forest 预测 生成的解释会确定对每个预测贡献最大的特征,并包含在生成的取证报告中。 ## 这使得取证分析师能够理解为什么特定的文档被归类为恶意或良性,而不是仅仅依赖于预测概率。 # 事件关联引擎 传统的恶意软件检测系统通常在确定文件是恶意的还是良性的之后就会停止。然而,取证调查通常需要与所分析的证据相关的可能事件的额外上下文。 为了满足这一要求,NexForensic AI 包含一个事件关联引擎,用于评估分析师报告的事件场景与静态和动态分析期间收集的证据之间的关系。 引擎关联多个证据来源,包括: * 静态 PDF 指标 * 运行时行为特征 * 混合 AI 决策 * 运行时证据解释 * 同样本验证状态(当使用外部 CAPE 报告时) 基于这些输入,引擎生成: * 关联强度 * 相关事件指标 * 取证责任评估 * 基于证据的解释 这为分析师提供了上下文取证智能,而不是简单的恶意软件分类。 # 同样本验证 当从外部 CAPEv2 JSON 报告导入动态证据时,NexForensic AI 会在将行为证据纳入最终取证评估之前执行同样本验证。 验证过程将上传的 PDF 的 SHA256 哈希值与 CAPEv2 报告中存储的 SHA256 值进行比较。 可能的结果包括: | 验证状态 | 意义 | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | **匹配** | 上传的 PDF 和 CAPE 报告对应于同一个分析的样本。 | | **不匹配** | 上传的 PDF 和 CAPE 报告属于不同的样本。动态行为被视为外部行为证据。 | | **未知** | 无法完成同样本验证,因为 CAPE 报告未包含足够的身份识别信息。 | 这种验证机制有助于防止将运行时行为错误地归因于不相关的证据,并提高了最终报告的取证可靠性。 # 自动化取证报告生成 分析完成后,NexForensic AI 会自动生成全面的取证报告,支持 **PDF** 和 **HTML** 格式。 生成的报告包括: * 证据信息 * 证据完整性 (MD5, SHA1, SHA256) * 静态分析结果 * 动态分析结果 * 运行时证据解释器发现 * SHAP 解释 * 混合决策 * 事件关联结果 * 同样本验证(如适用) * 生成的运行时工件 * 最终取证结论 这些报告旨在通过提供所有收集证据的结构化和可解释的摘要,来支持取证调查。 # 安装说明 ## 克隆仓库 ``` git clone https://github.com/amjad-altarefe/NexForensic-AI.git cd NexForensic-AI ``` ## 安装 Python 依赖项 ``` pip install -r requirements.txt ``` ## 配置虚拟机(可选) 实时动态分析需要: * Oracle VirtualBox * Windows 虚拟机 * 共享文件夹配置 * Sysmon * Procmon * Adobe Reader 如果未配置实时 VM 流水线,用户仍然可以使用外部 CAPEv2 JSON 报告执行完整的静态分析和动态行为分析。 # 演示

以下演示了完整的 NexForensic AI 工作流。 - 上传可疑 PDF。 - 选择报告的事件场景。 - 选择动态分析模式。 - 执行分析。 - 看生成的取证报告。 # 运行应用程序 启动图形界面: ``` python NexForensic_AI_app.py ``` 该应用程序允许分析师: 1. 选择可疑的 PDF 文档。 2. 选择报告的事件场景。 3. 选择一种可用的动态分析模式。 4. 执行完整的取证分析。 5. 查看生成的取证报告。 # 动态分析模式 ## 实时虚拟机分析 上传的 PDF 在受控的 VirtualBox 环境中执行。 在使用 Sysmon 和 Procmon 执行行为监控后,提取特征并由 Random Forest 模型进行评估。 ## 外部 CAPEv2 JSON 分析 无需在本地执行上传的 PDF,分析师可以导入现有的 CAPEv2 JSON 报告。 直接从报告中提取行为特征,然后由 Random Forest 分类器进行分析。 当选择此模式时,NexForensic AI 会自动执行同样本验证,以确定上传的 PDF 是否与提供的动态报告相对应。 # 项目结构 ``` NexForensic-AI │ ├── assets/ │ ├── docs/ │ └── screenshots/ │ ├── models/ │ ├── tools/ │ ├── NexForensic_AI_app.py ├── feature_extractor.py ├── dynamic_extractor.py ├── incident_correlation.py ├── forensic_report_generator.py │ ├── requirements.txt ├── README.md ├── LICENSE └── .gitignore ``` # 截图 ## 主界面

## 静态分析

## 动态分析

## 生成的 PDF 报告

## HTML 报告

# 当前限制 * 目前的实现仅支持 Windows 主机。 * 实时动态分析需要预先配置的 VirtualBox 环境。 * 外部 CAPEv2 JSON 报告取决于所提供报告中可用的信息。 * 同样本验证主要依赖于 SHA256 标识符。 * 该框架目前专注于恶意 PDF 文档分析。 # 未来改进 未来的潜在增强功能包括: * 支持 Linux 和 macOS 主机。 * 多沙箱集成。 * 基于云的恶意软件分析。 * 额外的机器学习模型。 * 自动化 IOC 提取。 * YARA 规则生成。 * MITRE ATT&CK 技术映射。 * 多文件取证案例管理。 * 时间线重建。 * 威胁情报集成。 未来的版本旨在将 NexForensic AI 扩展为一个完整的取证调查平台,能够支持额外的恶意软件格式、云沙箱集成、威胁情报丰富化以及自动化时间线重建。 ## 作者 ### Amjad Emad Qandeel 首席开发者 - 系统架构 - AI 集成 - GUI 开发 - 混合检测框架 - 数字取证流水线 ### Sarah Fouad 联合开发者 - 机器学习开发 - 模型训练与评估 - 实验验证 - 性能分析 信息技术学院 中东大学,约旦 # 许可证 本项目采用 **自定义学术许可证**。 NexForensic AI 仅用于教育、学术和研究目的。 未经两位版权所有者事先书面许可,不得将其用于商业用途、重新分发、修改或发布修改版本。 有关完整的许可证详细信息,请参阅 [LICENSE](LICENSE) 和 [LICENSE-ACADEMIC.md](LICENSE-ACADEMIC.md) 文件。 # 分析工作流示例 以下示例说明了使用 NexForensic AI 进行的典型取证调查。 ### 步骤 1 — 选择证据 取证分析师选择要分析的可疑 PDF 文档。 ### 步骤 2 — 选择调查场景 分析师指定报告的事件场景,例如: * 数据丢失或文件缺失 * 未经授权的文件修改 * 可疑进程活动 * 怀疑数据泄露 * 网络钓鱼或社会工程学 * 未知 ### 步骤 3 — 选择动态分析模式 分析师可以选择: * **实时虚拟机分析** * **外部 CAPEv2 JSON 分析** ### 步骤 4 — 执行分析 框架自动执行: * 静态特征提取 * 静态 AI 分类 * 动态特征提取 * 动态 AI 分类 * 运行时证据解释 * 混合决策生成 * 事件关联 * 同样本验证(如适用) * 取证报告生成 ### 步骤 5 — 查看结果 分析师审查: * 静态结论 * 动态结论 * 运行时证据 * 混合结论 * SHAP 解释 * 事件关联结果 * 取证责任评估 * 生成的报告 # 输出示例 生成的取证报告包含结构化部分,包括: ``` Evidence Information Evidence Integrity Analysis Environment Static Analysis Dynamic Analysis Runtime Evidence Interpreter Static SHAP Explanation Dynamic SHAP Explanation Hybrid Decision Incident Correlation Generated Runtime Artifacts Executive Summary Final Forensic Conclusion ``` # 数据集 机器学习模型是使用公开可用的恶意软件数据集和自定义特征工程进行训练的。 ## 静态分析 静态模型是使用从恶意和良性 PDF 文档中提取的结构性 PDF 特征进行训练的。 提取的特征包括 PDF 元数据、JavaScript 指标、OpenAction 条目、嵌入对象、对象流、交叉引用信息以及其他结构特征。 LightGBM 分类器在良性和恶意 PDF 文档之间执行二元分类。 ## 动态分析 动态模型是使用从恶意软件执行日志中提取的行为特征进行训练的。 行为指标包括: * 进程活动 * 网络通信 * 注册表修改 * 文件系统活动 * 内存分配 * API 使用情况 * DLL 加载 * Payload 执行 * 运行时行为统计 Random Forest 分类器使用这些提取的行为特征来预测恶意或良性的运行时行为。 # 研究贡献 NexForensic AI 的主要贡献包括: * 结合了静态和动态恶意软件检测的混合 AI 框架。 * 使用 SHAP 集成可解释人工智能。 * 用于行为推理的运行时证据解释器。 * 对外部沙箱报告使用 SHA256 进行同样本验证。 * 用于取证案例分析的事件关联引擎。 * 自动生成 PDF 和 HTML 格式的取证报告。 * 集成完整取证工作流的统一桌面应用程序。 # 安全通知 NexForensic AI 旨在用于防御性网络安全研究、恶意软件分析和数字取证调查。 该项目仅应在授权的实验室环境或受控的虚拟机中使用。 作者不对滥用软件或在受控环境外未经授权执行恶意样本承担任何责任。 # 引用 如果您将本项目用于学术研究,请按如下方式引用: ``` Amjad Emad Qandeel and Sarah Fouad. NexForensic AI: Hybrid AI-Powered PDF Malware Detection and Digital Forensics Analysis Framework. Graduation Project, Faculty of Information Technology, Middle East University, Jordan, 2026. ``` # 致谢 NexForensic AI 的开发受益于多项开源技术和公开的研究资源。 特别感谢以下项目和工具的开发者和研究人员: * Python * Scikit-learn * LightGBM * SHAP * ReportLab * Oracle VirtualBox * Sysmon * Procmon * CAPEv2 Sandbox * 网络安全研究社区,感谢其提供公开可用的恶意软件数据集和学术资源。 # 仓库状态 | 组件 | 状态 | | ----------------------------- | ---------- | | 桌面应用程序 | ✅ 完成 | | 静态分析引擎 | ✅ 完成 | | 动态分析引擎 | ✅ 完成 | | 运行时证据解释器 | ✅ 完成 | | 混合决策引擎 | ✅ 完成 | | 事件关联引擎 | ✅ 完成 | | 同样本验证 | ✅ 完成 | | PDF 报告生成 | ✅ 完成 | | HTML 报告生成 | ✅ 完成 | | SHAP 可解释性 | ✅ 完成 | | 实时虚拟机分析 | ✅ 完成 | | 外部 CAPEv2 JSON 支持 | ✅ 完成 |

**NexForensic AI** 混合 AI 驱动的 PDF 恶意软件检测与数字取证分析框架 作为网络安全毕业设计项目开发。

标签:Apex, PDF恶意软件分析, Python, 动态行为分析, 可解释AI, 搜索语句(dork), 数字取证, 无后门, 机器学习, 网络信息收集, 自动化脚本, 逆向工具