基于决策树的钓鱼网站检测方法、装置及计算机设备与流程

文档序号:17071741发布日期:2019-03-08 23:22阅读:134来源:国知局
基于决策树的钓鱼网站检测方法、装置及计算机设备与流程

本发明涉及智能决策技术领域,尤其涉及一种基于决策树的钓鱼网站检测方法、装置及计算机设备。



背景技术:

“钓鱼网站”是指不法分子利用各种手段,仿冒真实网站的地址以及页面内容,或者,利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的html代码,以此来骗取用户银行账号或信用卡账号、密码等私人资料。

在公开号为cn108270754a的专利申请中,描述了一种钓鱼网站的检测方法,该方案通过将待检测网站与目标网站的域名信息、内容标识信息进行比较,来确定待检测网站是否为钓鱼网站。然而,钓鱼网站的种类多样,且钓鱼手段层出不穷,因此,通过与目标网站的比对,检测结果的准确率较低。



技术实现要素:

本发明的目的是提供一种基于决策树的钓鱼网站检测方法、装置及计算机设备,用于解决现有技术存在的问题。

为实现上述目的,本发明提供一种基于决策树的钓鱼网站检测方法,包括以下步骤:

步骤01,预先构建随机森林,构建的随机森林中包括若干棵决策树;

步骤02,确定待检测网站的网页信息;

步骤03,根据所述待检测网站的网页信息,提取所述待检测网站的特征信息;

步骤04,利用随机森林的每棵决策树对提取的特征信息进行分类投票;

步骤05,在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定所述待检测网站为钓鱼网站。

优选地,所述构建随机森林,包括:

步骤011,从样本集中有放回地随机采样选出n个样本;所述样本集中包括若干个钓鱼网站的网页信息和若干个正常网站的网页信息;

步骤012,从设定的所有特征信息中随机选择k个特征信息,利用随机选择的k个特征信息对选出的n个样本建立决策树;

步骤013,重复m次步骤011-012,生成m棵决策树,生成的m棵决策树组成随机森林;

其中,n、k、m均为正整数。

优选地,所述特征信息包括下述信息中的至少一个:url是否为ip格式、url域名存在的时间段是否小于设定天数、url中是否包含@字符、url中是否包括至少两个域名、表单中是否包括账号密码信息、以及url跳转后的值与跳转前是否相同。

优选地,步骤012中k值为对根号n取整,其中,n为设定的所有特征信息的个数。

优选地,在步骤04之前还包括:对提取的特征信息进行布尔化,以转换为相应的特征值,根据转换后的特征值执行步骤04。

优选地,在步骤03之前,还包括:根据所述待检测网站的网页信息获取所述待检测网站的url,将所述待检测网站的url与预先构建的黑名单进行比对,若所述黑名单中包括所述待检测网站的url,则确定所述待检测网站为钓鱼网站,若所述黑名单中不包括所述待检测网站的url,则执行步骤03。

优选地,在步骤05之后,还包括:在根据投票结果确定所述待检测网站为钓鱼网站时,则将所述待检测网站的url添加到预先构建的黑名单中。

为实现上述目的,本发明还提供一种基于决策树的钓鱼网站检测装置,包括:

随机森林构建模块,用于预先构建随机森林,得到随机森林分类器,构建的随机森林中包括若干棵决策树;

网页信息确定模块,用于确定待检测网站的网页信息;

特征信息提取模块,用于根据所述待检测网站的网页信息,提取所述待检测网站的特征信息;

所述随机森林分类器,用于利用随机森林的每棵决策树对提取的特征信息进行分类投票;

检测结果确定模块,用于在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定所述待检测网站为钓鱼网站。

为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明提供的基于决策树的钓鱼网站检测方法、装置及计算机设备,通过确定待检测网站的网页信息,根据待检测网站的网页信息提取待检测网站的特征信息,并利用构建的包括若干棵决策树的随机森林,对提取的特征信息进行分类投票,在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则可以确定待检测网站为钓鱼网站。本发明中,随机森林是通过大量网站样本进行决策树的建立以构建出来的,包含的钓鱼网站的种类具有多样性,利用随机森林进行分类投票,准确率较高。

