一种钓鱼网站的识别方法

文档序号:7895364阅读:166来源:国知局
专利名称:一种钓鱼网站的识别方法
技术领域
本发明涉及网络安全领域,尤其涉及一种钓鱼网站的识别方法。
背景技术
知名网站都有被钓鱼网站攻击所伤害的危险,这造成了被攻击网站的信誉蒙受了很大的损害。在过去的一年中,光是被用户举报的钓鱼网站数量就达到了 196097个,而且这个数字还有逐年递增的趋势,可见钓鱼网站的危害对我们的影响正日益变大。APWG (Anti-Phishing Working Group)的报告中提到过一项有趣的数据,即钓鱼网站的平均寿命为3. 8天,如此频繁的替换速率是为了规避传统的黑名单式的钓鱼网站防范技术。具体钓鱼网站给人带来多大的损失我们并不得而知,因为相关受损的网站并不愿意公布他们的损失,根据一些研究机构的估计钓鱼网站每年给人带来的损失大概是10亿到28亿美元之间。钓鱼网站的方法并不复杂,通常通过邮件来引诱用户点击进入欺诈网站,在国内, 主要是针对淘宝、腾讯、工行网站进行钓鱼活动。钓鱼页面与原网站很相似,这种相似有两部分的结构地址栏域名结构相似和页面相似。如目前不少钓鱼网站主要是通过邮件中 url隐藏(显示是www. paypal. com,实际上是一连串假的网址),在假的网址中,实际内容与www. paypal. com几乎相同,只是在输入帐户和密码后的提交form中,提交到本地的域名指向的网页中,而不是www. paypal. com中。而地址栏url相似也叫url高仿,如http:// www. taobao. com. maliciousurldsdsfdsdssd003232232. cn/index, html,以让用户感觉是在www. taobao. com的网站上。为了防范这种攻击,很多软件公司都发布了识别钓鱼网站的工具。比如Google提供了一个免费的工具栏,在搜索的时候它可以帮助用户识别欺诈性的网站。火狐浏览器通过与phishtank等恶意网址数据库的合作可以阻止用户访问伪造站点。总之,不管是杜绝钓鱼网站的建立还是防止用户受到欺骗,在现在都已经是一项非常重要的研究项目。

