一种基于改进的Stacking策略的钓鱼网站检测方法技术

技术编号:30155455 阅读:58 留言:0更新日期:2021-09-25 15:06
本发明专利技术公开了一种基于改进的Stacking策略的钓鱼网站检测方法,针对目前大多数钓鱼网站检测技术准确率低、计算资源消耗大和检测不及时等问题,通过将多个分类表现优异的基学习器通过Stacking策略集成为一个高性能模型,并且把该Stacking算法第一级的输入特征与预测结果同时作为第二级的输入特征,充分发挥各模型精度高、速度快等优势,从而进一步提高模型性能。实验结果表明,与传统的机器学习钓鱼网站检测技术相比,在10万级数据集上此集成学习算法在多个指标上都表现出更好的性能,其精确率达到了97.82%,F1值达到97.54%,可以有效的检测钓鱼网站。的检测钓鱼网站。的检测钓鱼网站。

【技术实现步骤摘要】
一种基于改进的Stacking策略的钓鱼网站检测方法


[0001]本专利技术涉及网络安全监测领域,更具体地说,它涉及一种基于改进的Stacking策略的钓鱼网站检测方法。

技术介绍

[0002]钓鱼网站通过伪装将其包装成正常合法的网站,诱导用户输入自己的账户密码等隐私信息,对用户的隐私和财产构成了很大威胁。为应对日益增长的网络钓鱼以及其愈发复杂的网络钓鱼技术,需要继续深入对钓鱼网站检测的研究。
[0003]钓鱼网站检测最常用的技术是使用黑白名单,但是这种方法无法检测未列入黑名单的钓鱼网站,具有一定的滞后性。

技术实现思路

