jeett0216/insider-threat-detection

GitHub: jeett0216/insider-threat-detection

基于 Isolation Forest 无监督异常检测算法的内部威胁检测系统,通过分析员工活动日志自动识别可疑行为并生成风险报告。

Stars: 0 | Forks: 0

# 🔐 AI 驱动的内部威胁检测系统 ## 📌 项目概述 本项目主要侧重于使用 Machine Learning 检测**可疑的内部活动**。 它使用**无监督异常检测方法 (Isolation Forest)**,根据活动日志识别异常的员工行为。 该系统会学习正常的行为模式,并将偏差标记为潜在的内部威胁。 ## 🚀 主要特性 * 使用异常检测技术识别异常用户行为 * 无需标注数据即可工作(无监督学习) * 包含行为和基于时间的特征工程 * 分配风险等级:**高、中、低** * 使用图表可视化异常情况 * 生成可疑用户报告 ## 🧠 使用的技术 * Python * Pandas * NumPy * Scikit-learn * Matplotlib * Seaborn ## 📊 数据集 使用了模拟的员工活动数据集,包含以下特征: * 登录次数 * 文件访问次数 * 失败登录尝试次数 * 数据下载量 * 登录时间戳 ## ⚙️ 项目工作流程 1. **数据收集** * 模拟的用户活动日志 2. **数据预处理** * 处理结构化数据 * 将数据转换为数值格式 3. **特征工程** * 从时间戳中提取 `login_hour` * 创建 `after_hours_login` 特征 4. **数据缩放** * 应用 StandardScaler 进行归一化 5. **模型训练** * 使用 Isolation Forest 算法 * 学习正常行为模式 6. **异常检测** * 预测异常 (`-1`) 和正常用户 (`1`) * 生成异常分数 7. **风险分类** * 将分数转换为: * 高风险 * 中风险 * 低风险 8. **可视化** * 用于异常检测的散点图 * 用于分析的分布图 9. **报告生成** * 将可疑用户导出至 CSV 文件 ## 📈 模型评估 * 使用了 **Confusion Matrix** * 计算了 **Precision, Recall, F1-score** * 在模拟数据集上实现了高准确率 ## 📂 输出 * 识别可疑员工 * 生成 `suspicious_users.csv` 报告 * 提供风险等级分类 ## 🎯 真实用例 该系统可用于企业组织中,以: * 检测内部威胁 * 监控异常的员工活动 * 提升网络安全性和数据保护能力 ## ⚠️ 注意事项 该系统检测的是**异常情况,而非已确认的攻击**。 所有被标记的用户均应由安全团队进行人工审查。 ## 🏆 作者 Smruti Ranjan Nayak
标签:AI安全, Apex, Chat Copilot, JSONLines, Python, Scikit-learn, UEBA, 代码示例, 内部威胁检测, 员工监控, 子域名变形, 孤立森林, 安全报告, 异常检测, 异常行为分析, 数据分析, 数据预处理, 无后门, 无监督学习, 机器学习, 特征工程, 用户行为分析, 网络安全, 逆向工具, 隐私保护, 零信任