MysticXTharun/ransomware-early-warning-dashboard
GitHub: MysticXTharun/ransomware-early-warning-dashboard
面向 SOC 的勒索软件早期预警平台,通过分析端点遥测数据、风险评分和 MITRE ATT&CK 映射在大规模加密发生前识别可疑行为。
Stars: 0 | Forks: 0
# 勒索软件预警仪表板
一个专注于 SOC 的 Web 应用程序,通过分析端点遥测数据,在大规模文件加密发生之前识别早期的勒索软件行为。
该平台评估进程执行、命令行活动、可疑文件扩展名、勒索信创建以及快速的文件修改。它计算勒索软件风险评分,并将检测结果映射到 MITRE ATT&CK 技术。
## 主要功能
- 进程和命令行分析
- 批量文件修改检测
- 可疑勒索软件扩展名检测
- 勒索信检测
- 卷影副本和备份删除检测
- 编码 PowerShell 检测
- 安全控制受损检测
- 0–100 的风险评分
- 低、中、高和严重严重性级别
- 可能安全、需要调查、可疑和可能是勒索软件的判定结果
- MITRE ATT&CK 映射
- 推荐的 SOC 响应操作
- SQLite 调查历史记录
- 带有 Swagger 文档的 REST API
- 响应式 SOC 风格仪表板
- Docker Compose 部署
- 自动化 pytest 覆盖率测试
- 安全的示例端点事件
## 截图
### 仪表板概览和风险分析

### 警报调查历史记录

### Swagger API 文档

## 技术栈
- Python
- FastAPI
- SQLAlchemy
- SQLite
- Pydantic
- Jinja2
- HTML、CSS 和 JavaScript
- Docker 和 Docker Compose
- Pytest
## 检测逻辑
| 行为 | 风险分 | MITRE ATT&CK |
|---|---:|---|
| 删除卷影副本 | 35 | T1490 – Inhibit System Recovery |
| 删除备份目录 | 30 | T1490 – Inhibit System Recovery |
| 禁用 Windows 恢复 | 30 | T1490 – Inhibit System Recovery |
| 编码 PowerShell | 25 | T1059.001 – PowerShell |
| 清除 Windows 事件日志 | 25 | T1070.001 – Clear Windows Event Logs |
| 终止安全进程 | 30 | T1562.001 – Impair Defenses |
| 可疑勒索软件扩展名 | 35 | T1486 – Data Encrypted for Impact |
| 疑似勒索信 | 30 | T1486 – Data Encrypted for Impact |
| 60秒内修改了30个以上的文件 | 20 | T1486 – Data Encrypted for Impact |
| 60秒内修改了100个以上的文件 | 40 | T1486 – Data Encrypted for Impact |
综合得分上限为 100。
## 风险分类
| 得分 | 严重性 | 判定结果 |
|---:|---|---|
| 0–19 | 低 | 可能安全 |
| 20–39 | 中 | 需要调查 |
| 40–74 | 高 | 可疑 |
| 75–100 | 严重 | 可能是勒索软件 |
## 架构
```
Endpoint/Sysmon Event
|
v
FastAPI Ingestion API
|
v
Ransomware Detection Engine
|
+--> Risk Scoring
+--> MITRE ATT&CK Mapping
+--> Response Recommendations
|
v
SQLite Alert History
|
v
SOC Dashboard and Swagger API
```
## 项目结构
```
ransomware-early-warning-dashboard/
├── app/
│ ├── routers/
│ │ └── api.py
│ ├── services/
│ │ └── detection_engine.py
│ ├── static/
│ │ ├── css/style.css
│ │ └── js/dashboard.js
│ ├── templates/index.html
│ ├── database.py
│ ├── main.py
│ ├── models.py
│ └── schemas.py
├── docs/screenshots/
├── sample_logs/ransomware_events.json
├── tests/test_detection.py
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
```
## 本地运行
```
git clone https://github.com/MysticXTharun/ransomware-early-warning-dashboard.git
cd ransomware-early-warning-dashboard
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```
打开:
- 仪表板:`http://localhost:8000`
- Swagger API:`http://localhost:8000/docs`
- 健康检查 endpoint:`http://localhost:8000/api/health`
## 使用 Docker 运行
```
docker compose up --build -d
docker compose ps
```
停止部署:
```
docker compose down
```
## API Endpoints
| 方法 | Endpoint | 用途 |
|---|---|---|
| GET | `/api/health` | 检查服务健康状态 |
| POST | `/api/analyze` | 分析 endpoint 事件 |
| GET | `/api/alerts` | 获取警报历史记录 |
| GET | `/api/stats` | 获取仪表板统计数据 |
| GET | `/docs` | 打开 Swagger 文档 |
## 分析请求示例
```
curl -X POST http://127.0.0.1:8000/api/analyze \
-H "Content-Type: application/json" \
-d '{
"hostname": "WIN-FINANCE-01",
"username": "CORP\\jsmith",
"event_type": "process_creation",
"process_name": "vssadmin.exe",
"command_line": "vssadmin.exe delete shadows /all /quiet",
"file_path": "C:\\Finance\\report.xlsx.locked",
"file_extension": ".locked",
"files_modified": 250,
"time_window_seconds": 30
}'
```
## 运行测试
```
pytest -v
```
预期结果:
```
5 passed
```
## SOC 调查工作流
1. 接收端点事件。
2. 规范化进程、命令行和文件信息。
3. 将事件与勒索软件检测规则进行匹配。
4. 计算累计风险评分。
5. 分配严重性和判定结果。
6. 将可疑行为映射到 MITRE ATT&CK。
7. 将调查记录存储在 SQLite 中。
8. 向分析师显示推荐的遏制措施。
## 防御性使用声明
本项目仅包含防御性检测逻辑和安全的模拟遥测数据。它不执行恶意软件、加密文件或进行破坏性活动。
## 作者
**Sai Tharun**
- GitHub:[MysticXTharun](https://github.com/MysticXTharun)
- LinkedIn:[Kalidindi Sai Tharun](https://linkedin.com/in/kalidindi-sai-tharun-797080294)
标签:多模态安全, 数据可视化, 版权保护, 请求拦截, 逆向工具