一种钓鱼网站识别方法和装置与流程

文档序号:13937515阅读:259来源:国知局
一种钓鱼网站识别方法和装置与流程

本发明属于信息技术、网络安全技术领域,具体涉及一种钓鱼网站识别方法和装置。



背景技术:

网络钓鱼(phishing)这一术语产生于1996年,它是由钓鱼(fishing)一词演变而来。在网络钓鱼的过程中,攻击者使用诱饵(比如电子邮件、手机短信)发送给大量用户,期待少数用户“上钩”,进而达到“钓鱼”(如窃取用户的隐私信息)的目的。国际反网络钓鱼工作组(apwg)给网络钓鱼的定义是:网络钓鱼是一种利用社会工程学和技术手段来窃取消费者的个人身份数据和财务账户凭证的网络攻击方式。采用社会工程手段的网络钓鱼攻击往往是向用户发送貌似来自合法的企业或机构的欺骗性电子邮件、手机短信等,引诱用户回复个人敏感信息或者点击里面的链接访问伪造的网站,进而泄露凭证信息(例如用户名、密码)或下载恶意软件。网络钓鱼严重威胁网民的财产和隐私安全,已成为当前互联网最大的安全隐患之一。

黑名单技术应用广泛,是主要的网络钓鱼过滤技术之一。比如googlechrome、mozillafirefox和applesafai中使用的googlesafeapi,就是根据google提供的不断更新的黑名单,通过验证某一url是否在黑名单中,来判断该url是否是钓鱼网页或者恶意网页。黑名单技术简单易用,但存在明显的缺点:对于未包含在名单内的钓鱼网站无能为力,换句话说无法过滤新出现的钓鱼网站。



技术实现要素:

本发明针对上述问题,提供一种钓鱼网站识别方法和装置,能够弥补黑名单技术无法过滤新出现的钓鱼网站的不足,高效识别嵌入品牌网站元素和资源的钓鱼网站,提升网络钓鱼过滤的性能。

本发明通过分析phishtank和中国反钓鱼网站联盟的钓鱼举报数据,发现绝大多数钓鱼网站为了仿冒地更逼真,往往直接使用品牌网站的资源(logo、css等);当用户通过浏览器访问这些钓鱼网站时,会随即发起对品牌网站域名的查询请求。本发明便是利用钓鱼网站的上述特性,通过分析域名系统(dns)解析数据,识别这些钓鱼网站。

本发明采用的技术方案如下:

一种钓鱼网站识别方法,包括以下步骤:

检测待检测网站中是否嵌入其他网站的资源;

若待检测网站中没有嵌入其他网站的资源,则判定待检测网站为非钓鱼网站;

若待检测网站中已嵌入其他网站的资源,则判断所述其他网站的域名是否与白名单有交集;若没有交集,则判定待检测网站为非钓鱼网站;若有交集,则判定待检测网站为高度疑似钓鱼网站;

对所述高度疑似钓鱼网站进行合法性判定和域名信用评估,以确定待检测网站是否为钓鱼网站。

进一步地,在检测待检测网站中是否嵌入其他网站的资源之前,判断待检测网站的域名是否在白名单中,如果在白名单中,则直接判定待检测网站为非钓鱼网站。

进一步地,通过检测待检测网站的网页源码中是否嵌入其它网站的资源的链接,或者检测浏览器访问待检测网站过程中是否发起对其他域名的dns查询请求,来判断待检测网站中是否嵌入其他网站的资源。

进一步地,通过浏览器插件实时监听浏览器的网络行为,以捕获浏览器载入待检测网站的页面的过程中发起的网络资源查询请求,将所查询的域名与待检测网站的域名进行比较,从而判断是否发起对其他域名的dns查询请求。

进一步地,通过搭建本地dns递归服务器,并分析dns查询请求日志,判断浏览器访问待检测网站过程中是否发起对其他域名的dns查询请求。

进一步地,通过禁用计算机dns客户端缓存,并将dns客户端设置为仅使用搭建的本地dns递归服务器进行dns查询,以保证dns查询请求日志完整记录浏览器载入页面时所发起的dns查询请求。

进一步地,选择一个不存在的域名,将对该域名的dns查询请求记录作为dns查询请求日志中不同网页查询请求记录之间的分隔标识。

一种钓鱼网站识别装置,包括:

检测单元,用于检测待检测网站中是否嵌入其他网站的资源;

第一判定单元,用于在待检测网站中没有嵌入其他网站的资源时,判定待检测网站为非钓鱼网站;

白名单比较单元,用于判断待检测网站中嵌入的其他网站的域名是否与白名单有交集;

第二判定单元,用于在所述其他网站的域名与白名单没有交集时,判定待检测网站为非钓鱼网站;以及在所述其他网站的域名与白名单有交集时,判定待检测网站为高度疑似钓鱼网站;