附图说明

图1为本发明基于决策树的钓鱼网站检测方法实施例一的流程图;

图2为本发明基于决策树的钓鱼网站检测装置实施例一的程序模块示意图;

图3为本发明基于决策树的钓鱼网站检测装置实施例一的另一种程序模块示意图;

图4为本发明基于决策树的钓鱼网站检测装置实施例一的一种硬件结构示意图;

图5为本发明基于决策树的钓鱼网站检测方法实施例二的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的基于决策树的钓鱼网站检测方法、装置及计算机设备,适用于智能决策技术领域,为一种通过随机森林中的每棵决策树进行分类投票以检测是否为钓鱼网站的方法。本发明通过确定待检测网站的网页信息,根据待检测网站的网页信息提取待检测网站的特征信息,并利用构建的包括若干棵决策树的随机森林,对提取的特征信息进行分类投票,在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则可以确定待检测网站是否为钓鱼网站。本发明中,随机森林是通过大量网站样本进行决策树的建立以构建出来的,包含的钓鱼网站的种类具有多样性,利用随机森林进行分类投票,准确率较高。

实施例一

请参阅图1,本实施例的一种基于决策树的钓鱼网站检测方法中,包括以下步骤:

步骤01,预先构建随机森林,构建的随机森林中包括若干棵决策树。

在机器学习中,随机森林是一个包含多棵决策树的分类器,利用多棵决策树对样本进行训练并实现预测,其输出的类别是由个别树输出的类别的众数而定。在本实施例中,可以利用随机森林实现对待检测网站是否为钓鱼网站的检测。

在本实施例中,为了检测待检测网站是否为钓鱼网站,至少可以采用如下一种方式构建随机森林:

步骤011,从样本集中有放回地随机采样选出n个样本;所述样本集中包括若干个钓鱼网站的网页信息和若干个正常网站的网页信息。

在本实施例中,样本集中包括的网页信息可以是url。

样本集中包括的钓鱼网站可以是经验积累过程中收集构建起来的,也可以是从googlesafeapi的黑名单中获取到的。其中,googlesafeapi的黑名单中包括若干个url,这些url对应的网站都是钓鱼网站,因此,在构建样本集时,可以将googlesafeapi的黑名单中的全部或部分url添加到样本集中。

为了保证利用样本集构建的决策树投票分类更加准确,样本集中还需要包括若干个正常网站的网页信息,其中,正常网站的网页信息可以是从除googlesafeapi的黑名单以外的网站中获取到。

步骤012,从设定的所有特征信息中随机选择k个特征信息,利用随机选择的k个特征信息对选出的n个样本建立决策树。

在分类问题中,输入到分类器中的数据即为特征信息,且建立的决策树上每个节点的决定都是基于这些特征信息确定的。

在本实施例中,为了构建能够实现对网站检测是否为钓鱼网站的决策树,所述特征信息包括下述信息中的至少一个:

(1)url是否为ip格式;

在www上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫url(uniformresourcelocator,统一资源定位符),它是www的统一资源定位标志,就是指网络地址。

url使用的传输协议中最常用的是http协议,是目前www中应用最广的协议,常见的url格式可以包括:http格式、file格式、ftp格式、gopher格式等。根据经验可知,在url为ip格式时,刚url对应的网站可能会是钓鱼网站。

(2)url域名存在的时间段是否小于设定天数;

一般情况下,钓鱼网站域名存在的时间段越长,被举报的可能性越高,url域名存在的时间段越短,是钓鱼网站的概率越大。因此,url域名存在的时间段也可以作为建立决策树的特征信息。其中,该设定天数可以为30天。

(3)url中是否包含@字符;

在本实施例中,当url中包含有@字符时,该网站可能会是钓鱼网站,因此,将url中是否包含@字符也作为建立决策树的特征信息。

(4)url中是否包括至少两个域名;

一些钓鱼网站会用多个域名来进行伪装,例如,在点击某个网站的url地址时,中间会存在多次跳转,因此,在url中包括至少两个域名时,该url对应的网站可能会是钓鱼网站。

