一种网页分类方法、系统及一种网页分类设备与流程

文档序号:14444257阅读:120来源:国知局
一种网页分类方法、系统及一种网页分类设备与流程
本发明涉及网络安全
技术领域
,更具体地说,涉及一种网页分类方法、系统及一种网页分类设备和一种计算机可读存储介质。
背景技术
:网络钓鱼是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的url地址以及页面内容,以此来骗取用户的重要账号、银行或信用卡账号、密码等隐私信息。不法分子通常会把钓鱼网站的页面设计得与真实网站界面完全一致,诱使访问者提交账号和密码。近年来,不少研究者针对反网络钓鱼问题设计了实际的解决方案。这些解决方案主要有以下几个方面:(1)基于黑名单和白名单的方法;(2)从网页中提取出文本、图像或者url的特征,利用搜索引擎来帮助检测钓鱼网站;(3)利用钓鱼网页和知名网页的视觉相似性来检测钓鱼网站;(4)利用网页的dns异常信息来发现钓鱼网站;(5)在html中提取出文本、图像或者特殊的url特征后通过启发式算法或者机器学习算法检测钓鱼网站。上述方法中,基于黑白名单的方法需要不断的人为维护名单;利用搜索引擎的方法经常受限于搜索引擎的性能,不能做到实时检测;基于视觉相似性的方法比较容易受目标识别准确率的影响;利用网页dns的方法需要第三方服务来提供dns信息,开发成本较大。因此,如何在不依赖与搜索引擎或第三方服务的前提下提高网页分类的准确性是本领域技术人员需要解决的问题。技术实现要素:本发明的目的在于提供一种网页分类方法、系统及一种网页分类设备和一种计算机可读存储介质,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。为实现上述目的,本发明实施例提供了一种网页分类方法,包括:获取待分类网页的n维当前特征;其中,n为正整数;将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征;其中,所述stacking模型为p个基础分类模型经q层堆叠的模型,n为p与q的乘积,n、p、q均为正整数;根据所述n+n维特征利用分类算法得到所述待分类网页的分类结果。其中,将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征,包括:s1:获取训练集,并将所述训练集划分为m份训练样本;其中,所述训练集中的每一个网页包括n维特征;s2:选取一份所述训练样本训练所述基础分类模型,利用训练完成的基础分类模型预测所述待分类网页,直至所述m份训练样本全部选取完成,得到m个中间预测结果,并通过对所述m个中间预测结果进行投票表决得到一维增加特征;s3:重复s2,直至所有的所述基础分类模型全部训练完成得到p维增加特征,并将所述p维增加特征与所述待分类网页的当前特征合并,作为所述待分类网页的当前特征;s4:重复s2-s3,直至完成所述stacking模型的q层堆叠,得到所述待分类网页的n+n维特征。其中,若p=3,则所述基础分类模型包括gbdt分类模型、xgboost分类模型和lightgbm分类模型。其中,获取待分类网页的n维特征之后,还包括:利用z-score方法对所述n维特征进行标准化处理。其中,所述分类算法包括gbdt算法。其中,所述n维当前特征包括所述待分类网页的url特征和html特征,所述url特征包括顶级域名个数和相似知名品牌,所述html特征包括空锚链接个数、标题品牌与所述url中品牌是否一致、所述html中出现次数最多品牌与所述url中品牌是否一致、内外部资源个数和word2vec特征。为实现上述目的,本发明实施例提供了一种网页分类系统,包括:获取模块,用于获取待分类网页的n维当前特征;其中,n为正整数;扩展模块,用于将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征;其中,所述stacking模型为p个基础分类模型经q层堆叠的模型,n为p与q的乘积,n、p、q均为正整数;分类模块,用于根据所述n+n维特征利用分类算法得到所述待分类网页的分类结果。其中,所述扩展模块包括:划分单元,用于获取训练集,并将所述训练集划分为m份训练样本;其中,所述训练集中的每一个网页包括n维特征;预测单元,用于选取一份所述训练样本训练所述基础分类模型,利用训练完成的基础分类模型预测所述待分类网页,直至所述m份训练样本全部选取完成,得到m个中间预测结果,并通过对所述m个中间预测结果进行投票表决得到一维增加特征,重复启动所述预测单元的工作流程,直至所有的所述基础分类模型全部训练完成得到p维增加特征,启动合并单元的工作流程;所述合并单元,用于将所述p维增加特征与所述待分类网页的初始特征合并,作为所述待分类网页的初始特征,启动所述预测单元的工作流程,直至完成所述stacking模型的q层堆叠,得到所述待分类网页的n+n维特征。为实现上述目的,本发明实施例提供了一种网页分类设备,包括:存储器,用于存储网页分类程序;处理器,用于执行所述网页分类程序时实现如上述网页分类方法的步骤。为实现上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有网页分类程序,所述网页分类程序被处理器执行时实现如上述网页分类方法。通过以上方案可知,本发明实施例提供的一种网页分类方法包括:获取待分类网页的n维当前特征;其中,n为正整数;将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征;其中,所述stacking模型为p个基础分类模型经q层堆叠的模型,n为p与q的乘积,n、p、q均为正整数;根据所述n+n维特征利用分类算法得到所述待分类网页的分类结果。本发明实施例提供的网页分类方法,利用stacking模型对待分类网页的n维当前特征进行扩展,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。本发明还公开了一种网页分类系统及一种网页分类设备和一种计算机可读存储介质,同样能实现上述技术效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例公开的一种网页分类方法的流程图;图2为本发明实施例公开的另一种网页分类方法的流程图;图3为本发明实施例公开的另一种网页分类方法stacking模型中特征扩展的流程图;图4为本发明实施例公开的一种网页分类系统的结构图;图5为本发明实施例公开的一种网页分类设备的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开了一种网页分类方法,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。参见图1,本发明实施例公开的一种网页分类方法的流程图,如图1所示,包括:s101:获取待分类网页的n维当前特征;其中,n为正整数;本发明实施例提供的网页分类方法可应用于钓鱼网站的检测,在具体实施中,所述n维当前特征包括所述待分类网页的url特征和html特征。其中,url特征的描述如下:对于ip地址,钓鱼网站的主域名通常只有ip地址,例如:http://62.141.45.54/portaletitolaris8/,由正则匹配,可以判断网站的主域名是否为ip地址。如果是则该特征为1,否则为0。对于可疑符号,包括‘@’,‘-’,‘~’。如果‘@’符号出现在url中,当浏览器解析网址时,会忽略‘@’符号右边的所有字符串。而‘-’和‘~’符号由于含义不明,在正常网站的url中很少被使用。对于https,https是安全的http数据传输方法,提供了身份验证与加密通讯。对于长度信息,主要包括url地址的总长度和主域名的长度。对于主域名中‘.’的个数,为了使用户容易记住,正常网址的主域名通常比较短,其中‘.’的个数一般不超过3个,例如:www.baidu.com等。对于敏感词汇,钓鱼网站的url地址中,经常使用一些敏感词汇。在本实施例中可以创建了一个敏感词汇列表,例如,['secure','account','webscr','login','ebayisapi','signin','banking','confirm','submit','update'],并统计url地址中出现这些敏感词汇的数目作为该特征。对于不正常的顶级域名,顶级域名分为两类:一是国家和地区顶级域名(英文全称:countrycodetop-leveldomains,英文简称:ntlds),例如,中国是‘cn’,日本是‘jp’等。二是国际顶级域名(英文全称:generictop-leveldomains,英文简称:gtlds),例如,表示工商企业的‘.com’,表示网络提供商的‘.net’,表示非盈利组织的‘.org’等。stuffgate统计了alexa排名前100万的网站使用的顶级域名共有735个。如果网站主域名中出现多个常见顶级域名,比如:http://www.ebay.com.urgd.com/path或者url路径,即主域名后面紧跟的部分中仍然出现顶级域名,则非常可疑。本实施例中可以提取出3个特征:顶级域名是否在stuffgate的顶级域名列表内、主域名中顶级域名的个数,url路径中顶级域名的个数。对于相似知名品牌。比较有知名度的品牌会被钓鱼者利用,例如,钓鱼者会把paypal变为paypail来迷惑用户。levenshteindistance(中文全称:编辑距离)可以度量两个字符串之间相似度。它表示由一个字符串转换成另一个所需的最小编辑次数,包括字符的替换、插入、删除。通过计算给定知名品牌与url中字符串的levenshteindistance可以找出相似的品牌名称。html特征的描述如下:对于内外链接数目,内链是指主域名与url地址的主域名相同的链接。钓鱼网站要欺骗用户相信该网页合法,通常会利用外部资源。尤其是所要假冒对象的资源,致使钓鱼网站的内部链接非常少,而外部链接的数目比较多。我们通过将html内的所有链接切割出主域名与url地址的主域名对比来找出内链与外链。对于空锚链接,包括<ahref=””></a>和<ahref=”#”></a>两种形式,这种链接点击之后不会产生任何反应。钓鱼网站这样设计是为了让网页看起来有很多超链接,以此来迷惑用户,本实施例可以统计空锚连接个数作为该特征。对于登录窗口,钓鱼网站往往通过登录窗口诱使用户泄露个人敏感信息,本文采用以下逻辑来判断网页是否包含登录窗口。首先在页面中找到所有的<form>标签,再寻找里面的<input>标签,最后对每个<input>标签,匹配password,pass等关键字。如果password,pass没有匹配到,则在所有的<form>标签中匹配login,signin等关键字的策略。对于html内容的长度特征,钓鱼网站的目的都是骗取用户的登录信息,所以在设计上会比较简单,这些网站的html代码在细节上会处理的不够,比较直接的信息就是,钓鱼网站的代码长度通常比正常网站的要短。我们将长度特征细化到标签内容的长度上,比如:‘<style>’、‘<script>’、‘<link>’、‘<!-->’、‘<from>’这几个标签内容的长度。之所以选择这几个标签是有考量的,比如‘<style>’标签内的代码主要是设置网页风格,设置css的,钓鱼网站的设计者为了快速开发,通常不会对网页的风格做过多的设计;还有比如‘<!-->’标签的功能是代码注释,钓鱼网站是一次性开发,开发者不会进行二次维护,所以他们通常不会去写注释。对于隐藏/限制的信息,这些通常会出现在‘<div>’、‘<button>’和‘<input>’标签上。<div>标签:<divstyle=”visibility:hidden”>或者<divstyle=”display:none”>,功能都是隐藏这个<div>里面的内容,不在渲染页面中显示出来。<button>标签:<buttondisabled=”disabled”>,是把这个按钮的点击功能禁止。<input>标签:<inputtype=”hidden”>是把输入框隐藏,<inputdisabled=”disabled”>是禁止输入框的输入功能,还有<inputvalue=”hello”>是预先在输入框中填入一些无关的信息。对于标题品牌与所述url中品牌是否一致,一般网页的标题会包含有该网页的品牌名称,钓鱼网站也是如此。知名网站的品牌名称与它们的主域名是一一对应的,如果已知该网页的品牌,但是其url中主域名却与该品牌不一致,那么这个网页则很有可能是钓鱼网页。对于html中出现次数最多品牌与所述url中品牌是否一致,与上述内外链接原理相似。正常网站页面里的链接,大部分都是指向自身品牌的,所以正常网站链接中出现最多的品牌应该与url的品牌是一致的。而钓鱼网站由于大量使用目标网站的链接资源,所以其链接中出现最多的品牌与url的品牌会不一致。首先将html代码里面的所有链接提取出来,然后统计这些链接主域名中出现的品牌名和它们出现的次数,得到一个品牌字典;在这个品牌字典里找出出现次数最多的品牌名b,将品牌名b与url中的品牌名a做比较,如果这两个品牌名一致,则这个特征置0,并且输出品牌名b的出现次数作为特征;否则这个特征置1.对于内外部资源,基于钓鱼网站偏向于使用外部资源的思想,分别针对于‘<link>’、‘<img>’、‘<script>’和‘<noscript>’这四种标签,统计它们使用内部资源和外部资源的次数作为特征。对于url品牌名在html中出现的次数,正常网站的html代码中由于要经常使用内部资源,所以其url中品牌名在html中出现的次数会比较多。相反,钓鱼网站的则比较少。对于警告窗口,部分钓鱼网站会以弹出警告窗口的方式让用户在窗口中输入个人信息。对于重定向,很多钓鱼网站设计者会先制作一个正常的网站,当用户访问该网站链接时,通过重定向的方法将用户访问的链接重定向至钓鱼网站。重定向的网页的html代码中一般有‘redirect’字符串。对于word2vec特征,word2vec是自然语言处理中使用的比较多的方法,其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为k维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。google在2013年开源的word2vec是一款将词表征为实数值向量的高效工具,其作用就是将一个单词映射成指定维度的向量。本实施例中利用word2vec将html代码表征为k维向量,把这k维向量当作特征,具体做法如下:1、去除html代码中的<style>、<script>、<noscript>标签的所有内容;2、去除剩余的标签但保留标签内的文本内容,如:”<divid=”doc”class=”wrap”><h2>thisismyhomepage</h2></div>”转化为”thisismyhomepage”;3、按照一定规则对文本内容进行中英文匹配,将文本分为英文内容和中文内容;4、对于文本中的中文内容,使用jieba工具进行中文分词,英文内容则按照空格进行分词,从而得到这个html代码中具有k个词汇的词汇列表;5、对词汇列表中的每个单词,都用word2vec将其转化为300维的向量;6、将所有向量相加后每个维度都除以k,最后得到一个300维的向量来表征这个html代码的文本内容。通过上面描述的方法进行特征提取,结合了url特征和html特征,最终提取了共338维的特征。s102:将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征;其中,所述stacking模型为p个基础分类模型经q层堆叠的模型,n为p与q的乘积,n、p、q均为正整数;在具体实施中,将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征,包括以下步骤:s1:获取训练集,并将所述训练集划分为m份训练样本;其中,所述训练集中的每一个网页包括n维特征;s2:选取一份所述训练样本训练所述基础分类模型,利用训练完成的基础分类模型预测所述待分类网页,直至所述m份训练样本全部选取完成,得到m个中间预测结果,并通过对所述m个中间预测结果进行投票表决得到一维增加特征;在具体实施中,选择一份训练样本训练基础分类模型,即将训练样本的任意一份均选取一次,得到m个预测结果。s3:重复s2,直至所有的所述基础分类模型全部训练完成得到p维增加特征,并将所述p维增加特征与所述待分类网页的当前特征合并,作为所述待分类网页的当前特征;s4:重复s2-s3,直至完成所述stacking模型的q层堆叠,得到所述待分类网页的n+n维特征。其中,s2-s3的步骤为所述stacking模型的一层堆叠,重复s2-s3的步骤,当完成所述stacking模型的q层堆叠,得到所述待分类网页的n+n维特征,完成了对待分类网页的特征扩展。本实施例不对stacking模型堆叠的层数限定,stacking模型层数优选为2,此时系统准确率最高。s103:根据所述n+n维特征利用分类算法得到所述待分类网页的分类结果。在具体实施中,所述分类算法包括gbdt算法,当然本领域技术人员也可以根据实际情况选择其他的分类算法,在此不作具体限定。对于钓鱼网站的检测,即输出该待分类网页是否为钓鱼网站的检测结果。本发明实施例提供的网页分类方法,利用stacking模型对待分类网页的n维当前特征进行扩展,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。本发明实施例公开了一种网页分类方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:参见图2和图3,图2为本发明实施例提供的另一种网页分类方法的流程图,图3为本发明实施例公开的另一种网页分类方法stacking模型中特征扩展的流程图,如图2所示,包括:s211:获取待分类网页的338维当前特征;s212:利用z-score方法对所述338维当前特征进行标准化处理;s221:获取训练集,并将所述训练集划分为m份训练样本;其中,所述训练集中的每一个网页包括338维特征;s222:选取一份所述训练样本训练所述基础分类模型,利用训练完成的基础分类模型预测所述待分类网页,直至所述m份训练样本全部选取完成,得到m个中间预测结果,并通过对所述m个中间预测结果进行投票表决得到一维增加特征;在本实施例中,所述基础分类模型包括gbdt分类模型、xgboost分类模型和lightgbm分类模型。当然,本领域技术人员也可以根据实际情况选择其他的分类模型,都应在本发明的保护范围内。s223:重复s222,直至所有的所述基础分类模型全部训练完成得到三维增加特征,并将所述三维增加特征与所述待分类网页的当前特征合并,作为所述待分类网页的当前特征;s224:重复s222-s223,直至完成stacking模型的两层堆叠,得到所述待分类网页的344维特征;s203:根据所述344维特征利用gbdt算法得到所述待分类网页的分类结果。对于上述实施例,选取一个比较大的数据集s,该数据集中包含了10000个正常网站和10000个钓鱼网站的网页源码。其中正常网站来源于alexa排名10000~12000之间的网站以及这些网站内的部分链接,这样可以保证url的长度分布均匀;钓鱼网站来源于phishtank上从2009年6月开始到2017年6月经过验证的钓鱼网站。另外,为了方便作比较,我们还收集了一个小型的数据集t作为测试集。测试集中正常网站来源于alexa排名10000~12000之间的网站以及这些网站内的部分链接共1000条,钓鱼网站来源于phishtank上2017年7月12日到2017年7月15日经过验证的钓鱼网站链接共1000条。使用准确率、漏警率和虚警率作为评价指标。设p为测试集中钓鱼网站的数目,l为测试集中合法网站的个数,α为钓鱼网站预测正确的数目,β为合法网站预测正确的数目,则准确率的计算公式如下:漏警率的计算公式如下:虚警率的计算公式如下:为了证明本实施例中stacking模型的有效性,在数据集s中分别随机选取钓鱼网站和合法网站各3000条作为训练集,训练好模型在测试集上进行测试,各模型性能表现如下表1所示,由此可见,本实施例提供的方法在准确率、漏警率和虚警率这三个方面都要比其他单一模型好。表1各种模型的性能表现在钓鱼网站检测方面,已经存在着诸多的研究和实际的应用,将现有技术方法应用到我们的数据集上来进行测试,结果如下表2所示:表2各方法的性能对比method漏警率(%)虚警率(%)准确率(%)cantina707.561.25varshney7.64872.2rakesh7.89.591.35本实施例3.43.796.45下面对本发明实施例提供的一种网页分类系统进行介绍,下文描述的一种网页分类系统与上文描述的一种网页分类方法可以相互参照。参见图4,本发明实施例提供的一种网页分类系统的结构图,如图4所示,包括:获取模块401,用于获取待分类网页的n维当前特征;其中,n为正整数;扩展模块402,用于将所述n维当前特征输入训练完成的stacking模型中进行特征扩展,得到所述待分类网页的n+n维特征;其中,所述stacking模型为p个基础分类模型经q层堆叠的模型,n为p与q的乘积,n、p、q均为正整数;分类模块403,用于根据所述n+n维特征利用分类算法得到所述待分类网页的分类结果。本发明实施例提供的网页分类系统,利用stacking模型对待分类网页的n维当前特征进行扩展,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。在上述实施例的基础上,作为优选实施方式,所述扩展模块402包括:划分单元,用于获取训练集,并将所述训练集划分为m份训练样本;其中,所述训练集中的每一个网页包括n维特征;预测单元,用于选取一份所述训练样本训练所述基础分类模型,利用训练完成的基础分类模型预测所述待分类网页,直至所述m份训练样本全部选取完成,得到m个中间预测结果,并通过对所述m个中间预测结果进行投票表决得到一维增加特征,重复启动所述预测单元的工作流程,直至所有的所述基础分类模型全部训练完成得到p维增加特征,启动合并单元的工作流程;所述合并单元,用于将所述p维增加特征与所述待分类网页的初始特征合并,作为所述待分类网页的初始特征,启动所述预测单元的工作流程,直至完成所述stacking模型的q层堆叠,得到所述待分类网页的n+n维特征。在上述实施例的基础上,作为优选实施方式,还包括:标准化模块,用于利用z-score方法对所述n维特征进行标准化处理。本申请还提供了一种网页分类设备,参见图5,本发明实施例提供的一种网页分类设备的结构图,如图5所示,包括:存储器501,用于存储网页分类程序;处理器502,用于执行所述网页分类程序时可以实现上述实施例所提供的步骤。当然所述网页分类设备还可以包括各种网络接口,电源等组件。本发明实施例提供的网页分类设备,利用stacking模型对待分类网页的n维当前特征进行扩展,在不依赖与搜索引擎或第三方服务的前提下提高了网页分类的准确性。本申请还提供了一种计算机可读存储介质,其上存储有网页分类程序,所述网页分类程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1