ysf-sheikh/security-event-correlation-and-risk-scoring-system
GitHub: ysf-sheikh/security-event-correlation-and-risk-scoring-system
一个端到端的安全情报处理管道,模拟企业SIEM行为,结合规则引擎与机器学习实现多源事件的异常检测、多步骤攻击关联和风险评分。
Stars: 1 | Forks: 0
# Nexus Engine – 安全事件关联与威胁检测系统
## 概述
Nexus Engine 是一个模拟的安全运营中心 (SOC) pipeline,专为实时事件摄取、异常检测、基于规则的分析和跨事件关联而设计。
它模拟了现代安全平台(SIEM/UEBA 系统)如何处理和分析来自多种来源的遥测数据,例如身份验证日志、金融交易和网络流量。
该系统将确定性规则与机器学习相结合,以检测可疑行为并生成基于风险的警报。
## 主要功能
### 多源事件模拟
- 身份验证事件生成(登录尝试、暴力破解模拟)
- 交易事件生成(类欺诈金融行为)
- 网络事件生成(端口扫描和流量模拟)
### 事件处理 Pipeline
- 将原始事件标准化为统一的 schema
- 用于实时处理的内存摄取队列
- 用于下游分析的批量检索
### 检测引擎
- 针对已知攻击模式的基于规则的检测
- 使用 Isolation Forest 的机器学习异常检测
- 跨多个事件的状态化关联
### 关联引擎
- 检测多步骤攻击模式,例如:
- 账户接管序列
- 不可能旅行行为
- 跨事件攻击链
### 风险评分系统
- 混合评分模型,结合:
- 基于规则的严重性信号
- 机器学习异常分数
- 输出标准化的风险级别(LOW、MEDIUM、HIGH)
### 可视化仪表板
- 基于 Streamlit 的 SOC 仪表板
- 实时事件监控
- 风险分布和事件跟踪
- 交互式威胁可视化
## 系统架构
系统被组织为以下几个层级:
1. 数据生成层
- AuthEventGenerator
- TransactionEventGenerator
- NetworkEventGenerator
2. 摄取层
- IngestionPipeline
- Normalizer
3. 检测层
- RuleEngine
- AnomalyModel (Isolation Forest)
- CorrelationEngine
4. 评分层
- RiskScorer
5. 展示层
- Streamlit SOC 仪表板
## 数据流
1. 事件从模拟源生成
2. 事件被标准化为统一的 schema
3. 事件进入 ingestion pipeline 的队列中
4. 规则引擎评估确定性安全规则
5. ML 模型分配异常分数
6. 关联引擎识别多步骤攻击
7. 风险评分器将信号组合为最终的风险分数
8. 仪表板实时可视化结果
## 核心技术
- Python 3.10+
- NumPy
- scikit-learn (Isolation Forest)
- Streamlit
- Pandas
- Plotly
## 安装说明
### 1. 克隆仓库
```
git clone https://github.com/ysf-sheikh/security-event-correlation-and-risk-scoring-system
cd security-event-correlation-and-risk-scoring-system
```
### 2. 创建虚拟环境
```
python -m venv venv
source venv/bin/activate # Linux / Mac
venv\Scripts\activate # Windows
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
## 运行系统
### 启动仪表板
```
streamlit run app.py
```
### 运行核心 Pipeline(可选 CLI 模式)
```
python main.py
```
## 示例使用场景
1. 安全监控
- 检测暴力破解登录尝试
- 识别异常的交易行为
- 标记可疑的网络扫描活动
2. 行为分析
- 随时间跟踪用户活动模式
- 检测偏离基线的行为
- 关联跨系统事件
3. 威胁模拟
- 多步骤攻击链建模
- 内部威胁模拟
- 跨位置异常检测
## 配置
### 系统参数通过以下方式控制:
```
config/settings.py
```
## 许可证
本项目仅供教育和研究目的使用。
标签:Kubernetes, 逆向工具