一种基于有监督学习的多级钓鱼网站检测方法及检测系统与流程

文档序号:17179961发布日期:2019-03-22 20:48阅读:142来源:国知局

本发明涉及数字信息的传输,例如电报通信的技术领域,特别涉及一种检测准确率高、运行时间短的基于有监督学习的多级钓鱼网站检测方法及检测系统。



背景技术:

互联网钓鱼欺诈,简称网络钓鱼,是指攻击者通过发送欺骗性垃圾邮件、即时通信留言等方式,骗取用户点击访问虚假仿冒的钓鱼网站,意图引诱用户泄露其敏感信息,如用户名、口令、账号或信用卡等详细信息的一种攻击方式,被攻击用户轻则丢失个人私密信息,重则遭受严重的经济损失,造成极其恶劣的影响。这种攻击方式已成为当前互联网最大的安全威胁之一。目前的钓鱼网站主要的特点是相关页面隐藏越来越深,url结构越来越发复杂,钓鱼url存活的时间越来越短,不易被及时检测出。

鉴于互联网高度发达,网络钓鱼已经发展成最危险的欺诈形式,其攻击的方式也越来越难以检测,如何在数量庞大的网页中检测出钓鱼网站,以此来保证网站信息的安全是网络安全领域最为关注的问题之一。

现有技术中,钓鱼网站的检测方式大致相同,一般基于黑白名单过滤,然而,黑白名单的检测方法依赖于黑白名单库,对于未知钓鱼网站的检测无用,同时,目前许多钓鱼网站为了躲避检测,会对目标网页进行高度的模仿,而现有的钓鱼网站检测技术对于这类检测存在误报率和漏报率均较高的问题,因此利用更好的机器学习模型检测钓鱼网站具有很大的现实意义。

公开号为cn106789939a的中国专利“一种钓鱼网站检测方法和装置”提出了一种根据待检测https证书中包括的预设信息项和合法https证书中包括的预设信息项,确定目标网站是否为钓鱼网站,进而有效检测待检测url的域名为合法域名时用户正在访问的目标网站是否是钓鱼网站的方法及装置。本专利存在的缺陷是,许多非钓鱼网站也没有使用https证书,故会产生误报的情况,而仅针对url对钓鱼网站进行检测可能会产生漏报的情况,系统漏报率高。总的来说,由于针对页面内容特征的检测不够全面,这种方案的准确率不高。

公开号为cn106850500a的中国专利“钓鱼网站处理方法及装置”提出了一种钓鱼网站的检测方案,先识别网站是否在黑白名单中,后检测该网站与知名网站url以及页面内容的相似度,若相似度高,则为钓鱼网站。本专利存在的缺陷是,黑白名单检测具有滞后性,无法检测新出现的钓鱼网站,无法检测不与知名网站相似的钓鱼网站,运行时间长,这导致该方法可能会漏报部分新型钓鱼网站,系统准确率不高。



技术实现要素:

本发明解决的技术问题是,现有技术中的钓鱼网站检测存在页面内容特征的检测不够全面,检测准确率低,黑白名单检测具有滞后性,无法检测新出现的钓鱼网站,运行时间长的缺陷,进而提供了一种优化的基于有监督学习的多级钓鱼网站检测方法及检测系统。

本发明所采用的技术方案是,一种基于有监督学习的多级钓鱼网站检测方法,所述方法包括以下步骤:

步骤1:运行,输入端输入待检测网站url;

步骤2:通过已知钓鱼网站的黑名单数据库和白名单数据库,判断待检测网站是否为钓鱼网站,若待检测网站与黑名单数据库或白名单数据库中的数据匹配,则进行步骤5,否则,进行下一步;

步骤3:提取待检测网站url的特征,以已知钓鱼网站的url特征构建分类器模型对待检测网站url的特征进行检测,若检测为钓鱼网站或正常网站,则进行步骤5,否则,进行下一步;

步骤4:下载待检测网站的页面,获得页面内容特征,利用已知钓鱼网站内容特征构建分类器模型对待检测网站的页面内容特征进行检测;