(5)表单中是否包括账号密码信息;

一般钓鱼网站的目的是用来盗取用户的账号密码信息,因此,若网站的表单中包括账号密码信息,那么该网站可能会是钓鱼网站,因此,表单中是否包括账号密码信息作为建立决策树的特征信息。

(6)url跳转后的值与跳转前是否相同。

例如,url跳转前的值是“淘宝”,在点击url链接之后,url跳转后的值不是“淘宝”,那么该网站可能是钓鱼网站,利用url跳转前的值来欺骗用户。其中,url跳转后的值可以通过对打开的网页进行解析获取到。

在本实施例中,可以根据随机选择的这k个特征信息,计算其最佳的分裂方式。分裂是指在决策树的训练过程中,需要一次次的将训练数据集分裂成两个子数据集的过程。

在本实施例中,假设设定的所有特征信息的个数为n,随机选择特征信息的个数k值可以为对根号n取整。其中,对根号n取整,可以是向上取整,也可以是向下取整,具体可以预先设定。例如,设定的所有特征信息的个数n等于10,根号10约等于3.16,以向上取整为例,那么向上取整等于4,随机选择特征信息的个数k为4个;以向下取整为例,那么向下取整等于3,随机选择特征信息的个数k为3个。

其中,n、k均为正整数。步骤013,重复m次步骤011-012,生成m棵决策树,生成的m棵决策树组成随机森林;其中,m为正整数。

其中,m棵决策树组成的随机森林即为随机森林分类器。

在本实施例中,随机森林中的决策树的每一个分裂过程并未用到所有的待选特征信息,而是从所有的待选特征信息中随机选取一定数量的特征信息,之后再在随机选取的特征信息中选取最优的特征信息。这样能够使得随机森林中的决策树都能够彼此不同,提升系统的多样性,从而提升分类性能。

在本发明一个实施例中,样本集中未被采样的样本可以作为随机森林分类器的测试数据,用来验证随机森林分类器的准确率,例如,在样本集中选择若干个未被采样的网站的网页信息,已知这些选择的若干未被采样的网站的类型,即是钓鱼网站还是正常网站,提取各个网站的特征信息,分别将提取的特征信息输入到随机森林分类器中,根据随机森林分类器检测出的网站的类型与其真实类型进行比较,若准确率超过设定概率,则表明该该随机森林分类器准确率达到要求,可以使用。

步骤02,确定待检测网站的网页信息。

其中,确定的待检测网站的网页信息可以是url。

在本发明一个实施例中,为了提高待检测网站是否为钓鱼网站的检测效率,可以预先构建钓鱼网站的黑名单,其中,黑名单中包括若干网站的url,这些网站都是已经经过确定了的钓鱼网站,在需要对待检测网站进行检测时,可以先根据所述待检测网站的网页信息获取所述待检测网站的url,将所述待检测网站的url与预先构建的黑名单进行比对,若所述黑名单中包括所述待检测网站的url,则确定所述待检测网站为钓鱼网站,若所述黑名单中不包括所述待检测网站的url,则需要进一步对该待检测网站进行检测,即需要执行步骤03。

其中,该黑名单可以是googlesafeapi的黑名单。

步骤03,根据所述待检测网站的网页信息,提取所述待检测网站的特征信息。

在本实施例中,提取的特征信息可以与步骤012中的特征信息相同,特征信息可以包括下述信息中的至少一个:(1)url是否为ip格式;(2)url域名存在的时间段是否小于设定天数;(3)url中是否包含@字符;(4)url中是否包括至少两个域名;(5)表单中是否包括账号密码信息;(6)url跳转后的值与跳转前是否相同。

优选地,针对待检测网站提取的特征信息为上述六个信息。

在本实施例中,为了便于随机森林分类器对待检测网站进行投票分类,可以将提取的特征信息进行布尔化,已转换为相应的特征值。例如,针对上述六个特征信息:

若该待检测网站的url为ip格式,则转换为特征值1,若该待检测网站的url不是ip格式,则转换为特征值0;

