FrancescoCitti/ml_threat_detection
GitHub: FrancescoCitti/ml_threat_detection
基于 Isolation Forest 的 Linux SSH 异常登录检测工具,通过分析 auth 日志中的失败率与尝试次数自动发现暴力破解和凭证填充行为。
Stars: 0 | Forks: 0
# ml 威胁检测
使用 Isolation Forest 检测 Linux auth 日志中的异常 SSH 登录活动。按 IP 对事件进行分组,计算失败率,并标记可能代表暴力破解或凭证填充尝试的统计异常值。
## 工作原理
1. `preprocess.py` 解析原始的 `/var/log/auth.log` 行,提取源 IP,并将每个事件标记为失败或成功。
2. `model.py` 汇总每个 IP 的统计数据(尝试次数、失败次数、失败率),对其进行缩放,并运行 Isolation Forest 以发现异常值。
## 使用方法
```
pip install -r requirements.txt
# 仅预处理
python src/preprocess.py data/auth.log
# 运行完整检测
python src/model.py data/auth.log
```
将您的 auth 日志放在 `data/auth.log`。该文件已从版本控制中排除。
## 输出示例
```
3 anomalous IP(s) detected:
ip_encoded total_attempts failed_attempts failure_rate anomaly
42 847 841 0.993 -1
17 12 12 1.000 -1
3 203 199 0.981 -1
```
## 文件
```
src/preprocess.py Log parsing and feature extraction
src/model.py Isolation Forest detection
requirements.txt Python dependencies
data/ Place auth.log here (gitignored)
```
标签:Apex, Python, 异常检测, 无后门, 机器学习, 逆向工具