当前位置: 首页 > 专利查询>安徽大学专利>正文

一种Android环境下钓鱼网站检测方法及其检测系统技术方案

技术编号:16720362 阅读:53 留言:0更新日期:2017-12-05 17:48
本发明专利技术公开一种Android环境下钓鱼网站检测方法及其检测系统,包括以下步骤:手机端用户在浏览网页时,获取网站URL,并发给服务器端;服务器端在收到客户端发来的URL时,并根据URL获取网页内容,根据URL和网页内容构造特征向量;使用样本数据集对K‑means进行聚类形成两个聚类中心,同时训练朴素贝叶斯算法;使用K‑means和改进朴素贝叶斯相结合的算法对特征向量进行判定,并将判定结果发回给客户端用户;客户端用户根据返回的结果进行相应的提示,如果是钓鱼网站则显示提示框提醒用户,如果不是则正常浏览网页。本发明专利技术充分利用了K‑means算法聚类速度快与朴素贝叶斯算法准确率高的优点,大大提高分类速度和精度。

A detection method and detection system for fishing site in Android environment

The invention discloses a Android environment phishing detection method and system, which comprises the following steps: the mobile phone end users when browsing the web, web URL, and sent to the server; the server to the client after receiving URL, and according to the URL access to web content, according to the structural characteristics of URL and web content vector; using the sample data set of K means cluster formed two cluster centers, and training Naive Bayesian algorithm; using K means and improved Naive Bayesian combination algorithm to determine the feature vector, and will determine the results back to the client; the client user corresponding prompt according to the returned results, if it is a phishing site displays the prompt box to remind the user to browse the web, if not. The invention makes full use of K clustering algorithm means fast algorithm Naive Bayesian with the advantage of high accuracy, greatly improve the speed and accuracy of classification.

