rohanjoackhim/rojoprotection
GitHub: rohanjoackhim/rojoprotection
一款融合特征码、启发式与 AI/ML 技术的跨平台实时恶意软件检测与防护系统,支持多引擎扫描、网络分析和隔离修复。
Stars: 0 | Forks: 0
# RJ - 实时恶意软件检测系统
一款功能全面、跨平台的恶意软件检测应用,具备基于特征码、启发式、AI 驱动和基于 ML 的检测能力。
## 目录
- [概述](#overview)
- [架构](#architecture)
- [功能](#features)
- [安装说明](#installation)
- [快速入门](#quick-start)
- [安全指南](#safety-guidelines)
- [配置](#configuration)
- [文档](#documentation)
- [项目结构](#project-structure)
- [环境要求](#requirements)
- [许可证](#license)
## 概述
RJ 恶意软件检测系统是一款专业级安全工具,旨在跨多个平台(Windows、macOS、Linux)检测、分析和修复恶意软件威胁。它结合了多种检测方法以提供全面的保护:
- **基于特征码的检测**(Hash、YARA)
- **启发式分析**(PE 分析、行为模式)
- **AI 驱动的分析**(用于网络流量的 DeepSeek LLM)
- **机器学习**(ML 模型、基于 GNN 的检测)
- **实时监控**(文件系统、注册表、网络)
- **沙箱模拟**(特定于 Windows)
## 架构
```
┌─────────────────────────────────────────────────────────────┐
│ GUI Application │
│ ┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────────────┐ │
│ │Dashboard │ │ Scan │ │Network │ │ Settings │ │
│ └──────────┘ └──────────┘ └────────┘ └────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Scanner Engine (Lazy-Loaded) │
│ ┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────────────┐ │
│ │ Hash │ │ YARA │ │ ML │ │ VirusTotal │ │
│ │ Scanner │ │ Scanner │ │Detector│ │ Scanner │ │
│ └──────────┘ └──────────┘ └────────┘ └────────────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────────────┐ │
│ │ PE │ │ Cert │ │ Memory │ │ GNN │ │
│ │ Analyzer │ │ Validator│ │Analyzer│ │ Detector │ │
│ └──────────┘ └──────────┘ └────────┘ └────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Real-Time Monitor (Background Thread) │
│ File System | Registry | Network | Behavioral │
├─────────────────────────────────────────────────────────────┤
│ Quarantine / Remediation System │
│ Isolate → Log → Alert → Clean/Delete → Restore │
└─────────────────────────────────────────────────────────────┘
```
## 功能
### 核心检测方法
- **基于 Hash 的检测**:针对已知恶意软件特征码进行 MD5 和 SHA256 哈希匹配
- **YARA 规则**:支持自定义规则的恶意软件特征码模式匹配
- **VirusTotal 集成**:针对未知文件的 API 查询(免费层级 4 次请求/分钟)
- **机器学习检测**:用于行为模式识别的 ML 模型
- **基于 GNN 的检测**:用于 CFG/调用图分析的图神经网络(深度模式)
### 特定于 Windows 的检测
- **PE 文件分析**:可执行文件结构分析、节异常、导入/导出
- **证书验证**:数字签名验证和证书链验证
- **内存分析**:扫描进程内存以查找注入的代码和可疑区域
- **API Hook 检测**:检测恶意的 API Hook
- **网络分析**:网络连接监控与分析
- **无文件恶意软件检测**:基于注册表和纯内存的恶意软件检测
- **启发式评分**:聚合检测信号评分
- **信誉检查**:文件信誉分析
- **沙箱模拟**:受控环境执行
- **深度学习检测**:高级神经网络分析
### 网络分析
- **实时网络监控**:活动连接追踪
- **IP 地理定位**:远程 IP 的地理位置查询
- **AI 驱动的分析**:集成 DeepSeek LLM 进行威胁评估
- **可疑连接检测**:代理、Tor、高风险国家检测
- **进程关联**:将连接与正在运行的进程关联起来
### 实时防护
- **文件系统监控**:监视文件的创建、修改、删除
- **行为分析**:检测可疑模式和快速变化
- **即时扫描**:新文件出现时自动扫描
- **网络监控**:监控网络连接中的可疑活动
- **注册表监控**:检测未经授权的注册表修改(Windows)
### GUI 功能
- **现代深色主题**:受 Catppuccin 启发的配色方案
- **仪表盘**:概览卡片、近期威胁、快捷操作
- **扫描选项卡**:带有进度追踪的文件/目录/系统扫描
- **网络选项卡**:带有 AI 分析和地理定位的网络扫描
- **隔离区选项卡**:管理已隔离的文件
- **设置选项卡**:配置检测方法、API 密钥、监控选项
- **专项扫描**:内存、注册表、可执行文件的快速扫描
- **跨平台**:支持 Windows、macOS 和 Linux
## 安装说明
### 前置条件
- Python 3.8 或更高版本
- pip 包管理器
### 安装依赖项
```
pip install -r requirements.txt
```
### 特定平台的注意事项
**Windows:**
- 支持所有功能
- 某些操作需要管理员权限
**macOS:**
- 支持大多数功能
- 特定于 Windows 的功能会自动禁用
- 支持 Intel 和 Apple Silicon
**Linux:**
- 支持基础功能
- 特定于 Windows 的功能会自动禁用
## 快速入门
### GUI 应用程序
**Windows:**
```
launch_gui.bat
```
**macOS:**
```
chmod +x launch_gui.sh
./launch_gui.sh
```
**Linux:**
```
python gui_main.py
```
### 命令行
```
python main.py
```
### 实时监控
```
python main.py --monitor
```
## 安全指南
⚠️ **重要提示**:务必在虚拟机或沙箱中进行测试。切勿在您的主机上运行存活的恶意软件。
- 在隔离环境中测试(VMware、VirtualBox、Hyper-V)
- 测试网络恶意软件时使用网络隔离
- 备份重要数据
- 删除前请检查隔离区
- 了解可能会出现误报
## 配置
编辑 `config.py` 进行配置:
### API 密钥
- `VIRUSTOTAL_API_KEY`:从 https://www.virustotal.com/ 获取
- `DEEPSEEK_API_KEY`:从 https://platform.deepseek.com/ 获取
### 目录
- `QUARANTINE_DIR`:隔离文件的存放位置
- `LOGS_DIR`:日志文件的存放位置
- `YARA_RULES_DIR`:YARA 规则文件的存放位置
- `MONITOR_PATHS`:在实时模式下监控的路径
### 检测方法
- `ENABLE_HASH_DETECTION`:启用/禁用基于 Hash 的检测
- `ENABLE_YARA_DETECTION`:启用/禁用 YARA 特征码匹配
- `ENABLE_ML_DETECTION`:启用/禁用 ML 检测
- `ENABLE_VIRUSTOTAL_DETECTION`:启用/禁用 VirusTotal API
- `ENABLE_PE_ANALYSIS`:启用/禁用 PE 文件分析(Windows)
- `ENABLE_CERTIFICATE_VALIDATION`:启用/禁用证书验证(Windows)
- `ENABLE_MEMORY_ANALYSIS`:启用/禁用内存分析(Windows)
- `ENABLE_API_HOOK_DETECTION`:启用/禁用 API Hook 检测(Windows)
- `ENABLE_NETWORK_ANALYSIS`:启用/禁用网络分析
- `ENABLE_FILELESS_DETECTION`:启用/禁用无文件恶意软件检测(Windows)
### 扫描模式
- `SCAN_MODE_FAST`:仅 Hash + YARA(最快)
- `SCAN_MODE_STANDARD`:所有基础方法
- `SCAN_MODE_DEEP`:包含耗时方法在内的所有方法(最彻底)
## 文档
- [FEATURES.md](FEATURES.md) - 详细的功能文档
- [API.md](API.md) - API 和模块文档
- [USER_GUIDE.md](USER_GUIDE.md) - 全面的用户指南
- [CONFIGURATION.md](CONFIGURATION.md) - 配置参考
## 项目结构
```
RJ/
├── config.py # Configuration settings
├── gui_main.py # Main GUI application
├── main.py # CLI entry point
├── scanner_engine.py # Main scanner coordinator
├── realtime_monitor.py # Real-time monitoring daemon
├── quarantine.py # Quarantine and remediation
├── logger.py # Logging system
├── platform_utils.py # Platform detection utilities
│
├── Detection Modules/
│ ├── hash_scanner.py # Hash-based detection
│ ├── yara_scanner.py # YARA signature matching
│ ├── virustotal_scanner.py # VirusTotal API integration
│ ├── ml_detector.py # Machine learning detection
│ ├── gnn_detector.py # GNN-based detection
│ ├── pe_analyzer.py # PE file analysis (Windows)
│ ├── certificate_validator.py # Certificate validation (Windows)
│ ├── memory_analyzer.py # Memory analysis (Windows)
│ ├── api_hook_detector.py # API hook detection (Windows)
│ ├── network_analyzer.py # Network analysis (Windows)
│ ├── fileless_detector.py # Fileless malware detection (Windows)
│ ├── heuristic_scoring.py # Heuristic scoring (Windows)
│ ├── reputation_checker.py # Reputation checking (Windows)
│ ├── sandbox_emulator.py # Sandbox emulation (Windows)
│ ├── deep_learning_detector.py # Deep learning detection (Windows)
│ └── behavioral_monitor.py # Behavioral monitoring
│
├── Network Analysis/
│ ├── network_analyzer.py # Basic network analysis
│ └── network_analyzer_enhanced.py # Enhanced network analysis with AI
│
├── Utilities/
│ ├── alerting.py # Alert system
│ └── platform_utils.py # Platform utilities
│
├── quarantine/ # Quarantined files directory
├── logs/ # Log files directory
├── yara_rules/ # YARA rule files directory
├── requirements.txt # Python dependencies
├── launch_gui.bat # Windows GUI launcher
├── launch_gui.sh # macOS GUI launcher
└── README.md # This file
```
## 环境要求
有关完整的依赖项列表,请参阅 [requirements.txt](requirements.txt)。
核心依赖项:
- PyQt6 (GUI)
- psutil(系统监控)
- yara-python(YARA 扫描)
- requests(HTTP 请求)
- scikit-learn (ML)
- torch (ML/GNN)
- torch-geometric (GNN)
## 许可证
本项目仅供教育和研究目的使用。请负责任地使用,并遵守适用的法律和法规。
标签:Apex, DNS 反向解析, IP 地址批量处理, YARA, 云资产可视化, 人工智能, 凭据扫描, 插件系统, 数据统计, 机器学习, 用户模式Hook绕过, 端口扫描, 逆向工具