Guiuii/ml-cyber-security-logs-analysis

GitHub: Guiuii/ml-cyber-security-logs-analysis

利用DBSCAN聚类与企业日志探索性分析,自动检测暴力破解、数据外泄和内部威胁等安全异常。

Stars: 0 | Forks: 0

# README:安全日志分析与异常检测 ## 项目描述 对企业基础设施的 30 天匿名日志切片进行了分析(包括身份验证事件、工作站活动和网络连接)。目标在于寻找真实攻击的痕迹,并提出一套威胁检测系统。 ## 任务 1. 探索性数据分析 (EDA) 2. 搜索可疑活动 3. 制定检测规则 4. 构建异常检测机制 (DBSCAN) ## 结构 - `solution.ipynb` - 包含完整分析与代码的 Jupyter Notebook - `README.md` - 当前文件 - `requirements.txt` - 运行环境要求 ## 方法论 ### 1. 探索性数据分析 对数据结构进行了初步分析:日志来源(network、endpoint、auth)、用户、部门以及时间的分布情况。发现了基本规律:活动高峰期集中在 6:00-18:00 UTC,主要是 network 事件。同时也发现了数据质量问题:`geo_country`、`file_size_mb` 字段存在缺失值,以及 `event_id` 出现重复。 ### 2. 搜索可疑活动 发现了 5 起异常安全事件: | № | 用户 | 事件 | 风险 | |---|-------------|----------|------| | 1 | U0042 | 暴力破解:来自 3 个国家的 34 次失败尝试 → 成功登录 | 严重 | | 2 | U0056 | 内部威胁:周末(周日)的 USB 拷贝行为 | 高 | | 3 | U0017 | 活动激增:4 天内产生 5.3 GB 外部流量 | 严重 | | 4 | U0056 | 向外部 IP 104.18.32.155 泄露 6.13 GB 数据 | 严重 | | 5 | WS-ENG-017 | 外部流量异常激增(22:00 时分达到 5.3 GB) | 高 | 针对每起事件,都详细说明了可疑原因、确凿证据、风险等级以及供 SOC 参考的补充数据。 ### 3. 检测系统 制定了 5 条威胁检测规则,包含逻辑说明、Python 实现示例以及对误报情况的分析: 1. 针对来自不同国家/地区失败登录的暴力破解 2. 外部流量激增(基于统计阈值) 3. 内部威胁活动(USB + 非工作时间) 4. “压缩包 -> 外部流量”攻击链 5. 用户活动激增(异常增长) ### 4. 异常检测 (DBSCAN) 选择 DBSCAN(基于密度的聚类算法)来进行异常检测。做出该选择的原因在于它不需要对数据分布进行假设、对异常值具有鲁棒性,并且能够发现任意形状的聚类。 **使用的特征 (9):** - `total_events` - 每日事件总数(用于检测突发的活动激增) - `external_traffic_mb` - 外部流量大小(数据泄露的直接指标) - `external_connections` - 外部连接数量(批量外传的迹象) - `archive_count` - 创建的压缩包数量(为数据泄露做准备) - `usb_events` - USB 连接次数(内部威胁活动) - `powershell_count` - PowerShell 执行次数(常用的攻击工具) - `file_downloads` - 下载的文件数量(系统性的数据收集) - `failed_logins` - 登录失败次数(暴力破解) - `unique_countries` - 登录所在的不同国家/地区数量(异常的地理位置) 所有特征均基于在任务 2 中发现的真实异常情况挑选得出。 **DBSCAN 结果:** - 总记录数(用户-天):约 2800 - 发现的异常:约 30(约占 1%) - 确认了所有已知的安全事件:U0056、U0017、U0042 - 发现了需要进一步核查的新可疑用户 ## 使用的库 - pandas - 数据处理 - numpy - 数值计算 - matplotlib, seaborn - 数据可视化 - scikit-learn - DBSCAN, StandardScaler, PCA - datetime - 处理时间戳 ## 结论 本次工作证实了日志中确实存在真实攻击的痕迹:暴力破解、数据泄露和内部威胁活动。所开发的检测规则和 DBSCAN 模型能够实现自动化检测,从事件流中发掘出已知及未知的异常情况。这些分析结果可直接用于配置安全监控中心 (SOC) 的监控系统。
标签:Apex, DBSCAN, NoSQL, Python, 安全数据分析, 异常检测, 数据探索分析, 无后门, 机器学习, 红队行动, 逆向工具