[0004]为解决上述技术问题,本专利技术提供一种基于改进的Stacking策略的钓鱼网站检测方法,从公开的钓鱼检测网站Alexa和Phishtank获取的数据集,设计了一种基于改进的Stacking策略的钓鱼网站检测集成学习算法。具体来说,我们从数据集中提取网站的URL特征,仅处理当前页面信息,而不依赖第三方服务,理论上可以获得最优的检测速度。通过Stacking策略将DF、GBDT、XGBoost和LightGBM模型高效融合,从而获得更优的检测效果。
[0005]本专利技术的上述技术目的是通过以下技术方案得以实现的:
[0006]一种基于改进的Stacking策略的钓鱼网站检测方法,包括以下步骤:
[0007]S1:选定至少两个基础分类器,将其分为一级学习器和二级学习器;
[0008]S2:提取已知网站的URL特征,并作筛选,将筛选出来的URL特征作为一级学习器的输入特征;
[0009]S3:对提取URL特征的网站制作标签,标签为是否为钓鱼网站,制作的标签与其网站的输入特征,作为一个数据集;
[0010]S4:重复S2和S3步骤,对多个网站URL特征进行提取筛选,得到包含多个数据集的原始数据集;
[0011]S5:将S4得到的原始数据集输入至一级学习器中,一级学习器输出多个初级特征;
[0012]S6:使用一级学习器的输出的初级特征、S2中提取的网站的URL特征和对应网站的标签作为二级学习器的输入特征,构成一个新的数据集;
[0013]S7:将S6得到的新的数据集输入至二级学习器中,对二级学习器进行训练;
[0014]S8:将需要测试的未知网站的URL特征依次经过一级学习器和二级学习器进行检测,得到检测结果。
[0015]作为一种优选方案,S1过程中,使用DF、XGBoost、LightGBM三个基础分类器作为一级学习器,使用GBDT算法作为二级学习器,一级学习器中,提取的网站的URL特征均分别通过三个基础分类器进行分类。
[0016]作为一种优选方案,S2过程中,网站URL特征进行筛选,筛选出来的特征包括该网
站的域名是否包含IP地址,URL长度信息,是否存在可疑符号,是否存在重定向,是否存在相似的域名标签,URL的子域名数,URL的子域名长度,活跃时间和域名中点的个数。
[0017]作为一种优选方案,S4步骤后,将原始数据集分割为训练集和测试集,再进行S5步骤,训练集用于输入至一级学习器中进行训练,测试集用于测试基础分类器的泛化性能。
[0018]作为一种优选方案,训练集占比为60~75%,剩余为测试集。
[0019]作为一种优选方案,S5过程中,将训练集分为N个子集使用交叉验证的方法对一级学习器进行训练。
[0020]综上所述,本专利技术具有以下有益效果:
[0021](1)从公开数据集中筛选出一个有效的10万级钓鱼网站数据集,其中合法网站从Alexa网站收集、非法钓鱼网站从Phishtank网站收集。
[0022](2)在特征提取方面,从网站的URL中提取出众多有效特征,并通过实验按照重要性从中筛选出9个较为有效的特征用于模型训练。
[0023](3)我们结合多种机器学习模型的优点,提出了一种用于检测钓鱼网站的Stacking算法,并对此Stacking算法改进优化,可以更加快速有效的检测出钓鱼网站,同时减少计算开销。
附图说明
[0024]图1为本专利技术实施例中的改进的Stacking算法示意图;
[0025]图2为本专利技术实施例中的URL结构示意图。
具体实施方式
[0026]本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
[0027]以下结合附图对本专利技术作进一步详细说明,但不作为对本申请的限定。
[0028]Stacking算法的基学习器算法
[0029]GBDT算法
[0030]梯度提升决策树(Gradient Boosting Decision Tree,GBDT)作为AdaBoost算法的改进,由梯度提升算法和决策树算法两部分组成,其核心为减小残差,即负梯度方向生成一棵决策树以减小上一次的残差。GBDT算法在建立模型的时候让损失函数迭代下降,使得模型在不断往优化的方向上改进。
[0031]XGBoost算法
[0032]极限梯度提升树(Extreme Gradient Boosting,XGBoost)算法是陈天奇基于梯度提升算法提出的一种Boosting算法,在梯度提升的基础上改进了目标函数的计算方式,并将目标函数的优化问题转化为求二次函数的最小值问题,利用损失函数的二阶导数信息训练决策树模型,以此加快训练速度,减少模型运行时间。同时,将树的复杂度作为正则项加入到目标函数中,提升了模型的泛化性能。
[0033]LightGBM算法
[0034]轻量级梯度提升机(Light Gradient Boosting Machine,LightGBM)算法是一种新颖的GBDT算法。为了以最快的速度和最小的内存开支寻找到最优分裂节点,LightGBM使用了直方图算法、单边梯度抽样算法(Gradient Based One

side Sampling,GOSS)和互斥特征捆绑算法(Exclusive Feature Building,EFB),其核心是使用了叶子生长(leaf

wise)策略来生长树,从当前叶子节点中找到增益值最大的一个叶子节点进行分裂。同时,为了发生过拟合,对树的深度进行限制,也缩短了寻找最优深度树的时间。
[0035]DF算法
[0036]深度森林(Deep Forest,DF)是周志华提出的一种使用树集成来构建多层模型的算法,通过引入细粒度的扫描和级联操作,使其具有更加稳定良好的学习性能。此外,深度森林算法需要的超参数相对也较少,并且根据数据自动决定复杂度,所以在小数据集上也会有非常好的表现。
[0037]钓鱼网站检测的St本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进的Stacking策略的钓鱼网站检测方法,其特征在于,包括以下步骤:S1:选定至少两个基础分类器,将其分为一级学习器和二级学习器;S2:提取已知网站的URL特征,并作筛选,将筛选出来的URL特征作为一级学习器的输入特征;S3:对提取URL特征的网站制作标签,标签为是否为钓鱼网站,制作的标签与其网站的输入特征,作为一个数据集;S4:重复S2和S3步骤,对多个网站URL特征进行提取筛选,得到包含多个数据集的原始数据集;S5:将S4得到的原始数据集输入至一级学习器中,一级学习器输出多个初级特征;S6:使用一级学习器的输出的初级特征、S2中提取的网站的URL特征和对应网站的标签作为二级学习器的输入特征,构成一个新的数据集;S7:将S6得到的新的数据集输入至二级学习器中,对二级学习器进行训练;S8:将需要测试的未知网站的URL特征依次经过一级学习器和二级学习器进行检测,得到检测结果。2.根据权利要求1所述的基于改进的Stacking策略的钓鱼网站检测方法,其特征在于,所述S1过程中,使用DF、XGBoost、LightGBM三个基础分类器作为...

【专利技术属性】
技术研发人员:周杭霞胡强刘倩
申请(专利权)人:中国计量大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1