Chinthan07/Phishing_URL_and_Email_Analysis_using_NLP_and_Machine_Learning
GitHub: Chinthan07/Phishing_URL_and_Email_Analysis_using_NLP_and_Machine_Learning
结合NLP与机器学习的双模型钓鱼邮件及URL检测平台,通过Streamlit提供交互式威胁分析仪表板。
Stars: 0 | Forks: 0
# 使用 NLP 和机器学习进行钓鱼 URL 和邮件分析
基于 AI 的钓鱼和威胁检测平台,使用 Streamlit 构建。结合了基于 NLP 的邮件文本分析和 URL 结构/词法分析来检测钓鱼威胁,并附带日志分析和威胁情报模块。
## 概述
本项目使用两个专门构建的机器学习模型,检测邮件和 URL 这两种不同攻击面上的钓鱼威胁。邮件内容使用 NLP (TF-IDF) 进行分析,并使用 Logistic Regression 进行分类;而 URL 则使用结构和词法特征(长度、熵、符号模式、域名误植信号)进行分析,并使用 Random Forest 模型进行分类。该系统还包含用于日志分析和威胁情报的辅助模块,所有功能均可通过交互式 Streamlit 仪表板进行访问。
## 功能
- **邮件钓鱼检测** - 对邮件文本使用 TF-IDF + Logistic Regression
- **URL 钓鱼检测** - 使用结构化和词法 URL 特征(长度、熵、特殊字符比例、可疑关键词)的 Random Forest 分类器
- **域名误植与品牌冒充检测** - 通过 Levenshtein 距离 + 同形字标准化与已知品牌列表进行比对
- **批量分析** - 一次性对多封邮件/URL 进行批量分类
- **日志分析** - 上传系统日志文件,查看错误/警告/信息的分布和时间线图表
- **威胁情报** - 威胁情报查询面板
- **邮件安全** - 通过 IMAP 进行邮箱集成
- **交互式仪表板** - 使用 Streamlit 和 Plotly 构建以实现实时可视化
## 工作原理
1. **邮件检测** - 使用 TF-IDF(词频-逆文档频率)对邮件文本进行向量化,然后由经过训练、能够区分钓鱼邮件和合法邮件的 Logistic Regression 模型进行分类。
2. **URL 检测** - 每个 URL 都会被解析为约 50 个结构和词法特征(长度、熵、符号计数、域名误植距离、品牌冒充信号等),并将其输入到 Random Forest 分类器中。被标记为存在域名误植或品牌冒充的 URL 将通过混合覆盖规则被强制分类为钓鱼 URL。
3. **检测和批量分析页面** - 允许您针对训练好的模型测试单个或多个邮件/URL。
4. **日志分析** - 解析上传的日志文件,并可视化随时间变化的错误/警告/信息趋势。
## 数据集
1. **邮件检测** - PhishingEmailDataset (Kaggle)
2. **URL 检测** - PhiUSIIL Phishing URL Dataset (Kaggle)
标签:Kubernetes, 逆向工具