步骤5:输出端输出待检测网站为钓鱼网站或正常网站,将钓鱼网站或正常网站数据增加至已知钓鱼网站的黑名单数据库和白名单数据库。

优选地,所述步骤1中,运行检测系统后,已知钓鱼网站的黑名单数据库和白名单数据库数据更新。

优选地,所述步骤3中,从已知钓鱼网站的黑名单数据库和白名单数据库提取对应的若干url特征,输入xgboost分类器模型进行训练,得到相应参数和xgboost分类器模型。

优选地,所述步骤3中,对待检测网站的url提取特征,以训练好的xgboost分类器模型对待检测网站url的特征进行检测,xgboost分类器模型的检测结果以正常阈值m和非正常阈值n划分;若待检测网站的url特征的检测值a∈[0,m)或a∈(n,1]时,待检测网站为正常网站或钓鱼网站,若待检测网站的url特征的检测值a∈[m,n],待检测网站为可疑网站,进行步骤4;0<m<n<1。

优选地,所述步骤3中,待检测网站的url特征包括可疑词特征,所述分类器模型包括动态可疑词特征库,所述动态可疑词特征库对可疑词特征的检测包括以下步骤:

步骤3.1:对待检测网站的url进行顶级域名后缀匹配,检测并保存url中包含的其他网站顶级域名;

步骤3.2:利用动态可疑词特征库进行可疑检测,计算匹配字符串的相似度s,相似度其中,l为字符串长度,di为当前字符串与动态可疑词特征库中第i项的编辑距离,找到相似度最高的一个词;

步骤3.3:若待检测网站被判定为钓鱼网站,则将步骤3.1中保存的词去除后缀和重复项,加入动态可疑词特征库,以更新后的动态可疑词特征库返回步骤3.1,否则直接返回步骤3.1。

优选地,所述动态可疑词特征库更新后,以更新后的已知钓鱼网站的url特征更新分类器模型。

优选地,所述步骤4中,从已知钓鱼网站的黑名单数据库和白名单数据库提取对应的若干内容特征,输入lightgbm分类器模型进行训练,得到相应参数和lightgbm分类器分类器模型;对待检测网站提取内容特征,以训练好的lightgbm分类器模型对待检测网站的内容特征进行检测。

一种采用所述的基于有监督学习的多级钓鱼网站检测方法的多级钓鱼网站检测系统,所述检测系统包括输入端,所述输入端顺次连接的第一检测层、第二检测层和第三检测层,所述第一检测层、第二检测层和第三检测层分别设有输出端;

所述第一检测层包括用于匹配网站是否为钓鱼网站的已知钓鱼网站黑名单数据库和白名单数据库;

所述第二检测层包括提取的网站url特征以及对钓鱼网站url进行检测的由url特征构建的分类器模型;

所述第三检测层包括提取的下载网站页面的内容特征以及对钓鱼内容进行检测的由内容特征构建的分类器模型。

本发明提供了一种优化的基于有监督学习的多级钓鱼网站检测方法及检测系统,通过第一检测层的黑名单数据库或白名单数据库对待检测网站进行钓鱼网站判断,若待检测网站与黑名单数据库或白名单数据库中的数据匹配,则直接输出待检测网站为钓鱼网站或正常网站,否则由第二检测层提取待检测网站的url特征并以已知钓鱼网站的url特征分类器模型进行检测,若检测为钓鱼网站或正常网站,则直接输出结果,否则由第三检测层下载待检测网站的页面并获得页面内容特征,利用已知钓鱼网站内容特征分类器模型对待检测网站的页面内容特征进行检测,输出待检测网站为钓鱼网站或正常网站,并同步信息至黑名单数据库或白名单数据库。

本发明的有益效果包括:

(1)第一检测层的一级黑白名单检测可以及时发现已知钓鱼网站、判断已知安全网站,降低检测的成本;

(2)第二检测层的二级url检测可以对钓鱼网站进行初步认定,辨别出明确的钓鱼网站或正常网站,避免过早进入耗时较长的页面内容识别过程;

