NavyaSree-H4ck/Intelligent-SOC-Assistant
GitHub: NavyaSree-H4ck/Intelligent-SOC-Assistant
一款基于 Python 的桌面端 SOC 应用,通过监控和关联 Windows 安全事件实现威胁检测、MITRE ATT&CK 映射及事件调查报告。
Stars: 0 | Forks: 0
# 🛡️ 智能 SOC 助手
一个基于 Python 的防御性安全应用程序,用于监控 Windows 安全事件、检测可疑活动、关联相关事件、分配严重性和风险、将检测映射到 MITRE ATT&CK,并通过桌面仪表板支持 SOC 风格的事件调查。
## 📌 项目概述
开发 **智能 SOC 助手** 旨在了解安全运营中心 (SOC) 如何处理从收集到调查的安全事件。
该项目遵循以下 pipeline:
**事件收集 → 解析 → 规范化 → 关联 → 检测 → 严重性与风险评分 → MITRE ATT&CK 映射 → 建议 → 存储 → 调查与报告**
该应用程序监控 Windows 安全事件,并将原始事件数据转换为可通过桌面 GUI 分析的结构化安全事件。
## 💡 为什么开发这个项目
我的职业目标是成为一名 **SOC Analyst**,我希望超越理论性的网络安全概念,并了解安全监控在实际中是如何运作的。
我最初的设想是学习如何 **监控和防御我控制的 Windows 系统**,然后再将这些知识扩展到更大的组织环境中。
我不仅希望使用现有的 SIEM 工具,更希望深入了解安全监控 pipeline 背后的各个组件——日志是如何被收集、解析、关联、检测、优先排序、调查和报告的。
## 🏗️ 架构
```
Windows Security & PowerShell Events
↓
Live Event Monitor
↓
Parser
↓
Normalizer
↓
Correlation Engine
↓
Detection Engine
↓
Severity & Risk Scoring
↓
MITRE ATT&CK Mapper
↓
Recommendation Engine
↓
SQLite Incident Database
↓
PySide6 SOC Dashboard
↓
Investigation & Reporting
```
## ⚙️ 工作原理
### 1. 事件收集
实时监控器从 **Windows Security** 和 **PowerShell Operational** 日志中收集已配置的、与安全相关的事件。
### 2. 解析
处理原始的 Windows Event XML,以提取有用的字段,如 Event ID、时间戳、用户名、主机名、源 IP、登录类型、进程信息和记录 ID。
### 3. 规范化
将不同的事件结构转换为一致的内部格式,以便所有模块都能统一处理它们。
### 4. 关联
使用时间窗口、用户名、主机、来源、事件类型和阈值等因素连接相关事件。
例如:
```
Failed Login #1
↓
Failed Login #2
↓
Failed Login #3
↓
Correlation Threshold Reached
↓
One Meaningful Detection
```
这有助于减少不必要的告警泛滥。
### 5. 检测与优先级排序
检测引擎识别已配置的可疑行为,并分配:
- 严重性
- 风险评分
- 响应优先级
### 6. MITRE ATT&CK 与建议
将支持的检测映射到相关的 MITRE ATT&CK 技术,并补充调查或响应建议。
### 7. 存储与调查
事件使用 SQLite 存储,并通过 PySide6 仪表板显示,用于分析、过滤、调查和 PDF 报告。
## 🔍 检测场景
该项目是在授权环境中通过受控活动进行测试的。
| 检测场景 | Event ID | MITRE ATT&CK |
|---|---:|---|
| 反复的身份验证失败 / 潜在的暴力破解 | 4625 | T1110 |
| 可疑的 PowerShell 活动 | 4104 | T1059.001 |
| 创建用户账户 | 4720 | T1136.001 |
| 删除用户账户 | 4726 | 视上下文而定 |
| 修改安全组成员身份 | 4728 / 4732 | T1098 |
| 清除安全审核日志 | 1102 | T1070.001 |
更多详细信息请参阅 `docs/DETECTION_SCENARIOS.md`。
## 🛠️ 使用的技术
| 技术 | 用途 |
|---|---|
| **Python** | 核心安全处理和应用程序逻辑 |
| **pywin32** | 访问 Windows Event Log |
| **XML** | 处理结构化的 Windows 事件数据 |
| **PySide6 / Qt** | 桌面图形用户界面 |
| **SQLite** | 本地事件存储 |
| **Matplotlib** | 仪表板图表和可视化 |
| **MITRE ATT&CK** | 将检测到的行为映射到对手技术 |
| **ReportLab** | 生成 PDF 事件报告 |
| **PyInstaller** | 打包应用程序 |
| **venv** | 隔离的 Python 环境 |
## 📊 仪表板预览
### 安全概览
显示安全 KPI、事件统计、严重性信息和可视化。

