AdityaPansare1408/adaptive-phishing-url-detection-framework

GitHub: AdityaPansare1408/adaptive-phishing-url-detection-framework

该框架结合机器学习、欺骗分析、意图分析和信任感知融合,实现对复杂钓鱼URL的高精度检测与可解释风险评估。

Stars: 1 | Forks: 0

# 自适应钓鱼 URL 检测框架 ![Python](https://img.shields.io/badge/Python-3.10-blue) ![XGBoost](https://img.shields.io/badge/XGBoost-ML-green) ![Streamlit](https://img.shields.io/badge/Streamlit-App-red) ![License](https://img.shields.io/badge/License-MIT-yellow) 一个智能的钓鱼 URL 检测系统,结合了**机器学习**、**欺骗分析**、**意图分析**以及**自适应信任感知融合引擎**,以识别超越传统 URL 分类器的复杂钓鱼攻击。 传统的钓鱼检测系统严重依赖单一的机器学习预测。本项目引入了一个多层安全情报框架,利用独立的安全信号评估 URL,并根据检测到的攻击特征动态调整信任分配。 ## 项目亮点 * 基于 **149 万条 URL** 进行训练 * 基于 **XGBoost** 的钓鱼检测模型 * 在测试数据集上达到 **98.96% 的准确率** * **18 个工程化 URL 安全特征** * 高级 **欺骗分析引擎** * 面向钓鱼的 **意图分析引擎** * 自适应 **信任感知风险融合框架** * 交互式 **Streamlit Web 应用** * 可解释的钓鱼风险评估 ## 概述 钓鱼攻击已经远远超越了简单的恶意 URL,越来越多地采用以下技术: * 域名欺骗 * 字符替换 * 同形异义字攻击 * 具有欺骗性的品牌伪装 * Unicode 操纵 * 面向钓鱼的意图信号 这些技术通常能够绕过传统的 URL 分类系统。 该框架通过集成多个安全情报层来解决这个问题: 1. 机器学习检测层 2. 欺骗分析层 3. 意图分析层 4. 自适应信任感知融合框架 5. 风险评估与解释层 该系统使用独立的风险信号评估 URL,并将它们组合成一个统一的钓鱼风险分数,以实现更稳健的检测。 ## 核心特性 ### 机器学习检测层 * 基于 XGBoost 的钓鱼 URL 分类器 * 基于约 149 万条 URL 进行训练 * 使用 18 个工程化的词汇、结构、统计和安全相关特征 * 生成钓鱼概率分数 ### 欺骗分析引擎 检测高级 URL 操纵技术,包括: * 字符替换攻击 * 同形异义字攻击 * Unicode 异常 * Punycode 滥用 * 重复字符操纵 * 域名欺骗模式 ### 意图分析引擎 通过以下方式识别面向钓鱼的意图: * 可疑关键词检测 * 基于风险的关键词评分 * 多关键词威胁评估 * 非线性意图升级 ### 自适应信任感知融合框架 将以下内容结合: * 机器学习风险 * 欺骗风险 * 意图风险 融合为一个统一的钓鱼风险分数。 该框架包含: * 动态配置文件切换 * 一致性增强 * 上下文强化 * 非线性风险融合 * 自适应风险提升 ### 可解释的风险评估 提供: * 最终分类结果 * 风险等级指示 * 检测解释 * URL 摘要信息 * 关键钓鱼指标 ## 数据集 机器学习模型使用从多个来源编译的大规模 URL 数据集进行训练。 ### 数据来源 * PhishTank * Tranco * 其他良性 URL 来源 ### 数据集统计 | 指标 | 值 | | ---------------- | --------- | | 总 URL 数量 | 1,489,337 | | 训练样本数 | 1,191,469 | | 测试样本数 | 297,868 | ## 工程化特征集 该框架提取了 18 个手工设计的 URL 特征,分为四组。 ### 词汇特征 * 字符统计 * Token 统计 * URL 组成指标 ### 结构特征 * 域名特征 * 子域名特征 * TLD 分析 ### 统计特征 * 字符熵 * 数字比例 * 大写字母比例 * 元音字母比例 ### 安全特征 * HTTPS 使用情况 * 可疑关键词指标 ## 工作原理 1. 用户通过 Streamlit 界面提交 URL。 2. 特征提取模块生成 18 个安全相关特征。 3. XGBoost 模型预测钓鱼概率。 4. 欺骗分析引擎评估操纵模式。 5. 意图分析引擎评估面向钓鱼的意图信号。 6. 自适应信任感知融合框架结合多个风险信号。 7. 风险评估层生成最终分类和解释。 ## 系统架构 ![系统架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/55/5526fd1395d756050da4d0686cf859d35164b0fafe70ae0fb3cdf719f1172688.png) ## 仓库结构 ``` adaptive-phishing-url-detection-framework │ ├── docs/ │ └── architecture.png │ ├── models/ │ ├── xgb_model.pkl │ └── probability_calibrator.pkl │ ├── screenshots/ │ ├── home_page.png │ ├── phishing_url_result.png │ └── legitimate_url_result.png │ ├── src/ │ ├── streamlit_app.py │ ├── feature_extraction.py │ ├── deception_analysis_engine.py │ └── intent_analysis_engine.py │ ├── requirements.txt ├── LICENSE └── README.md ``` ## 应用截图 ### 主界面 ![主界面](https://raw.githubusercontent.com/AdityaPansare1408/adaptive-phishing-url-detection-framework/main/screenshots/home_page.png) ### 钓鱼检测示例 ![钓鱼检测](https://raw.githubusercontent.com/AdityaPansare1408/adaptive-phishing-url-detection-framework/main/screenshots/phishing_url_result.png) ### 合法 URL 示例 ![合法 URL](https://static.pigsec.cn/wp-content/uploads/repos/cas/9d/9dfea164f7a725f18343cce1cad999bf19d5ca962dbf206908489f9e95fc539d.png) ## 性能 性能结果是在包含约 29.7 万条 URL 的留出测试数据集上,使用 XGBoost 钓鱼检测模型获得的。 | 指标 | 值 | | --------- | ------ | | 准确率 | 98.96% | | 精确率 | 83.00% | | 召回率 | 93.95% | | F1 分数 | 88.13% | ## 技术栈 ### 编程语言 * Python ### 机器学习 * XGBoost * Scikit-Learn ### 数据处理 * Pandas * NumPy ### URL 分析 * tldextract ### Web 应用 * Streamlit ### 开发工具 * Git * GitHub ## 安装说明 ### 克隆仓库 ``` git clone https://github.com/AdityaPansare1408/adaptive-phishing-url-detection-framework.git ``` ### 导航至项目目录 ``` cd adaptive-phishing-url-detection-framework ``` ### 安装依赖 ``` pip install -r requirements.txt ``` ### 运行应用 ``` streamlit run src/streamlit_app.py ``` ## 未来增强计划 * 浏览器扩展部署 * 实时域名信誉查询 * 威胁情报集成 * 基于深度学习的 URL 分析 * 云部署 * 实时 URL 监控 * 集成可解释 AI 以提高预测透明度 ## 作者 **Aditya Pansare** 计算机工程硕士 浦那计算机技术学院 (PICT) ## 许可证 本项目基于 MIT 许可证授权。 详情请参阅 [LICENSE](LICENSE) 文件。
标签:AMSI绕过, Apex, Kubernetes, Streamlit, XGBoost, 反钓鱼, 威胁检测, 安全, 机器学习, 访问控制, 超时处理, 逆向工具