EMaurer71/carrier-scale-anomaly-detection

GitHub: EMaurer71/carrier-scale-anomaly-detection

基于行为聚类的异常检测项目,解决运营商规模身份系统中的高 IP 波动与误报问题。

Stars: 0 | Forks: 0

# carrier-scale-anomaly-detection 行为聚类异常检测,用于运营商规模的身份系统——检测根登录、不可能的速度、凭据填充和横向移动,而不会因为 IP 波动产生误报。 概述 基于 IP 的异常检测在运营商和大型企业环境中失效。一个用户可能因 NAT、DHCP 波动、漫游设备、VPN 集中器和地理分布式基础设施而在一天内合法地从数十个 IP 进行认证。使用传统的“新 IP”或“不可能旅行”规则会产生大量误报。 本项目展示了一个行为聚类异常检测流水线,能够识别: 根登录 不可能速度 凭据填充模式 横向移动 非工作时间的高权限访问 ……而不会因正常的 IP 变化触发告警。 笔记本、数据和输出反映真实的运行约束,而非教科书式的 ML 假设。 仓库内容 📘 笔记本 auth_anomaly_detection.ipynb 一个包含 8 个部分的完整文档化笔记本: 加载并清理认证日志 生成合成运营商规模的 IP 波动 执行特征工程 运行 K-Means 和 DBSCAN 将聚类投影到 PCA 空间 使用复合风险模型对事件计分 输出所有图表和计分日志 在 Jupyter 或 VS Code 中从头到尾运行 📁 数据文件 alert_queue.csv — 23 条 CRITICAL/HIGH 告警,全部为真实阳性 包含根登录、非工作时间管理员访问、外部高权限尝试 示例(来自数据集): “2024‑01‑01 00:56:00, root login, external IP, CRITICAL severity, risk_score_norm 10.0” full_log_scored.csv — 所有 899 个事件,包含: 聚类标签 DBSCAN 异常标记 风险分数 严重等级 人工可读的风险标记 synthetic_auth_logs.csv — 模拟运营商规模 IP 波动的合成数据集 📊 图表 笔记本生成五个生产级图表: IP 波动可视化 ![IP Variance Visualization](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ae7ec0b07c032107.png) 肘部法 + 轮廓系数分析 ![Elbow + Silhouette Analysis](https://raw.githubusercontent.com/EMaurer71/carrier-scale-anomaly-detection/main/figures/02_elbow_silhoutte.png) PCA 聚类投影(K-Means 与 DBSCAN) ![PCA Cluster Projection](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c9885c1629032110.png) 异常分解热力图 ![Anomaly Breakdown Heatmap](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4cff9f431f032111.png) 风险分数分布 + SOC 严重等级 ![Risk Score Distribution](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/3ed0fb9ca6032112.png) 所有图表保存至 /figures。 检测结果 DBSCAN 异常检测 64.8% 异常召回率 部分假阳性(可预期、可调节) 在 PCA 空间中捕捉离群点效果优秀 复合风险计分器 在 32.4% 召回率下达到 100% 精确率 每个触发的告警均为真实事件 零误阳性在告警队列中 适合 SOC 分拣流水线 根登录检测 所有 18 次根登录尝试均被标记 包含 2 次成功的特权认证 全部标记为 CRITICAL 并带有正确的风险标志 示例: “ROOT_LOGIN | EXTERNAL_PRIVILEGED | DBSCAN_OUTLIER” 为何该项目重要 大多数异常检测教程假设: 一个用户 = 一个设备 一个用户 = 一个 IP IP 变化 = 可疑 在真实的 ISP 和企业环境中,以上都不成立。 本项目建模了: NAT 池 DHCP 波动 VPN 集中器 地理冗余身份系统 TACACS/RADIUS/RADIUS-proxy 流程 拥有 100+ 每日 IP 的服务账户 它面向实际的工程安全,而非学术数据集。 技术栈 Python pandas scikit-learn numpy matplotlib / seaborn Jupyter Notebook 用例 减少 SIEM/SOAR 流水线中的假阳性 改进 Microsoft Sentinel UEBA 信号 增强类似 Darktrace 的行为模型 在高波动环境中检测受损账户 培训分析人员使用真实的身份遥测 项目结构 代码 /notebooks auth_anomaly_detection.ipynb /data alert_queue.csv full_log_scored.csv synthetic_auth_logs.csv /figures *.png /src clustering.py feature_engineering.py anomaly_scoring.py synthetic_data_generator.py 未来增强 基于自编码器的异常计分 基于图形的横向移动检测 身份行为的时间序列预测 实时计分 API
标签:DBSCAN, DNS 解析, IP churn, K-Means, NoSQL, PCA降维, PE 加载器, SEO: 行为聚类, SEO: 身份异常检测, SEO: 载波级异常, 不可能速度, 企业级认证, 凭证填充, 合成数据, 告警队列, 大规模认证, 子域名变形, 安全可视化, 安全运营, 异常检测, 扫描框架, 数据科学, 无监督学习, 日志清洗, 根登录检测, 横向移动, 特征工程, 离群点检测, 笔记本, 编程规范, 网络安全审计, 脱机分析, 行为聚类, 资源验证, 身份系统, 载波级, 逆向工具, 风险评分