Mouriya-R/Phishing-Website-Detection-System

GitHub: Mouriya-R/Phishing-Website-Detection-System

基于 XGBoost 等多种机器学习模型,通过提取 URL、域名和网页内容特征来检测钓鱼网站的系统。

Stars: 0 | Forks: 0

# 基于机器学习技术的钓鱼网站检测 ## 目标 钓鱼网站是一种常见的社会工程学方法,它会模仿可信的统一资源定位符(URL)和网页。本项目的目标是在所创建的数据集上训练机器学习模型和深度神经网络,以预测钓鱼网站。我们收集了网站的钓鱼和良性 URL 组成数据集,并从中提取所需的基于 URL 和网站内容的特征。对每个模型的性能水平进行了测量和比较。 ## 数据收集 钓鱼 URL 集合是从名为 **PhishTank** 的开源服务中收集的。该服务提供多种格式(如 csv、json 等)的钓鱼 URL 集合,并每小时更新一次。下载数据请访问:https://www.phishtank.com/developer_info.php。从该数据集中,我们收集了 5000 个随机的钓鱼 URL 来训练 ML 模型。 合法的 URL 来自新不伦瑞克大学的开放数据集,https://www.unb.ca/cic/datasets/url-2016.html。该数据集包含良性、垃圾邮件、钓鱼、恶意软件和网页篡改 URL 的集合。在所有这些类型中,本项目仅考虑良性 URL 数据集。从该数据集中,我们收集了 5000 个随机的合法 URL 来训练 ML 模型。 ## 特征提取 从 URL 数据中提取以下类别的特征: 1. 基于地址栏的特征
          在此类别中提取了 9 个特征。 2. 基于域名的特征
          在此类别中提取了 4 个特征。 3. 基于 HTML & Javascript 的特征
          在此类别中提取了 4 个特征。 ## 模型与训练 在开始 ML 模型训练之前,数据被划分为 80-20 的比例,即 8000 个训练样本和 2000 个测试样本。从数据集来看,这显然是一个监督式机器学习任务。监督式机器学习问题有两大类型,即分类和回归。 该数据集属于分类问题,因为输入的 URL 被分类为钓鱼 (1) 或合法 (0)。本项目用于训练数据集的监督式机器学习(分类)模型包括: * Decision Tree * Random Forest * Multilayer Perceptrons * XGBoost * Autoencoder Neural Network * Support Vector Machines 所有这些模型都在数据集上进行了训练,并使用测试数据集对模型进行了评估。
标签:Apex, Flask, URL发现, XGBoost, 安全检测, 机器学习, 特征工程, 逆向工具, 钓鱼网站识别