praveenkumarjoregala/log-anomaly-detector
GitHub: praveenkumarjoregala/log-anomaly-detector
基于 Python 和 Pandas 的认证日志分析工具,通过可解释的规则引擎自动检测暴力破解与凭证填充攻击。
Stars: 0 | Forks: 0
# 认证日志异常检测器
一款 Python 安全工具,通过解析认证日志并利用行为分析来标记可疑模式,特别是暴力破解和凭证填充攻击。
旨在展示网络安全概念(威胁检测、攻击模式识别)在 Python 和 Pandas 中的实际应用。
## 解决的问题
安全团队每天要处理成千上万条认证日志条目。人工审查是不可能的。该工具自动检测两种最常见的攻击模式,使分析师能够专注于已确认的威胁。
## 检测到的攻击模式
暴力破解 (Brute Force):- 单个 IP 针对单一账户进行反复的登录失败尝试。
阈值:来自同一源 IP 的 8 次以上失败尝试。
凭证填充 (Credential Stuffing) :- 单个 IP 遍历许多不同的用户名,通常使用泄露的凭证列表。
阈值:来自同一源 IP 尝试了 5 个以上不同的用户名。
## 检测结果(基于 2,090 条日志条目的合成数据集)
| 攻击类型 | 源 IP | 数量 | 严重程度 |
| 暴力破解 | 192.168.1.199 | 50 次失败尝试 | HIGH |
| 暴力破解 | 10.0.0.88 | 40 次失败尝试 | HIGH |
| 凭证填充 | 10.0.0.88 | 40 个不同用户名 | HIGH |
正常流量的误报率:2,000 条干净条目中标记数为 0。
## 为什么采用基于规则的检测(而非 ML)
特意选择基于规则的阈值而不是 ML 异常检测,原因有二:
1. 可解释性 :- 每个告警都可以追溯到特定规则,这在分析师需要了解*为什么*某些内容会被标记的安全领域非常重要。
2. 可审计性 :- 阈值逻辑是透明且可调的,不同于黑盒模型。
## 技术栈
- Python 3.12
- Pandas :- 日志解析、groupby 分析、模式检测。
- Faker :- 生成逼真的合成日志。
## 如何运行
```
pip install -r requirements.txt.
python generate_logs.py # generates auth_logs.csv,
python analyzer.py # runs detection and prints report.
```
## 项目结构
```
├── generate_logs.py # Synthetic log generator with injected attack patterns
├── analyzer.py # Detection engine and report generator
├── auth_logs.csv # Generated dataset (2,090 entries)
└── requirements.txt
```
标签:AMSI绕过, Python, 威胁检测, 无后门, 红队行动