发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种快速高效, 能够应用于多种场合的实时检测钓鱼网站的方法,提高网络安全,维护用户利益。为实现上述目的,本发明提供了一种钓鱼网站的识别方法,包括如下步骤步骤I,将输入的URL与对比数据库中已有的URL进行比较,所述对比数据库中的每条URL带有黑名单或者白名单的标记,若所述输入的URL在所述数据库中的标记为黑名单,则判定该URL为钓鱼网站的URL,进行检测报告,并进入步骤4,若所述输入的URL在所述数据库中的标记为白名单,则进入步骤2 ;
步骤2,对所述URL进行特征提取并形成特征向量,要提取的特征包括URL中的异常点数、URL中的Unicode、URL中的异常字符、URL中的异常数字的个数和分区数、字符编码混编、URL中的关键字、域名申请时长和域名过期时间。
步骤3,用专用于测试的特征向量数组中的每一个特征向量对上述URL提取出的特征向量进行测试,若测试结果为是钓鱼网站的URL,则进行检测结果报告;步骤4,进行深度检测,包括对所述URL的whois信息作一个分析,并将得到的完整结果反馈至步骤I中所述对比数据库。进一步地,所述专用于测试的特征向量数组中的每一个特征向量对应地有一个在该特征向量的测试中用于比较和判定的预定阀值。进一步地,所述步骤3中用专用于测试的特征向量数组中的每一个特征向量对上述URL提取出的特征向量进行测试的方法具体为用专用于测试的特征向量数组中的每一个特征向量与所述URL提取出的特征向量做内积,并将所述内积的结果与参与该内积运算的所述特征向量数组E的特征向量所对应的乘定阀值作比较,若所述内积结果大于该预定阀值,则判定测试结果为 是钓鱼网站的URL,若所述内积结果小于该预定阀值,则判定测试结果为不是钓鱼网站的URL,最后,取所述专用于测试的特征向量数组中的所有特征向量对所述提取出的特征向量的测试结果中占多数的结果作为最后的判定结果。进一步地,所述专用于测试的特征向量数组中的特征向量与所述对应的预定阀值的初始值随机产生,其中,所述特征向量与从URL中提取的特征组成的特征向量的结构相同。进一步地,所述专用于测试的特征向量数组中的数组成员的特征向量和其对应的预定阀值是由初始的随机值经过一定次数的组合刷新步骤,训练步骤和筛选步骤而形成的。进一步地,所述组合刷新步骤为在所述特征向量数组中随机选取若干组特征向量,每组为两个特征向量,分别对每组特征向量及其对应的预定阀值的数值取均值,然后在一定的范围内随机地变化该特征向量及预定阀值的数值,形成新的特征向量及与其对应的预定阀值,并将该新的特征向量追加到所述特征向量数组中。进一步地,所述训练步骤为使用所述组合刷新步骤形成的特征向量数组中的每一个特征向量,分别对预先准备的用于训练的URL提取特征向量数组中的每一个特征向量进行测试,并将测试结果与实际结果进行比较,测试结果正确的计数减去测试结果错误的计数的差值记为该特征向量的得分,并统计该特征向量数组中所有特征向量的得分之和。进一步地,所述筛选步骤为对所述特征向量数组中的所有特征向量的得分进行降序排序,删除所述排序中排位靠后的特征向量,使得特征向量数组中数组成员的个数与未经过组合刷新步骤、训练步骤和筛选步骤时的成员个数相同。进一步地,所述专用于测试的特征向量数组中的数组成员特征向量是由初始的随机值开始,直到每次经过所述组合刷新步骤、训练步骤和筛选步骤后所述专用于测试的特征向量数组中的所有特征向量的得分之和趋于相同的数值,则该专用于测试的特征向量数组可以开始用于测试。本发明的有益效果在于该钓鱼网站的识别方法基于URL进行识别,具有良好的实时性,能够应用于多种场合。同时深度检测弥补了基于URL检测的正确率不足的问题,并将深度检测的结果返回到对比数据库,提高了钓鱼网站识别的正确率。同时,通过组合刷新步骤,训练步骤和筛选步骤,专用于测试的特征向量数组可以不断进化,也提高了钓鱼网站识别的正确率。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。


