batuhan-06/Security-Log-Analysis-System
GitHub: batuhan-06/Security-Log-Analysis-System
一款基于 C++ 和规则引擎的安全日志分析器,能够自动解析日志文件、检测可疑活动并生成威胁报告。
Stars: 1 | Forks: 0
# 安全日志分析与威胁检测系统
一款 C++ 应用程序,能够分析安全日志文件,使用基于规则的检测技术检测可疑活动,并生成结构化的安全报告。
一款受基础 SIEM 概念启发的、基于规则的 C++ 安全日志分析器。
## 概述
本项目演示了如何使用现代 C++ 实现一个简单的安全信息与事件管理(SIEM)风格的日志分析器。
该应用程序从文件中读取安全日志条目,根据预定义的检测规则识别可疑事件,按严重程度对检测到的威胁进行分类,并生成详细的安全报告。
## 功能
- 从文本文件中解析安全日志条目
- 检测暴力破解登录尝试
- 检测端口扫描活动
- 检测可疑的 root 账户登录
- 按严重程度对威胁进行分类
- 在控制台中显示检测到的威胁
- 生成自动化的安全报告
## 检测规则
### 暴力破解攻击
检测来自同一 IP 地址的多次失败登录尝试。
**严重程度:** CRITICAL
### 端口扫描检测
检测代表端口扫描活动的日志条目。
**严重程度:** WARNING
### 可疑的 Root 登录
检测使用 root 账户进行的成功身份验证尝试。
**严重程度:** WARNING
## 技术
- C++
- 面向对象编程(OOP)
- 标准模板库(STL)
- 文件输入 / 输出
- CSV 解析
- 基于规则的威胁检测
- Visual Studio
## 项目结构
```
Security-Log-Analysis-System
│
├── LogEntry
│ ├── Stores a single log record
│
├── LogParser
│ ├── Reads and parses security logs
│
├── ThreatDetector
│ ├── Applies detection rules
│
├── ThreatEvent
│ ├── Represents detected threats
│
├── ReportGenerator
│ ├── Generates security_report.txt
│
└── main.cpp
├── Runs the complete application
```
## 示例输出
```
Security logs loaded successfully.
Total log entries: 5
[CRITICAL] BRUTE_FORCE_ATTACK
IP: 192.168.1.10
Multiple failed login attempts detected
[WARNING] PORT_SCAN_DETECTED
IP: 10.0.0.5
Potential port scanning activity detected
[WARNING] SUSPICIOUS_ROOT_LOGIN
IP: 192.168.1.20
Root account login detected
```
### 控制台输出

### 威胁检测逻辑

### 生成的安全报告

## 生成的报告
该应用程序会自动创建:
```
security_report.txt
```
示例:
```
===== SECURITY THREAT REPORT =====
Total Threats: 3
----------------------------------
[CRITICAL] BRUTE_FORCE_ATTACK
IP: 192.168.1.10
Multiple failed login attempts detected
[WARNING] PORT_SCAN_DETECTED
IP: 10.0.0.5
Potential port scanning activity detected
[WARNING] SUSPICIOUS_ROOT_LOGIN
IP: 192.168.1.20
Root account login detected
```
## 如何运行
1. 克隆代码仓库。
2. 在 Visual Studio 中打开解决方案。
3. 构建项目。
4. 运行应用程序。
5. 在 `security_report.txt` 中查看生成的报告。
## 学习成果
开发此项目旨在巩固以下方面的实践知识:
- 面向对象编程
- C++ 标准库
- 文件处理
- 数据解析
- 基于规则的检测逻辑
- 软件设计
- 报告生成
## 未来改进
未来潜在的增强功能包括:
- 实时日志监控
- 额外的检测规则
- 多线程日志处理
- 支持 JSON 日志
- 交互式命令行界面
标签:AMSI绕过, C++, 威胁检测, 插件系统, 数据擦除, 红队行动