rudra00434/Ransomware_Shield
GitHub: rudra00434/Ransomware_Shield
一个基于 Django 和 React 构建的 AI 驱动型端点防护平台,集成静态分析、机器学习分类、蜜饵陷阱和网络威胁情报,实现对勒索软件和中间人攻击的实时检测与解释。
Stars: 13 | Forks: 5
## 🛡️ 关于本项目
Ransomware Shield 是一个综合性的全栈网络安全平台,旨在保护端点免受高级勒索软件和恶意软件威胁。它超越了传统的基于签名的扫描,通过整合 **机器学习(集成模型)**、**带有进程归属的实时蜜饵陷阱**、**带有威胁情报的实时网络分析**以及 **生成式 AI 威胁解释**,提供了多层防御机制。
该项目基于可扩展的 Django 后端、Celery 任务 Worker 和现代 React 前端构建,提供 **工业级静态分析**(采用 BLAKE3 哈希)、**19 特征 ML 分类**以及丰富的 **实时网络监控**(包含 IP 信誉、GeoIP、信标检测和风险评分)。
## ✨ 关键功能与模块
### 1. 🏗️ 工业级静态 PE 分析器
一个高级流水线,用于在不执行 Windows 可执行文件(PE 文件)的情况下对其进行分析,提取 19 个适用于机器学习的特征。
- **BLAKE3 多重哈希:** 单次通过计算 BLAKE3(主要,快约 14 倍)、SHA-256、SHA-1 和 MD5。SHA-256 用于 VirusTotal 兼容性。
- **60+ 可疑 API 检测:** 标记 6 个类别中常被滥用的 Windows API:
- **加密 API:** `BCryptEncrypt`, `CryptEncrypt`, `CryptAcquireContext`
- **文件枚举:** `FindFirstFile`, `FindNextFile`, `GetLogicalDriveStrings`
- **进程注入:** `WriteProcessMemory`, `CreateRemoteThread`, `NtUnmapViewOfSection`
- **反调试:** `IsDebuggerPresent`, `CheckRemoteDebuggerPresent`
- **横向移动:** `NetShareEnum`, `WNetOpenEnum`
- **卷影副本删除:** `vssadmin`, `wmic shadowcopy`
- **勒索软件字符串检测:** 扫描比特币地址、`.onion` URL、勒索信关键字(`YOUR FILES`, `decrypt`, `payment`)以及加密库引用。
- **数字签名验证:** 检查 PE 文件的 Authenticode 签名。
- **加壳识别:** 通过节头分析(`.upox`, `.aspack`, `.themida`)检测加壳/混淆的可执行文件。
- **异常检测:** 标记编译器时间戳异常,计算每个节的熵值,检测覆盖层、TLS 回调和资源异常。
### 2. 🧬 线程安全 YARA 扫描引擎
一个高度优化的、线程安全的签名匹配引擎。
- **线程安全缓存:** 使用 `threading.Lock` 确保并发访问安全,并基于单个文件的 mtime 进行缓存失效处理。
- **多格式支持:** 加载 `.yar` 和 `.yara` 规则文件,并支持命名空间隔离。
- **匹配字符串提取:** 提取截断的匹配字符串(前 5 个字符串 × 64 字节)用于详细报告。
- **ReDoS 防护:** 实施严格的超时机制,以防止正则表达式拒绝服务攻击。
### 3. 🧠 集成 ML 分类器(19 个特征)
一个生产级预测模型,在 15,000+ 样本上进行了训练和全面验证。
- **集成架构:** 通过软投票结合 `GradientBoosting` + `RandomForest` 分类器,以实现卓越的准确性。
- **19 个工程特征:** 熵、可疑节/导入计数、TLS 回调、调试信息、数字签名状态、勒索字符串计数、资源熵、覆盖层检测、文件大小比率等。
- **恶意软件子类型:** 针对勒索软件、木马、释放器、蠕虫和加壳恶意软件分布进行训练。
- **验证:** 分层 5 折交叉验证,具有 **99.96% 的精确度** 和全面的指标(F1, FNR, 特征重要性)。
- **启发式回退:** 当 ML 模型不可用时,多信号加权启发式方法会利用所有 19 个特征提供可靠的分类。
### 4. 🤖 生成式 AI 威胁解释器
将复杂的网络安全数据转化为可操作的情报,并提供 **ChatGPT 风格的 Markdown 渲染**。
- 通过 LangChain 集成 **Groq (LLaMA 3.1)**,实现超快推理。
- 摄入丰富的扫描数据(静态分析、YARA 匹配、VT 结果、ML 预测)并生成带有修复步骤的清晰解释。
- **Markdown UI:** 响应内容渲染包含语法高亮代码块、样式化表格、项目符号列表、行内代码和复制按钮 —— 匹配 Claude/ChatGPT 的外观和风格。
### 5. 🍯 带有进程归属的蜜饵陷阱
主动式勒索软件陷阱,旨在捕获零日加密事件并提供取证细节。
- 生成逼真的诱饵文件(如 `passwords.txt`, `bitcoin_wallet.dat`, `tax_returns_2025.pdf`),包含非平凡内容(勒索软件会跳过微小文件)。
- **进程识别:** 当诱饵被修改时,使用 `psutil` 识别作恶进程的名称、路径和 PID。
- **熵监控:** 比较修改前后的熵值以检测主动加密(熵值跃升 > 7.0 = 可能已加密)。
- **警报速率限制:** 10 秒冷却时间防止在大规模加密事件期间发生警报洪泛。
- 向前端触发带有完整取证上下文的 `CRITICAL` WebSocket 警报。
### 6. 🌐 带有威胁情报的实时网络监控
具有丰富安全上下文的实时端点遥测监控。
- **进程解析:** 通过 `psutil` 将每个连接的 PID 映射到进程名称、可执行路径和用户名。
- **IP 信誉引擎:** 根据以下来源检查远程 IP:
- Emerging Threats 受损 IP 源(自动下载并缓存)
- 已知恶意 IP 数据库
- **端口分类:** 识别 C2 端口(4444, 8443, 9001)、挖矿端口(3333, 14444),并标记非标准连接。
- **GeoIP 查询:** 使用 MaxMind GeoLite2 解析远程 IP 的原籍国家。
- **信标检测:** 使用变异系数分析连接间隔模式以检测 C2 回连。
- **风险评分:** 为每个连接分配 0-100 的风险评分及详细原因。
- **ARP 欺骗检测:** 检测中间人攻击,并通过虚拟适配器 MAC 过滤减少误报。
- **AI 分析:** 丰富的连接数据(进程、信誉、GeoIP、风险评分)被馈送到 Groq LLM 进行简明、可操作的安全分析。
### 7. 🎯 归一化扫描流水线
具有加权威胁评分的多引擎编排。
- **5 个威胁等级:** CLEAN → LOW → MEDIUM → HIGH → CRITICAL
- **加权评分:** VirusTotal (30%) + YARA (25%) + ML 分类器 (25%) + 静态分析 (20%)
- **勒索软件加成:** 独立的勒索软件字符串检测为分数增加 +20%
- **安全文件处理:** 分析后执行零覆写删除,Celery 任务超时设置(5 分钟硬超时/4 分钟软超时)
- **文件类型检测:** 处理前进行魔数分析(不基于扩展名)
## 📸 截图
| 仪表盘概览 | 实时网络分析 |
| :---: | :---: |
|  |  |
| *威胁评分和近期扫描的高级概览。* | *带有进程名称、风险评分和 IP 信誉的实时连接监控。* |
| AI 威胁解释器 | 实时 MitM ARP 警报 |
| :---: | :---: |
|  |  |
| *作为对话式安全分析师运行的 LLaMA 3.1,具有 ChatGPT 风格的 Markdown 渲染。* | *针对活跃中间人攻击的全局警告。* |
| 高级扫描引擎 | 扫描后 PDF 报告 |
| :---: | :---: |
|  |  |
| *带有 BLAKE3 哈希、AI 解释、VT 结果和勒索软件指标的多引擎扫描。* | *包含 AI 严重性解释的详细可下载报告。* |
## 🛠️ 技术栈
### 前端客户端
- **框架:** React 18, Vite
- **样式:** Tailwind CSS, PostCSS
- **状态管理:** Zustand
- **路由:** React Router v6
- **图表/UI:** Recharts, Lucide React
- **LLM 渲染:** React Markdown, React Syntax Highlighter, Remark GFM
### 后端 API & Workers
- **核心框架:** Django 4.2+, Django REST Framework (DRF)
- **WebSockets:** Django Channels, Daphne Server
- **任务队列:** Celery, Redis (Broker/Backend)
- **数据库:** SQLite3 (可配置为 PostgreSQL)
- **安全:** JWT Authentication (SimpleJWT)
### 分析与 AI 引擎
- **恶意软件分析:** `yara-python`, `pefile`, `virustotal3`, `python-magic`
- **机器学习:** `scikit-learn` (GradientBoosting + RandomForest Ensemble)
- **哈希计算:** `blake3` (主要), `hashlib` (SHA-256 用于 VT)
- **系统遥测:** `psutil`, `watchdog` (文件系统事件)
- **威胁情报:** `geoip2` (GeoIP), `aiohttp` (异步源下载)
- **生成式 AI:** `langchain`, `langchain-groq`
## 🏗️ 技术架构
```
graph TD
UI[React Frontend Interface] -->|HTTP REST| API(Django API Gateway)
UI <-->|WebSockets| CHANNELS{Django Channels}
API --> AUTH[JWT Authentication]
API --> DB[(SQLite Database)]
API -->|Submit Scan Job| BROKER[(Redis Message Broker)]
BROKER -->|Consume Job| CELERY[Celery Background Workers]
CELERY --> ENGINE_1[Static PE Analyzer - 19 Features]
CELERY --> ENGINE_2[YARA Scanner Engine]
CELERY --> ENGINE_3[Ensemble ML Classifier]
CELERY --> ENGINE_4[VirusTotal API - SHA-256]
ENGINE_1 --> SCORING[Normalized Threat Scoring]
ENGINE_2 --> SCORING
ENGINE_3 --> SCORING
ENGINE_4 --> SCORING
SCORING --> AI_REPORT[AI Threat Explainer]
AI_REPORT <--> GROQ((Groq / LLaMA 3.1 API))
AI_REPORT --> DB
HONEYPOT[Honeyfile Watchdog Service] -.->|File Event + Process ID| CHANNELS
NET[Network Monitor] -.->|Enriched Stream| CHANNELS
NET --> THREAT_INTEL[Threat Intelligence]
THREAT_INTEL --> IP_REP[IP Reputation Feed]
THREAT_INTEL --> GEOIP[GeoIP Lookup]
THREAT_INTEL --> BEACON[Beaconing Detection]
```
## 🚀 安装与设置
按照以下步骤在本地启动并运行副本。
### 前置条件
- Python 3.10+
- Node.js (v18 或更高版本)
- Redis Server (运行在 `localhost:6379`)
- **VirusTotal** 和 **Groq** 的 API 密钥
### 1. 克隆仓库
```
git clone https://github.com/your-username/Ransomware_Shield.git
cd Ransomware_Shield
```
### 2. 后端设置
```
cd backend
# 创建并激活虚拟环境
python -m venv venv
# Windows 上:venv\Scripts\activate
# Mac/Linux 上:source venv/bin/activate
# 安装 requirements
pip install -r requirements.txt
# 设置环境变量
# 创建一个包含 GROQ_API_KEY 和 VT_API_KEY 的 .env 文件
# 运行 Database Migrations
python manage.py migrate
# 训练 ML Model(首次设置需要)
python -m ai_engine.ml.train_model
# 创建 Superuser(可选)
python manage.py createsuperuser
# 启动 Django/Daphne Server
python manage.py runserver
```
### 3. 后台服务设置(在单独的终端窗口中)
```
# 终端 2 - 启动 Redis(如果未作为服务原生运行)
# 确保 redis 处于活动状态。
# 终端 3 - 启动 Celery Worker
cd backend
venv\Scripts\activate
# Windows 上使用 pool=solo
celery -A config worker -l info --pool=solo
# 终端 4 - 启动 Honeyfile Ransomware Trap
cd backend
venv\Scripts\activate
python manage.py run_honeyfile
```
### 4. 前端设置(在新的终端窗口中)
```
cd frontend
# 安装 Node modules
npm install
# 启动 Vite development server
npm run dev
```
在浏览器中访问 `http://localhost:5173`。
### 5. 可选:GeoIP 设置
用于网络分析中的国家级 IP 解析:
1. 在 [MaxMind](https://www.maxmind.com/) 创建一个免费账户
2. 下载 `GeoLite2-Country.mmdb`
3. 将其放置在 `backend/geoip/` 中
## 📊 ML 模型性能
集成分类器在合成数据上达到以下指标(15,550 个样本,分层 5 折交叉验证):
| 指标 | 分数 |
|--------|-------|
| **精确度** | 99.96% |
| **准确度** | ~99.9% |
| **漏报率** | < 0.1% |
特征重要性主要由以下因素决定:熵、可疑导入计数、勒索软件字符串计数和节异常。
## 📄 许可证
根据 MIT 许可证分发。更多信息请参见 `LICENSE`。
## 由 Rudranil Goswami 开发。
## 联系邮箱 : tatairudra39@gmail.com .
标签:Apex, API行为分析, BLAKE3哈希, C2信标检测, Celery, Cloudflare, DAST, Django, DNS 反向解析, GeoIP定位, HTTP工具, IP 地址批量处理, MITRE ATT&CK, PE文件分析, Python, React, Syscalls, TCP/IP协议栈, 中间人攻击检测, 云安全监控, 人工智能, 勒索软件检测, 反病毒, 威胁情报, 威胁解释器, 开发者工具, 异常检测, 恶意软件分析, 搜索引擎查询, 无后门, 时间线生成, 机器学习, 深度学习, 生成式AI, 用户模式Hook绕过, 端点防护, 索引, 网络安全, 网络安全审计, 网络安全平台, 网络流量分析, 蜜文件, 蜜罐, 证书利用, 逆向工具, 隐私保护, 静态分析, 风险评分