若该检测网站的url域名存在的时间段小于设定天数,则转换为特征值1,若该检测网站的url域名存在的时间段不小于设定天数,则转换为特征值0;

若url中包含@字符,则转换为特征值1,若url中不包含@字符,则转换为特征值0;

若url中包括至少两个域名,则转换为特征值1,若url中不包括至少两个域名,则转换为特征值0;

若表单中包括账号密码信息,则转换为特征值1,若表单中不包括账号密码信息,则转换为特征值0;

若url跳转后的值与跳转前不相同,则转换为特征值1,若url跳转后的值与跳转前相同,则转换为特征值0。

进一步地,还可以将六个特征值转换为特征向量,例如,对于提取的上述六个特征信息分别为:url不是ip格式、url域名存在的时间段不小于设定天数、url中不包含@字符、url中包括一个域名、表单中不包括账号密码信息、url跳转后的值与跳转前不相同;那么转换的特征向量为[0,0,0,0,0,1]。

步骤04,利用随机森林的每棵决策树对提取的特征信息进行分类投票。

将提取的特征信息输入到随机森林分类器中,随机森林中的每棵决策树对提取的特征信息进行分类投票,并统计所有决策树对提取的特征信息进行投票的结果。

步骤05,在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定所述待检测网站为钓鱼网站。

由于在进行分类投票时,若分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定该待检测网站为钓鱼网站,若分类投票结果为钓鱼网站的投票数少于正常网站的投票数时,则确定该待检测网站为正常网站。

在本实施例中,随机森林分类器检测网站为钓鱼网站还是正常网站可以使用类型标识符1、0来区分,其中,输出1表明该网站为钓鱼网站,输出0表明该网站为正常网站。

在本发明一个实施例中,为了进一步提高网站检测的效率,丰富黑名单,可以进一步包括:在根据投票结果确定所述待检测网站为钓鱼网站时,则将所述待检测网站的url添加到预先构建的黑名单中。

本发明实施例,通过确定待检测网站的网页信息,根据待检测网站的网页信息提取待检测网站的特征信息,并利用构建的包括若干棵决策树的随机森林,对提取的特征信息进行分类投票,在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则可以确定待检测网站为钓鱼网站。本发明中,随机森林是通过大量网站样本进行决策树的建立以构建出来的,包含的钓鱼网站的种类具有多样性,利用随机森林进行分类投票,准确率较高。

请继续参阅图2,示出了一种基于决策树的钓鱼网站检测装置,在本实施例中,基于决策树的钓鱼网站检测装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于决策树的钓鱼网站检测方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于决策树的钓鱼网站检测装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:

随机森林构建模块11,用于预先构建随机森林,得到随机森林分类器14,构建的随机森林中包括若干棵决策树;

网页信息确定模块12,用于确定待检测网站的网页信息;

特征信息提取模块13,用于根据所述待检测网站的网页信息,提取所述待检测网站的特征信息;

所述随机森林分类器14,用于利用随机森林的每棵决策树对提取的特征信息进行分类投票;

检测结果确定模块15,用在分类投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定所述待检测网站为钓鱼网站。

在本发明一个实施例中,随机森林构建模块11,具体用于从样本集中有放回地随机采样选出n个样本;所述样本集中包括若干个钓鱼网站的网页信息和若干个正常网站的网页信息;从设定的所有特征信息中随机选择k个特征信息,利用随机选择的k个特征信息对选出的n个样本建立决策树;重复上述步骤m次,生成m棵决策树,生成的m棵决策树组成随机森林;其中,n、k、m均为正整数。

在本发明一个实施例中,请参考图3,基于决策树的钓鱼网站检测装置10还可以包括:布尔化处理模块16,用于对提取的特征信息进行布尔化,以转换为相应的特征值,将转换后的特征值输入到随机森林分类器14中。

在本发明一个实施例中,请参考图3,基于决策树的钓鱼网站检测装置10还可以包括:一级检测模块17,用于根据所述待检测网站的网页信息获取所述待检测网站的url,将所述待检测网站的url与预先构建的黑名单进行比对,若所述黑名单中包括所述待检测网站的url,则确定所述待检测网站为钓鱼网站,若所述黑名单中不包括所述待检测网站的url,则将待检测网站的网页信息输入给随机森林分类器14。