【技术实现步骤摘要】
一种Android环境下钓鱼网站检测方法及其检测系统
本专利技术属于计算机软件以及移动安全
,具体涉及一种Android环境下钓鱼网站检测方法及其检测系统。
技术介绍
根据数据显示,2017年中国移动互联网用户数量已超过10亿人,较2016年增长了近20%。从智能手机的用户数量可以看出,我国的移动互联网规模巨大,并在迅速发展中。但是在移动互联网快速发展的同时,针对移动网络攻击和诈骗的现象时有发生。网络钓鱼攻击是一种通过模拟正常网站的界面,诱骗用户输入用户名和密码等信息,从而达到盗取用户账号信息的目的。当前,对于PC端的网络钓鱼攻击已经有了较好的防御和保护手段,但针对移动端攻击的检测手段和方法还没有得到很好的解决。当前,对网页钓鱼攻击检测方法的研究主要包括基于黑名单的检测、基于机器学习的检测、基于启发式的检测和基于视觉相似的检测等四类,但这些现有技术或多或少存在一些缺陷。主要表现为:(1)基于黑名单的检测技术该技术主要根据知名IT企业提供的钓鱼网站黑名单的方式进行检测。基于黑名单的检测的技术虽然正确率很高,但是没办法检测不在黑名单内的钓鱼网站。与此同时,由于确认黑名单需要人工验证,故需花费大量的人力和时间等资源。(2)基于机器学习的检测技术该技术主要通过选择钓鱼网站URL的特征,以此来生成训练数据,构造分类器进行检测。在这种方法中,URL特征的选取和分类器的构建是非常关键的因素。(3)基于启发式的检测技术该技术主要根据网站存在的异常特征超出了设定的阈值和不合乎常规的访问等方式来对钓鱼网站进行判断。(4)基于视觉相似的检测技术该技术主要利用钓鱼网站与真实网站的视觉相似超过设定的阈值来进行检测。然而,由于需要复杂的图像处理操作,鉴于现在手机在性能还不能很好的满足此类计算需求,这种方法并不适合移动手机端。
技术实现思路
专利技术目的:本专利技术的目的在于解决现有技术中存在的不足,提供一种Android环境下钓鱼网站检测方法及其检测系统。技术方案:本专利技术的一种Android环境下钓鱼网站检测方法,依次包括以下步骤:(1)首先Android手机客户端用户在浏览网页时,获取网站URL,并将获取的网站URL发给安装在服务器端用以钓鱼网站检测的应用程序;(2)服务器端通过Android手机客户端发来的URL获取对应的网页内容,并以此为依据构造特征向量V,V=<v1,v2,v3,v4,v5,v6,v7,v8>;(3)使用由钓鱼网站和正常网站构成的样本数据集对K-means进行聚类,形成两个聚类中心,同时训练K-means算法和朴素贝叶斯算法;(4)使用K-means和改进朴素贝叶斯相结合的算法对特征向量进行判定,并将判定结果发回给客户端用户;(5)客户端用户根据返回的结果进行相应的提示,如果是钓鱼网站则显示提示框提醒用户,如果不是则正常浏览网页。所述步骤(1)中URL的获取方式可以采取两种方式:一是客户端程序将用户在web浏览器中访问的URL提取出来,再将该URL发送给服务器进行检测;二是直接将该功能的实现转到服务器进行实现,即由服务器处理用户的HTTP请求。浏览器在手机平台上是作为一个核心服务在运行的。在提供的应用程序编程接口中,应用程序只能够将指定的URL作为输入来调用浏览器进行访问,而没有提供相应的接口实现直接提取当前浏览器访问网址的功能,这样做的目的也是为了在应用程序级别保障数据交换的安全。对于用户越来越多样化的办公和娱乐需求,web浏览器的请求解析势必会导致占用不少的软硬件资源,将该功能移植到服务器上会增加用户使用体验。本专利技术采用第二种方式,是采用服务器端应用程序处理用户的HTTP请求。钓鱼网站通常为了迷惑用户,将网站的URL和网页内容进行了伪装,根据总结和归纳钓鱼网站的特点,从中提取钓鱼网站的8个特性,将这些特性组成特征向量,即V=<v1,v2,v3,v4,v5,v6,v7,v8>。步骤(2)中,所述URL的特征向量包括URL中是否包含IP地址v1,网站的URL中是否包含‘_’和‘@’异常字符v2,URL是否具有多级域名v3,以及URL的字符长度是否大于30v4;所述网页内容的特征向量包括网页内容中是否包含‘form’表单v5,网页内容中是否包含‘username’关键字v6,网页内容中是否包含‘password’关键字v7,以及是否存在外部链接v8。其中,各个分量的具体含义分别为:v1:URL中是否包含IP地址。攻击者经常用IP地址作为网站的URL来迷惑用户,而这样的URL极有可能是恶意的钓鱼网站。v2:网站的URL中是否包含‘_’、‘@’等异常字符。钓鱼网站通常用添加特殊字符的方法来迷惑用户。v3:URL是否具有多级域名。当网站域名过长时,大部分用户往往会忽视URL后半部分的内容,而很多钓鱼网站通过多级域名来达到迷惑用户的目的。本文通过检测URL中是否含有大于5个‘.’来判断该URL是否包含多级域名。v4:URL的字符长度是否大于30。一般可信网站的长度都不会太长,如果URL的长度过长,极有可能是钓鱼网站。v5:网页内容中是否包含‘form’表单。‘form’表单是用来提交用户信息的,存在‘form’表单,说明网页需要用户填写信息,用户需要特别注意。v6:网页内容中是否包含‘username’关键字。‘username’在网页源代码中通常表示用户的登录ID,如果存在,极有可能是攻击者想要获取用户的ID。v7:网页内容中是否包含‘password’关键字。‘password’在网页源代码中通常代表用户的登录密码,如果存在,很有可能是攻击者想要窃取用户的登录密码。v8:是否存在外部链接。网页中存在外部链接是正常的,但是如果网页中外部链接的数量过多(这里指外部链接的数量超过20个),这个网页很有可能是可疑的。用户需要特别注意。所述步骤(3)的具体过程为:利用样本数据集对K-means算法进行聚类,形成两个聚类中心,因为网站判定的结果只有两种,一种为钓鱼网站,一种为正常网站,同时用样本数据对K-means和朴素贝叶斯算法进行训练。上述样本数据集包括两类网站,即钓鱼网站数据和正常网站数据,钓鱼网站数据通过安全联盟网站实时获取,正常网站数据从Alexa网站实时获取获取。由于钓鱼网站的存活周期短,本专利技术以实时收集的网站信息作为数据集,钓鱼网站数据集是从安全联盟网站上获取的,安全联盟网站每天实时地更新最新发现的钓鱼网站,因此从安全联盟网站获取的钓鱼网站数据是最具代表性的。正常网站是从Alexa网站上获取的,Alexa网站公布了全球网站访问量的排行榜,因此可以作为正常网站数据集的来源。K-means算法的目标是根据输入的参数K,将给定的数据集分为K个簇,同一个簇内的数据具有较高的相似度,而不同簇之间的相似度较底。K-means算法的具体聚类过程为:1)从样本数据对象中随机选择一个属于钓鱼网站的特征向量作为钓鱼网站聚类中心O1,再随机选择一个属于正常网站的特征向量作为正常网站的聚类中心O2;2)计算剩余每个对象与两个聚类中心位置的距离d1和d2,若d1>d2,就将当前对象赋给聚类中心O2,若d1<=d2,就将当前对象赋给聚类中心O1;3)重新计算两个聚类的均值(中心位置);4)循环2)本文档来自技高网
...
一种Android环境下钓鱼网站检测方法及其检测系统