(3)第三检测层的三级页面内容检测可以准确地对二级检测判定为可疑的网站进行识别,得到更精确的判定结果;

(4)三个级别的检测既保证识别结果的准确性,又能尽可能缩短检测的时间。

具体实施方式

下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。

本发明涉及一种基于有监督学习的多级钓鱼网站检测方法,针对黑白名单无法检测新出现钓鱼网站的问题,在url和页面内容检测利用机器学习的方法对数据进行启发式检测;针对检测特征不全面,准确率低的问题,选择关于url以及页面内容的特征来提高准确率;针对检测耗时长的问题,采用分级的方法减少进行三级检测的数据量,减少检测的时间。本发明定期更新钓鱼网站黑名单,并利用机器学习的方法针对待测网站的url和页面内容特征进行自主检测,检测准确率高,运行时间短。

所述方法包括以下步骤。

步骤1:运行,输入端输入待检测网站url。

所述步骤1中,运行检测系统后,已知钓鱼网站的黑名单数据库和白名单数据库数据更新。

本发明中,事实上,在训练阶段,此待检测网站url为训练样本,在实际的检测阶段即为测试样本。

本发明中,更新到黑名单数据库和白名单数据库中的数据会持续被提取,获得对应的url特征和网站内容特征并进行学习,用于构建和更新已知钓鱼网站的url特征分类器模型和已知钓鱼网站内容特征分类器模型,进而用于进一步的钓鱼网站检测中。

步骤2:通过已知钓鱼网站的黑名单数据库和白名单数据库,判断待检测网站是否为钓鱼网站,若待检测网站与黑名单数据库或白名单数据库中的数据匹配,则进行步骤5,否则,进行下一步。

本发明中,黑名单数据库包括但不限于phishtank网站上已知在线的钓鱼网站名单。

本发明中,白名单数据库包括但不限于alexa网站中排名前一百万条的网站。

步骤3:提取待检测网站url的特征,以已知钓鱼网站的url特征构建分类器模型对待检测网站url的特征进行检测,若检测为钓鱼网站或正常网站,则进行步骤5,否则,进行下一步。

所述步骤3中,从已知钓鱼网站的黑名单数据库和白名单数据库提取对应的若干url特征,输入xgboost分类器模型进行训练,得到相应参数和xgboost分类器模型。

所述步骤3中,对待检测网站的url提取特征,以训练好的xgboost分类器模型对待检测网站url的特征进行检测,xgboost分类器模型的检测结果以正常阈值m和非正常阈值n划分;若待检测网站的url特征的检测值a∈[0,m)或a∈(n,1]时,待检测网站为正常网站或钓鱼网站,若待检测网站的url特征的检测值a∈[m,n],待检测网站为可疑网站,进行步骤4;0<m<n<1。

所述步骤3中,待检测网站的url特征包括可疑词特征,所述分类器模型包括动态可疑词特征库,所述动态可疑词特征库对可疑词特征的检测包括以下步骤:

步骤3.1:对待检测网站的url进行顶级域名后缀匹配,检测并保存url中包含的其他网站顶级域名;

步骤3.2:利用动态可疑词特征库进行可疑检测,计算匹配字符串的相似度s,相似度其中,l为字符串长度,di为当前字符串与动态可疑词特征库中第i项的编辑距离,找到相似度最高的一个词;

步骤3.3:若待检测网站被判定为钓鱼网站,则将步骤3.1中保存的词去除后缀和重复项,加入动态可疑词特征库,以更新后的动态可疑词特征库返回步骤3.1,否则直接返回步骤3.1。

所述动态可疑词特征库更新后,以更新后的已知钓鱼网站的url特征更新分类器模型。

本发明中,使用xgboost分类器模型学习方法对待检测网站url的特征进行检测,提出顶级域名分布比例、参数长度、参数个数三个新的特征。

本发明中,一般情况下可以从以下检测范围中提取特征:

