poojanoochila/login-anomaly-detection

GitHub: poojanoochila/login-anomaly-detection

这是一个基于机器学习的登录异常检测系统,通过分析时间和IP模式来识别可疑用户行为,模拟安全运营中心的监控工作流。

Stars: 0 | Forks: 0

# 登录异常检测系统 该系统使用监督式机器学习流水线将登录尝试分类为正常或异常,模拟安全运营中心(SOC)中使用的检测工作流。 ### 使用的算法与技术 - Logistic Regression - Random Forest Classifier - SMOTE (Synthetic Minority Oversampling Technique) - StandardScaler (Feature Scaling) ### 流水线概览 #### 1. 数据预处理 - 提取基于时间的特征(例如,登录小时) - 对分类变量进行编码 - 应用 **StandardScaler** 对数值特征进行归一化 #### 2. 处理类别不平衡 (SMOTE) - 登录异常数据集高度不平衡 - 应用 SMOTE 生成合成异常样本 - 提高模型检测罕见可疑事件的能力 #### 3. 模型训练 **Logistic Regression** - 用作基线模型 - 提供可解释的结果 - 有助于理解特征对预测的影响 **Random Forest Classifier** - 用作主要模型 - 捕获复杂的行为模式 - 为异常分类提供更高的准确率 ### 为什么采用这种方法? - **StandardScaler** - 确保特征处于同一量级 - 提高 Logistic Regression 的性能 - **SMOTE** - 解决类别不平衡问题 - 提高异常检测的召回率 - **Logistic Regression** - 简单、可解释的基线 - 适用于比较 - **Random Forest** - 对结构化数据稳健且准确 - 有效处理非线性关系 ### 检测逻辑 系统根据以下情况将登录标记为可疑: - 异常的登录时间(例如,深夜活动) - 新的或未知的 IP 地址 - 偏离用户的正常行为 ### 输出解读 - 每次登录尝试被分类为: - **Normal** - **Anomalous (Potential Threat)** ## 检测工作流 1. 收集用户登录数据 2. 提取并缩放特征 3. 使用 SMOTE 平衡数据 4. 模型预测正常或异常 5. 系统标记可疑活动 ## 示例检测输出 输入: - Login Time: 02:30 AM - IP Address: New / Unrecognized 输出: - Prediction: Anomalous - Risk Level: HIGH - Reason: - Unusual login time - New IP address detected ## 模型性能 模型评估指标会根据数据集划分和预处理而有所不同。 由于 SMOTE 的平衡作用,典型性能包括在异常检测方面具有强大的召回率。 ### 目标 本项目展示了: - 行为异常检测 - 处理不平衡的安全数据 - 机器学习在威胁检测中的应用 - SOC 监控工作流的模拟 ## 功能 - 基于时间的异常检测(非正常时段登录) - 基于 IP 的异常检测 - 为真实场景生成合成数据集 - 用于异常检测的机器学习模型 - 使用 Flask 的 Web 界面 ## 技术栈 - **Backend:** Flask - **Machine Learning:** Scikit-learn (Random Forest), Imbalanced-learn (SMOTE) - **Data Processing:** Pandas, NumPy - **Visualization/UI:** HTML, CSS - **Dataset:** Synthetic login activity dataset ## 项目结构 login-anomaly-detection/ │ ├── app.py # Main Flask application ├── requirements.txt # Dependencies │ ├── ml/ # Machine learning modules │ ├── train_model.py | ├── evaluate_models.py │ ├── preprocessing.py │ ├── templates/ # HTML templates ├── static/ # CSS, JS files │ ├── data/ # Dataset │ └── login_sample_1000.csv ## 数据集 使用合成数据集来模拟登录行为: - Timestamp - User ID - IP Address - Device / Location (if applicable) 异常包括: - 异常的登录时间 - 可疑的 IP 变更 - 快速的登录尝试 ## 安装 ``` git clone https://github.com/yourusername/login-anomaly-detection.git cd login-anomaly-detection pip install -r requirements.txt ``` ## 界面预览 ### 登录页面 ![Home](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/566d76ca8a174220.png) ### 主页 ![Home](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fd95287a4b174222.png) ### 检测结果 ![Result](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2f8b853095174223.png) ![Result](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/21308bc102174224.png) ## 使用方法 ``` python app.py ``` 然后在浏览器中打开: [http://127.0.0.1:5000/](http://127.0.0.1:5000/) ## 模型训练 ``` python ml/train_model.py ``` ## 安全相关性 (SOC 视角) 本项目展示了: * 行为异常检测 * 威胁识别逻辑 * 机器学习在网络安全中的实际应用 * 对基于登录的攻击模式的理解 ## 局限性 * 使用合成数据集 * 非生产规模 * 特征工程有限 ## 未来改进 * 集成真实世界数据集 * 添加风险评分系统 * 实现实时告警 * 改进特征工程 ## 现实应用 该系统可应用于: - Security Operations Centers (SOC) - 欺诈检测系统 - User behavior analytics (UBA) - 内部威胁检测 ## 学术背景 本项目是作为 MCA 第三学期迷你项目的一部分开发的,重点是将机器学习技术应用于网络安全用例,例如登录异常检测。 ## 注意 为了提高效率,已排除大型数据集和训练好的模型文件。 可以使用提供的脚本重新训练模型。
标签:AMSI绕过, Apex, IP分析, Python, SMOTE, StandardScaler, 二分类, 多模态安全, 威胁检测, 安全运营中心, 异常检测, 数据科学, 数据预处理, 无后门, 时间序列特征, 机器学习, 欺诈检测, 特征缩放, 用户行为分析, 登录安全, 监督学习, 类别不平衡, 网络安全, 网络映射, 资源验证, 逻辑回归, 随机森林, 隐私保护