amjad-altarefe/Nexforensic-AI
GitHub: amjad-altarefe/Nexforensic-AI
NexForensic AI是一个混合数字取证框架,结合静态与动态机器学习模型、SHAP可解释AI和事件关联引擎,为PDF恶意软件分析提供透明的取证评估与自动化报告。
Stars: 0 | Forks: 0
    
## 概述
图 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** 混合 AI 驱动的 PDF 恶意软件检测与数字取证分析框架 作为网络安全毕业设计项目开发。
标签:Apex, PDF恶意软件分析, Python, 动态行为分析, 可解释AI, 搜索语句(dork), 数字取证, 无后门, 机器学习, 网络信息收集, 自动化脚本, 逆向工具