(1)域名中,提取特征包括“是否含有“@”字符”、“顶级域名是否为ip地址”、域名长度、域名级数;

(2)域名与路径中,提取特征包括unicode字符个数、可疑词检测、顶级域名个数;

(3)路径中,提取特征包括“.”字符个数、特殊字符个数、“-”字符个数、“_”字符个数、路径级数、路径长度,其中,特殊字符如“+”、“=”、“%”、“#”、“?”等;

(4)端口中,提取特征包括80端口;

(5)url中,提取特征包括字母分布频率;

(6)顶级域名中,提取特征包括后缀比例;

(7)参数中,提取特征包括参数长度、参数个数;

(8)协议中,提取特征包括是否采用https;

(9)网站基础信息中,提取特征包括网站注册时间、网站更新时间、alexa排名。

本发明中,可疑词具备大量特征,所以需要提取更新,其中,步骤3.2中的“字符串”是指可疑词本身,为人工选取字段;第二检测层采用动态可疑词库检测待检测网站url的可疑词相似度,一旦钓鱼网站的url中引入了新的目标网站域名,就可以立即将其加入动态可疑词特征库。

本发明中,除此之外,在匹配时类似于“goog1e”(倒数第二个为数字“1”)的混淆词也会被检测出来,提升检测的效果。

本发明中,第二检测层采用双阈值m和n判定检测网站性质,将网站分为钓鱼网站、正常网站和可疑网站三类,当判定结果a小于正常网站阈值m,该网站被识别为正常网站,输出结果,当判定结果a大于钓鱼网站阈值n,该网站被识别为钓鱼网站,输出结果,判定结果a在两阈值之间,该网站被识别为可疑网站,进入第三检测层进行更精确的检测。

本发明中,判定结果a检测出来的值一般都处于0~1,在对22个特征赋值的过程中,由于在模型建立之初即考虑到权重的问题,故不再次加权。

本发明中,举例来说,m可取0.01,n可取0.99,为双阈值,合理选择m和n的值是检测结果准确的保证。

本发明中,动态可疑词特征库更新后,用于训练分类器模型的样本会不断增加并用于分类器模型的学习、更新。

步骤4:下载待检测网站的页面,获得页面内容特征,利用已知钓鱼网站内容特征构建分类器模型对待检测网站的页面内容特征进行检测。

所述步骤4中,从已知钓鱼网站的黑名单数据库和白名单数据库提取对应的若干内容特征,输入lightgbm分类器模型进行训练,得到相应参数和lightgbm分类器分类器模型;对待检测网站提取内容特征,以训练好的lightgbm分类器模型对待检测网站的内容特征进行检测。

本发明中,三级检测中使用lightgbm分类器学习方法进行检测,并提出了标签节点种类,链接综合判定两个新特征。

本发明中,使用lightgbm分类器学习方法对待检测网站的16个页面内容特征进行检测,一般情况下,提取38个页面内容特征进行检测,包括是否含有文本、网页内部与外部链接、链接数量、内部链接数量、外部链接数量、form表单的数量、采用get方式获取数据的form表单数量、采用post方式获取数据的form表单数量、资源加载安全特征、是否含有版权特征、图片安全特征、样式安全资源特征、脚本安全资源特征、表单安全特征、节点种类、embed标签的数量、iframe标签的数量、applet标签的数量、frame标签的数量、图片数量、input输入栏数量、含有password的输入栏数量、提交信息的表单的数量、css文件数量、script文件数量、javascript长度、是否含有弹出窗口、onclick事件数量、function数量、链接判定、空链接数量、表单链接类型、重定向特征、css代码中带有url链接的数量、与mail相关的函数数量、具有表单性质的div中内部链接的比例、css代码是否含有可疑代码、css代码中内部链接的比例。

本发明中,若第三检测层识别该网站为钓鱼网站,则输出结果,并将钓鱼网站数据加入到黑名单数据库中,若第三检测层识别该网站为正常网站,则输出结果,并将正常网站数据加入到白名单数据库中。