【技术保护点】
一种Android环境下钓鱼网站检测方法,其特征在于:依次包括以下步骤:(1)首先Android手机客户端用户在浏览网页时,获取网站URL,并将获取的网站URL发给安装在服务器端用以钓鱼网站检测的应用程序;(2)服务器端通过Android手机客户端发来的URL获取对应的网页内容,并以此为依据构造特征向量V,V=<v1,v2,v3,v4,v5,v6,v7,v8>;(3)使用由钓鱼网站和正常网站构成的样本数据集对K‑means进行聚类,形成两个聚类中心,同时训练K‑means算法和朴素贝叶斯算法;(4)使用K‑means和改进朴素贝叶斯相结合的算法对特征向量进行判定,并将判定结果发回给客户端用户;(5)客户端用户根据返回的结果进行相应的提示,如果是钓鱼网站则显示提示框提醒用户,如果不是则正常浏览网页。

【技术特征摘要】
1.一种Android环境下钓鱼网站检测方法,其特征在于:依次包括以下步骤:(1)首先Android手机客户端用户在浏览网页时,获取网站URL,并将获取的网站URL发给安装在服务器端用以钓鱼网站检测的应用程序;(2)服务器端通过Android手机客户端发来的URL获取对应的网页内容,并以此为依据构造特征向量V,V=<v1,v2,v3,v4,v5,v6,v7,v8>;(3)使用由钓鱼网站和正常网站构成的样本数据集对K-means进行聚类,形成两个聚类中心,同时训练K-means算法和朴素贝叶斯算法;(4)使用K-means和改进朴素贝叶斯相结合的算法对特征向量进行判定,并将判定结果发回给客户端用户;(5)客户端用户根据返回的结果进行相应的提示,如果是钓鱼网站则显示提示框提醒用户,如果不是则正常浏览网页。2.根据权利要求1所述的Android环境下钓鱼网站检测方法,其特征在于:所述步骤(1)中URL的获取方式为:由服务器端应用程序处理用户的HTTP请求,将该功能移植到服务器上增加用户使用体验。3.根据权利要求1所述的Android环境下钓鱼网站检测方法,其特征在于:所述步骤(2)中,所述URL的特征向量包括URL中是否包含IP地址(v1),网站的URL中是否包含‘_’和‘@’异常字符(v2),URL是否具有多级域名(v3),以及URL的字符长度是否大于30(v4);所述网页内容的特征向量包括网页内容中是否包含‘form’表单(v5),网页内容中是否包含‘username’关键字(v6),网页内容中是否包含‘password’关键字(v7),以及是否存在外部链接(v8)。4.根据权利要求1所述的Android环境下钓鱼网站检测方法,其特征在于:所述步骤(3)中的样本数据集包括两类网站,即钓鱼网站数据和正常网站数据,钓鱼网站数据通过安全联盟网站实时获取,正常网站数据从Alexa网站实时获取获取。5.根据权利要求1所述的Android环境下钓鱼网站检测方法,其特征在于:所述步骤(3)中先利用样本数据集中的一半数据对K-means算法进行聚类以形成两个聚类中心;同时,使用样本数据集中的另一半对K-means算法和朴素贝叶斯算法进行训练;其中:(A)K-means算法的具体聚类过程为:1)从样本数据集的对象中随机选择一个属于钓鱼网站的特征向量作为钓鱼网站聚类中心O1,再随机选择一个属于正常网站的特征向量作为正常网站的聚类中心O2;2)计算剩余每个对象与两个聚类中心位置的距离d1和d2:若d1>d2,说明当前对象距离聚类中心O2较近,所以将当前对象赋给聚类中心O2;若d1<=d2,就将当前对象...

【专利技术属性】
技术研发人员:朱二周马刚刘锋张静
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1