图I是本发明的钓鱼识别方法的流程具体实施例方式下面结合附图来具体说明本发明的实施例。如图I所示,一种钓鱼网站的识别方法,包括对比数据库检测步骤、特征向量提取步骤、特征向量测试步骤和深度检测及反馈步骤。对比数据库检测步骤将输入的URL与对比数据库中已有的URL逐一进行比较,其中对比数据库中 的每条URL带有黑名单或者白名单的标记,若输入的URL在所述数据库中的标记为黑名单,则判定该URL为钓鱼网站的URL,进行检测报告后直接进入深度检测及反馈步骤,若所述输入的URL在所述数据库中的标记为白名单,则进入特征向量提取步骤。特征向量提取步骤对输入的URL进行特征的提取,要提取的特征包括URL中的异常点数、URL中的Unicode、URL中的异常字符、URL中的异常数字的个数和分区数、字符编码混编、URL中的关键字、域名时长和域名过期时间,然后用提取出的特征形成特征向量。例如输入的 URL 为 http: //www. taobao. com. maliciousurldsdsfdsdssd003232232. cn/index. html,那么经过特征提取,主域名段部分有4个”,因此异常点数项置为4,没有 Unicode编码和异常字符,有9个数字,因此将数字位置9,有3个不同的连续字母或数字组成的分区,没有字符编码混编,有关键字因此设关键字值为1,这样经过特征提取后形成的特征向量为(4,0,0,9,3,0,1)。特征向量测试步骤对提取出的特征向量用预先准备的专用于测试的特征向量数组中的每一个特征向量进行测试,若测试结果为是钓鱼网站的URL,则进行检测结果报告后进入深度检测及反馈步骤,若测试结果不是钓鱼网站的URL,则进入深度检测及反馈步骤。
深度检测及反馈步骤对所述URL的whois信息,即用来查询域名的IP以及所有者等信息的传输协议,作一个分析,并将得到的完整结果反馈至对比数据库,以完善对比数据库的检测功能。其中,特征向量测试步骤中所述的预先准备的专用于测试的特征向量数组是由一定个数的特征向量组成的,每个特征向量对应地有一个在该特征向量的测试中用于比较和判定的预定阀值。其中,上述特征向量测试步骤中用预先准备的专用于测试的特征向量数组中的每一个特征向量对从URL提取出的特征向量进行测试的方法具体为取专用于测试的特征向量数组中的一个特征向量,将该特征向量与从URL提取出的特征向量做内积运算,并将此运算的结果与该专用于测试的特征向量数组中的该特征向量所对应的预定阀值作比较,若运算结果大于该预定阀值,则判定该专用于测试的特征向量数组中的该特征向量对从URL 提取的特征向量的测试结果为是钓鱼网站的URL,若运算结果小于该预定阀值,则判定该专用于测试的特征向量数组中的该特征向量对从URL提取的特征向量的测试结果为不是钓鱼网站的URL。在用该专用于测试的特征向量数组中的每个特征向量对从URL提取的特征向量进行测试结束后,取该专用于测试的特征向量数组中的所有特征向量对从URL提取的特征向量的测试结果中数量占多数的测试结果为最后的判定结果。其中,上述专用于测试的特征向量数组中的特征向量与其对应的预定阀值的初始值随机产生,其中,所述特征向量与从URL中提取的特征组成的特征向量的结构相同。并且,所述专用于测试的特征向量数组中的数组成员的特征向量和其对应的预定阀值是由初始的随机值经过一定次数的组合刷新步骤,训练步骤和筛选步骤而形成的。上述的组合刷新步骤具体为在特征向量数组中随机选取若干组特征向量,每组为两个特征向量,分别对每组特征向量及其对应的预定阀值的数值取均值,形成新的特征向量以及其对应的预定阀值,并将该新的特征向量追加到所述特征向量数组中。例如特征向量数组中有1000个特征向量,随机地在该1000个特征向量中选取5000对特征向量,经过对该5000对特征向量及其对应的阀值取均值得到新的5000个特征向量,那么此时特征向量数组中有6000个特征向量。此处,所形成的新的特征向量和其对应的阀值也可以由在对每组特征向量及其对应的预定阀值的数值取均值的基础上,在一定的范围内随机增加或者减小其均值而得到。 例如,某一参数取得的均值为O. 546,随机产生
范围内的随机数t和p,若P小于O. 5, 则令该参数变异为O. 546 X (Ι+t)。
训练的URL提取特征向量数据中的每一个进行测试,并将测试结果与该用于训练的URL提取特征向量数据的实际结果进行比较,然后再用测试正确的计数减去测试错误的计数的差值记为该特征向量的得分,并统计特征向量数组中所有特征向量的得分之和。例如,某一特征向量,测试正确次数为231,测试错误的次数为82,因此, 得分为149。上述的筛选步骤具体为对上述特征向量数组中的所有特征向量的得分进行降序排序,删除所述排序中排位靠后的特征向量,使得特征向量数组中数组成员的个数与未经过组合刷新步骤、训练步骤和筛选步骤时的成员个数相同。例如上述特征向量数组中有 6000个特征向量,对这6000个特征向量的得分进行降序排列后,筛选出排序中的前1000个特征向量。至此,专用于测试的特征向量数组完成了一次组合刷新步骤、训练步骤和筛选步骤。此专用于测试的特征向量数组中的数组成员特征向量是由初始的随机值开始,经过多次组合刷新步骤、训练步骤和筛选步骤,直到每次经过组合刷新步骤、训练步骤和筛选步骤后该专用于测试的特征向量数组中的所有特征向量的得分之和趋于相同的数值,则该专用于测试的特征向量数组可以开始用于测试。以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域的技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
权利要求
1.一种钓鱼网站的识别方法,其特征在于,包括如下步骤 步骤1,将输入的URL与对比数据库中已有的URL进行比较,所述对比数据库中的每条URL带有黑名单或者白名单的标记,若所述输入的URL在所述数据库中的标记为黑名单,则判定该URL为钓鱼网站的URL,进行检测报告,并进入步骤4,若所述输入的URL在所述数据库中的标记为白名单,则进入步骤2 ; 步骤2,对所述URL进行特征提取并形成特征向量,要提取的特征包括URL中的异常点数、URL中的Unicode、URL中的异常字符、URL中的异常数字的个数和分区数、字符编码混编、URL中的关键字、域名申请的时长和域名过期时间; 步骤3,用专用于测试的特征向量数组中的每一个特征向量对上述URL提取出的特征向量进行测试,若测试结果为是钓鱼网站的URL,则进行检测结果报告; 步骤4,进行深度检测,包括对所述URL的whois信息作一个分析,并将得到的完整结果反馈至步骤2中所述对比数据库。
2.如权利要求I所述的钓鱼网站的识别方法,其中,所述专用于测试的特征向量数组中的每一个特征向量对应地有一个在该特征向量的测试中用于比较和判定的预定阀值。
3.如权利要求2所述的钓鱼网站的识别方法,其中,所述步骤3中用专用于测试的特征向量数组中的每一个特征向量对上述URL提取出的特征向量进行测试的方法具体为用专用于测试的特征向量数组中的每一个特征向量与所述URL提取出的特征向量做内积,并将所述内积的结果与参与该内积运算的所述特征向量数组中的特征向量所对应的预定阀值作比较,若所述内积结果大于该预定阀值,则判定测试结果为是钓鱼网站的URL,若所述内积结果小于该预定阀值,则判定测试结果为不是钓鱼网站的URL,最后,取所述专用于测试的特征向量数组中的所有特征向量对所述URL提取出的特征向量的测试结果中占多数的结果作为最后的判定结果。
4.如权利要求3所述的钓鱼网站的识别方法,其中所述专用于测试的特征向量数组中的特征向量与所述对应的预定阀值的初始值随机产生,其中,所述特征向量与从U RL中提取的特征组成的特征向量的结构相同。
5.如权利要求4所述的钓鱼网站的识别方法,其中所述专用于测试的特征向量数组中的数组成员的特征向量和其对应的预定阀值是由初始的随机值经过一定次数的组合刷新步骤,训练步骤和筛选步骤而形成的。
6.如权利要求5所述的钓鱼网站的识别方法,其中,所述组合刷新步骤为在所述特征向量数组中随机选取若干组特征向量,每组为两个特征向量,分别对每组特征向量及其对应的预定阀值的数值取均值,然后在一定的范围内随机地变化特征向量及预定阀值的数值,形成新的特征向量及与其对应的新的预定阀值,并将该新的特征向量追加到所述特征向量数组中。
7.如权利要求6所述的钓鱼网站的识别方法,其中,所述训练步骤为使用所述组合刷新步骤形成的特征向量数组中的每一个特征向量,分别对预先准备的用于训练的URL提取特征向量数组中的每一个特征向量进行测试,并将测试结果与实际结果进行比较,测试结果正确的计数减去测试结果错误的计数的差值记为该特征向量的得分,并统计该特征向量数组中所有特征向量的得分之和。
8.如权利要求7所述的钓鱼网站的识别方法,其中,所述筛选步骤为对所述特征向量数组中的所有特征向量的得分进行降序排序,删除所述排序中排位靠后的特征向量,使得特征向量数组中数组成员的个数与未经过组合刷新步骤、训练步骤和筛选步骤时的成员个数相同。
9.如权利要求8所述的钓鱼网站的识别方法,其中,所述专用于测试的特征向量数组中的数组成员特征向量是由初始的随机值开始,直到每次经过所述组合刷新步骤、训练步骤和筛选步骤后所述专用于测试的特征向量数组中的所有特征向量的得分之和趋于相同的数值,则该专用于测试的特征向量数组可以开始用于测试。
全文摘要
本发明公开了一种钓鱼网站的识别方法,该钓鱼网站的识别方法包括对比数据库检测步骤、特征向量提取步骤、特征向量测试识别步骤和深度检测及反馈步骤,其中,特征向量测试识别步骤中使用的专用于测试的特征向量数组是由初始状态通过组合刷新步骤,训练步骤和筛选步骤后得到的。本发明的钓鱼网站识别方法基于URL进行识别,具有良好的实时性,能够应用于多种场合。同时深度检测弥补了基于URL检测的正确率不足的问题,并将深度检测的结果返回到对比数据库,提高了钓鱼网站识别的正确率。同时,通过组合刷新步骤,训练步骤和筛选步骤,专用于测试的特征向量数组可以不断进化,也提高了钓鱼网站识别的正确率。
文档编号H04L29/06GK102708186SQ201210147470
公开日2012年10月3日 申请日期2012年5月11日 优先权日2012年5月11日
发明者张文迪, 易平, 赖骏尧, 邹福泰 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1