评估单元,用于对所述高度疑似钓鱼网站进行合法性判定和域名信用评估;

第三判定单元,用于根据所述评估单元得到的结果,判定待检测网站是否为钓鱼网站。

进一步地,所述检测单元通过检测待检测网站的网页源码中是否嵌入其它网站的资源的链接,来判断待检测网站中是否嵌入其他网站的资源;或者,所述检测单元为一浏览器插件,通过实时监听浏览器的网络行为,捕获浏览器载入待检测网站的页面的过程中发起的网络资源查询请求,并将所查询的域名与待检测网站的域名进行比较,以判断是否发起对其他域名的dns查询请求,从而判断待检测网站中是否嵌入其他网站的资源。

进一步地,所述检测单元为本地dns递归服务器,其通过分析dns查询请求日志判断浏览器访问待检测网站过程中是否发起对其他域名的dns查询请求,从而判断待检测网站中是否嵌入其他网站的资源。

与现有技术相比,本发明的有益效果如下:

1.便于通过浏览器插件的形式实现,从而实现在线实时识别并可将结果及时反馈,给用户以提醒,避免上当受骗。

2.可以与黑名单技术一起使用,互为补充。可在使用本发明进行钓鱼识别之前,将待检测url的域名与黑名单进行匹配,若黑名单中存在该域名,则可以认定该url为钓鱼,不必进行进一步的识别,从而有效提高识别的效率。另一方面,若未与黑名单匹配成功,且在利用本发明进行识别后认定其为钓鱼,可将其对应的域名加入黑名单,实现对黑名单的扩展。

3.方便扩展。针对新品牌的钓鱼,只要把品牌资源所在域名添加至白名单即可。本发明的关键是维护一个具有完整性和有效性的白名单,与黑名单相比,由合法品牌域名构成的白名单相对来说更稳定,维护和更新也更容易。

4.语言无关。本发明所有步骤均不涉及钓鱼网站的语言类型,可对全球品牌仿冒进行识别。因此,本发明不受网站语言类型的约束,与其他钓鱼识别方法相比,应用范围更为广泛。

附图说明

图1是钓鱼网站示意图。

图2是图1所示钓鱼网站的源码片段截图。

图3是实施例中钓鱼网站识别方法的流程图。

图4是实施例中钓鱼网站识别装置的组成单元示意图。

具体实施方式

下面通过具体实施例和附图,对本发明做进一步详细说明。

网络钓鱼本质上是品牌仿冒,钓鱼者通过邮件、即时通讯等方式发送虚假信息,引诱用户访问事先搭建的仿冒网站,以骗取用户的隐私和财产。其中仿冒网站作为最重要的犯罪场所,往往与真实品牌网站在视觉上高度相似,以欺骗用户信以为真。时至今日,网站(特别是大品牌网站)已经不是简单的文字和图片,而是包含大量独特品牌风格的元素和资源,包括logo图片、favicon图片、css文件、js文件等;钓鱼仿冒网站为了以假乱真,往往直接使用品牌网站的这些资源,即网页源码中嵌入这些资源的链接。例如:https://wvw.paypal-limited.com-webapps-security.com是钓鱼paypal(http://www.paypal.com)的网站,其效果如图1所示。

该登陆页面与paypal官网的登陆页面几乎一模一样,该网站源码片段截图如图2所示。从该截图可以看出,该钓鱼网站使用了paypal的favicon图片、css文件和js文件(注:paypal的资源均放置在www.paypalobjects.com)。如此一来,当用户通过浏览器访问https://wvw.paypal-limited.com-webapps-security.com/时,浏览器首先会发起对域名“com-webapps-security.com”的查询请求,随即会发起对域名“paypalobjects.com”的查询请求。本发明方法就是通过充分挖掘钓鱼网站的这一特性,以高效识别钓鱼网站。

本发明的钓鱼网站识别方法的流程如图3所示。针对用户输入的每一个网址,执行下述过程:

一、根据已有的白名单库,判断待检测url对应的域名是否在白名单当中,如果在白名单中,说明该url非钓鱼网站,结束识别流程;否则,执行第二步。

二、使用浏览器发起对该domain的查询请求,访问该domain所在的服务器,载入页面,并判断在该过程中是否发起对其他域名(newnomains)的查询请求,若没有,则认为该url非钓鱼网站,结束流程;反之,则进行下一步的识别。

三、判断newdomains中是否有域名在白名单中(即是否与白名单有交集),若没有,则认为该url非钓鱼网站;反之则认为该url为高度疑似钓鱼网站,进行进一步的判别。

四、对高度疑似钓鱼网站,进一步进行合法性判定和域名信用评估,最终确定该网站是否为钓鱼。合法性判定是判定该疑似钓鱼网站使用的白名单中相应品牌的域名是否合法,域名信用评估则是给域名进行打分,判断该网站域名是否可信。