步骤5:输出端输出待检测网站为钓鱼网站或正常网站,将钓鱼网站或正常网站数据增加至已知钓鱼网站的黑名单数据库和白名单数据库。

本发明中,在钓鱼网址数量为2296个,正常网站数量为15944个的环境下,检测结果为准确度0.994、召回率0.970、精确率0.982、错误检测的钓鱼网站占比0.002,f_measure统计量为0.975,领先于同类型检测方法。

本发明还涉及一种基于有监督学习的多级钓鱼网站检测方法的多级钓鱼网站检测系统,所述检测系统包括输入端,所述输入端顺次连接的第一检测层、第二检测层和第三检测层,所述第一检测层、第二检测层和第三检测层分别设有输出端;

所述第一检测层包括用于匹配网站是否为钓鱼网站的已知钓鱼网站黑名单数据库和白名单数据库;

所述第二检测层包括提取的网站url特征以及对钓鱼网站url进行检测的由url特征构建的分类器模型;

所述第三检测层包括提取的下载网站页面的内容特征以及对钓鱼内容进行检测的由内容特征构建的分类器模型。

本发明中,采用三级结构实现对钓鱼网站的检测,第一级检测使用黑白名单检测;第二级检测利用机器学习的方法针对url的各个特征进行检测,针对的是字符串本身;第三级检测利用机器学习的方法下载网页内容后针对网页内容特征进行检测,针对的是源码本身。

本发明中,对待检测网站进行检验时,首先在系统的第一级进行检测,若一级检测无法确定则转入二级检测对待测网站进行初步的判断,若待测网站被检测为可疑网站,则进入三级检测以进行准确识别。

本发明中,第一检测层采用已知钓鱼网站黑名单数据库和白名单数据库进行匹配,检测准确率最高且没有误报,由于无法对新出现的钓鱼网站进行检测,故引入了第二检测层进行二级检测。

本发明中,第二检测层根据以往钓鱼网站的url特征来建立模型,检测该网站的性质,若检测为钓鱼网站或正常网站,则结束检测并输出结果,否则该网站即为可疑网站,需要进入三级检测进行精确检查。

本发明中,第二检测层设置双阈值识别,通过双阈值对于特征值的判断,可以将网站分为三类,即正常网站、钓鱼网站和可疑网站,得到更准确的结论。

本发明中,第二检测层为初步启发式检测,通过xgboost的机器学习方式来针对url的特征进行检测,检测时间短,但准确率需第三检测层的弥补。

本发明中,第三检测层利用已知钓鱼网站的页面内容特征来推测待测网站的性质,通过lightgbm分类器的学习方法进行启发式检测,获取的特征更全面多样,准确率更高。

本发明中,通过第一检测层和第二检测层减少进行页面内容特征检测的网站数量,第三检测层检测准确率最高且耗时最长,但可以精确地找出钓鱼网站。

本发明通过第一检测层的黑名单数据库或白名单数据库对待检测网站进行钓鱼网站判断,若待检测网站与黑名单数据库或白名单数据库中的数据匹配,则直接输出待检测网站为钓鱼网站或正常网站,否则由第二检测层提取待检测网站的url特征并以已知钓鱼网站的url特征分类器模型进行检测,若检测为钓鱼网站或正常网站,则直接输出结果,否则由第三检测层下载待检测网站的页面并获得页面内容特征,利用已知钓鱼网站内容特征分类器模型对待检测网站的页面内容特征进行检测,输出待检测网站为钓鱼网站或正常网站,并同步信息至黑名单数据库或白名单数据库。

本发明中,第一检测层的一级黑白名单检测可以及时发现已知钓鱼网站、判断已知安全网站,降低检测的成本;第二检测层的二级url检测可以对钓鱼网站进行初步认定,辨别出明确的钓鱼网站或正常网站,避免过早进入耗时较长的页面内容识别过程;第三检测层的三级页面内容检测可以准确地对二级检测判定为可疑的网站进行识别,得到更精确的判定结果;三个级别的检测既保证识别结果的准确性,又能尽可能缩短检测的时间。

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