在本发明一个实施例中,请参考图3,基于决策树的钓鱼网站检测装置10还可以包括:黑名单添加模块18,用于在根据投票结果确定所述待检测网站为钓鱼网站时,则将所述待检测网站的url添加到预先构建的黑名单中。

本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图4所示。需要指出的是,图4仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的基于决策树的钓鱼网站检测装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于决策树的钓鱼网站检测装置10,以实现实施例一的基于决策树的钓鱼网站检测方法。

本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于决策树的钓鱼网站检测装置10,被处理器执行时实现实施例一的基于决策树的钓鱼网站检测方法。

实施例二

请参考图5,本实施例的基于决策树的钓鱼网站检测方法以实施例一为基础,包括以下步骤:

步骤01,构建随机森林,构建的随机森林中包括若干棵决策树。

在本实施例中,为了检测待检测网站是否为钓鱼网站,至少可以采用如下一种方式构建随机森林:

步骤011,从样本集中有放回地随机采样选出n个样本;所述样本集中包括若干个钓鱼网站的网页信息和若干个正常网站的网页信息。

在本实施例中,样本集中包括的网页信息可以是url。

步骤012,从设定的所有特征信息中随机选择k个特征信息,利用随机选择的k个特征信息对选出的n个样本建立决策树。

在本实施例中,为了构建能够实现对网站检测是否为钓鱼网站的决策树,所述特征信息包括下述信息中的至少一个:(1)url是否为ip格式;(2)url域名存在的时间段是否小于设定天数;(3)url中是否包含@字符;(4)url中是否包括至少两个域名;(5)表单中是否包括账号密码信息;(6)url跳转后的值与跳转前是否相同。

步骤013,重复m次步骤011-012,生成m棵决策树,生成的m棵决策树组成随机森林;其中,m为正整数。

步骤02,预先构建包括若干钓鱼网站的网页信息的黑名单。

其中,该黑名单可以是googlesafeapi的黑名单。

步骤03,确定待检测网站的网页信息。

步骤04,根据所述待检测网站的网页信息获取所述待检测网站的url,将所述待检测网站的url与预先构建的黑名单进行比对,若所述黑名单中包括所述待检测网站的url,则确定所述待检测网站为钓鱼网站,若所述黑名单中不包括所述待检测网站的url,执行步骤05。

步骤05,根据所述待检测网站的网页信息,提取所述待检测网站的特征信息。

在本实施例中,提取的特征信息可以与步骤012中的特征信息相同。

步骤06,对提取的特征信息进行布尔化,以转换为相应的特征值。

针对上述六个特征信息:若该待检测网站的url为ip格式,则转换为特征值1,若该待检测网站的url不是ip格式,则转换为特征值0;若该检测网站的url域名存在的时间段小于设定天数,则转换为特征值1,若该检测网站的url域名存在的时间段不小于设定天数,则转换为特征值0;若url中包含@字符,则转换为特征值1,若url中不包含@字符,则转换为特征值0;若url中包括至少两个域名,则转换为特征值1,若url中不包括至少两个域名,则转换为特征值0;若表单中包括账号密码信息,则转换为特征值1,若表单中不包括账号密码信息,则转换为特征值0;若url跳转后的值与跳转前不相同,则转换为特征值1,若url跳转后的值与跳转前相同,则转换为特征值0。

步骤07,利用随机森林的每棵决策树对提取的特征信息进行分类投票。

步骤08,在投票结果为钓鱼网站的投票数多于正常网站的投票数时,则确定所述待检测网站为钓鱼网站,否则,确定为正常网站;若为钓鱼网站,则提示用户并禁止访问该网站,并执行步骤09;若为正常网站则提示用户可以访问该网站。

在本实施例中,随机森林分类器检测网站为钓鱼网站还是正常网站可以使用类型标识符1、0来区分,其中,输出1表明该网站为钓鱼网站,输出0表明该网站为正常网站。

步骤09,将所述待检测网站的url添加到预先构建的黑名单中。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1