数据分析与应用课程大作业网络安全 / 涉网犯罪预警
PHISH
Public Phishing URL Dataset

基于公开钓鱼网站数据的网络钓鱼识别与风险特征分析

面向涉网犯罪预警的分类、聚类与关联规则研究

CRISP-DM 方法论 分类识别 KMeans 聚类 Apriori 关联规则 Python 数据分析
Why This Topic

网络钓鱼是涉网犯罪链条中的前端风险入口

犯罪分子通过伪造银行、电商、社交平台或政务服务页面,诱导用户输入账号、密码、验证码、银行卡信息等敏感内容,进而实施盗号、盗刷、诈骗引流或个人信息非法获取。

01
页面伪装性强,普通用户较难识别
02
链接传播快,易通过短信与社交软件扩散
03
样本数量大,人工逐一核查成本较高

本次研究目标

  • 识别钓鱼网站与正常网站在 URL、页面结构和引用关系上的差异。
  • 验证结构化特征能否支持较稳定的钓鱼网站识别模型。
  • 提炼可解释的风险特征与规则,为涉网线索初筛、网安巡查和反诈宣传提供参考。
Dataset

UCI PhiUSIIL Phishing URL Dataset:235795 条样本

0
样本总数
0
预处理后分析字段
0
缺失值 / 重复样本
正常网站
57.19%
钓鱼网站
42.81%

正常网站 134850 条,钓鱼网站 100945 条,两类样本数量均较充足,不属于严重类别不平衡。

网站类别分布图
Python Toolchain

用 Python 串联数据处理、建模评估与图表展示

主要 Python 库

pdpandas:读取 CSV、清洗字段、构造 DataFrame、导出结果表。
npnumpy:数值计算、相关性排序、数组处理和模型输入辅助。
pltmatplotlib:创建画布、设置中文字体、保存报告图表。
snsseaborn:绘制类别分布、相关性柱状图、箱线图和热力图。
skscikit-learn:完成数据划分、标准化、分类模型、KMeans 聚类、PCA 和评估指标计算。
apmlxtend:使用 Apriori 挖掘频繁项集,并生成支持度、置信度、提升度等关联规则指标。

方法与任务对应

分析任务方法输出结果
数据准备标签统一、派生特征、离散化63 个分析字段
描述统计类别分布、相关性、组间差异57.19% / 42.81%
分类识别逻辑回归、决策树、随机森林最佳 F1=0.999975
聚类分析KMeans + 轮廓系数 + PCAk=2,轮廓系数 0.749350
关联规则Apriori + confidence/lift最高提升度 2.335876
数据读取导入公开 CSV 数据,统一标签字段和分析字段。
清洗加工处理缺失、异常与字段类型,构造派生变量。
描述分析比较标签分布、相关性和关键特征差异。
模型建构完成分类识别、KMeans 聚类和 Apriori 规则挖掘。
结果解释结合准确率、召回率、轮廓系数和提升度形成汇报结论。
Methodology

按 CRISP-DM 串联业务问题、建模过程与应用解释

业务理解高风险网址识别与涉网犯罪预警
数据理解确认样本规模、字段含义和标签分布
数据准备标签统一、派生特征、变量离散化
建模分类、聚类、关联规则三条分析线
评估准确率、召回率、AUC、轮廓系数、提升度
应用解释风险特征、预警规则和业务建议
CRISP-DM流程图
技术路线图
Feature Difference

钓鱼标签相关性最高的变量集中在 URL 与页面可信度特征

URL相似度指数
-0.860
社交链接
-0.784
版权信息
-0.743
页面描述
-0.690
HTTPS
-0.609
特殊字符占比
0.534

负相关表示这些正常网站常见特征越明显,样本越不倾向于被标记为钓鱼网站;特殊字符占比为正相关,说明高特殊字符 URL 更常与钓鱼标签同时出现。

与钓鱼标签相关性最高的15个特征
Classification

三类分类模型均取得较高测试效果,逻辑回归表现最佳

模型准确率召回率F1值ROC-AUC
逻辑回归0.9999790.9999500.9999751.000000
随机森林0.9999580.9999010.9999501.000000
决策树0.9998520.9996530.9998270.999851
0
测试集样本
0
正常网站测试样本
0
钓鱼网站测试样本
接近满分的指标不能直接解释为真实业务系统上线准确率;更合理的解释是当前公开数据集内部特征区分度较强。
分类模型效果对比
Feature Importance

随机森林特征重要性显示:URL 相似度与页面引用结构贡献突出

URL相似度指数
0.1716
外部引用数量
0.1433
页面代码行数
0.1154
站内引用数量
0.1082
社交链接
0.0839

前四个变量的重要性合计约 0.5386,说明模型判断高度依赖 URL 相似度、外部引用、页面代码规模和站内引用结构。

随机森林最重要的15个特征
Clustering

KMeans 聚类:k=2 时轮廓系数最高,可区分两类主要风险画像

k=2
0.749350
k=3
0.726345
k=4
0.707611
k=5
0.390945

第0类:结构较简单

URL 相似度均值 50.18,外部引用约 0.80,页面代码行数约 47.00。

第1类:复杂诱导型

页面代码行数约 379.48,外部引用约 6.60,图片约 10.95,JS 数量约 8.58。

钓鱼网站聚类结果PCA投影图
Association Rules

Apriori 提取可解释的高风险特征组合

目标=钓鱼网站 低相似度 未使用 HTTPS 长 URL 高特殊字符占比 低可信顶级域 低相似度 + 长 URL 低相似度 + 高特殊字符 低可信顶级域 + 低相似度
规则前件支持度置信度提升度
低相似度0.2500101.0000002.335876
未使用 HTTPS0.2173751.0000002.335876
低相似度 + 长 URL0.1894441.0000002.335876
低相似度 + 高特殊字符占比0.1553091.0000002.335876

关联规则适合作为线索初筛条件,不应直接作为处置依据,仍需结合域名、网页内容、举报记录和人工复核。

Conclusion

从模型识别走向可解释的涉网风险线索

研究结论

1235795 条公开结构化样本支撑网络钓鱼识别分析。
2URL 相似度指数与钓鱼标签相关系数达到 -0.860358。
3逻辑回归准确率 0.999979,F1 值 0.999975,但需外部样本验证。
4k=2 时轮廓系数 0.749350,钓鱼网站内部存在差异。

应用建议

  • 将 URL 相似度、HTTPS、特殊字符比例、顶级域可信度纳入风险评分。
  • 把提升度较高且含义清楚的关联规则整理为初筛条件。
  • 对高仿页面型与结构诱导型设置差异化关注重点。
  • 反诈宣传中重点提示长链接、特殊字符多、未启用 HTTPS、仿冒登录页等风险。
Thank You

感谢聆听

本次作业按照 CRISP-DM 流程,基于公开钓鱼网站数据完成了数据理解、预处理、分类识别、聚类分析和关联规则挖掘。恳请任课老师和同学们批评指正。

← / → / Space 翻页 · F 全屏