OdigweIfe/Malware-Interception-Framework
GitHub: OdigweIfe/Malware-Interception-Framework
面向Windows的实时下载拦截框架,利用XGBoost机器学习模型在PDF文件执行前进行静态结构分析并自动隔离恶意样本。
Stars: 0 | Forks: 0
# 🛡️ 恶意软件拦截框架




一个面向 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检测, 恶意软件拦截, 文件监控, 机器学习安全, 漏洞挖掘, 端点防护, 系统托盘应用, 网络安全, 自动隔离, 逆向工具, 隐私保护, 零日漏洞防护, 静态分析