其中最后一步,对于高度疑似钓鱼网站,可以进一步分析该domain是否在搜索引擎被索引,如果搜索引擎有索引,则非钓鱼;以及与白名单内所匹配的域名(whitedomain)是否同一人注册,如果是则非钓鱼;以及domain和whitedomain的解析ip是否在一个as(autonomoussystem)域,如果是则非钓鱼;不满足上述情况,则认定为钓鱼。

本发明的重点在于确认待检测的url的网页源码中是否嵌入品牌网站的元素和资源的链接,即在浏览器访问该url时是否发起对其他域名(newdomains)的查询请求。本发明不限定具体的实现方式,可以通过页面内容分析、浏览器查询监听、递归dns解析分析等多种方式实现,以下将分别给出实施例。

1.通过分析网页源码

钓鱼仿冒网站中使用品牌网站资源最直接的体现就是在网页源码中嵌入这些资源的链接。在网页源码中,一般通过“href”和“src”这两个属性实现logo图片、favicon图片、css文件、js文件等资源的调用。

因此本发明通过抓取待检测url的网页源码,对源码进行分析,使用正则表达式提取源码中调用logo、favicon、css、js等资源的代码段中“href”、“src”这两个属性的值,这些值即为调用相应资源的链接,进而得到链接所对应的域名。随后,将源码中调用资源的链接的域名与该待检测url的域名进行比较,若存在与待检测url的域名不同的情况,则认为该url中嵌入了其他品牌网站的资源,即断定存在品牌仿冒可能。

2.浏览器插件的形式(捕获dns查询请求)

浏览器在载入一个网页页面时,对于js、css、image等资源需要向服务器端请求下载,该过程中将产生dns查询、发送请求、重定向等一系列动作。参照chromedevtools,可开发一个浏览器插件,实时监听浏览器的网络行为,以捕获浏览器载入待检测url页面过程中发起的网络资源查询请求,并筛选出对js、css、images这三个类别的查询请求,将所查询的域名与待检测url的域名进行比较,判断是否发起newdomains的查询请求,即判定是否存在钓鱼可能。

3.搭建本地dns递归服务器,分析dns查询请求日志。

搭建本地dns递归服务器,并进行相应的配置使其能记录接收到的dns查询请求。为保证dns查询请求日志完整记录浏览器载入页面时所发起的dns查询请求,禁用计算机dns客户端缓存,并将dns客户端设置为仅使用搭建的本地dns递归服务器进行dns查询。

在dns查询请求日志中,往往只记录查询时间、用户ip、查询域名三个字段的信息,无法区分浏览器载入一个网页时所发起的dns查询请求的记录范围。为此,本发明事先选择一个不存在的域名,将对该域名的dns查询请求记录作为日志中不同网页查询请求记录之间的分隔标识。在每次访问一个待检测url的前后,均对该选定的域名进行访问,以确保在对dns查询请求日志进行分析时,能准确、完整地得到待检测网页在载入过程中所发起的dns查询请求记录。

使用正则表达式对dns查询请求日志进行匹配,得到待检测url页面发起的dns查询请求记录,其中第一行记录为该url的域名查询请求记录,其余皆为该页面调用包含但不限于logo图片、favicon图片、css文件、js文件等资源时所发起的dns查询记录,进一步比较这些关联查询的域名是否在白名单中,以判定是否存在仿冒可能。

本发明的另一实施例提供一种钓鱼网站识别装置,如图4所示,包括:

检测单元,用于检测待检测网站中是否嵌入其他网站的资源;

第一判定单元,用于在待检测网站中没有嵌入其他网站的资源时,判定待检测网站为非钓鱼网站;

白名单比较单元,用于判断待检测网站中嵌入的其他网站的域名是否与白名单有交集;

第二判定单元,用于在所述其他网站的域名与白名单没有交集时,判定待检测网站为非钓鱼网站;以及在所述其他网站的域名与白名单有交集时,判定待检测网站为高度疑似钓鱼网站;

评估单元,用于对所述高度疑似钓鱼网站进行合法性判定和域名信用评估;

第三判定单元,用于根据所述评估单元得到的结果,判定待检测网站是否为钓鱼网站。

所述检测单元通过检测待检测网站的网页源码中是否嵌入其它网站的资源的链接,来判断待检测网站中是否嵌入其他网站的资源;或者,所述检测单元为一浏览器插件,通过实时监听浏览器的网络行为,捕获浏览器载入待检测网站的页面的过程中发起的网络资源查询请求,并将所查询的域名与待检测网站的域名进行比较,以判断是否发起对其他域名的dns查询请求,从而判断待检测网站中是否嵌入其他网站的资源。

所述检测单元也可以为搭建的本地dns递归服务器,其通过分析dns查询请求日志判断浏览器访问待检测网站过程中是否发起对其他域名的dns查询请求,从而判断待检测网站中是否嵌入其他网站的资源。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

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