一种基于网页关联性的钓鱼检测方法
技术领域
本发明涉及一种钓鱼网页检测的方法,主要从网页之间的关联性角度对钓鱼网页进行匹配和识别,属于信息安全领域。
背景技术
“钓鱼网站”是随着网络普及和在线交易增加而变得异常猖獗的网络诈骗行为。“钓鱼网站”是犯罪分子做出的诈骗网站,“钓鱼网站”通常与银行网站或其他知名网站几乎完全相同,从而引诱网站使用者在“钓鱼网站”上提交出敏感信息(如:用户名、口令、帐号ID、ATM、PIN码或信用卡详细信息等)[Zhang2007]。
图1是钓鱼网站的体系结构[Cao2009]。最典型的网络钓鱼攻击过程如下:首先将用户引诱到一个通过精心设计与目标组织的网站非常相似的钓鱼网站上,然后获取用户在该钓鱼网站上输入的个人敏感信息,例如银行帐号、银行密码等。通常这个攻击过程不会让受害者警觉。这些个人信息对钓鱼网站持有者具有非常大的吸引力,通过使用窃取到的个人信息,他们可以假冒受害者进行欺诈性金融交易,获得极大的经济利益,而受害者们却因此而遭受到巨大的经济损失,非但如此,被窃取的个人信息还可能被用于其他非法活动。如何识别钓鱼网站,如何保证网站信息传输的保密完整性,愈发的显示出其重要性和必要性。
当前钓鱼网站识别主要靠计算机自动识别和人工识别两种方式,人工识别采用黑名单机制,用户对某个网站进行举报,通过人工鉴定是否为钓鱼网站,这样显然速度太慢。计算机自动识别目前主要是基于页面视觉相似性检测方式判断是否为钓鱼网站,电脑通过抽取网页的视觉、文字特征与大多数主要的合法网站页面进行相似度对比或进行机器学习,从而判断是否为钓鱼网站。
大多数用户会受骗,很多时候是由于钓鱼网页总是与真实网页有高度的相似性。计算相似性的方法很多,文献[Liu2005]、[Fu2006]、[Chen2009]、[Afroz2009]。
正如[Dhamija2006]、[Jackson2007]、[Afroz2009]中提到的,由于人们一般都比较注重自己浏览网页的主要目的,进而忽视了安全性问题的提示,并且视觉欺骗率很高。由此人们想到从视觉角度来检测,基于视觉的检测分为基于HMTL文本的检测、基于布局[Liu2005]、[Afroz2009]的检测和基于图像[Chen2009]的检测。由于HMTL语言的灵活性和网页元素的动态性及丰富性,仿冒者可以轻易地做出视觉上一样但是HMTL结构不同的网页,这样,基于HMTL的匹配将会失效。基于布局特征和图像特征的网页相似检测方法根据人的视觉原理,对网页的相似性进行计算,是一种通用的检测方法,如2006年Fu等人提出了一种基于像素的EMD距离的匹配算法[Fu2006],这种算法是在像素水平上从视觉的相似性角度来察觉钓鱼网页的。从实验结果可以看出:效果要明显好于基于HTML内容的检测,但也有其局限性,该算法只考虑了网页图像中的颜色及其分布特点,没有考虑网页中不同部分之间的位置关系。根据格斯塔视觉原理,相对位置在人的视觉中占主要地位,特别是多个形体间的相对位置关系,相对位置关系的变化必然导致视觉上的区别,而该算法由于没有考虑相对位置因素可能导致相似检测的失效,所以这种方法只能检测出与真实网页在视觉上有相似性的网页。[Cao2009]在Fu的基础上解决了相对位置的问题,首先对网页进行分块,然后再用EMD算法计算相似度。
前面也说过钓鱼者为了取得用户的信任,他们通常会模仿合法网站来构建钓鱼网站,所以一个钓鱼网站跟它的目标网站是有很好关联的。根据格式塔理论,我们可以认为网页是一个不可分割的整体[Dong2010]。我们简化复杂信息,获取主要信息,对一系列的问题进行整合。基于这种两种思想,我们结合网页之间的关联性和网页的整体性,可以有效地判断是否为钓鱼网页。
[Zhang2007]Y.Zhang,J.Hong,and L.Cranor.Cantina:A content-basedapproach to detecting phishing websites.WWW,2007.
[Fu2006]Anthony Y.Fu,Wenyin Liu,Xiaotie Deng.Detecting Phishing Web Pageswith Visual Similarity Assessment based on Earth Mover’s Distance(EMD).IEEE Transactions on Dependable and Secure Computing,2006,3(4),pages301-311.
[Dong2010]X.Dong,J.A.Clark,J.L.Jacob.Defending the weakest link:phishingwebsites detection by analysing user behaviours.Springer Science+Business Media,LLC 2010.
[Liu2010]W.Y.Liu,N.Fang,X.J.Quan,B.Qiu,G.Liu.Discovering phishing target based onsemantic link network.Future Generation Comp.Syst.,2010:381~388.
[Cao2009]Jiuxin Cao,Bo Mao,Junzhou Luo,and Bo Liu.A Phishing Web PagesDetection Algorithm Based on Nested Structure of Earth Mover’s Distance(Nested-EMD).Chinese Journal of Computers.2009,(05):922-929.(中文:曹玖新,毛波,罗军舟,刘波.基于嵌套EMD的钓鱼网页检测算法.计算机学报,2009,(05):922-929.)
[Liu2005]W.Liu,G.Huang,X.Liu,M.Z,and X.Deng.Detection of PhishingWebpages Based on Visual Similarity.International World Wide WebConference,
2005,pp.1060-1061.
[Chen2009]K.-T.Chen,J.-Y.Chen,C.-R.Huang,and C.-S.Chen.Fighting Phishingwith Discriminative Keypoint Features of Webpages.IEEE Internet Computing,2009.
[Affoz2009]Sadia Afroz and Rachel Greenstadt.Phishzoo:An Automated WebPhishing Detection Approach Based on Profiling and Fuzzy Matching.TechnicalReport DU-CS-09-03,Drexel University,2009.
[Dhamija2006]Dhamija,R.,Tygar,J.D.,and Hearst,M.Why Phishing Works.Proceedings of the SIGCHI Conference on Human Factors in ComputingSystems(Montreal,Quebec,Canada,April 22-28,2006).NewYork:ACM Press,2006.
[Jackson2007]Collin Jackson,Daniel R.Simon,Desney S.Tan,and Adam Barth.AnEvaluation of Extended Validation and Picture-in-Picture Phishing Attacks.
Proceedings of Usable Security(USEC′07),February 2007.
发明内容
技术问题:本发明的目的是提供一种基于网页关联性的钓鱼网页检测方法,以往钓鱼网页识别主要通过人工识别,目前现有的计算机识别的钓鱼网页检测技术主要从网页元素角度对检测网页进行匹配检测,匹配速度往往无法达到实际使用的要求。本发明从网页的关联和网页整体性进行特征提取、特征匹配,大大提高了页面匹配的速度,同时保证了高精度和低误判率。
技术方案:本发明的基于网页关联性的钓鱼网页检测方法是以网页之间的关联性和网页整体性为出发点,提取了4个特征:链接关联、搜索关联、文本关联和整体性关联;前3个是侧重文本内容,第4个侧重图像,集合了文本和图像;在钓鱼网页检测阶段进行相似特征的快速查询,查询所得相似特征交给机器学习匹配模块进行识别;机器学习匹配模块在系统训练阶段接收特征提取模块传来的特征数据进行训练,优化网页相似性阀值的参数;在钓鱼网页检测阶段,接收特征提取模块传来的特征数据,计算网页之间的相似性,最后根据网页相似性阀值判断钓鱼网页;
在钓鱼网页检测过程中通过提取特征,以此作为钓鱼网页检测的依据,具体实现步骤为:
步骤1).训练阶段数据准备过程:采集至少100个可能被钓鱼网页模仿的正规网站页面,并提取出特征组织成样本数据;采集至少100个钓鱼网站页面以及100个普通网页,并提取特征组织成测试数据;
特征由以下四个数值属性组成:
链接关联:网页1与网页2的链接关联是指网页1中指向网页2的链接个数与网页1的总链接个数的比值;反过来,网页2与网页1的链接关联是指网页2中指向网页1的链接个数与网页2的总链接个数的比值;很明显,两者之间的关联性并不是对称的;
搜索关联:从网页1获得关键词,然后在第三方搜索引擎上搜索,得到网页2的排名,总的搜索结果个数减去网页2的排名,再加1与总的搜索结果个数的比值即为网页1和网页2的搜索关联,如果没有网页2的排名则排名为0,同理,两者之间的关联性也并不是对称的;
文本关联:网页1与网页2的文本关联是指网页1和网页2共有的单词集个数与网页1的总单词集个数的比值,同样,两者之间的关联性仍然不是对称的;
整体性关联:首先对网页进行压缩,然后用正规化压缩距离计算网页时间的相似度,值越小说明越匹配。
步骤2)测试数据集的标定过程:将测试数据中的所有普通网页标注为“false”,表示非钓鱼网页;再将测试数据中的所有钓鱼网页标注为“true”,表示钓鱼网页;
步骤3)对所有测试网页的特征在训练库中查找相似的特征,并统计找到每一个测试网页在库中最相似的网页,计算它们的相似度作为测试网页与库的相似度;
步骤4)将所有测试网页的标注以及测试网页与库的相似度送入机器学习匹配模块,遍历所有可能的相似度阀值,找到一个值T使得相似度大于T的钓鱼网页数量与相似度小于T的钓鱼网页数量差值最大,T作为钓鱼网页相似度阀值;
步骤5)对疑似钓鱼网页的检测过程:对可疑网页采集特征;用可疑网页的特征在训练库中查找相似的特征,并统计找到可疑网页在库中最相似的网页,计算它们的相似度作为可疑网页与库的相似度;将待可疑网页的与库的相似度送入训练好的机器学习匹配模块进行预测,预测所得结果作为本方案最终的钓鱼网站检测结果。
有益效果:由于基于网络拓扑采用面相站点分析手段,本发明具有以下一些特殊优点和有益成果:
高准确率:机器学习主要的评价指标为精度和召回率,在钓鱼网站检测识别中,精度表示机器判断为钓鱼网页的所有页面中,确实是钓鱼网页的比例,召回率表示所有钓鱼网页中被机器识别为钓鱼网页所占比例。显然精度和召回率越高表示效果越好。经过实验证明,本发明提出的钓鱼网页检测采用我们提出的机器学习模型进行机器学习以后检测精度和召回率都很高,该结果与目前最好的钓鱼网页自动检测技术不相上下。
应用领域广泛:由于本发明实际提出了一种网页相似性计算方案,所以在网页相似性上用途广泛。
附图说明
图1是钓鱼邮件体系结构,
图2是基于网页关联的钓鱼检测特征处理流程图,
图3是分类器分类流程。
具体实施方式
钓鱼者为了取得用户的信任,他们通常会模仿合法网页来构建钓鱼网页,所以一个钓鱼网页跟它的目标网页是有很好关联的。这种关联可以用链接关联和相似性关联来表示。链接关联是指从一个网页到另一个网页之间有一个直接的超链接。相似性关联包括搜索关联和文本关联。
除此之外,我们对网页进行一个整体性的相似度比较。根据格式塔理论,我们可以认为网页是一个不可分割的整体。简化复杂信息,获取主要信息,对一系列的问题进行整合。基于这种思想,我们首先对网页进行压缩,然后来计算网页之间的相似度。
实施方法需要以下步骤:
步骤1)从网页的标题、元数据标签和主体三部分提取两个网页之间的链接关联、搜索关联和文本关联;
步骤2)把网页以图片形式保存,进行压缩处理,计算网页之间的正规化压缩距离值;
步骤3)选出与该网页最匹配的一行作为最后的结果;
步骤4)用机器学习方法进行训练,获取一个阀值;
步骤5)选定好阀值后,对可疑网页进行预测。
本发明技术方案主要分为三大部分:
1.特征提取部分
钓鱼者为了试图取得用户的信任,他们通常会模拟合法网页来构建钓鱼网页,所以一个钓鱼网站跟它的目标网站有很好的关联。这种关联可以用链接关联和相似性关联来表示。链接关联是指从一个网站到另一个网站之间有一个直接的超链接。相似性关联包括搜索关联和文本关联。
链接关联:通过内嵌在网站里的超链接来度量,这种关联经常被用到钓鱼网站中,使得访问者相信他们可以通过点击这些链接到达合法网站,然而合法网站是不可能通过正向链接返回到钓鱼网页的。我们可以用正向链接的个数来度量两个网页之间的关联强度。如果一个可疑网页有很多超链接指向一个网页,但是没有一个链接是返回的,那么这个可疑网页很有可能是钓鱼网页。
搜索关联:从网页1获得关键词,然后在第三方搜索引擎上搜索,查看网页2的排名。如果网页2的主域和搜索结果中的前N(N=10或30)个主域中有匹配项,我们就说网页1和网页2之间有搜索关联。我们可以用谷歌作为搜索引擎来挖掘这种关联,选择网页中的除了停止词外词频最高的5个词作为关键词作为询问词。如果用一个可疑网页的关键词搜索后,排名很高,那么这个可疑网页很有可能是钓鱼网页。
文本关联:一个钓鱼网页通常用和目标网页相似甚至相同的文本内容,来引诱访问者。如果一个可疑网页里的文本内容和与之关联的知名网页的非常相似,但是两者的主域名不同,那么这个可疑网页很有可能就是钓鱼网页。
另外,我们对网页进行一个整体性的相似度比较。根据格式塔理论,我们可以认为网页是一个不可分割的整体。我们简化复杂信息来获取主要信息,对一系列的问题进行整合。基于这种思想,我们首先对网页进行压缩,然后来计算网页之间的相似度。相似度计算用正规化压缩距离,值越小说明越匹配。如果一个可疑网页和与之对应的合法网页(除自身以外)的正规化压缩距离很小,说明这个可疑网页很有可能为钓鱼网页。
具体步骤如下:
步骤1)从网页的标题、meta标签和主体三部分提取两个网页之间的链接关联、搜索关联和文本关联;
步骤2)把网页以图片形式保存,进行压缩处理,计算网页之间的正规化压缩距离值。
2.相似度计算部分
因为上述4个特征都是两两网页之间的值,结果都是矩阵形式的,所以需要取一组与该测试网页最匹配的值。选取标准有两个:一是选出4个中作用最显著的一个特征,以其为标准选出最匹配项;二是给4个特征取权值,求和,值越大认为越匹配。
步骤1)用R软件给这4个特征取合适的权值或用R软件选出这4个特征中显著性最高的一个;
步骤2)以步骤1)为标准选出与该网页最匹配的一行作为最后的结果。
3.匹配部分
匹配分两种:机器学习匹配和贝叶斯可添加回归树分类方法匹配
1).机器学习匹配
其核心任务就是根据指定的网页相似性算法,找到相似程度最高的n个网页,如果相似性超过一定的阀值,则认为待检测网页是钓鱼网页,如果低于阀值,则认为是正常网页。其中阀值的确定需要使用训练阶段的标注数据根据我们的机器学习算法进行训练所得。
主要可以分为两大部分:
a.机器学习模块的训练
步骤1)采集至少100个可能被钓鱼网页模仿的正规网站页面,提取特征组织成样本数据;
步骤2)采集至少100个钓鱼网站页面以及100个普通网页,并提取特征组织成测试数据;
步骤3)将测试数据中的所有普通网页标注为“false”,表示非钓鱼网页;再将测试数据中的所有钓鱼网页标注为“true”,表示钓鱼网页;
步骤5)找出每一个测试网页在库中最相似的网页,计算它们的相似度作为测试网页与库的相似度;
步骤6)将所有测试网页的标注以及测试网页与库的相似度送入机器学习匹配模块,使用机器学习匹配部分的数据训练算法计算出钓鱼网页相似度阀值。
b.钓鱼网站检测
步骤1)对可疑网页采集特征;
步骤2)找出可疑网页在库中最相似的网页,计算它们的相似度作为可疑网页与库的相似度;
步骤3)将待可疑网页的与库的相似度送入训练好的机器学习匹配模块进行预测,预测所得结果作为本方案最终的钓鱼网站检测结果。
2).贝叶斯可添加回归树分类方法匹配
除了用上述机器学习方法进行分类外,我们再加入一种贝叶斯可添加回归树。