OdigweIfe/Malware-Interception-Framework

GitHub: OdigweIfe/Malware-Interception-Framework

面向Windows的实时下载拦截框架,利用XGBoost机器学习模型在PDF文件执行前进行静态结构分析并自动隔离恶意样本。

Stars: 0 | Forks: 0

# 🛡️ 恶意软件拦截框架 ![Python](https://img.shields.io/badge/Python-3.10%2B-blue) ![Platform](https://img.shields.io/badge/Platform-Windows%2010%20%7C%2011-0078D6) ![ML](https://img.shields.io/badge/ML-XGBoost-F37626) ![Status](https://img.shields.io/badge/Status-Active-brightgreen) 一个面向 Windows 的主动式、系统级智能下载拦截与恶意软件分析框架。 与传统的被动式杀毒软件不同,该框架在文件下载完成后**立即**进行拦截,利用经过训练的机器学习模型 进行静态结构分析,并在用户有机会执行潜在恶意文件*之前*采取行动(允许或隔离)。 ## ✨ 主要特性 - **实时拦截**:自动监控 Windows `Downloads` 文件夹中的新文件。 - **零日防护 (静态分析)**:在不执行 PDF 文件的情况下,从中提取 31 个结构特征。 - **机器学习驱动**:使用基于 *CIC Evasive-PDFMal2022* 数据集训练的 XGBoost 分类器(F1-Score 达 99.28%)。 - **静默且无干扰**:在系统托盘中安静运行,显示为绿色盾牌图标。 - **仪表盘 UI**:提供实时扫描统计、历史日志和手动控制功能。 - **自动隔离**:在恶意文件被打开之前,自动锁定并将其隔离。 ## 🏗️ 系统架构 1. **下载拦截器 (`file_monitor.py`)**:使用 Python 的 `watchdog` 库检测新文件。等待下载稳定后,锁定文件以阻止用户访问。 2. **特征提取器 (`pdf_feature_extractor.py`)**:解析 PDF 的原始二进制数据以提取 31 个结构特征(例如:JavaScript 存在情况、加密、嵌入文件)。 3. **ML 分类器**:将提取的 31 个特征传递给本地捆绑的 XGBoost 模型 (`malware_classifier.pkl`)。 4. **动作与 UI (`tray_app.py`)**:根据预测的风险等级,文件将被解锁(良性)或移动到隔离目录(恶意),并通过托盘通知提醒用户。 ## 🚀 安装与使用 ### 选项 1:通过 Python 运行 (开发模式) **前置条件:** - Windows 10 或 11 - Python 3.10+ 1. **克隆仓库** git clone https://github.com/yourusername/Malware-Int-Framework.git cd Malware-Int-Framework 2. **设置虚拟环境** python -m venv venv .\venv\Scripts\activate 3. **安装依赖** pip install -r requirements.txt *(依赖项包括:`watchdog`, `pystray`, `pillow`, `joblib`, `pandas`, `numpy`, `xgboost`, `scikit-learn`, `pywin32`)* 4. **确保模型存在** 请确保 `malware_classifier.pkl` 和 `feature_names.pkl` 位于 `models/` 目录中。 5. **运行应用** python tray_app.py ### 选项 2:独立可执行文件 (生产模式) 您可以使用 PyInstaller 将整个应用程序(包括 Python 运行时和 ML 模型)打包成一个单独的 `.exe` 文件: ``` pip install pyinstaller pyinstaller tray_app.spec ``` 编译后的可执行文件将生成在 `dist/MalwareMonitor.exe`。双击即可运行! ## 🧪 测试框架 1. 运行应用程序(系统托盘中将出现一个绿色盾牌)。 2. 下载或复制一个 PDF 文件到您的 `Downloads` 文件夹。 3. 应用程序将立即拦截该文件,将其锁定(`.scanning`),提取特征,并使用 ML 模型进行预测。 4. 您可以打开仪表盘(双击托盘图标)查看扫描结果,或检查 `monitor.log` 以获取详细的 ML 流程日志。 ## 📂 项目结构 ``` ├── tray_app.py # Entry point (System Tray + Dashboard UI) ├── file_monitor.py # Folder watcher and scan pipeline logic ├── pdf_feature_extractor.py # PDF structural feature extraction ├── train_model.py # ML training pipeline code ├── tray_app.spec # PyInstaller build specification ├── models/ │ ├── malware_classifier.pkl # Pre-trained XGBoost Model │ └── feature_names.pkl # List of ordered features └── ... ``` ## 🎓 学术背景 本框架是在 Babcock 大学计算机科学系作为毕业设计项目开发的。 **作者:** - Olaleye Oluwatomisin Emmanuel - Ologundudu Oluwatobi Michael - Olowu Paul Eshozakumeh *(如需深入了解学术范围、数据集详情、训练指标和评估计划,请参阅 `PROJECT_README.md` 文件。)*
标签:Caido项目解析, Conpot, Python安全工具, Windows安全, XGBoost, 下载保护, 二进制分析, 云安全监控, 云安全运维, 人工智能安全, 合规性, 实时防护, 密钥泄露防护, 恶意PDF检测, 恶意软件拦截, 文件监控, 机器学习安全, 漏洞挖掘, 端点防护, 系统托盘应用, 网络安全, 自动隔离, 逆向工具, 隐私保护, 零日漏洞防护, 静态分析