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, 代码示例, 内部威胁检测, 员工监控, 子域名变形, 孤立森林, 安全报告, 异常检测, 异常行为分析, 数据分析, 数据预处理, 无后门, 无监督学习, 机器学习, 特征工程, 用户行为分析, 网络安全, 逆向工具, 隐私保护, 零信任