### 事件管理
允许分析师搜索、过滤、审查确定检测到的事件的优先级。

### 事件调查
提供检测详情、证据、严重性、风险评分、MITRE ATT&CK 映射和建议。

### 报告中心
支持生成结构化的 PDF 事件报告。

## 📁 项目结构
```
Intelligent-SOC-Assistant/
│
├── dashboard/ # PySide6 desktop interface
├── database/ # SQLite database operations
├── detection/ # Detection and correlation engines
├── docs/ # Detection documentation
├── live_monitor/ # Windows event monitoring
├── mitre/ # MITRE ATT&CK mapping
├── normalizer/ # Event normalization
├── parser/ # Windows XML parsing
├── recommendation/ # Investigation recommendations
├── reports/ # PDF report generation
├── screenshots/ # Dashboard screenshots
├── severity/ # Severity and risk assessment
│
├── main.py # Application entry point
├── requirements.txt
├── .gitignore
└── README.md
```
## 🚀 安装与使用
### 1. 克隆仓库
```
git clone
cd Intelligent-SOC-Assistant
```
### 2. 创建并激活虚拟环境
```
python -m venv venv
```
PowerShell:
```
.\venv\Scripts\Activate.ps1
```
### 3. 安装依赖项
```
pip install -r requirements.txt
```
### 4. 运行应用程序
```
python main.py
```
访问某些安全事件通道可能需要适当的 Windows 权限和审核配置。
## 🚧 挑战与学习
开发过程中的一些主要挑战包括:
- 理解复杂的 Windows Event XML 结构。
- 在不同的 Event ID 中提取正确的字段。
- 规范化不一致的事件数据。
- 设计关联阈值和时间窗口。
- 减少误报和告警泛滥。
- 区分本地和远程身份验证上下文。
- 将检测适当地映射到 MITRE ATT&CK。
- 集成监控、检测、数据库、GUI 和报告模块。
- 在实时监控期间保持桌面界面响应迅速。
通过应对这些挑战,我获得了 **Windows 安全日志、检测工程、事件关联、SOC 告警分类、MITRE ATT&CK、事件调查、Python 应用程序开发和防御性安全工作流** 的实践经验。
## 🔮 未来展望
当前的实现主要集中在 Windows 端点上。未来的改进可能包括:
- 多端点集中监控
- 集成 Sysmon 和 Linux 日志
- 防火墙、IDS/IPS 和 EDR 遥测数据
- 威胁情报和 IOC 丰富化
- 更多行为检测规则
- 机器学习辅助的异常检测
- 集中式可扩展存储
- 告警通知和案例管理
- SOAR 风格的自动化响应工作流
## 🎯 与我的职业目标的联系
作为一名有志向的 **SOC Analyst**,这个项目帮助我了解了安全监控背后的防御性工作流:
**监控 → 检测 → 关联 → 优先级排序 → 调查 → 响应 → 报告**
我在着手这个项目时的想法是,首先了解如何监控和保护我控制的端点,然后将这些技能培养并应用于保护更大的组织环境。
## ⚠️ 免责声明
本项目仅用于 **教育、防御性安全和授权测试目的**。
安全测试只能在您拥有或获得明确测试许可的系统上进行。
这是一个以学习为导向的 SOC 原型,无意取代企业级的 SIEM 或 EDR 平台。
## 👩💻 作者
**Navya Sree K**
网络安全学生 | 有志向的 SOC Analyst
**兴趣:** SOC 运营 • 蓝队 • 威胁检测 • 事件调查 • 检测工程 • 防御性网络安全
⭐ 如果您觉得这个项目有用,请考虑为该仓库点赞。
标签:AMSI绕过, Python桌面应用, SQLite, Windows事件监控, 威胁检测, 安全运营, 扫描框架, 漏洞挖掘, 逆向工具